RetroArch
Macros | Functions | Variables
lwp_threads.c File Reference
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "asm.h"
#include "processor.h"
#include "sys_state.h"
#include "lwp_stack.h"
#include "lwp_threads.h"
#include "lwp_threadq.h"
#include "lwp_watchdog.h"
Include dependency graph for lwp_threads.c:

Macros

#define LWP_MAXPRIORITIES   256
 

Functions

void _cpu_context_switch (void *, void *)
 
void _cpu_context_switch_ex (void *, void *)
 
void _cpu_context_save (void *)
 
void _cpu_context_restore (void *)
 
void _cpu_context_save_fp (void *)
 
void _cpu_context_restore_fp (void *)
 
int __libc_create_hook (lwp_cntrl *, lwp_cntrl *)
 
int __libc_start_hook (lwp_cntrl *, lwp_cntrl *)
 
int __libc_delete_hook (lwp_cntrl *, lwp_cntrl *)
 
void kprintf (const char *str,...)
 
u32 __lwp_isr_in_progress ()
 
static void __lwp_msr_setlevel (u32 level)
 
static u32 __lwp_msr_getlevel ()
 
void __lwp_thread_delayended (void *arg)
 
void __lwp_thread_tickle_timeslice (void *arg)
 
void __thread_dispatch_fp ()
 
void __thread_dispatch ()
 
static void __lwp_thread_handler ()
 
void __lwp_rotate_readyqueue (u32 prio)
 
void __lwp_thread_yield ()
 
void __lwp_thread_resettimeslice ()
 
void __lwp_thread_setstate (lwp_cntrl *thethread, u32 state)
 
void __lwp_thread_clearstate (lwp_cntrl *thethread, u32 state)
 
u32 __lwp_evaluatemode ()
 
void __lwp_thread_changepriority (lwp_cntrl *thethread, u32 prio, u32 prependit)
 
void __lwp_thread_setpriority (lwp_cntrl *thethread, u32 prio)
 
void __lwp_thread_suspend (lwp_cntrl *thethread)
 
void __lwp_thread_settransient (lwp_cntrl *thethread)
 
void __lwp_thread_resume (lwp_cntrl *thethread, u32 force)
 
void __lwp_thread_loadenv (lwp_cntrl *thethread)
 
void __lwp_thread_ready (lwp_cntrl *thethread)
 
u32 __lwp_thread_init (lwp_cntrl *thethread, void *stack_area, u32 stack_size, u32 prio, u32 isr_level, bool is_preemtible)
 
void __lwp_thread_close (lwp_cntrl *thethread)
 
void __lwp_thread_closeall ()
 
void __lwp_thread_exit (void *value_ptr)
 
u32 __lwp_thread_start (lwp_cntrl *thethread, void *(*entry)(void *), void *arg)
 
void __lwp_thread_startmultitasking ()
 
void __lwp_thread_stopmultitasking (void(*exitfunc)())
 
void __lwp_thread_coreinit ()
 

Variables

frame_context core_context
 
lwp_cntrl_thr_main = NULL
 
lwp_cntrl_thr_idle = NULL
 
lwp_cntrl_thr_executing = NULL
 
lwp_cntrl_thr_heir = NULL
 
lwp_cntrl_thr_allocated_fp = NULL
 
vu32 _context_switch_want
 
vu32 _thread_dispatch_disable_level
 
wd_cntrl _lwp_wd_timeslice
 
u32 _lwp_ticks_per_timeslice = 0
 
void ** __lwp_thr_libc_reent = NULL
 
lwp_queue _lwp_thr_ready [LWP_MAXPRIORITIES]
 
static void(* _lwp_exitfunc )(void)
 

Macro Definition Documentation

◆ LWP_MAXPRIORITIES

#define LWP_MAXPRIORITIES   256

Function Documentation

◆ __libc_create_hook()

int __libc_create_hook ( lwp_cntrl ,
lwp_cntrl  
)
Here is the caller graph for this function:

◆ __libc_delete_hook()

