mirror of
git://projects.qi-hardware.com/iris.git
synced 2025-02-06 10:51:06 +02:00
debug stuff
This commit is contained in:
parent
418f6c6594
commit
4c73b034f8
@ -55,12 +55,20 @@ static void setup ():
|
||||
if state == 2:
|
||||
break
|
||||
Caps caps = __my_memory.create_caps (2)
|
||||
caps.use (slot)
|
||||
Cap kc = __my_receiver.create_capability (KBD, Cap (slot, 1))
|
||||
Cap kc = __my_receiver.create_capability (KBD, Cap (slot, 0))
|
||||
kdebug ("init0: ")
|
||||
caps.print (0)
|
||||
kbd.set_cb (kc)
|
||||
Cap tc = __my_receiver.create_capability (TP, Cap (slot, 0))
|
||||
kdebug ("init1: ")
|
||||
caps.print (0)
|
||||
Cap tc = __my_receiver.create_capability (TP, Cap (slot, 1))
|
||||
kdebug ("init2: ")
|
||||
caps.print (1)
|
||||
tp.set_cb (tc)
|
||||
kdebug ("init3: ")
|
||||
caps.print (1)
|
||||
pwm.call (1)
|
||||
free_slot (slot)
|
||||
|
||||
char const *decode_kbd = "0123456789abcdefghijklmnopqrstuvwxyz!@#$%^&*() T\n[],.-=/\\;|`'UDLREIKBPFZMS{}CA\":"
|
||||
|
||||
|
10
invoke.ccp
10
invoke.ccp
@ -369,6 +369,7 @@ static void thread_invoke (unsigned cmd, unsigned target, Num cap_protected, kCa
|
||||
break
|
||||
case Thread::USE_SLOT:
|
||||
if c->data[1].l >= thread->slots || c->caps->size < 2:
|
||||
dbg_send (5, 3)
|
||||
dpanic (c->data[1].l, "no argument given for USE_SLOT")
|
||||
reply_num (~0)
|
||||
return
|
||||
@ -608,11 +609,6 @@ static void page_invoke (unsigned cmd, unsigned target, Num cap_protected, kCapa
|
||||
return
|
||||
reply_num (0)
|
||||
|
||||
static void print_capref (kCapRef cap):
|
||||
dbg_log_num ((unsigned)cap.caps)
|
||||
dbg_log_char (':')
|
||||
dbg_log_num (cap.index)
|
||||
|
||||
static void print_cap (kCapRef cap, kCapRef self):
|
||||
if cap.deref () == self.deref ():
|
||||
dbg_log_char ('{')
|
||||
@ -620,7 +616,9 @@ static void print_cap (kCapRef cap, kCapRef self):
|
||||
dbg_log_char ('[')
|
||||
dbg_log_num ((unsigned)cap.caps)
|
||||
dbg_log_char (':')
|
||||
dbg_log_num (cap.index)
|
||||
dbg_log_num (cap.index, 1)
|
||||
if !cap.valid ():
|
||||
dbg_log_char ('!')
|
||||
for kCapRef c = cap->children; c.valid (); c = c->sibling_next:
|
||||
print_cap (c, self)
|
||||
if cap.deref () == self.deref ():
|
||||
|
6
iris.hhp
6
iris.hhp
@ -525,10 +525,10 @@ void Receiver::sleep (unsigned value, OMessage *ret, unsigned slot):
|
||||
#define __stringify(x) __stringify2 (x)
|
||||
#define kdebug_line() do { kdebug (__stringify (__LINE__)); kdebug_char ('\n'); } while (0)
|
||||
|
||||
static void kdebug_num (unsigned n):
|
||||
static void kdebug_num (unsigned n, unsigned digits = 8):
|
||||
unsigned i
|
||||
const char *encode = "0123456789abcdef"
|
||||
for i = 0; i < 8; ++i:
|
||||
kdebug_char (encode[(n >> (4 * (7 - i))) & 0xf])
|
||||
for i = 0; i < digits; ++i:
|
||||
kdebug_char (encode[(n >> (4 * ((digits - 1) - i))) & 0xf])
|
||||
|
||||
#endif
|
||||
|
@ -207,7 +207,7 @@ extern "C":
|
||||
EXTERN kCapRef dbg_cap
|
||||
void dbg_log_char (unsigned ch)
|
||||
void dbg_log (char const *str)
|
||||
void dbg_log_num (unsigned num)
|
||||
void dbg_log_num (unsigned num, unsigned digits = 8)
|
||||
void dbg_send (unsigned num, unsigned bits)
|
||||
void check (unsigned num, char const *msg)
|
||||
#define dpanic(n, msg) panic (n, msg)
|
||||
|
@ -32,13 +32,13 @@ void dbg_log (char const *str):
|
||||
while *str:
|
||||
dbg_log_char (*str++)
|
||||
|
||||
void dbg_log_num (unsigned num):
|
||||
void dbg_log_num (unsigned num, unsigned digits):
|
||||
char const *encode = "0123456789abcdef"
|
||||
for unsigned i = 0; i < 8; ++i:
|
||||
dbg_log_char (encode[(num >> (4 * (7 - i))) & 0xf])
|
||||
for unsigned i = 0; i < digits; ++i:
|
||||
dbg_log_char (encode[(num >> (4 * ((digits - 1) - i))) & 0xf])
|
||||
return
|
||||
|
||||
#if 1 || defined (NDEBUG)
|
||||
#if 0 || defined (NDEBUG)
|
||||
void panic_impl (unsigned n, unsigned line, char const *name, char const *message):
|
||||
// Stop all threads.
|
||||
while first_scheduled:
|
||||
|
Loading…
x
Reference in New Issue
Block a user