Changeset 516ff92 in mainline for kernel/generic/src
- Timestamp:
- 2009-01-31T21:27:18Z (16 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 4863e50b
- Parents:
- 96a2e45
- Location:
- kernel/generic/src
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/src/console/cmd.c
r96a2e45 r516ff92 977 977 { 978 978 printf("The kernel will now relinquish the console.\n"); 979 arch_release_console();979 release_console(); 980 980 981 981 if ((kconsole_notify) && (kconsole_irq.notif_cfg.notify)) -
kernel/generic/src/console/console.c
r96a2e45 r516ff92 66 66 static size_t klog_uspace = 0; 67 67 68 /**< Silent output */ 69 static bool silent = false; 70 68 71 /**< Kernel log spinlock */ 69 72 SPINLOCK_INITIALIZE(klog_lock); … … 71 74 /** Physical memory area used for klog buffer */ 72 75 static parea_t klog_parea; 73 76 74 77 /* 75 78 * For now, we use 0 as INR. … … 143 146 klog_inited = true; 144 147 spinlock_unlock(&klog_lock); 148 } 149 150 void grab_console(void) 151 { 152 silent = false; 153 arch_grab_console(); 154 } 155 156 void release_console(void) 157 { 158 silent = true; 159 arch_release_console(); 145 160 } 146 161 … … 200 215 index_t index = 0; 201 216 char ch; 202 217 203 218 while (index < buflen) { 204 219 ch = _getc(chardev); … … 214 229 } 215 230 putchar(ch); 216 231 217 232 if (ch == '\n') { /* end of string => write 0, return */ 218 233 buf[index] = '\0'; … … 254 269 index_t i; 255 270 for (i = klog_len - klog_stored; i < klog_len; i++) 256 stdout->op->write(stdout, klog[(klog_start + i) % KLOG_SIZE] );271 stdout->op->write(stdout, klog[(klog_start + i) % KLOG_SIZE], silent); 257 272 klog_stored = 0; 258 273 } … … 266 281 267 282 if (stdout->op->write) 268 stdout->op->write(stdout, c );283 stdout->op->write(stdout, c, silent); 269 284 else { 270 285 /* The character is just in the kernel log */ -
kernel/generic/src/syscall/syscall.c
r96a2e45 r516ff92 93 93 { 94 94 #ifdef CONFIG_KCONSOLE 95 arch_grab_console();95 grab_console(); 96 96 return true; 97 97 #else 98 98 return false; 99 99 #endif 100 } 101 102 /** Tell kernel to relinquish keyboard/console access */ 103 static unative_t sys_debug_disable_console(void) 104 { 105 release_console(); 106 return true; 100 107 } 101 108 … … 185 192 /* Debug calls */ 186 193 (syshandler_t) sys_debug_enable_console, 187 194 (syshandler_t) sys_debug_disable_console, 195 188 196 (syshandler_t) sys_ipc_connect_kbox 189 197 };
Note:
See TracChangeset
for help on using the changeset viewer.