#include <signal.h>
#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
#include <stdarg.h>
#include <string.h>
#include <unistd.h>
#include "arcbios.h"
#include "cpu.h"
#include "emul.h"
#include "console.h"
#include "debugger.h"
#include "device.h"
#include "diskimage.h"
#include "machine.h"
#include "memory.h"
#include "mips_cpu_types.h"
#include "misc.h"
#include "net.h"
#include "settings.h"
#include "timer.h"
#include "x11.h"
#include "thirdparty/exec_elf.h"
Go to the source code of this file.
Functions | |
struct emul * | emul_new (char *name) |
void | emul_destroy (struct emul *emul) |
struct machine * | emul_add_machine (struct emul *e, char *name) |
void | emul_machine_setup (struct machine *m, int n_load, char **load_names, int n_devices, char **device_names) |
void | emul_dumpinfo (struct emul *e) |
void | emul_simple_init (struct emul *emul) |
struct emul * | emul_create_from_configfile (char *fname) |
void | emul_run (struct emul *emul) |
Variables | |
int | extra_argc |
char ** | extra_argv |
int | verbose |
int | quiet_mode |
int | force_debugger_at_exit |
int | single_step |
int | old_show_trace_tree |
int | old_instruction_trace |
int | old_quiet_mode |
Definition at line 209 of file emul.cc.
References CHECK_ALLOCATION, machine_new(), emul::machines, emul::n_machines, emul::next_serial_nr, machine::serial_nr, emul::settings, machine::settings, settings_add(), and SETTINGS_TYPE_SUBSETTINGS.
Referenced by get_cmd_args().
struct emul* emul_create_from_configfile | ( | char * | fname | ) |
Definition at line 761 of file emul.cc.
References debug, DEBUG_INDENTATION, debug_indentation(), emul_new(), and emul_parse_config().
void emul_destroy | ( | struct emul * | emul | ) |
Definition at line 178 of file emul.cc.
References machine_destroy(), emul::machines, emul::n_machines, emul::name, emul::settings, settings_destroy(), settings_remove(), and settings_remove_all().
void emul_dumpinfo | ( | struct emul * | e | ) |
Definition at line 698 of file emul.cc.
References debug, DEBUG_INDENTATION, debug_indentation(), machine_dumpinfo(), emul::machines, emul::n_machines, machine::name, emul::net, and net_dumpinfo().
void emul_machine_setup | ( | struct machine * | m, |
int | n_load, | ||
char ** | load_names, | ||
int | n_devices, | ||
char ** | device_names | ||
) |
Definition at line 354 of file emul.cc.
References cpu::alpha, ALPHA_T12, machine::arch, ARCH_ALPHA, ARCH_ARM, ARCH_M88K, ARCH_MIPS, machine::arch_pagesize, ARCH_PPC, ARCH_SH, cpu::arm, ARM_FLAG_T, sh_cpu_type_def::bits, ppc_cpu::bits, machine::bootstrap_cpu, cpu::byte_order, machine::byte_order_override, CACHE_NONE, cpu::cd, CHECK_ALLOCATION, console_debug_dump(), arm_cpu::cpsr, machine::cpu_family, cpu_family_ptr_by_number(), machine::cpu_name, cpu_new(), sh_cpu::cpu_type, machine::cpus, data, debug, DEBUG_INDENTATION, debug_indentation(), DEFAULT_TMP_DIR, device_add(), diskimage_dump_info(), fatal(), file_load(), machine::first_diskimage, ppc_cpu::gpr, mips_cpu::gpr, if(), x11_md::in_use, load_bootblock(), machine_default_cputype(), machine_memsize_fix(), MACHINE_NONE, machine_setup(), machine::machine_type, MEM_WRITE, machine::memory, memory_new(), machine::memory_offset_in_mb, cpu::memory_rw, cpu::mips, MIPS_GPR_GP, machine::name, machine::ncpus, NO_BYTE_ORDER_OVERRIDE, NO_EXCEPTIONS, cpu::pc, PHYSICAL, machine::physical_ram_in_mb, cpu::ppc, alpha_cpu::r, machine::random_mem_contents, cpu::running, cpu::sh, machine::start_paused, strlen(), machine::use_random_bootstrap_cpu, x11_init(), and machine::x11_md.
Referenced by emul_simple_init().
struct emul* emul_new | ( | char * | name | ) |
Definition at line 143 of file emul.cc.
References CHECK_ALLOCATION, emul::n_machines, emul::name, emul::next_serial_nr, emul::settings, settings_add(), SETTINGS_FORMAT_DECIMAL, SETTINGS_FORMAT_STRING, settings_new(), SETTINGS_TYPE_INT, and SETTINGS_TYPE_STRING.
Referenced by emul_create_from_configfile(), and main().
void emul_simple_init | ( | struct emul * | emul | ) |
Definition at line 728 of file emul.cc.
References debug, DEBUG_INDENTATION, debug_indentation(), emul_machine_setup(), extra_argc, extra_argv, emul::machines, emul::n_machines, emul::net, NET_DEFAULT_IPV4_LEN, NET_DEFAULT_IPV4_MASK, net_init(), and NET_INIT_FLAG_GATEWAY.
int extra_argc |
Definition at line 61 of file main.cc.
Referenced by emul_simple_init().
char** extra_argv |
Definition at line 62 of file main.cc.
Referenced by emul_simple_init().
int force_debugger_at_exit |
Definition at line 70 of file debugger.cc.
int old_instruction_trace |
Definition at line 75 of file debugger.cc.
int old_quiet_mode |
Definition at line 76 of file debugger.cc.
int old_show_trace_tree |
Definition at line 77 of file debugger.cc.
int single_step |
Definition at line 68 of file debugger.cc.