ISIX-RTOS - small operating system for ARM microcontrollers 1.2
Defines | Functions | Variables

port_scheduler.c File Reference

#include <isix/config.h>
#include <isix/printk.h>
#include <isix/types.h>
#include <prv/scheduler.h>
#include <ucontext.h>
#include <sys/types.h>
#include <sys/time.h>
#include <signal.h>
#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>
Include dependency graph for simunix-x86/port_scheduler.c:

Go to the source code of this file.

Defines

#define STACK_SIZE   (256*1024)

Functions

unsigned long * isixp_task_init_stack (unsigned long *sp, task_func_ptr_t pfun, void *param)
static void unused_func (void)
void isix_systime_handler (void)
void port_set_interrupt_mask (void)
void port_clear_interrupt_mask (void)
void port_yield (void)
static void timer_interrupt (int j, siginfo_t *si, void *old_context)
static void setup_signals (void)
void port_start_first_task (void)
void port_cleanup_task (void *sp)

Variables

static ucontext_t signal_context
static void * signal_stack
static sigset_t sigblock_mask

Define Documentation

#define STACK_SIZE   (256*1024)

Function Documentation

void isix_systime_handler ( void  )
unsigned long* isixp_task_init_stack ( unsigned long *  sp,
task_func_ptr_t  pfun,
void *  param 
)

Definition at line 24 of file simunix-x86/port_scheduler.c.

References INITIAL_XPSR, NULL, and STACK_SIZE.

void port_cleanup_task ( void *  sp)

Definition at line 173 of file simunix-x86/port_scheduler.c.

References free, and signal_context.

Referenced by cleanup_tasks().

void port_clear_interrupt_mask ( void  )

Definition at line 82 of file simunix-x86/port_scheduler.c.

References NULL, and sigblock_mask.

Referenced by isixp_exit_critical().

void port_set_interrupt_mask ( void  )

Definition at line 72 of file simunix-x86/port_scheduler.c.

References NULL, and sigblock_mask.

Referenced by isixp_enter_critical().

void port_start_first_task ( void  )
void port_yield ( void  )
static void setup_signals ( void  ) [static]

Definition at line 129 of file simunix-x86/port_scheduler.c.

References NULL, and timer_interrupt().

Referenced by port_start_first_task().

static void timer_interrupt ( int  j,
siginfo_t *  si,
void *  old_context 
) [static]
static void unused_func ( void  ) [static]

Definition at line 51 of file simunix-x86/port_scheduler.c.


Variable Documentation

sigset_t sigblock_mask [static]
ucontext_t signal_context [static]

Definition at line 19 of file simunix-x86/port_scheduler.c.

Referenced by port_cleanup_task(), and timer_interrupt().

void* signal_stack [static]

Definition at line 20 of file simunix-x86/port_scheduler.c.

Referenced by port_start_first_task(), and timer_interrupt().

 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines