Re: l4/sys/syscalls.h: No such file or directory
Valentin Hauner <[email protected]>
| Newsgroups | gmane.comp.micro-kernel.l4.devel |
|---|---|
| Message-ID | <[email protected]> |
Hi, On 08/24/2014 11:27 PM, Adam Lackorzynski wrote: > I suggest that you first make sure you program behaves like it should > with the default scheduler, and only then change over to your scheduler. Thanks, that's a good idea. Is there a simple way to set the name of the threads displayed in the JDB thread list from the L4Re system? I'm still creating my threads as described in my mail from August 23th and want to pass individual thread names to Fiasco. I've found a function named l4_debugger_set_object_name (e.g. moe is using it), but using it had no effect. Secondly, I've attached the modified l4_scheduler_run_thread_u function residing in ./l4/pkg/l4sys/include/scheduler.h. I've added an attribute named deadline to l4_sched_param_t and pass it via message register #5 to Fiasco. Initially, the second argument of the message tag for l4_ipc_call was set to 5 (5 registers to transfer), now I've set it to 6. Everything works, but I wonder where the information _which_ thread to run is passed to Fiasco? Message register #7 (previous: #6) contains information about the thread object, but it is not passed to Fiasco? Best regards, Valentin _______________________________________________ l4-hackers mailing list [email protected] http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers
l4_scheduler_run_thread_u
(text/plain, 792 B)
L4_INLINE l4_msgtag_t
l4_scheduler_run_thread_u(l4_cap_idx_t scheduler, l4_cap_idx_t thread,
l4_sched_param_t const *sp, l4_utcb_t *utcb) L4_NOTHROW
{
l4_msg_regs_t *m = l4_utcb_mr_u(utcb);
m->mr[0] = L4_SCHEDULER_RUN_THREAD_OP;
m->mr[1] = (sp->affinity.granularity << 24) | sp->affinity.offset;
m->mr[2] = sp->affinity.map;
m->mr[3] = sp->prio;
m->mr[4] = sp->quantum;
/*
* Own work
*/
m->mr[5] = sp->deadline;
/*
*
*/
m->mr[6] = l4_map_obj_control(0, 0);
m->mr[7] = l4_obj_fpage(thread, 0, L4_FPAGE_RWX).raw;
// The second argument of the message tag (here: literal 6) denotes how many message registers to transfer (previous: 5)
return l4_ipc_call(scheduler, utcb, l4_msgtag(L4_PROTO_SCHEDULER, 6, 1, 0), L4_IPC_NEVER);
}