]> rtime.felk.cvut.cz Git - l4.git/blob - l4/pkg/plr/patches/l4sys_kdebug0x42.diff
update
[l4.git] / l4 / pkg / plr / patches / l4sys_kdebug0x42.diff
1 Index: ../l4sys/include/ARCH-x86/kdebug.h
2 ===================================================================
3 --- ../l4sys/include/ARCH-x86/kdebug.h
4 +++ ../l4sys/include/ARCH-x86/kdebug.h
5 @@ -53,6 +53,13 @@
6      1:
7  #endif
8  
9 +#define enter_kdebug42(text) \
10 +asm(\
11 +    "int       $0x42\n\t"\
12 +    "jmp       1f      \n\t"\
13 +    ".ascii    \"" text "\"\n\t"\
14 +    "1:                        \n\t"\
15 +    )
16  /**
17   * Enter L4 kernel debugger (plain assembler version)
18   * \ingroup l4_debugger_api
19 @@ -111,6 +118,8 @@
20   */
21  L4_INLINE void
22  outchar(char c) L4_NOTHROW;
23 +L4_INLINE void
24 +outchar42(char c) L4_NOTHROW;
25  
26  /**
27   * Print character string
28 @@ -139,6 +148,8 @@
29   */
30  L4_INLINE void
31  outhex32(int number) L4_NOTHROW;
32 +L4_INLINE void
33 +outhex42(int number) L4_NOTHROW;
34  
35  /**
36   * Print 20 bit number (hexadecimal)
37 @@ -270,6 +281,17 @@
38        );
39  }
40  
41 +L4_INLINE void
42 +outchar42(char c) L4_NOTHROW
43 +{
44 +  asm(
45 +      "int     $0x42\n\t"
46 +      "cmpb    $0,%%al \n\t"
47 +      : /* No output */
48 +      : "a" (c)
49 +      );
50 +}
51 +
52  /* actually outstring is outcstring */
53  L4_INLINE void
54  outstring(const char *text) L4_NOTHROW
55 @@ -311,6 +333,17 @@
56  }
57  
58  L4_INLINE void
59 +outhex42(int number) L4_NOTHROW
60 +{
61 +  asm(
62 +      "int     $0x42\n\t"
63 +      "cmpb    $5,%%al \n\t"
64 +      : /* No output */
65 +      : "a" (number)
66 +      );
67 +}
68 +
69 +L4_INLINE void
70  outhex20(int number) L4_NOTHROW
71  {
72    asm(