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);
}
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.