int __libc_delete_hook ( lwp_cntrl ,
lwp_cntrl  
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ __libc_start_hook()

int __libc_start_hook ( lwp_cntrl ,
lwp_cntrl  
)
Here is the caller graph for this function:

◆ __lwp_evaluatemode()

u32 __lwp_evaluatemode ( )
Here is the call graph for this function:

◆ __lwp_isr_in_progress()

u32 __lwp_isr_in_progress ( )
Here is the caller graph for this function:

◆ __lwp_msr_getlevel()

static u32 __lwp_msr_getlevel ( )
inlinestatic

◆ __lwp_msr_setlevel()

static void __lwp_msr_setlevel ( u32  level)
inlinestatic
Here is the caller graph for this function:

◆ __lwp_rotate_readyqueue()

void __lwp_rotate_readyqueue ( u32  prio)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ __lwp_thread_changepriority()

void __lwp_thread_changepriority ( lwp_cntrl thethread,
u32  prio,
u32  prependit 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ __lwp_thread_clearstate()

void __lwp_thread_clearstate ( lwp_cntrl thethread,
u32  state 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ __lwp_thread_close()

void __lwp_thread_close ( lwp_cntrl thethread)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ __lwp_thread_closeall()

void __lwp_thread_closeall ( )
Here is the call graph for this function:

◆ __lwp_thread_coreinit()

void __lwp_thread_coreinit ( void  )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ __lwp_thread_delayended()

void __lwp_thread_delayended ( void arg)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ __lwp_thread_exit()

void __lwp_thread_exit ( void value_ptr)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ __lwp_thread_handler()

static void __lwp_thread_handler ( )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ __lwp_thread_init()

u32 __lwp_thread_init ( lwp_cntrl thethread,
void stack_area,
u32  stack_size,
u32  prio,
u32  isr_level,
bool  is_preemtible 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ __lwp_thread_loadenv()

void __lwp_thread_loadenv ( lwp_cntrl thethread)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ __lwp_thread_ready()

void __lwp_thread_ready ( lwp_cntrl thethread)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ __lwp_thread_resettimeslice()

void __lwp_thread_resettimeslice ( )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ __lwp_thread_resume()

void __lwp_thread_resume ( lwp_cntrl thethread,
u32  force 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ __lwp_thread_setpriority()

void __lwp_thread_setpriority ( lwp_cntrl thethread,
u32  prio 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ __lwp_thread_setstate()

void __lwp_thread_setstate ( lwp_cntrl thethread,
u32  state 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ __lwp_thread_settransient()

void __lwp_thread_settransient ( lwp_cntrl thethread)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ __lwp_thread_start()

u32 __lwp_thread_start ( lwp_cntrl thethread,
void *(*)(void *)  entry,
void arg 
)
Here is the call graph for this function:

◆ __lwp_thread_startmultitasking()

void __lwp_thread_startmultitasking ( )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ __lwp_thread_stopmultitasking()

void __lwp_thread_stopmultitasking ( void(*)()  exitfunc)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ __lwp_thread_suspend()

void __lwp_thread_suspend ( lwp_cntrl thethread)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ __lwp_thread_tickle_timeslice()

void __lwp_thread_tickle_timeslice ( void arg)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ __lwp_thread_yield()

void __lwp_thread_yield ( )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ __thread_dispatch()

void __thread_dispatch ( )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ __thread_dispatch_fp()

void __thread_dispatch_fp ( )
Here is the call graph for this function:

◆ _cpu_context_restore()

void _cpu_context_restore ( void )

◆ _cpu_context_restore_fp()

void _cpu_context_restore_fp ( void )
Here is the caller graph for this function:

◆ _cpu_context_save()

void _cpu_context_save ( void )

◆ _cpu_context_save_fp()

void _cpu_context_save_fp ( void )
Here is the caller graph for this function:

◆ _cpu_context_switch()

void _cpu_context_switch ( void ,
void  
)
Here is the caller graph for this function:

◆ _cpu_context_switch_ex()

void _cpu_context_switch_ex ( void ,
void  
)
Here is the caller graph for this function:

◆ kprintf()

void kprintf ( const char *  str,
  ... 
)
Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ __lwp_thr_libc_reent

void** __lwp_thr_libc_reent = NULL

◆ _context_switch_want

vu32 _context_switch_want

◆ _lwp_exitfunc

void(* _lwp_exitfunc) (void)
static

◆ _lwp_thr_ready

lwp_queue _lwp_thr_ready[LWP_MAXPRIORITIES]

◆ _lwp_ticks_per_timeslice

u32 _lwp_ticks_per_timeslice = 0

◆ _lwp_wd_timeslice

wd_cntrl _lwp_wd_timeslice

◆ _thr_allocated_fp

lwp_cntrl* _thr_allocated_fp = NULL

◆ _thr_executing

lwp_cntrl* _thr_executing = NULL

◆ _thr_heir

lwp_cntrl* _thr_heir = NULL

◆ _thr_idle

lwp_cntrl* _thr_idle = NULL

◆ _thr_main

lwp_cntrl* _thr_main = NULL

◆ _thread_dispatch_disable_level

vu32 _thread_dispatch_disable_level

◆ core_context

frame_context core_context