static asmregparm __noreturn void kernel_thread_fate_entry(unsigned long (*thread_entry)(unsigned long),unsigned long para) { if (thread_entry) ka_call_dynamic_module_entry(thread_entry, para); printk("Kernel level thread die ,entry %x.\n", thread_entry); kt_delete_current(); }
asmregparm unsigned long arch_system_call(unsigned long * req) { unsigned long req_id = * req; unsigned long ret; int clasz = KE_SRV_GET_CLASZ(req_id); unsigned long (*func)(unsigned long func_id, void * req); // printk("syscall at class %d, req id %d.\n", clasz, KE_SRV_GET_FID(req_id)); func = ke_interface_v2[clasz]->request_enqueue; ret = ka_call_dynamic_module_entry(func, KE_SRV_GET_FID(req_id), req); /* But is a dead thread? */ //TODO return ret; }