|
|
1.1 ! root 1: /* debug.h */ ! 2: ! 3: /* #define SHOW_A_LOT */ ! 4: ! 5: #ifdef INTR_DEBUG ! 6: #define INTRLOCAL(label) label ! 7: #else /* not INTR_DEBUG */ ! 8: #define INTRLOCAL(label) L/**/label ! 9: #endif /* INTR_DEBUG */ ! 10: ! 11: #define BDBTRAP(name) \ ! 12: ss ; \ ! 13: cmpb $0,_bdb_exists ; \ ! 14: je 1f ; \ ! 15: testb $SEL_RPL_MASK,4(%esp) ; \ ! 16: jne 1f ; \ ! 17: ss ; \ ! 18: bdb_/**/name/**/_ljmp: ; \ ! 19: ljmp $0,$0 ; \ ! 20: 1: ! 21: ! 22: #ifdef INTR_DEBUG ! 23: #define COUNT_EVENT(group, event) incl (group) + (event) * 4 ! 24: #else /* not INTR_DEBUG */ ! 25: #define COUNT_EVENT(group, event) ! 26: #endif /* INTR_DEBUG */ ! 27: ! 28: #define COUNT_INTR(group, event) incl (group) + (event) * 4 ! 29: ! 30: #ifdef SHOW_A_LOT ! 31: ! 32: #define GREEN 0x27 /* 0x27 for true green, 0x07 for mono */ ! 33: #define CLI_STI_X 63 ! 34: #define CPL_X 46 ! 35: #define IMEN_X 64 ! 36: #define IPENDING_X 29 ! 37: #define RED 0x47 /* 0x47 for true red, 0x70 for mono */ ! 38: ! 39: #define SHOW_BIT(bit) ; \ ! 40: movl %ecx,%eax ; \ ! 41: shr $bit,%eax ; \ ! 42: andl $1,%eax ; \ ! 43: movb bit_colors(%eax),%al ; \ ! 44: movb %al,bit * 2 + 1(%ebx) ! 45: ! 46: #define SHOW_BITS(var, screen_offset) ; \ ! 47: pushl %ebx ; \ ! 48: pushl %ecx ; \ ! 49: movl _Crtat,%ebx ; \ ! 50: addl $screen_offset * 2,%ebx ; \ ! 51: movl _/**/var,%ecx ; \ ! 52: call show_bits ; \ ! 53: popl %ecx ; \ ! 54: popl %ebx ! 55: ! 56: #define SHOW_CLI \ ! 57: COUNT_EVENT(_intrcnt_show, 0) ; \ ! 58: pushl %eax ; \ ! 59: movl _Crtat,%eax ; \ ! 60: movb $RED,CLI_STI_X * 2 + 1(%eax) ; \ ! 61: popl %eax ! 62: ! 63: #define SHOW_CPL \ ! 64: COUNT_EVENT(_intrcnt_show, 1) ; \ ! 65: SHOW_BITS(cpl, CPL_X) ; \ ! 66: ! 67: #define SHOW_IMEN \ ! 68: COUNT_EVENT(_intrcnt_show, 2) ; \ ! 69: SHOW_BITS(imen, IMEN_X) ! 70: ! 71: #define SHOW_IPENDING \ ! 72: COUNT_EVENT(_intrcnt_show, 3) ; \ ! 73: SHOW_BITS(ipending, IPENDING_X) ! 74: ! 75: #define SHOW_STI \ ! 76: COUNT_EVENT(_intrcnt_show, 4) ; \ ! 77: pushl %eax ; \ ! 78: movl _Crtat,%eax ; \ ! 79: movb $GREEN,CLI_STI_X * 2 + 1(%eax) ; \ ! 80: popl %eax ! 81: ! 82: #else /* not SHOW_A_LOT */ ! 83: ! 84: #define SHOW_CLI COUNT_EVENT(_intrcnt_show, 0) ! 85: #define SHOW_CPL COUNT_EVENT(_intrcnt_show, 1) ! 86: #define SHOW_IMEN COUNT_EVENT(_intrcnt_show, 2) ! 87: #define SHOW_IPENDING COUNT_EVENT(_intrcnt_show, 3) ! 88: #define SHOW_STI COUNT_EVENT(_intrcnt_show, 4) ! 89: ! 90: #endif /* SHOW_A_LOT */ ! 91: ! 92: .data ! 93: .globl _bdb_exists ! 94: _bdb_exists: ! 95: .long 0 ! 96: .text
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.