#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <unistd.h>
#include <sys/time.h>
#include <sys/types.h>
#include <sys/resource.h>
#include "arcbios.h"
#include "console.h"
#include "cpu.h"
#include "cpu_mips.h"
#include "diskimage.h"
#include "machine.h"
#include "machine_arc.h"
#include "memory.h"
#include "misc.h"
#include "thirdparty/arcbios_other.h"
Go to the source code of this file.
Functions | |
void | arcbios_add_string_to_component (struct machine *machine, char *str, uint64_t component) |
void | arcbios_register_scsicontroller (struct machine *machine, uint64_t scsicontroller_component) |
uint64_t | arcbios_get_scsicontroller (struct machine *machine) |
void | arcbios_add_memory_descriptor (struct cpu *cpu, uint64_t base, uint64_t len, int arctype) |
uint64_t | arcbios_addchild_manual (struct cpu *cpu, uint64_t cclass, uint64_t type, uint64_t flags, uint64_t version, uint64_t revision, uint64_t key, uint64_t affinitymask, const char *identifier, uint64_t parent, void *config_data, size_t config_len) |
void | arcbios_private_emul (struct cpu *cpu) |
int | arcbios_emul (struct cpu *cpu) |
void | arcbios_set_default_exception_handler (struct cpu *cpu) |
void | arcbios_console_init (struct machine *machine, uint64_t vram, uint64_t ctrlregs) |
void | arcbios_init (struct machine *machine, int is64bit, uint64_t sgi_ram_offset, const char *primary_ether_addr, uint8_t *primary_ether_macaddr) |
Variables | |
int | quiet_mode |
int | verbose |
void arcbios_add_memory_descriptor | ( | struct cpu * | cpu, |
uint64_t | base, | ||
uint64_t | len, | ||
int | arctype | ||
) |
Definition at line 437 of file arcbios.cc.
References machine::arc, machine_arcbios::arc_64bit, arcbios_mem::BasePage, arcbios_mem64::BasePage, debug, cpu::machine, MACHINE_SGI, machine::machine_type, machine::md, machine_arcbios::memdescriptor_base, machine_arcbios::n_memdescriptors, arcbios_mem::PageCount, arcbios_mem64::PageCount, store_32bit_word_in_host(), store_64bit_word_in_host(), store_buf(), arcbios_mem::Type, arcbios_mem64::Type, and verbose.
void arcbios_add_string_to_component | ( | struct machine * | machine, |
char * | str, | ||
uint64_t | component | ||
) |
Definition at line 60 of file arcbios.cc.
References machine::arc, CHECK_ALLOCATION, debug, MAX_STRING_TO_COMPONENT, machine::md, machine_arcbios::n_string_to_components, machine_arcbios::string_to_component, and machine_arcbios::string_to_component_value.
uint64_t arcbios_addchild_manual | ( | struct cpu * | cpu, |
uint64_t | cclass, | ||
uint64_t | type, | ||
uint64_t | flags, | ||
uint64_t | version, | ||
uint64_t | revision, | ||
uint64_t | key, | ||
uint64_t | affinitymask, | ||
const char * | identifier, | ||
uint64_t | parent, | ||
void * | config_data, | ||
size_t | config_len | ||
) |
Definition at line 835 of file arcbios.cc.
References arcbios_component::AffinityMask, machine::arc, machine_arcbios::arc_64bit, CACHE_NONE, arcbios_component::Class, machine_arcbios::configuration_data_component, machine_arcbios::configuration_data_configdata, machine_arcbios::configuration_data_len, machine_arcbios::configuration_data_next_addr, arcbios_component::ConfigurationDataSize, arcbios_component::Flags, arcbios_component::Identifier, arcbios_component::IdentifierLength, arcbios_component::Key, cpu::machine, MAX_CONFIG_DATA, machine::md, cpu::mem, MEM_WRITE, cpu::memory_rw, machine_arcbios::n_configuration_data, machine_arcbios::next_component_address, arcbios_component::Revision, strlen(), arcbios_component::Type, and arcbios_component::Version.
void arcbios_console_init | ( | struct machine * | machine, |
uint64_t | vram, | ||
uint64_t | ctrlregs | ||
) |
Definition at line 2160 of file arcbios.cc.
References machine::arc, ARC_CONSOLE_MAX_X, ARC_CONSOLE_MAX_Y, CHECK_ALLOCATION, machine_arcbios::console_ctrlregs, machine_arcbios::console_maxx, machine_arcbios::console_maxy, machine_arcbios::console_vram, machine_arcbios::escape_sequence, machine_arcbios::in_escape_sequence, machine::md, and machine_arcbios::vgaconsole.
Referenced by MACHINE_SETUP().
int arcbios_emul | ( | struct cpu * | cpu | ) |
Definition at line 1164 of file arcbios.cc.
References machine::arc, machine_arcbios::arc_64bit, ARC_MAX_HANDLES, ARC_PRIVATE_ENTRIES, ARCBIOS_EAGAIN, ARCBIOS_EBADF, ARCBIOS_EINVAL, ARCBIOS_EMFILE, ARCBIOS_ENOENT, ARCBIOS_ESUCCESS, arcbios_private_emul(), ARCBIOS_STDIN, cpu::byte_order, CACHE_NONE, cpu::cd, CHECK_ALLOCATION, machine_arcbios::configuration_data_component, console_readchar(), machine::cpus, machine_arcbios::current_seek_offset, debug, dump_mem_string(), EMUL_BIG_ENDIAN, machine::exit_without_entering_debugger, tick_functions::extra, tick_functions::f, fatal(), machine_arcbios::file_handle_in_use, machine_arcbios::file_handle_string, FIRST_ARC_COMPONENT, mips_cpu::gpr, if(), cpu::machine, machine::main_console_handle, MAX_OPEN_STRINGLEN, machine::md, cpu::mem, MEM_READ, MEM_WRITE, machine_arcbios::memdescriptor_base, cpu::memory_rw, cpu::mips, MIPS_GPR_A0, MIPS_GPR_A1, MIPS_GPR_A2, MIPS_GPR_A3, MIPS_GPR_V0, machine_arcbios::n_configuration_data, tick_functions::n_entries, machine_arcbios::n_string_to_components, machine::ncpus, cpu::pc, cpu::running, SGI_SYSID_ADDR, store_32bit_word(), machine_arcbios::string_to_component, machine_arcbios::string_to_component_value, machine::tick_functions, and machine_arcbios::wordlen.
Referenced by X().
uint64_t arcbios_get_scsicontroller | ( | struct machine * | machine | ) |
Definition at line 425 of file arcbios.cc.
References machine::arc, machine::md, and machine_arcbios::scsicontroller.
void arcbios_init | ( | struct machine * | machine, |
int | is64bit, | ||
uint64_t | sgi_ram_offset, | ||
const char * | primary_ether_addr, | ||
uint8_t * | primary_ether_macaddr | ||
) |
Definition at line 2481 of file arcbios.cc.
References machine::arc, machine_arcbios::arc_64bit, ARC_CONFIG_DATA_ADDR, ARC_MAX_HANDLES, CHECK_ALLOCATION, machine_arcbios::configuration_data_next_addr, machine_arcbios::console_curcolor, machine_arcbios::console_maxx, machine_arcbios::console_maxy, machine::cpus, machine_arcbios::current_seek_offset, machine_arcbios::file_handle_in_use, machine_arcbios::file_handle_string, FIRST_ARC_COMPONENT, x11_md::in_use, machine::md, cpu::name, machine_arcbios::next_component_address, machine::physical_ram_in_mb, machine_arcbios::vgaconsole, machine_arcbios::wordlen, and machine::x11_md.
Referenced by MACHINE_SETUP().
void arcbios_private_emul | ( | struct cpu * | cpu | ) |
Definition at line 1114 of file arcbios.cc.
References cpu::cd, cpu_register_dump(), debug, dump_mem_string(), fatal(), mips_cpu::gpr, cpu::machine, cpu::mips, MIPS_GPR_A0, MIPS_GPR_V0, cpu::pc, and cpu::running.
Referenced by arcbios_emul().
void arcbios_register_scsicontroller | ( | struct machine * | machine, |
uint64_t | scsicontroller_component | ||
) |
Definition at line 415 of file arcbios.cc.
References machine::arc, machine::md, and machine_arcbios::scsicontroller.
void arcbios_set_default_exception_handler | ( | struct cpu * | cpu | ) |
Definition at line 1871 of file arcbios.cc.
References store_32bit_word().
int verbose |
Definition at line 77 of file main.cc.
Referenced by arcbios_add_memory_descriptor().