Go to the source code of this file.
Classes | |
struct | emul_arc_child |
struct | emul_arc_child64 |
Macros | |
#define | ARC_BOOTSTR_BUFLEN 1000 |
#define | SGI_SPB_ADDR 0xffffffff80001000ULL |
#define | ARC_FIRMWARE_VECTORS 0xffffffffbfc80000ULL |
#define | ARC_FIRMWARE_ENTRIES 0xffffffffbfc88000ULL |
#define | ARC_ARGV_START 0xffffffffbfc90000ULL |
#define | ARC_ENV_STRINGS 0xffffffffbfc98000ULL |
#define | ARC_ENV_POINTERS 0xffffffffbfc9d000ULL |
#define | SGI_SYSID_ADDR 0xffffffffbfca1800ULL |
#define | ARC_DSPSTAT_ADDR 0xffffffffbfca1c00ULL |
#define | ARC_MEMDESC_ADDR 0xffffffffbfca1c80ULL |
#define | ARC_CONFIG_DATA_ADDR 0xffffffffbfca2000ULL |
#define | FIRST_ARC_COMPONENT 0xffffffffbfca8000ULL |
#define | ARC_PRIVATE_VECTORS 0xffffffffbfcb0000ULL |
#define | ARC_PRIVATE_ENTRIES 0xffffffffbfcb8000ULL |
Functions | |
void | arcbios_add_string_to_component (struct machine *machine, char *string, 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) |
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_string, uint8_t *primary_ether_macaddr) |
#define ARC_CONFIG_DATA_ADDR 0xffffffffbfca2000ULL |
Definition at line 102 of file arcbios.h.
Referenced by arcbios_init().
#define ARC_PRIVATE_ENTRIES 0xffffffffbfcb8000ULL |
Definition at line 105 of file arcbios.h.
Referenced by arcbios_emul().
#define FIRST_ARC_COMPONENT 0xffffffffbfca8000ULL |
Definition at line 103 of file arcbios.h.
Referenced by arcbios_emul(), and arcbios_init().
#define SGI_SYSID_ADDR 0xffffffffbfca1800ULL |
Definition at line 99 of file arcbios.h.
Referenced by arcbios_emul().
void arcbios_add_memory_descriptor | ( | struct cpu * | cpu, |
uint64_t | base, | ||
uint64_t | len, | ||
int | arctype | ||
) |
Definition at line 436 of file arcbios.cc.
References machine::arc, machine_arcbios::arc_64bit, arcbios_mem::BasePage, arcbios_mem64::BasePage, 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, and arcbios_mem64::Type.
void arcbios_add_string_to_component | ( | struct machine * | machine, |
char * | string, | ||
uint64_t | component | ||
) |
Definition at line 59 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 830 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 2154 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 1159 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 424 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_string, | ||
uint8_t * | primary_ether_macaddr | ||
) |
Definition at line 2406 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_register_scsicontroller | ( | struct machine * | machine, |
uint64_t | scsicontroller_component | ||
) |
Definition at line 414 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 1865 of file arcbios.cc.
References store_32bit_word().