ia64/xen-unstable
changeset 425:656d429e294c
bitkeeper revision 1.208 (3eb7cc95biENxNPLM1gD4B9rpj7H_w)
Makefile:
new file
Many files:
Allow hypercalls from ring 3 (if permitted by ring 1).
.del-Config.in~31701845a0b06ec3:
Delete: xenolinux-2.4.21-pre4-sparse/drivers/char/Config.in
Makefile:
new file
Many files:
Allow hypercalls from ring 3 (if permitted by ring 1).
.del-Config.in~31701845a0b06ec3:
Delete: xenolinux-2.4.21-pre4-sparse/drivers/char/Config.in
author | kaf24@scramble.cl.cam.ac.uk |
---|---|
date | Tue May 06 14:54:13 2003 +0000 (2003-05-06) |
parents | 8b178f8d401d |
children | 62a46bc69cac |
files | .rootkeys xen/arch/i386/entry.S xen/arch/i386/process.c xen/arch/i386/traps.c xen/include/asm-i386/processor.h xen/include/hypervisor-ifs/hypervisor-if.h xenolinux-2.4.21-pre4-sparse/arch/xeno/config.in xenolinux-2.4.21-pre4-sparse/arch/xeno/kernel/ioport.c xenolinux-2.4.21-pre4-sparse/arch/xeno/kernel/process.c xenolinux-2.4.21-pre4-sparse/arch/xeno/kernel/setup.c xenolinux-2.4.21-pre4-sparse/drivers/char/Config.in xenolinux-2.4.21-pre4-sparse/drivers/char/Makefile xenolinux-2.4.21-pre4-sparse/include/asm-xeno/hypervisor.h xenolinux-2.4.21-pre4-sparse/include/asm-xeno/processor.h |
line diff
1.1 --- a/.rootkeys Tue May 06 10:05:18 2003 +0000 1.2 +++ b/.rootkeys Tue May 06 14:54:13 2003 +0000 1.3 @@ -449,7 +449,7 @@ 3e5a4e66qRlSTcjafidMB6ulECADvg xenolinux 1.4 3e5a4e668yELUdtr3HiJZBIqxqUyuA xenolinux-2.4.21-pre4-sparse/drivers/block/Config.in 1.5 3ea53c6em6uzVHSiGqrbbAVofyRY_g xenolinux-2.4.21-pre4-sparse/drivers/block/genhd.c 1.6 3e5a4e66mrtlmV75L1tjKDg8RaM5gA xenolinux-2.4.21-pre4-sparse/drivers/block/ll_rw_blk.c 1.7 -3ead095dEkj9JJWYYBnbvW3OYbKFxg xenolinux-2.4.21-pre4-sparse/drivers/char/Config.in 1.8 +3eb7cc90LCRDzdNiLIt20dkBbAwVKQ xenolinux-2.4.21-pre4-sparse/drivers/char/Makefile 1.9 3ead095dPseRoFELVf_xcnVXjq02hw xenolinux-2.4.21-pre4-sparse/drivers/char/dummy_console.c 1.10 3e5a4e66rw65CxyolW9PKz4GG42RcA xenolinux-2.4.21-pre4-sparse/drivers/char/tty_io.c 1.11 3e5a4e669uzIE54VwucPYtGwXLAbzA xenolinux-2.4.21-pre4-sparse/fs/exec.c
2.1 --- a/xen/arch/i386/entry.S Tue May 06 10:05:18 2003 +0000 2.2 +++ b/xen/arch/i386/entry.S Tue May 06 14:54:13 2003 +0000 2.3 @@ -210,8 +210,8 @@ ENTRY(ret_from_newdomain) 2.4 */ 2.5 do_multicall: 2.6 popl %eax 2.7 - cmpl $SYMBOL_NAME(ret_from_hypervisor_call),%eax 2.8 - jne multicall_exit /* bail if called recursively */ 2.9 + cmpl $SYMBOL_NAME(multicall_return_from_call),%eax 2.10 + je multicall_return_from_call 2.11 pushl %ebx 2.12 movl 4(%esp),%ebx /* EBX == call_list */ 2.13 movl 8(%esp),%ecx /* ECX == nr_calls */ 2.14 @@ -231,12 +231,12 @@ multicall_fault6: 2.15 movl (%ebx),%eax 2.16 andl $255,%eax 2.17 call *SYMBOL_NAME(hypervisor_call_table)(,%eax,4) 2.18 +multicall_return_from_call: 2.19 addl $20,%esp 2.20 popl %ecx 2.21 addl $BYTES_PER_MULTICALL_ENTRY,%ebx 2.22 loop multicall_loop 2.23 popl %ebx 2.24 -multicall_exit: 2.25 xorl %eax,%eax 2.26 jmp ret_from_hypervisor_call 2.27 2.28 @@ -647,7 +647,7 @@ ENTRY(hypervisor_call_table) 2.29 .long SYMBOL_NAME(do_dom_mem_op) 2.30 .long SYMBOL_NAME(do_multicall) 2.31 .long SYMBOL_NAME(do_kbd_op) 2.32 - .long SYMBOL_NAME(do_iopl) 2.33 + .long SYMBOL_NAME(do_set_priv_levels) 2.34 .rept NR_syscalls-((.-hypervisor_call_table)/4) 2.35 .long SYMBOL_NAME(sys_ni_syscall) 2.36 .endr
3.1 --- a/xen/arch/i386/process.c Tue May 06 10:05:18 2003 +0000 3.2 +++ b/xen/arch/i386/process.c Tue May 06 14:54:13 2003 +0000 3.3 @@ -348,10 +348,19 @@ void __switch_to(struct task_struct *pre 3.4 } 3.5 3.6 3.7 -long do_iopl(unsigned int new_iopl) 3.8 +long do_set_priv_levels(unsigned int new_io_pl, unsigned int new_hypercall_pl) 3.9 { 3.10 struct pt_regs *regs = GET_SYSCALL_REGS(current); 3.11 - if ( !IS_PRIV(current) ) return -EPERM; 3.12 - regs->eflags = (regs->eflags & 0xffffcfff) | ((new_iopl&3) << 12); 3.13 + 3.14 + /* 3.15 + * Any domain can reduce privilege required for hypercall access. 3.16 + * Note that access from ring 1 cannot be relinquished. 3.17 + */ 3.18 + current->thread.hypercall_pl = new_hypercall_pl & 3; 3.19 + 3.20 + /* Only privileged domains can acquire access to I/O ports. */ 3.21 + if ( IS_PRIV(current) ) 3.22 + regs->eflags = (regs->eflags & 0xffffcfff) | ((new_io_pl&3) << 12); 3.23 + 3.24 return 0; 3.25 }
4.1 --- a/xen/arch/i386/traps.c Tue May 06 10:05:18 2003 +0000 4.2 +++ b/xen/arch/i386/traps.c Tue May 06 14:54:13 2003 +0000 4.3 @@ -401,6 +401,23 @@ asmlinkage void do_general_protection(st 4.4 */ 4.5 if ( (error_code & 3) == 2 ) 4.6 { 4.7 + /* 4.8 + * Hypercalls from rings 2 or 3 fall through to here. If permitted, we 4.9 + * will transfer control to the requested hypercall. 4.10 + */ 4.11 + if ( ((error_code>>3) == HYPERVISOR_CALL_VECTOR) && 4.12 + (current->thread.hypercall_pl >= (regs->xcs & 3)) ) 4.13 + { 4.14 + __asm__ __volatile__ ( 4.15 + "movl %0,%%esp \n" 4.16 + "sti \n" 4.17 + "andl $255,%%eax \n" 4.18 + "call *hypervisor_call_table(,%%eax,4) \n" 4.19 + "movl %%eax,0x18(%%esp) \n" 4.20 + "jmp ret_from_intr \n" 4.21 + : : "r" (regs) ); 4.22 + } 4.23 + 4.24 /* This fault must be due to <INT n> instruction. */ 4.25 ti = current->thread.traps + (error_code>>3); 4.26 if ( ti->dpl >= (regs->xcs & 3) )
5.1 --- a/xen/include/asm-i386/processor.h Tue May 06 10:05:18 2003 +0000 5.2 +++ b/xen/include/asm-i386/processor.h Tue May 06 14:54:13 2003 +0000 5.3 @@ -356,6 +356,7 @@ struct thread_struct { 5.4 int fast_trap_idx; 5.5 struct desc_struct fast_trap_desc; 5.6 trap_info_t traps[256]; 5.7 + int hypercall_pl; 5.8 }; 5.9 5.10 #define IDT_ENTRIES 256
6.1 --- a/xen/include/hypervisor-ifs/hypervisor-if.h Tue May 06 10:05:18 2003 +0000 6.2 +++ b/xen/include/hypervisor-ifs/hypervisor-if.h Tue May 06 14:54:13 2003 +0000 6.3 @@ -48,7 +48,7 @@ 6.4 #define __HYPERVISOR_dom_mem_op 17 6.5 #define __HYPERVISOR_multicall 18 6.6 #define __HYPERVISOR_kbd_op 19 6.7 -#define __HYPERVISOR_iopl 20 6.8 +#define __HYPERVISOR_set_priv_levels 20 6.9 6.10 /* And the trap vector is... */ 6.11 #define TRAP_INSTR "int $0x82"
7.1 --- a/xenolinux-2.4.21-pre4-sparse/arch/xeno/config.in Tue May 06 10:05:18 2003 +0000 7.2 +++ b/xenolinux-2.4.21-pre4-sparse/arch/xeno/config.in Tue May 06 14:54:13 2003 +0000 7.3 @@ -107,7 +107,25 @@ source drivers/block/Config.in 7.4 define_bool CONFIG_BLK_DEV_IDE_MODES n 7.5 define_bool CONFIG_BLK_DEV_HD n 7.6 7.7 -source drivers/char/Config.in 7.8 +mainmenu_option next_comment 7.9 +comment 'Character devices' 7.10 + 7.11 +bool 'Xen console support' CONFIG_XEN_CONSOLE 7.12 +comment 'The options below are alpha-stage and will probably not work' 7.13 +bool 'Virtual terminal' CONFIG_VT 7.14 +if [ "$CONFIG_VT" = "y" ]; then 7.15 + bool ' Support for console on virtual terminal' CONFIG_VT_CONSOLE 7.16 + bool ' Support for VGA Video' CONFIG_VGA_CONSOLE 7.17 + bool ' Support for Dummy Video (for testing)' CONFIG_DUMMY_CONSOLE 7.18 + bool ' PS/2 mouse (aka "auxiliary device") support' CONFIG_PSMOUSE 7.19 +fi 7.20 + 7.21 +bool 'Unix98 PTY support' CONFIG_UNIX98_PTYS 7.22 +if [ "$CONFIG_UNIX98_PTYS" = "y" ]; then 7.23 + int 'Maximum number of Unix98 PTYs in use (0-2048)' CONFIG_UNIX98_PTY_COUNT 256 7.24 +fi 7.25 + 7.26 +endmenu 7.27 7.28 source fs/Config.in 7.29
8.1 --- a/xenolinux-2.4.21-pre4-sparse/arch/xeno/kernel/ioport.c Tue May 06 10:05:18 2003 +0000 8.2 +++ b/xenolinux-2.4.21-pre4-sparse/arch/xeno/kernel/ioport.c Tue May 06 14:54:13 2003 +0000 8.3 @@ -15,22 +15,32 @@ asmlinkage int sys_ioperm(unsigned long 8.4 asmlinkage int sys_iopl(unsigned long unused) 8.5 { 8.6 struct pt_regs *regs = (struct pt_regs *)&unused; 8.7 - unsigned int level = regs->ebx; 8.8 - unsigned int old = (regs->eflags >> 12) & 3; 8.9 + unsigned int new_io_pl = regs->ebx & 3; 8.10 + unsigned int old_io_pl = (regs->eflags >> 12) & 3; 8.11 + unsigned int new_hypercall_pl = (regs->ebx >> 2) & 3; 8.12 + unsigned int old_hypercall_pl = current->thread.hypercall_pl; 8.13 8.14 - if ( !(start_info.flags & SIF_PRIVILEGED) ) 8.15 + /* Need "raw I/O" privileges for direct port access. */ 8.16 + if ( (new_io_pl > old_io_pl) && 8.17 + (!capable(CAP_SYS_RAWIO) || !(start_info.flags & SIF_PRIVILEGED)) ) 8.18 return -EPERM; 8.19 8.20 - if ( level > 3 ) 8.21 - return -EINVAL; 8.22 - if ( (level > old) && !capable(CAP_SYS_RAWIO) ) 8.23 + /* Just need generic root/admin privileges for direct hypercall access. */ 8.24 + if ( (new_hypercall_pl > old_hypercall_pl) && !capable(CAP_SYS_ADMIN) ) 8.25 return -EPERM; 8.26 - 8.27 - /* Change the one on our stack for sanity's sake. */ 8.28 - regs->eflags = (regs->eflags & 0xffffcfff) | (level << 12); 8.29 + 8.30 + /* Maintain OS privileges even if user attempts to relinquish them. */ 8.31 + if ( new_hypercall_pl == 0 ) 8.32 + new_hypercall_pl = 1; 8.33 + if ( (new_io_pl == 0) && !(start_info.flags & SIF_PRIVILEGED) ) 8.34 + new_io_pl = 1; 8.35 + 8.36 + /* Change our version of the privilege levels. */ 8.37 + regs->eflags = (regs->eflags & 0xffffcfff) | (old_io_pl << 12); 8.38 + current->thread.hypercall_pl = new_hypercall_pl; 8.39 8.40 /* Force the change at ring 0. */ 8.41 - HYPERVISOR_iopl(level); 8.42 + HYPERVISOR_set_priv_levels(new_io_pl, new_hypercall_pl); 8.43 8.44 return 0; 8.45 }
9.1 --- a/xenolinux-2.4.21-pre4-sparse/arch/xeno/kernel/process.c Tue May 06 10:05:18 2003 +0000 9.2 +++ b/xenolinux-2.4.21-pre4-sparse/arch/xeno/kernel/process.c Tue May 06 14:54:13 2003 +0000 9.3 @@ -269,6 +269,9 @@ int copy_thread(int nr, unsigned long cl 9.4 unlazy_fpu(current); 9.5 struct_cpy(&p->thread.i387, ¤t->thread.i387); 9.6 9.7 + /* We're careful with hypercall privileges. Don't allow inheritance. */ 9.8 + p->thread.hypercall_pl = 1; 9.9 + 9.10 return 0; 9.11 } 9.12 9.13 @@ -366,8 +369,9 @@ void __switch_to(struct task_struct *pre 9.14 { 9.15 queue_multicall2(__HYPERVISOR_stack_switch, __KERNEL_DS, next->esp0); 9.16 /* Next call will silently fail if we are a non-privileged guest OS. */ 9.17 - queue_multicall1(__HYPERVISOR_iopl, 9.18 - ((((struct pt_regs *)next->esp0)-1)->eflags>>12)&3); 9.19 + queue_multicall2(__HYPERVISOR_set_priv_levels, 9.20 + ((((struct pt_regs *)next->esp0)-1)->eflags>>12)&3, 9.21 + next->hypercall_pl); 9.22 } 9.23 9.24 /* EXECUTE ALL TASK SWITCH XEN SYSCALLS AT THIS POINT. */
10.1 --- a/xenolinux-2.4.21-pre4-sparse/arch/xeno/kernel/setup.c Tue May 06 10:05:18 2003 +0000 10.2 +++ b/xenolinux-2.4.21-pre4-sparse/arch/xeno/kernel/setup.c Tue May 06 14:54:13 2003 +0000 10.3 @@ -301,23 +301,21 @@ void __init setup_arch(char **cmdline_p) 10.4 10.5 paging_init(); 10.6 10.7 - if(start_info.flags & SIF_PRIVILEGED) { 10.8 - // we are privileged guest os - should be able to set IOPL 10.9 - if(HYPERVISOR_iopl(1)) { 10.10 - panic("Unable to obtain IOPL, despite being SIF_PRIVILEGED"); 10.11 - } 10.12 + if ( start_info.flags & SIF_PRIVILEGED ) 10.13 + /* We are privileged guest os - should have IO privileges. */ 10.14 + if( HYPERVISOR_set_priv_levels(1, 1) ) 10.15 + panic("Unable to obtain IOPL, despite being SIF_PRIVILEGED"); 10.16 10.17 - } 10.18 + if(start_info.flags & SIF_CONSOLE) 10.19 + { 10.20 + if( !(start_info.flags & SIF_PRIVILEGED) ) 10.21 + panic("Xen granted us console access but not privileged status"); 10.22 10.23 - if(start_info.flags & SIF_CONSOLE) { 10.24 - if(!(start_info.flags & SIF_PRIVILEGED)) { 10.25 - panic("Xen granted us console access but not privileged status"); 10.26 - } 10.27 #ifdef CONFIG_VT 10.28 #if defined(CONFIG_VGA_CONSOLE) 10.29 - conswitchp = &vga_con; 10.30 + conswitchp = &vga_con; 10.31 #elif defined(CONFIG_DUMMY_CONSOLE) 10.32 - conswitchp = &dummy_con; 10.33 + conswitchp = &dummy_con; 10.34 #endif 10.35 #endif 10.36 }
11.1 --- a/xenolinux-2.4.21-pre4-sparse/drivers/char/Config.in Tue May 06 10:05:18 2003 +0000 11.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 11.3 @@ -1,361 +0,0 @@ 11.4 -# 11.5 -# Character device configuration 11.6 -# 11.7 -mainmenu_option next_comment 11.8 -comment 'Character devices' 11.9 - 11.10 -bool 'Xen console support' CONFIG_XEN_CONSOLE 11.11 -comment 'The options below are alpha-stage and will probably not work' 11.12 -bool 'Virtual terminal' CONFIG_VT 11.13 -if [ "$CONFIG_VT" = "y" ]; then 11.14 - bool ' Support for console on virtual terminal' CONFIG_VT_CONSOLE 11.15 - bool ' Support for VGA Video' CONFIG_VGA_CONSOLE 11.16 - bool ' Support for Dummy Video (for testing)' CONFIG_DUMMY_CONSOLE 11.17 - bool ' PS/2 mouse (aka "auxiliary device") support' CONFIG_PSMOUSE 11.18 -fi 11.19 - 11.20 -bool 'Unix98 PTY support' CONFIG_UNIX98_PTYS 11.21 -if [ "$CONFIG_UNIX98_PTYS" = "y" ]; then 11.22 - int 'Maximum number of Unix98 PTYs in use (0-2048)' CONFIG_UNIX98_PTY_COUNT 256 11.23 -fi 11.24 - 11.25 - 11.26 -endmenu 11.27 - 11.28 -# KEPT IN CASE WE WANT TO BRING SOME BACK... 11.29 -# 11.30 -#if [ "$CONFIG_VT" = "y" ]; then 11.31 -# bool ' Support for console on virtual terminal' CONFIG_VT_CONSOLE 11.32 -# if [ "$CONFIG_GSC_LASI" = "y" ]; then 11.33 -# bool ' Support for Lasi/Dino PS2 port' CONFIG_GSC_PS2 11.34 -# fi 11.35 -#fi 11.36 -# 11.37 -#tristate 'Standard/generic (8250/16550 and compatible UARTs) serial support' CONFIG_SERIAL 11.38 -#if [ "$CONFIG_SERIAL" = "y" ]; then 11.39 -# bool ' Support for console on serial port' CONFIG_SERIAL_CONSOLE 11.40 -# if [ "$CONFIG_GSC_LASI" = "y" ]; then 11.41 -# bool ' serial port on GSC support' CONFIG_SERIAL_GSC 11.42 -# fi 11.43 -# if [ "$CONFIG_IA64" = "y" ]; then 11.44 -# bool 'Support for serial console port described by EFI HCDP table' CONFIG_SERIAL_HCDP 11.45 -# fi 11.46 -# if [ "$CONFIG_ARCH_ACORN" = "y" ]; then 11.47 -# tristate ' Atomwide serial port support' CONFIG_ATOMWIDE_SERIAL 11.48 -# tristate ' Dual serial port support' CONFIG_DUALSP_SERIAL 11.49 -# fi 11.50 -#fi 11.51 -#dep_mbool 'Extended dumb serial driver options' CONFIG_SERIAL_EXTENDED $CONFIG_SERIAL 11.52 -#if [ "$CONFIG_SERIAL_EXTENDED" = "y" ]; then 11.53 -# bool ' Support more than 4 serial ports' CONFIG_SERIAL_MANY_PORTS 11.54 -# bool ' Support for sharing serial interrupts' CONFIG_SERIAL_SHARE_IRQ 11.55 -# bool ' Autodetect IRQ on standard ports (unsafe)' CONFIG_SERIAL_DETECT_IRQ 11.56 -# bool ' Support special multiport boards' CONFIG_SERIAL_MULTIPORT 11.57 -# bool ' Support the Bell Technologies HUB6 card' CONFIG_HUB6 11.58 -#fi 11.59 -#bool 'Non-standard serial port support' CONFIG_SERIAL_NONSTANDARD 11.60 -#if [ "$CONFIG_SERIAL_NONSTANDARD" = "y" ]; then 11.61 -# tristate ' Computone IntelliPort Plus serial support' CONFIG_COMPUTONE 11.62 -# tristate ' Comtrol Rocketport support' CONFIG_ROCKETPORT 11.63 -# tristate ' Cyclades async mux support' CONFIG_CYCLADES 11.64 -# if [ "$CONFIG_EXPERIMENTAL" = "y" -a "$CONFIG_CYCLADES" != "n" ]; then 11.65 -# bool ' Cyclades-Z interrupt mode operation (EXPERIMENTAL)' CONFIG_CYZ_INTR 11.66 -# fi 11.67 -# if [ "$CONFIG_X86_64" != "y" ]; then 11.68 -# tristate ' Digiboard Intelligent Async Support' CONFIG_DIGIEPCA 11.69 -# if [ "$CONFIG_DIGIEPCA" = "n" ]; then 11.70 -# tristate ' Digiboard PC/Xx Support' CONFIG_DIGI 11.71 -# fi 11.72 -# fi 11.73 -# dep_tristate ' Hayes ESP serial port support' CONFIG_ESPSERIAL $CONFIG_ISA 11.74 -# tristate ' Moxa Intellio support' CONFIG_MOXA_INTELLIO 11.75 -# tristate ' Moxa SmartIO support' CONFIG_MOXA_SMARTIO 11.76 -# if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then 11.77 -# dep_tristate ' Multi-Tech multiport card support (EXPERIMENTAL)' CONFIG_ISI m 11.78 -# fi 11.79 -# tristate ' Microgate SyncLink card support' CONFIG_SYNCLINK 11.80 -# tristate ' SyncLink Multiport support' CONFIG_SYNCLINKMP 11.81 -# tristate ' HDLC line discipline support' CONFIG_N_HDLC 11.82 -# tristate ' SDL RISCom/8 card support' CONFIG_RISCOM8 11.83 -# if [ "$CONFIG_X86_64" != "y" ]; then 11.84 -# tristate ' Specialix IO8+ card support' CONFIG_SPECIALIX 11.85 -# if [ "$CONFIG_SPECIALIX" != "n" ]; then 11.86 -# bool ' Specialix DTR/RTS pin is RTS' CONFIG_SPECIALIX_RTSCTS 11.87 -# fi 11.88 -# tristate ' Specialix SX (and SI) card support' CONFIG_SX 11.89 -# tristate ' Specialix RIO system support' CONFIG_RIO 11.90 -# if [ "$CONFIG_RIO" != "n" ]; then 11.91 -# bool ' Support really old RIO/PCI cards' CONFIG_RIO_OLDPCI 11.92 -# fi 11.93 -# fi 11.94 -# bool ' Stallion multiport serial support' CONFIG_STALDRV 11.95 -# if [ "$CONFIG_STALDRV" = "y" ]; then 11.96 -# tristate ' Stallion EasyIO or EC8/32 support' CONFIG_STALLION 11.97 -# tristate ' Stallion EC8/64, ONboard, Brumby support' CONFIG_ISTALLION 11.98 -# fi 11.99 -# if [ "$CONFIG_PARISC" = "y" ]; then 11.100 -# if [ "$CONFIG_PDC_CONSOLE" != "y" ]; then 11.101 -# bool ' Serial MUX support' CONFIG_SERIAL_MUX CONFIG_SERIAL_NONSTANDARD 11.102 -# fi 11.103 -# if [ "$CONFIG_SERIAL_MUX" != "y" ]; then 11.104 -# bool ' PDC software console support' CONFIG_PDC_CONSOLE CONFIG_SERIAL_NONSTANDARD 11.105 -# fi 11.106 -# fi 11.107 -# if [ "$CONFIG_MIPS" = "y" ]; then 11.108 -# bool ' TX3912/PR31700 serial port support' CONFIG_SERIAL_TX3912 11.109 -# dep_bool ' Console on TX3912/PR31700 serial port' CONFIG_SERIAL_TX3912_CONSOLE $CONFIG_SERIAL_TX3912 11.110 -# bool ' Enable Au1000 UART Support' CONFIG_AU1000_UART 11.111 -# if [ "$CONFIG_AU1000_UART" = "y" ]; then 11.112 -# bool ' Enable Au1000 serial console' CONFIG_AU1000_SERIAL_CONSOLE 11.113 -# fi 11.114 -# bool 'TXx927 SIO support' CONFIG_TXX927_SERIAL 11.115 -# if [ "$CONFIG_TXX927_SERIAL" = "y" ]; then 11.116 -# bool 'TXx927 SIO Console support' CONFIG_TXX927_SERIAL_CONSOLE 11.117 -# fi 11.118 -# if [ "$CONFIG_SIBYTE_SB1250" = "y" ]; then 11.119 -# bool ' Support for sb1250 onchip DUART' CONFIG_SIBYTE_SB1250_DUART 11.120 -# if [ "$CONFIG_SIBYTE_SB1250_DUART" = "y" ]; then 11.121 -# bool ' Console on SB1250 DUART' CONFIG_SIBYTE_SB1250_DUART_CONSOLE 11.122 -# if [ "$CONFIG_SIBYTE_SB1250_DUART_CONSOLE" = "y" ]; then 11.123 -# define_bool CONFIG_SERIAL_CONSOLE y 11.124 -# fi 11.125 -# int ' Output buffers size (in bytes)' CONFIG_SB1250_DUART_OUTPUT_BUF_SIZE 1024 11.126 -# bool ' Leave port 1 alone (for kgdb or audio)' CONFIG_SIBYTE_SB1250_DUART_NO_PORT_1 11.127 -# fi 11.128 -# fi 11.129 -# fi 11.130 -#fi 11.131 -#if [ "$CONFIG_EXPERIMENTAL" = "y" -a "$CONFIG_ZORRO" = "y" ]; then 11.132 -# tristate 'Commodore A2232 serial support (EXPERIMENTAL)' CONFIG_A2232 11.133 -#fi 11.134 -#if [ "$CONFIG_FOOTBRIDGE" = "y" ]; then 11.135 -# bool 'DC21285 serial port support' CONFIG_SERIAL_21285 11.136 -# if [ "$CONFIG_SERIAL_21285" = "y" ]; then 11.137 -# if [ "$CONFIG_OBSOLETE" = "y" ]; then 11.138 -# bool ' Use /dev/ttyS0 device (OBSOLETE)' CONFIG_SERIAL_21285_OLD 11.139 -# fi 11.140 -# bool ' Console on DC21285 serial port' CONFIG_SERIAL_21285_CONSOLE 11.141 -# fi 11.142 -# if [ "$CONFIG_MIPS" = "y" ]; then 11.143 -# bool ' TMPTX3912/PR31700 serial port support' CONFIG_SERIAL_TX3912 11.144 -# dep_bool ' Console on TMPTX3912/PR31700 serial port' CONFIG_SERIAL_TX3912_CONSOLE $CONFIG_SERIAL_TX3912 11.145 -# bool ' Enable Au1000 UART Support' CONFIG_AU1000_UART 11.146 -# if [ "$CONFIG_AU1000_UART" = "y" ]; then 11.147 -# bool ' Enable Au1000 serial console' CONFIG_AU1000_SERIAL_CONSOLE 11.148 -# fi 11.149 -# fi 11.150 -# if [ "$CONFIG_PARISC" = "y" ]; then 11.151 -# bool ' PDC software console support' CONFIG_PDC_CONSOLE 11.152 -# fi 11.153 -#fi 11.154 -#if [ "$CONFIG_MIPS_ITE8172" = "y" ]; then 11.155 -# bool 'Enable Qtronix 990P Keyboard Support' CONFIG_QTRONIX_KEYBOARD 11.156 -# if [ "$CONFIG_QTRONIX_KEYBOARD" = "y" ]; then 11.157 -# define_bool CONFIG_IT8172_CIR y 11.158 -# else 11.159 -# bool ' Enable PS2 Keyboard Support' CONFIG_PC_KEYB 11.160 -# fi 11.161 -# bool 'Enable Smart Card Reader 0 Support ' CONFIG_IT8172_SCR0 11.162 -# bool 'Enable Smart Card Reader 1 Support ' CONFIG_IT8172_SCR1 11.163 -#fi 11.164 -#if [ "$CONFIG_MIPS_IVR" = "y" ]; then 11.165 -# bool 'Enable Qtronix 990P Keyboard Support' CONFIG_QTRONIX_KEYBOARD 11.166 -# if [ "$CONFIG_QTRONIX_KEYBOARD" = "y" ]; then 11.167 -# define_bool CONFIG_IT8172_CIR y 11.168 -# fi 11.169 -# bool 'Enable Smart Card Reader 0 Support ' CONFIG_IT8172_SCR0 11.170 -#fi 11.171 -##PTYS WERE HERE 11.172 -#if [ "$CONFIG_PARPORT" != "n" ]; then 11.173 -# dep_tristate 'Parallel printer support' CONFIG_PRINTER $CONFIG_PARPORT 11.174 -# if [ "$CONFIG_PRINTER" != "n" ]; then 11.175 -# bool ' Support for console on line printer' CONFIG_LP_CONSOLE 11.176 -# fi 11.177 -# dep_tristate 'Support for user-space parallel port device drivers' CONFIG_PPDEV $CONFIG_PARPORT 11.178 -# dep_tristate 'Texas Instruments parallel link cable support' CONFIG_TIPAR $CONFIG_PARPORT 11.179 -#fi 11.180 -# 11.181 -#if [ "$CONFIG_PPC64" ] ; then 11.182 -# bool 'pSeries Hypervisor Virtual Console support' CONFIG_HVC_CONSOLE 11.183 -#fi 11.184 -# 11.185 -#source drivers/i2c/Config.in 11.186 -# 11.187 -#mainmenu_option next_comment 11.188 -#comment 'Mice' 11.189 -#tristate 'Bus Mouse Support' CONFIG_BUSMOUSE 11.190 -#if [ "$CONFIG_BUSMOUSE" != "n" ]; then 11.191 -# dep_tristate ' ATIXL busmouse support' CONFIG_ATIXL_BUSMOUSE $CONFIG_BUSMOUSE 11.192 -# dep_tristate ' Logitech busmouse support' CONFIG_LOGIBUSMOUSE $CONFIG_BUSMOUSE 11.193 -# dep_tristate ' Microsoft busmouse support' CONFIG_MS_BUSMOUSE $CONFIG_BUSMOUSE 11.194 -# if [ "$CONFIG_ADB" = "y" -a "$CONFIG_ADB_KEYBOARD" = "y" ]; then 11.195 -# dep_tristate ' Apple Desktop Bus mouse support (old driver)' CONFIG_ADBMOUSE $CONFIG_BUSMOUSE 11.196 -# fi 11.197 -#fi 11.198 -# 11.199 -#tristate 'Mouse Support (not serial and bus mice)' CONFIG_MOUSE 11.200 -#if [ "$CONFIG_MOUSE" != "n" ]; then 11.201 -# bool ' PS/2 mouse (aka "auxiliary device") support' CONFIG_PSMOUSE 11.202 -# tristate ' C&T 82C710 mouse port support (as on TI Travelmate)' CONFIG_82C710_MOUSE 11.203 -# tristate ' PC110 digitizer pad support' CONFIG_PC110_PAD 11.204 -# tristate ' MK712 touch screen support' CONFIG_MK712_MOUSE 11.205 -#fi 11.206 -#endmenu 11.207 -# 11.208 -#source drivers/char/joystick/Config.in 11.209 -# 11.210 -#tristate 'QIC-02 tape support' CONFIG_QIC02_TAPE 11.211 -#if [ "$CONFIG_QIC02_TAPE" != "n" ]; then 11.212 -# bool ' Do you want runtime configuration for QIC-02' CONFIG_QIC02_DYNCONF 11.213 -# if [ "$CONFIG_QIC02_DYNCONF" != "y" ]; then 11.214 -# comment ' Edit configuration parameters in ./include/linux/tpqic02.h!' 11.215 -# else 11.216 -# comment ' Setting runtime QIC-02 configuration is done with qic02conf' 11.217 -# comment ' from the tpqic02-support package. It is available at' 11.218 -# comment ' metalab.unc.edu or ftp://titus.cfw.com/pub/Linux/util/' 11.219 -# fi 11.220 -#fi 11.221 -# 11.222 -#tristate 'IPMI top-level message handler' CONFIG_IPMI_HANDLER 11.223 -#dep_mbool ' Generate a panic event to all BMCs on a panic' CONFIG_IPMI_PANIC_EVENT $CONFIG_IPMI_HANDLER 11.224 -#dep_tristate ' Device interface for IPMI' CONFIG_IPMI_DEVICE_INTERFACE $CONFIG_IPMI_HANDLER 11.225 -#dep_tristate ' IPMI KCS handler' CONFIG_IPMI_KCS $CONFIG_IPMI_HANDLER 11.226 -#dep_tristate ' IPMI Watchdog Timer' CONFIG_IPMI_WATCHDOG $CONFIG_IPMI_HANDLER 11.227 -# 11.228 -#mainmenu_option next_comment 11.229 -#comment 'Watchdog Cards' 11.230 -#bool 'Watchdog Timer Support' CONFIG_WATCHDOG 11.231 -#if [ "$CONFIG_WATCHDOG" != "n" ]; then 11.232 -# bool ' Disable watchdog shutdown on close' CONFIG_WATCHDOG_NOWAYOUT 11.233 -# tristate ' Acquire SBC Watchdog Timer' CONFIG_ACQUIRE_WDT 11.234 -# tristate ' Advantech SBC Watchdog Timer' CONFIG_ADVANTECH_WDT 11.235 -# tristate ' ALi M7101 PMU Watchdog Timer' CONFIG_ALIM7101_WDT 11.236 -# tristate ' AMD "Elan" SC520 Watchdog Timer' CONFIG_SC520_WDT 11.237 -# tristate ' Berkshire Products PC Watchdog' CONFIG_PCWATCHDOG 11.238 -# if [ "$CONFIG_FOOTBRIDGE" = "y" ]; then 11.239 -# tristate ' DC21285 watchdog' CONFIG_21285_WATCHDOG 11.240 -# if [ "$CONFIG_ARCH_NETWINDER" = "y" ]; then 11.241 -# tristate ' NetWinder WB83C977 watchdog' CONFIG_977_WATCHDOG 11.242 -# fi 11.243 -# fi 11.244 -# tristate ' Eurotech CPU-1220/1410 Watchdog Timer' CONFIG_EUROTECH_WDT 11.245 -# tristate ' IB700 SBC Watchdog Timer' CONFIG_IB700_WDT 11.246 -# tristate ' ICP ELectronics Wafer 5823 Watchdog' CONFIG_WAFER_WDT 11.247 -# if [ "$CONFIG_SGI_IP22" = "y" ]; then 11.248 -# dep_tristate ' Indy/I2 Hardware Watchdog' CONFIG_INDYDOG $CONFIG_SGI_IP22 11.249 -# fi 11.250 -# tristate ' Intel i810 TCO timer / Watchdog' CONFIG_I810_TCO 11.251 -# tristate ' Mixcom Watchdog' CONFIG_MIXCOMWD 11.252 -# tristate ' SBC-60XX Watchdog Timer' CONFIG_60XX_WDT 11.253 -# dep_tristate ' SC1200 Watchdog Timer (EXPERIMENTAL)' CONFIG_SC1200_WDT $CONFIG_EXPERIMENTAL 11.254 -# tristate ' NatSemi SCx200 Watchdog' CONFIG_SCx200_WDT 11.255 -# tristate ' Software Watchdog' CONFIG_SOFT_WATCHDOG 11.256 -# tristate ' W83877F (EMACS) Watchdog Timer' CONFIG_W83877F_WDT 11.257 -# tristate ' WDT Watchdog timer' CONFIG_WDT 11.258 -# tristate ' WDT PCI Watchdog timer' CONFIG_WDTPCI 11.259 -# if [ "$CONFIG_WDT" != "n" ]; then 11.260 -# bool ' WDT501 features' CONFIG_WDT_501 11.261 -# if [ "$CONFIG_WDT_501" = "y" ]; then 11.262 -# bool ' Fan Tachometer' CONFIG_WDT_501_FAN 11.263 -# fi 11.264 -# fi 11.265 -# tristate ' ZF MachZ Watchdog' CONFIG_MACHZ_WDT 11.266 -# dep_tristate ' AMD 766/768 TCO Timer/Watchdog' CONFIG_AMD7XX_TCO $CONFIG_EXPERIMENTAL 11.267 -#fi 11.268 -#endmenu 11.269 -# 11.270 -#if [ "$CONFIG_ARCH_NETWINDER" = "y" ]; then 11.271 -# tristate 'NetWinder thermometer support' CONFIG_DS1620 11.272 -# tristate 'NetWinder Button' CONFIG_NWBUTTON 11.273 -# if [ "$CONFIG_NWBUTTON" != "n" ]; then 11.274 -# bool ' Reboot Using Button' CONFIG_NWBUTTON_REBOOT 11.275 -# fi 11.276 -# tristate 'NetWinder flash support' CONFIG_NWFLASH 11.277 -#fi 11.278 -#dep_tristate 'NatSemi SCx200 GPIO Support' CONFIG_SCx200_GPIO $CONFIG_SCx200 11.279 -# 11.280 -#if [ "$CONFIG_X86" = "y" -o "$CONFIG_X86_64" = "y" ]; then 11.281 -# dep_tristate 'AMD 768 Random Number Generator support' CONFIG_AMD_RNG $CONFIG_PCI 11.282 -#fi 11.283 -#if [ "$CONFIG_X86" = "y" -o "$CONFIG_IA64" = "y" ]; then 11.284 -# dep_tristate 'Intel i8x0 Random Number Generator support' CONFIG_INTEL_RNG $CONFIG_PCI 11.285 -#fi 11.286 -#dep_tristate 'AMD 76x native power management (Experimental)' CONFIG_AMD_PM768 $CONFIG_PCI 11.287 -#tristate '/dev/nvram support' CONFIG_NVRAM 11.288 -#tristate 'Enhanced Real Time Clock Support' CONFIG_RTC 11.289 -#if [ "$CONFIG_IA64" = "y" ]; then 11.290 -# bool 'EFI Real Time Clock Services' CONFIG_EFI_RTC 11.291 -#fi 11.292 -#if [ "$CONFIG_OBSOLETE" = "y" -a "$CONFIG_ALPHA_BOOK1" = "y" ]; then 11.293 -# bool 'Tadpole ANA H8 Support (OBSOLETE)' CONFIG_H8 11.294 -#fi 11.295 -# 11.296 -#tristate 'Double Talk PC internal speech card support' CONFIG_DTLK 11.297 -#tristate 'Siemens R3964 line discipline' CONFIG_R3964 11.298 -#tristate 'Applicom intelligent fieldbus card support' CONFIG_APPLICOM 11.299 -#if [ "$CONFIG_EXPERIMENTAL" = "y" -a "$CONFIG_X86" = "y" -a "$CONFIG_X86_64" != "y" ]; then 11.300 -# dep_tristate 'Sony Vaio Programmable I/O Control Device support (EXPERIMENTAL)' CONFIG_SONYPI $CONFIG_PCI 11.301 -#fi 11.302 -# 11.303 -#mainmenu_option next_comment 11.304 -#comment 'Ftape, the floppy tape device driver' 11.305 -#tristate 'Ftape (QIC-80/Travan) support' CONFIG_FTAPE 11.306 -#if [ "$CONFIG_FTAPE" != "n" ]; then 11.307 -# source drivers/char/ftape/Config.in 11.308 -#fi 11.309 -#endmenu 11.310 -# 11.311 -#if [ "$CONFIG_GART_IOMMU" = "y" ]; then 11.312 -# bool '/dev/agpgart (AGP Support)' CONFIG_AGP 11.313 -# define_bool CONFIG_AGP_AMD_8151 y 11.314 -#else 11.315 -# tristate '/dev/agpgart (AGP Support)' CONFIG_AGP 11.316 -#fi 11.317 -#if [ "$CONFIG_AGP" != "n" ]; then 11.318 -# bool ' Intel 440LX/BX/GX and I815/I820/I830M/I830MP/I840/I845/I850/I860 support' CONFIG_AGP_INTEL 11.319 -# bool ' Intel I810/I815/I830M (on-board) support' CONFIG_AGP_I810 11.320 -# bool ' VIA chipset support' CONFIG_AGP_VIA 11.321 -# bool ' AMD Irongate, 761, and 762 support' CONFIG_AGP_AMD 11.322 -# if [ "$CONFIG_GART_IOMMU" != "y" ]; then 11.323 -# bool ' AMD 8151 support' CONFIG_AGP_AMD_8151 11.324 -# fi 11.325 -# bool ' Generic SiS support' CONFIG_AGP_SIS 11.326 -# bool ' ALI chipset support' CONFIG_AGP_ALI 11.327 -# bool ' Serverworks LE/HE support' CONFIG_AGP_SWORKS 11.328 -# if [ "$CONFIG_IA64" = "y" ]; then 11.329 -# bool ' HP ZX1 AGP support' CONFIG_AGP_HP_ZX1 11.330 -# fi 11.331 -#fi 11.332 -# 11.333 -#bool 'Direct Rendering Manager (XFree86 DRI support)' CONFIG_DRM 11.334 -#if [ "$CONFIG_DRM" = "y" ]; then 11.335 -# bool ' Build drivers for old (XFree 4.0) DRM' CONFIG_DRM_OLD 11.336 -# if [ "$CONFIG_DRM_OLD" = "y" ]; then 11.337 -# comment 'DRM 4.0 drivers' 11.338 -# source drivers/char/drm-4.0/Config.in 11.339 -# else 11.340 -# comment 'DRM 4.1 drivers' 11.341 -# define_bool CONFIG_DRM_NEW y 11.342 -# source drivers/char/drm/Config.in 11.343 -# fi 11.344 -#fi 11.345 -# 11.346 -#if [ "$CONFIG_HOTPLUG" = "y" -a "$CONFIG_PCMCIA" != "n" ]; then 11.347 -# source drivers/char/pcmcia/Config.in 11.348 -#fi 11.349 -#if [ "$CONFIG_MIPS_AU1000" = "y" ]; then 11.350 -# tristate ' Alchemy Au1000 GPIO device support' CONFIG_AU1000_GPIO 11.351 -# tristate ' Au1000/ADS7846 touchscreen support' CONFIG_TS_AU1000_ADS7846 11.352 -#fi 11.353 -#if [ "$CONFIG_MIPS_ITE8172" = "y" ]; then 11.354 -# tristate ' ITE GPIO' CONFIG_ITE_GPIO 11.355 -#fi 11.356 -# 11.357 -#if [ "$CONFIG_X86" = "y" ]; then 11.358 -# tristate 'ACP Modem (Mwave) support' CONFIG_MWAVE 11.359 -#fi 11.360 - 11.361 - 11.362 - 11.363 - 11.364 -
12.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 12.2 +++ b/xenolinux-2.4.21-pre4-sparse/drivers/char/Makefile Tue May 06 14:54:13 2003 +0000 12.3 @@ -0,0 +1,334 @@ 12.4 +# 12.5 +# Makefile for the kernel character device drivers. 12.6 +# 12.7 +# Note! Dependencies are done automagically by 'make dep', which also 12.8 +# removes any old dependencies. DON'T put your own dependencies here 12.9 +# unless it's something special (ie not a .c file). 12.10 +# 12.11 +# Note 2! The CFLAGS definitions are now inherited from the 12.12 +# parent makes.. 12.13 +# 12.14 + 12.15 +# 12.16 +# This file contains the font map for the default (hardware) font 12.17 +# 12.18 +FONTMAPFILE = cp437.uni 12.19 + 12.20 +O_TARGET := char.o 12.21 + 12.22 +obj-y += mem.o tty_io.o n_tty.o tty_ioctl.o raw.o pty.o misc.o random.o 12.23 + 12.24 +# All of the (potential) objects that export symbols. 12.25 +# This list comes from 'grep -l EXPORT_SYMBOL *.[hc]'. 12.26 + 12.27 +export-objs := busmouse.o console.o keyboard.o sysrq.o \ 12.28 + misc.o pty.o random.o selection.o serial.o \ 12.29 + sonypi.o tty_io.o tty_ioctl.o generic_serial.o \ 12.30 + au1000_gpio.o hp_psaux.o nvram.o 12.31 + 12.32 +mod-subdirs := joystick ftape drm drm-4.0 pcmcia 12.33 + 12.34 +list-multi := 12.35 + 12.36 +KEYMAP =defkeymap.o 12.37 +KEYBD =pc_keyb.o 12.38 +CONSOLE =console.o 12.39 +SERIAL =serial.o 12.40 + 12.41 +ifeq ($(ARCH),s390) 12.42 + KEYMAP = 12.43 + KEYBD = 12.44 + CONSOLE = 12.45 + SERIAL = 12.46 +endif 12.47 + 12.48 +ifeq ($(ARCH),mips) 12.49 + ifneq ($(CONFIG_PC_KEYB),y) 12.50 + KEYBD = 12.51 + endif 12.52 +endif 12.53 + 12.54 +ifeq ($(ARCH),s390x) 12.55 + KEYMAP = 12.56 + KEYBD = 12.57 + CONSOLE = 12.58 + SERIAL = 12.59 +endif 12.60 + 12.61 +ifeq ($(ARCH),m68k) 12.62 + ifdef CONFIG_AMIGA 12.63 + KEYBD = amikeyb.o 12.64 + else 12.65 + ifndef CONFIG_MAC 12.66 + KEYBD = 12.67 + endif 12.68 + endif 12.69 + SERIAL = 12.70 +endif 12.71 + 12.72 +ifeq ($(ARCH),parisc) 12.73 + ifdef CONFIG_GSC_PS2 12.74 + KEYBD = hp_psaux.o hp_keyb.o 12.75 + else 12.76 + KEYBD = 12.77 + endif 12.78 + ifdef CONFIG_SERIAL_MUX 12.79 + CONSOLE += mux.o 12.80 + endif 12.81 + ifdef CONFIG_PDC_CONSOLE 12.82 + CONSOLE += pdc_console.o 12.83 + endif 12.84 +endif 12.85 + 12.86 +ifdef CONFIG_Q40 12.87 + KEYBD += q40_keyb.o 12.88 + SERIAL = serial.o 12.89 +endif 12.90 + 12.91 +ifdef CONFIG_APOLLO 12.92 + KEYBD += dn_keyb.o 12.93 +endif 12.94 + 12.95 +ifeq ($(ARCH),parisc) 12.96 + ifdef CONFIG_GSC_PS2 12.97 + KEYBD = hp_psaux.o hp_keyb.o 12.98 + else 12.99 + KEYBD = 12.100 + endif 12.101 + ifdef CONFIG_PDC_CONSOLE 12.102 + CONSOLE += pdc_console.o 12.103 + endif 12.104 +endif 12.105 + 12.106 +ifeq ($(ARCH),arm) 12.107 + ifneq ($(CONFIG_PC_KEYMAP),y) 12.108 + KEYMAP = 12.109 + endif 12.110 + ifneq ($(CONFIG_PC_KEYB),y) 12.111 + KEYBD = 12.112 + endif 12.113 +endif 12.114 + 12.115 +ifeq ($(ARCH),sh) 12.116 + KEYMAP = 12.117 + KEYBD = 12.118 + CONSOLE = 12.119 + ifeq ($(CONFIG_SH_HP600),y) 12.120 + KEYMAP = defkeymap.o 12.121 + KEYBD = scan_keyb.o hp600_keyb.o 12.122 + CONSOLE = console.o 12.123 + endif 12.124 + ifeq ($(CONFIG_SH_DMIDA),y) 12.125 + # DMIDA does not connect the HD64465 PS/2 keyboard port 12.126 + # but we allow for USB keyboards to be plugged in. 12.127 + KEYMAP = defkeymap.o 12.128 + KEYBD = # hd64465_keyb.o pc_keyb.o 12.129 + CONSOLE = console.o 12.130 + endif 12.131 + ifeq ($(CONFIG_SH_EC3104),y) 12.132 + KEYMAP = defkeymap.o 12.133 + KEYBD = ec3104_keyb.o 12.134 + CONSOLE = console.o 12.135 + endif 12.136 + ifeq ($(CONFIG_SH_DREAMCAST),y) 12.137 + KEYMAP = defkeymap.o 12.138 + KEYBD = 12.139 + CONSOLE = console.o 12.140 + endif 12.141 +endif 12.142 + 12.143 +ifeq ($(CONFIG_DECSTATION),y) 12.144 + KEYMAP = 12.145 + KEYBD = 12.146 + SERIAL = decserial.o 12.147 +endif 12.148 + 12.149 +ifeq ($(CONFIG_BAGET_MIPS),y) 12.150 + KEYBD = 12.151 + SERIAL = 12.152 +endif 12.153 + 12.154 +ifeq ($(CONFIG_NINO),y) 12.155 + SERIAL = 12.156 +endif 12.157 + 12.158 +ifneq ($(CONFIG_SUN_SERIAL),) 12.159 + SERIAL = 12.160 +endif 12.161 + 12.162 +ifeq ($(CONFIG_QTRONIX_KEYBOARD),y) 12.163 + KEYBD = qtronix.o 12.164 + KEYMAP = qtronixmap.o 12.165 +endif 12.166 + 12.167 +ifeq ($(CONFIG_DUMMY_KEYB),y) 12.168 + KEYBD = dummy_keyb.o 12.169 +endif 12.170 + 12.171 +obj-$(CONFIG_VT) += vt.o vc_screen.o consolemap.o consolemap_deftbl.o $(CONSOLE) selection.o 12.172 +obj-$(CONFIG_SERIAL) += $(SERIAL) 12.173 +obj-$(CONFIG_SERIAL_HCDP) += hcdp_serial.o 12.174 +obj-$(CONFIG_SERIAL_21285) += serial_21285.o 12.175 +obj-$(CONFIG_SERIAL_SA1100) += serial_sa1100.o 12.176 +obj-$(CONFIG_SERIAL_AMBA) += serial_amba.o 12.177 +obj-$(CONFIG_TS_AU1000_ADS7846) += au1000_ts.o 12.178 + 12.179 +obj-$(CONFIG_DUMMY_CONSOLE) += dummy_console.o 12.180 + 12.181 +ifndef CONFIG_SUN_KEYBOARD 12.182 + obj-$(CONFIG_VT) += keyboard.o $(KEYMAP) $(KEYBD) 12.183 +else 12.184 + obj-$(CONFIG_PCI) += keyboard.o $(KEYMAP) 12.185 +endif 12.186 + 12.187 +obj-$(CONFIG_HIL) += hp_keyb.o 12.188 +obj-$(CONFIG_MAGIC_SYSRQ) += sysrq.o 12.189 +obj-$(CONFIG_ATARI_DSP56K) += dsp56k.o 12.190 +obj-$(CONFIG_ROCKETPORT) += rocket.o 12.191 +obj-$(CONFIG_MOXA_SMARTIO) += mxser.o 12.192 +obj-$(CONFIG_MOXA_INTELLIO) += moxa.o 12.193 +obj-$(CONFIG_DIGI) += pcxx.o 12.194 +obj-$(CONFIG_DIGIEPCA) += epca.o 12.195 +obj-$(CONFIG_CYCLADES) += cyclades.o 12.196 +obj-$(CONFIG_STALLION) += stallion.o 12.197 +obj-$(CONFIG_ISTALLION) += istallion.o 12.198 +obj-$(CONFIG_SIBYTE_SB1250_DUART) += sb1250_duart.o 12.199 +obj-$(CONFIG_COMPUTONE) += ip2.o ip2main.o 12.200 +obj-$(CONFIG_RISCOM8) += riscom8.o 12.201 +obj-$(CONFIG_ISI) += isicom.o 12.202 +obj-$(CONFIG_ESPSERIAL) += esp.o 12.203 +obj-$(CONFIG_SYNCLINK) += synclink.o 12.204 +obj-$(CONFIG_SYNCLINKMP) += synclinkmp.o 12.205 +obj-$(CONFIG_N_HDLC) += n_hdlc.o 12.206 +obj-$(CONFIG_SPECIALIX) += specialix.o 12.207 +obj-$(CONFIG_AMIGA_BUILTIN_SERIAL) += amiserial.o 12.208 +obj-$(CONFIG_A2232) += ser_a2232.o generic_serial.o 12.209 +obj-$(CONFIG_SX) += sx.o generic_serial.o 12.210 +obj-$(CONFIG_RIO) += rio/rio.o generic_serial.o 12.211 +obj-$(CONFIG_SH_SCI) += sh-sci.o generic_serial.o 12.212 +obj-$(CONFIG_SERIAL167) += serial167.o 12.213 +obj-$(CONFIG_MVME147_SCC) += generic_serial.o vme_scc.o 12.214 +obj-$(CONFIG_MVME162_SCC) += generic_serial.o vme_scc.o 12.215 +obj-$(CONFIG_BVME6000_SCC) += generic_serial.o vme_scc.o 12.216 +obj-$(CONFIG_HVC_CONSOLE) += hvc_console.o 12.217 +obj-$(CONFIG_SERIAL_TX3912) += generic_serial.o serial_tx3912.o 12.218 +obj-$(CONFIG_TXX927_SERIAL) += serial_txx927.o 12.219 + 12.220 +subdir-$(CONFIG_RIO) += rio 12.221 +subdir-$(CONFIG_INPUT) += joystick 12.222 + 12.223 +obj-$(CONFIG_ATIXL_BUSMOUSE) += atixlmouse.o 12.224 +obj-$(CONFIG_LOGIBUSMOUSE) += logibusmouse.o 12.225 +obj-$(CONFIG_PRINTER) += lp.o 12.226 +obj-$(CONFIG_TIPAR) += tipar.o 12.227 + 12.228 +ifeq ($(CONFIG_INPUT),y) 12.229 +obj-y += joystick/js.o 12.230 +endif 12.231 + 12.232 +obj-$(CONFIG_BUSMOUSE) += busmouse.o 12.233 +obj-$(CONFIG_DTLK) += dtlk.o 12.234 +obj-$(CONFIG_R3964) += n_r3964.o 12.235 +obj-$(CONFIG_APPLICOM) += applicom.o 12.236 +obj-$(CONFIG_SONYPI) += sonypi.o 12.237 +obj-$(CONFIG_MS_BUSMOUSE) += msbusmouse.o 12.238 +obj-$(CONFIG_82C710_MOUSE) += qpmouse.o 12.239 +obj-$(CONFIG_AMIGAMOUSE) += amigamouse.o 12.240 +obj-$(CONFIG_ATARIMOUSE) += atarimouse.o 12.241 +obj-$(CONFIG_ADBMOUSE) += adbmouse.o 12.242 +obj-$(CONFIG_PC110_PAD) += pc110pad.o 12.243 +obj-$(CONFIG_MK712_MOUSE) += mk712.o 12.244 +obj-$(CONFIG_RTC) += rtc.o 12.245 +obj-$(CONFIG_EFI_RTC) += efirtc.o 12.246 +ifeq ($(CONFIG_PPC),) 12.247 + obj-$(CONFIG_NVRAM) += nvram.o 12.248 +endif 12.249 +obj-$(CONFIG_TOSHIBA) += toshiba.o 12.250 +obj-$(CONFIG_I8K) += i8k.o 12.251 +obj-$(CONFIG_DS1620) += ds1620.o 12.252 +obj-$(CONFIG_INTEL_RNG) += i810_rng.o 12.253 +obj-$(CONFIG_AMD_RNG) += amd768_rng.o 12.254 +obj-$(CONFIG_AMD_PM768) += amd76x_pm.o 12.255 + 12.256 +obj-$(CONFIG_ITE_GPIO) += ite_gpio.o 12.257 +obj-$(CONFIG_AU1000_GPIO) += au1000_gpio.o 12.258 +obj-$(CONFIG_COBALT_LCD) += lcd.o 12.259 + 12.260 +obj-$(CONFIG_QIC02_TAPE) += tpqic02.o 12.261 + 12.262 +subdir-$(CONFIG_FTAPE) += ftape 12.263 +subdir-$(CONFIG_DRM_OLD) += drm-4.0 12.264 +subdir-$(CONFIG_DRM_NEW) += drm 12.265 +subdir-$(CONFIG_PCMCIA) += pcmcia 12.266 +subdir-$(CONFIG_AGP) += agp 12.267 + 12.268 +ifeq ($(CONFIG_FTAPE),y) 12.269 +obj-y += ftape/ftape.o 12.270 +endif 12.271 + 12.272 +obj-$(CONFIG_H8) += h8.o 12.273 +obj-$(CONFIG_PPDEV) += ppdev.o 12.274 +obj-$(CONFIG_DZ) += dz.o 12.275 +obj-$(CONFIG_NWBUTTON) += nwbutton.o 12.276 +obj-$(CONFIG_NWFLASH) += nwflash.o 12.277 +obj-$(CONFIG_SCx200_GPIO) += scx200_gpio.o scx200.o 12.278 + 12.279 +# Only one watchdog can succeed. We probe the hardware watchdog 12.280 +# drivers first, then the softdog driver. This means if your hardware 12.281 +# watchdog dies or is 'borrowed' for some reason the software watchdog 12.282 +# still gives you some cover. 12.283 + 12.284 +obj-$(CONFIG_PCWATCHDOG) += pcwd.o 12.285 +obj-$(CONFIG_ACQUIRE_WDT) += acquirewdt.o 12.286 +obj-$(CONFIG_ADVANTECH_WDT) += advantechwdt.o 12.287 +obj-$(CONFIG_IB700_WDT) += ib700wdt.o 12.288 +obj-$(CONFIG_MIXCOMWD) += mixcomwd.o 12.289 +obj-$(CONFIG_60XX_WDT) += sbc60xxwdt.o 12.290 +obj-$(CONFIG_W83877F_WDT) += w83877f_wdt.o 12.291 +obj-$(CONFIG_SC520_WDT) += sc520_wdt.o 12.292 +obj-$(CONFIG_WDT) += wdt.o 12.293 +obj-$(CONFIG_WDTPCI) += wdt_pci.o 12.294 +obj-$(CONFIG_21285_WATCHDOG) += wdt285.o 12.295 +obj-$(CONFIG_977_WATCHDOG) += wdt977.o 12.296 +obj-$(CONFIG_I810_TCO) += i810-tco.o 12.297 +obj-$(CONFIG_MACHZ_WDT) += machzwd.o 12.298 +obj-$(CONFIG_SH_WDT) += shwdt.o 12.299 +obj-$(CONFIG_EUROTECH_WDT) += eurotechwdt.o 12.300 +obj-$(CONFIG_ALIM7101_WDT) += alim7101_wdt.o 12.301 +#obj-$(CONFIG_ALIM1535_WDT) += alim1535d_wdt.o 12.302 +obj-$(CONFIG_INDYDOG) += indydog.o 12.303 +obj-$(CONFIG_SC1200_WDT) += sc1200wdt.o 12.304 +obj-$(CONFIG_SCx200_WDT) += scx200_wdt.o 12.305 +obj-$(CONFIG_WAFER_WDT) += wafer5823wdt.o 12.306 +obj-$(CONFIG_SOFT_WATCHDOG) += softdog.o 12.307 +obj-$(CONFIG_AMD7XX_TCO) += amd7xx_tco.o 12.308 + 12.309 +subdir-$(CONFIG_MWAVE) += mwave 12.310 +ifeq ($(CONFIG_MWAVE),y) 12.311 + obj-y += mwave/mwave.o 12.312 +endif 12.313 + 12.314 +subdir-$(CONFIG_IPMI_HANDLER) += ipmi 12.315 +ifeq ($(CONFIG_IPMI_HANDLER),y) 12.316 + obj-y += ipmi/ipmi.o 12.317 +endif 12.318 + 12.319 +include $(TOPDIR)/Rules.make 12.320 + 12.321 +fastdep: 12.322 + 12.323 +conmakehash: conmakehash.c 12.324 + $(HOSTCC) $(HOSTCFLAGS) -o conmakehash conmakehash.c 12.325 + 12.326 +consolemap_deftbl.c: $(FONTMAPFILE) conmakehash 12.327 + ./conmakehash $(FONTMAPFILE) > consolemap_deftbl.c 12.328 + 12.329 +consolemap_deftbl.o: consolemap_deftbl.c $(TOPDIR)/include/linux/types.h 12.330 + 12.331 +.DELETE_ON_ERROR: 12.332 + 12.333 +defkeymap.c: defkeymap.map 12.334 + set -e ; loadkeys --mktable $< | sed -e 's/^static *//' > $@ 12.335 + 12.336 +qtronixmap.c: qtronixmap.map 12.337 + set -e ; loadkeys --mktable $< | sed -e 's/^static *//' > $@
13.1 --- a/xenolinux-2.4.21-pre4-sparse/include/asm-xeno/hypervisor.h Tue May 06 10:05:18 2003 +0000 13.2 +++ b/xenolinux-2.4.21-pre4-sparse/include/asm-xeno/hypervisor.h Tue May 06 14:54:13 2003 +0000 13.3 @@ -364,13 +364,14 @@ static inline long HYPERVISOR_kbd_op(uns 13.4 return ret; 13.5 } 13.6 13.7 -static inline long HYPERVISOR_iopl(unsigned int new_iopl) 13.8 +static inline long HYPERVISOR_set_priv_levels(unsigned int new_io_pl, 13.9 + unsigned int new_hypercall_pl) 13.10 { 13.11 int ret; 13.12 __asm__ __volatile__ ( 13.13 TRAP_INSTR 13.14 - : "=a" (ret) : "0" (__HYPERVISOR_iopl), 13.15 - "b" (new_iopl) ); 13.16 + : "=a" (ret) : "0" (__HYPERVISOR_set_priv_levels), 13.17 + "b" (new_io_pl), "c" (new_hypercall_pl) ); 13.18 13.19 return ret; 13.20 }
14.1 --- a/xenolinux-2.4.21-pre4-sparse/include/asm-xeno/processor.h Tue May 06 10:05:18 2003 +0000 14.2 +++ b/xenolinux-2.4.21-pre4-sparse/include/asm-xeno/processor.h Tue May 06 14:54:13 2003 +0000 14.3 @@ -356,6 +356,7 @@ struct thread_struct { 14.4 unsigned long esp; 14.5 unsigned long fs; 14.6 unsigned long gs; 14.7 + unsigned int hypercall_pl; 14.8 /* Hardware debugging registers */ 14.9 unsigned long debugreg[8]; /* %%db0-7 debug registers */ 14.10 /* fault info */ 14.11 @@ -368,7 +369,7 @@ struct thread_struct { 14.12 unsigned long v86flags, v86mask, saved_esp0; 14.13 }; 14.14 14.15 -#define INIT_THREAD { 0 } 14.16 +#define INIT_THREAD { 0, 0, 0, 0, 0, 1, {0}, 0, 0, 0, {0}, 0, 0, 0, 0, 0 } 14.17 14.18 #define INIT_TSS { \ 14.19 0,0, /* back_link, __blh */ \