struct bmk_thread;
-void bmk_sched_init(void (*)(void));
+void bmk_sched_init(void (*)(void *), void *);
void bmk_sched(void);
void bmk_sched_yield(void);
}
static void
-bmk_mainthread(void)
+bmk_mainthread(void *notused)
{
_netbsd_init();
bmk_isr_init();
/* enough already, jump to main thread */
- bmk_sched_init(bmk_mainthread);
+ bmk_sched_init(bmk_mainthread, NULL);
}
/*
}
void
-bmk_sched_init(void (*mainfun)(void))
+bmk_sched_init(void (*mainfun)(void *), void *arg)
{
struct bmk_thread *mainthread;
struct bmk_thread initthread;
- mainthread = bmk_sched_create("main", NULL, 0,
- (void (*)(void *))mainfun, NULL, NULL, 0);
+ mainthread = bmk_sched_create("main", NULL, 0, mainfun, arg, NULL, 0);
if (mainthread == NULL)
bmk_platform_halt("failed to create main thread");
}
void
-bmk_sched_init(void (*notused)(void))
+bmk_sched_init(void (*notused)(void *), void *arg)
{
minios_printk("Initialising scheduler\n");