Line 46... |
Line 46... |
#include "taskp.h"
|
#include "taskp.h"
|
#include "syspipe.h"
|
#include "syspipe.h"
|
#include "ktraps.h"
|
#include "ktraps.h"
|
#include "errno.h"
|
#include "errno.h"
|
#include "swint.h"
|
#include "swint.h"
|
|
#include "txfns.h"
|
|
|
extern void kpanic(void);
|
extern void kpanic(void);
|
extern void raw_put_uart(int val);
|
extern void raw_put_uart(int val);
|
|
|
unsigned int nresets = 0;
|
unsigned int nresets = 0;
|
Line 72... |
Line 73... |
|
|
int LAST_TASK;
|
int LAST_TASK;
|
|
|
extern void txstr(const char *);
|
extern void txstr(const char *);
|
|
|
|
#define SET_WATCHDOG _watchdog = (CONTEXT_LENGTH*2)
|
|
|
void kernel_entry(void) {
|
void kernel_entry(void) {
|
int nheartbeats= 0, tickcount = 0, milliseconds=0, ticks = 0;
|
int nheartbeats= 0, tickcount = 0, milliseconds=0, ticks = 0;
|
int audiostate = 0, buttonstate = 0;
|
int audiostate = 0, buttonstate = 0;
|
TASKP *tasklist, current;
|
TASKP *tasklist, current;
|
int *last_context;
|
int *last_context;
|
Line 95... |
Line 98... |
// |INT_ENABLEV(INT_GPIO)
|
// |INT_ENABLEV(INT_GPIO)
|
;
|
;
|
// Then selectively turn some of them back on
|
// Then selectively turn some of them back on
|
_sys->io_pic = INT_ENABLE | enableset | 0x07fff;
|
_sys->io_pic = INT_ENABLE | enableset | 0x07fff;
|
|
|
txstr("HEAP: "); txhex(heap);
|
txstr("HEAP: "); txhex((int)heap);
|
|
|
do {
|
do {
|
int need_resched = 0, context_has_been_saved, pic;
|
int need_resched = 0, context_has_been_saved, pic;
|
nheartbeats++;
|
nheartbeats++;
|
|
|
|
SET_WATCHDOG;
|
zip_rtu();
|
zip_rtu();
|
|
|
last_context = current->context;
|
last_context = current->context;
|
context_has_been_saved = 0;
|
context_has_been_saved = 0;
|
pic = _sys->io_pic;
|
pic = _sys->io_pic;
|