|
libspe2
0.9a
|
#include <errno.h>#include <fcntl.h>#include <stdio.h>#include <stdint.h>#include <stdlib.h>#include <string.h>#include <syscall.h>#include <unistd.h>#include <sys/types.h>#include <sys/mman.h>#include <sys/spu.h>#include "elf_loader.h"#include "lib_builtin.h"#include "spebase.h"
Go to the source code of this file.
Data Structures | |
| struct | spe_context_info |
Macros | |
| #define | GNU_SOURCE 1 |
Functions | |
| int | _base_spe_context_run (spe_context_ptr_t spe, unsigned int *entry, unsigned int runflags, void *argp, void *envp, spe_stop_info_t *stopinfo) |
Variables | |
| __thread struct spe_context_info * | __spe_current_active_context |
| int _base_spe_context_run | ( | spe_context_ptr_t | spe, |
| unsigned int * | entry, | ||
| unsigned int | runflags, | ||
| void * | argp, | ||
| void * | envp, | ||
| spe_stop_info_t * | stopinfo | ||
| ) |
_base_spe_context_run starts execution of an SPE context with a loaded image
| spectx | Specifies the SPE context |
| entry | entry point for the SPE programm. If set to 0, entry point is determined by the ELF loader. |
| runflags | valid values are: SPE_RUN_USER_REGS Specifies that the SPE setup registers r3, r4, and r5 are initialized with the 48 bytes pointed to by argp. SPE_NO_CALLBACKS do not use built in library functions. |
| argp | An (optional) pointer to application specific data, and is passed as the second parameter to the SPE program. |
| envp | An (optional) pointer to environment specific data, and is passed as the third parameter to the SPE program. |
Definition at line 99 of file run.c.
References __spe_current_active_context, _base_spe_handle_library_callback(), _base_spe_program_load_complete(), spe_context::base_private, DEBUG_PRINTF, spe_context_base_priv::emulated_entry, spe_context_base_priv::entry, spe_context_base_priv::fd_spe_dir, spe_context_base_priv::flags, LS_SIZE, spe_context_base_priv::mem_mmap_base, spe_context_info::npc, spe_context_info::prev, spe_stop_info::result, spe_stop_info::spe_callback_error, SPE_CALLBACK_ERROR, SPE_DEFAULT_ENTRY, SPE_EVENTS_ENABLE, SPE_EXIT, spe_stop_info::spe_exit_code, spe_context_info::spe_id, SPE_ISOLATE, SPE_ISOLATE_EMULATE, spe_stop_info::spe_isolation_error, SPE_ISOLATION_ERROR, SPE_NO_CALLBACKS, SPE_PROGRAM_ISO_LOAD_COMPLETE, SPE_PROGRAM_ISOLATED_STOP, SPE_PROGRAM_LIBRARY_CALL, SPE_PROGRAM_NORMAL_END, SPE_RUN_USER_REGS, spe_stop_info::spe_runtime_error, SPE_RUNTIME_ERROR, spe_stop_info::spe_runtime_exception, SPE_RUNTIME_EXCEPTION, spe_stop_info::spe_runtime_fatal, SPE_RUNTIME_FATAL, spe_stop_info::spe_signal_code, SPE_SPU_HALT, SPE_SPU_INVALID_CHANNEL, SPE_SPU_INVALID_INSTR, SPE_SPU_STOPPED_BY_STOP, SPE_SPU_WAITING_ON_CHANNEL, SPE_STOP_AND_SIGNAL, spe_stop_info::spu_status, spe_context_info::status, spe_stop_info::stop_reason, addr64::ui, and addr64::ull.
Referenced by _event_spe_context_run().

| __thread struct spe_context_info* __spe_current_active_context |
Referenced by _base_spe_context_run().
1.8.4