Changeset 41d33ac in mainline
- Timestamp:
- 2006-05-31T22:18:40Z (19 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- e7ed9868
- Parents:
- 018f95a
- Files:
-
- 16 edited
Legend:
- Unmodified
- Added
- Removed
-
arch/amd64/src/amd64.c
r018f95a r41d33ac 51 51 #include <arch/debugger.h> 52 52 #include <syscall/syscall.h> 53 #include <console/console.h> 53 54 54 55 … … 186 187 return 0; 187 188 } 189 190 /** Acquire console back for kernel 191 * 192 */ 193 void arch_grab_console(void) 194 { 195 i8042_grab(); 196 } 197 /** Return console to userspace 198 * 199 */ 200 void arch_release_console(void) 201 { 202 i8042_release(); 203 } -
arch/ia32/src/ia32.c
r018f95a r41d33ac 55 55 #include <proc/thread.h> 56 56 #include <syscall/syscall.h> 57 #include <console/console.h> 57 58 58 59 void arch_pre_mm_init(void) … … 133 134 return 0; 134 135 } 136 137 /** Acquire console back for kernel 138 * 139 */ 140 void arch_grab_console(void) 141 { 142 i8042_grab(); 143 } 144 /** Return console to userspace 145 * 146 */ 147 void arch_release_console(void) 148 { 149 i8042_release(); 150 } -
arch/ia64/src/ia64.c
r018f95a r41d33ac 115 115 return 0; 116 116 } 117 118 /** Acquire console back for kernel 119 * 120 */ 121 void arch_grab_console(void) 122 { 123 } 124 /** Return console to userspace 125 * 126 */ 127 void arch_release_console(void) 128 { 129 } -
arch/mips32/include/drivers/msim.h
r018f95a r41d33ac 38 38 39 39 void msim_console(void); 40 void msim_kbd_release(void); 41 void msim_kbd_grab(void); 40 42 41 43 #endif -
arch/mips32/src/console.c
r018f95a r41d33ac 43 43 } 44 44 } 45 46 /** Acquire console back for kernel 47 * 48 */ 49 void arch_grab_console(void) 50 { 51 msim_kbd_grab(); 52 } 53 /** Return console to userspace 54 * 55 */ 56 void arch_release_console(void) 57 { 58 msim_kbd_release(); 59 } -
arch/mips32/src/drivers/msim.c
r018f95a r41d33ac 109 109 stdout = &console; 110 110 } 111 112 static iroutine oldvector; 113 void msim_kbd_grab(void) 114 { 115 oldvector = int_register(MSIM_KBD_IRQ, "msim_kbd", msim_interrupt); 116 } 117 void msim_kbd_release(void) 118 { 119 int_register(MSIM_KBD_IRQ, "user_interrupt", oldvector); 120 } -
arch/mips32/src/mips32.c
r018f95a r41d33ac 172 172 return 0; 173 173 } 174 -
arch/ppc32/src/ppc32.c
r018f95a r41d33ac 35 35 #include <userspace.h> 36 36 #include <proc/uarg.h> 37 #include <console/console.h> 37 38 38 39 bootinfo_t bootinfo; … … 92 93 ; 93 94 } 95 96 /** Acquire console back for kernel 97 * 98 */ 99 void arch_grab_console(void) 100 { 101 } 102 /** Return console to userspace 103 * 104 */ 105 void arch_release_console(void) 106 { 107 } -
arch/ppc64/src/ppc64.c
r018f95a r41d33ac 34 34 #include <userspace.h> 35 35 #include <proc/uarg.h> 36 #include <console/console.h> 36 37 37 38 bootinfo_t bootinfo; … … 90 91 ; 91 92 } 93 94 /** Acquire console back for kernel 95 * 96 */ 97 void arch_grab_console(void) 98 { 99 } 100 /** Return console to userspace 101 * 102 */ 103 void arch_release_console(void) 104 { 105 } -
arch/sparc64/src/sparc64.c
r018f95a r41d33ac 33 33 #include <arch/drivers/tick.h> 34 34 #include <proc/thread.h> 35 #include <console/console.h> 35 36 36 37 void arch_pre_mm_init(void) … … 75 76 { 76 77 } 78 79 /** Acquire console back for kernel 80 * 81 */ 82 void arch_grab_console(void) 83 { 84 } 85 /** Return console to userspace 86 * 87 */ 88 void arch_release_console(void) 89 { 90 } -
genarch/include/i8042/i8042.h
r018f95a r41d33ac 47 47 extern void i8042_init(void); 48 48 extern void i8042_poll(void); 49 extern void i8042_grab(void); 50 extern void i8042_release(void); 49 51 50 52 #endif -
genarch/src/i8042/i8042.c
r018f95a r41d33ac 268 268 static void i8042_wait(void); 269 269 270 /** Initialize i8042. */ 271 void i8042_init(void) 272 { 273 int i; 274 275 exc_register(VECTOR_KBD, "i8042_interrupt", (iroutine) i8042_interrupt); 270 static iroutine oldvector; 271 /** Initialize keyboard and service interrupts using kernel routine */ 272 void i8042_grab(void) 273 { 274 oldvector = exc_register(VECTOR_KBD, "i8042_interrupt", (iroutine) i8042_interrupt); 276 275 i8042_wait(); 277 276 i8042_command_write(i8042_SET_COMMAND); … … 279 278 i8042_data_write(i8042_COMMAND); 280 279 i8042_wait(); 280 } 281 /** Resume the former interrupt vector */ 282 void i8042_release(void) 283 { 284 if (oldvector) 285 exc_register(VECTOR_KBD, "user_interrupt", oldvector); 286 } 287 288 /** Initialize i8042. */ 289 void i8042_init(void) 290 { 291 int i; 292 293 i8042_grab(); 294 /* Prevent user from accidentaly releasing calling i8042_resume 295 * and disabling keyboard 296 */ 297 oldvector = NULL; 281 298 282 299 trap_virtual_enable_irqs(1<<IRQ_KBD); -
generic/include/console/console.h
r018f95a r41d33ac 41 41 extern void putchar(char c); 42 42 43 extern void arch_grab_console(void); 44 extern void arch_release_console(void); 45 43 46 #endif /* __CHARDEV_H__ */ -
generic/include/syscall/syscall.h
r018f95a r41d33ac 59 59 SYS_SYSINFO_VALID, 60 60 SYS_SYSINFO_VALUE, 61 SYS_DEBUG_ENABLE_CONSOLE, 61 62 SYSCALL_END 62 63 } syscall_t; -
generic/src/console/cmd.c
r018f95a r41d33ac 38 38 39 39 #include <console/cmd.h> 40 #include <console/console.h> 40 41 #include <console/kconsole.h> 41 42 #include <print.h> … … 71 72 .name = "exit", 72 73 .description ="Exit kconsole", 74 .argc = 0 75 }; 76 77 static int cmd_continue(cmd_arg_t *argv); 78 static cmd_info_t continue_info = { 79 .name = "continue", 80 .description ="Return console back to userspace", 81 .func = cmd_continue, 73 82 .argc = 0 74 83 }; … … 333 342 &call2_info, 334 343 &call3_info, 344 &continue_info, 335 345 &cpus_info, 336 346 &desc_info, … … 700 710 return 1; 701 711 } 712 713 /** Command for returning console back to userspace. 714 * 715 * @param argv Ignored. 716 * 717 * return Always 1. 718 */ 719 int cmd_continue(cmd_arg_t *argv) 720 { 721 arch_release_console(); 722 return 1; 723 } -
generic/src/syscall/syscall.c
r018f95a r41d33ac 47 47 #include <syscall/copy.h> 48 48 #include <sysinfo/sysinfo.h> 49 #include <console/console.h> 49 50 50 51 /** Print using kernel facility … … 77 78 78 79 return count; 80 } 81 82 /** Tell kernel to get keyboard/console access again */ 83 static __native sys_debug_enable_console(void) 84 { 85 arch_grab_console(); 86 return 0; 79 87 } 80 88 … … 131 139 /* Sysinfo syscalls */ 132 140 sys_sysinfo_valid, 133 sys_sysinfo_value 141 sys_sysinfo_value, 142 143 /* Debug calls */ 144 sys_debug_enable_console 134 145 };
Note:
See TracChangeset
for help on using the changeset viewer.