ia64/xen-unstable

changeset 389:f03519d93921

bitkeeper revision 1.184.1.2 (3ead0965iYbymgGkCE1KCBfvp5wivQ)

Merge cairnwell.research:/home/jws/projects/xen/xeno.bk
into cairnwell.research:/home/jws/projects/xen/console/xeno.bk
author jws@cairnwell.research
date Mon Apr 28 10:58:45 2003 +0000 (2003-04-28)
parents 49c0cdb50376 0f63b09d26fc
children 87ad003d8f24 352d467b7f51
files .rootkeys xen/arch/i386/entry.S xen/drivers/char/xen_kbd.c xen/include/hypervisor-ifs/hypervisor-if.h xen/include/hypervisor-ifs/kbd.h xenolinux-2.4.21-pre4-sparse/arch/xeno/config.in xenolinux-2.4.21-pre4-sparse/arch/xeno/defconfig 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/drivers/char/dummy_console.c xenolinux-2.4.21-pre4-sparse/drivers/char/tty_io.c xenolinux-2.4.21-pre4-sparse/include/asm-xeno/hypervisor.h xenolinux-2.4.21-pre4-sparse/include/asm-xeno/keyboard.h xenolinux-2.4.21-pre4-sparse/mkbuildtree
line diff
     1.1 --- a/.rootkeys	Wed Apr 23 15:21:36 2003 +0000
     1.2 +++ b/.rootkeys	Mon Apr 28 10:58:45 2003 +0000
     1.3 @@ -261,6 +261,7 @@ 3ddb79c3M2n1ROZH6xk3HbyN4CPDqg xen/inclu
     1.4  3ddb79c3uPGcP_l_2xyGgBSWd5aC-Q xen/include/asm-i386/unaligned.h
     1.5  3ddb79c2YTaZwOqWin9-QNgHge5RVw xen/include/hypervisor-ifs/block.h
     1.6  3ddb79c25UE59iu4JJcbRalx95mvcg xen/include/hypervisor-ifs/hypervisor-if.h
     1.7 +3ead095dE_VF-QA88rl_5cWYRWtRVQ xen/include/hypervisor-ifs/kbd.h
     1.8  3ddb79c2oRPrzClk3zbTkRHlpumzKA xen/include/hypervisor-ifs/network.h
     1.9  3ddb79c4qbCoOFHrv9sCGshbWzBVlQ xen/include/scsi/scsi.h
    1.10  3ddb79c4R4iVwqIIeychVQYmIH4FUg xen/include/scsi/scsi_ioctl.h
    1.11 @@ -398,6 +399,9 @@ 3e5a4e66U45cAIoHmxg0y1e1XhzVCA xenolinux
    1.12  3e5a4e66qRlSTcjafidMB6ulECADvg xenolinux-2.4.21-pre4-sparse/arch/xeno/vmlinux.lds
    1.13  3e5a4e668yELUdtr3HiJZBIqxqUyuA xenolinux-2.4.21-pre4-sparse/drivers/block/Config.in
    1.14  3e5a4e66mrtlmV75L1tjKDg8RaM5gA xenolinux-2.4.21-pre4-sparse/drivers/block/ll_rw_blk.c
    1.15 +3ead095dEkj9JJWYYBnbvW3OYbKFxg xenolinux-2.4.21-pre4-sparse/drivers/char/Config.in
    1.16 +3ead095d00j61GCBaYdu_SwmY-vdSQ xenolinux-2.4.21-pre4-sparse/drivers/char/Makefile
    1.17 +3ead095dPseRoFELVf_xcnVXjq02hw xenolinux-2.4.21-pre4-sparse/drivers/char/dummy_console.c
    1.18  3e5a4e66rw65CxyolW9PKz4GG42RcA xenolinux-2.4.21-pre4-sparse/drivers/char/tty_io.c
    1.19  3e5a4e669uzIE54VwucPYtGwXLAbzA xenolinux-2.4.21-pre4-sparse/fs/exec.c
    1.20  3e5a4e66wbeCpsJgVf_U8Jde-CNcsA xenolinux-2.4.21-pre4-sparse/include/asm-xeno/bugs.h
    1.21 @@ -408,6 +412,7 @@ 3e5a4e67YtcyDLQsShhCfQwPSELfvA xenolinux
    1.22  3e5a4e677VBavzM1UZIEcH1B-RlXMA xenolinux-2.4.21-pre4-sparse/include/asm-xeno/hypervisor.h
    1.23  3e5a4e67Ulv-Ll8Zp4j2GwMwQ8aAXQ xenolinux-2.4.21-pre4-sparse/include/asm-xeno/io.h
    1.24  3e5a4e673p7PEOyHFm3nHkYX6HQYBg xenolinux-2.4.21-pre4-sparse/include/asm-xeno/irq.h
    1.25 +3ead095db_LRUXnxaqs0dA1DWhPoQQ xenolinux-2.4.21-pre4-sparse/include/asm-xeno/keyboard.h
    1.26  3e5a4e67zoNch27qYhEBpr2k6SABOg xenolinux-2.4.21-pre4-sparse/include/asm-xeno/mmu.h
    1.27  3e5a4e678ddsQOpbSiRdy1GRcDc9WA xenolinux-2.4.21-pre4-sparse/include/asm-xeno/mmu_context.h
    1.28  3e7270deQqtGPSnFxcW4AvJZuTUWfg xenolinux-2.4.21-pre4-sparse/include/asm-xeno/multicall.h
     2.1 --- a/xen/arch/i386/entry.S	Wed Apr 23 15:21:36 2003 +0000
     2.2 +++ b/xen/arch/i386/entry.S	Mon Apr 28 10:58:45 2003 +0000
     2.3 @@ -646,6 +646,7 @@ ENTRY(hypervisor_call_table)
     2.4          .long SYMBOL_NAME(do_set_fast_trap)
     2.5          .long SYMBOL_NAME(do_dom_mem_op)
     2.6          .long SYMBOL_NAME(do_multicall)
     2.7 +        .long SYMBOL_NAME(do_kbd_op)
     2.8          .rept NR_syscalls-((.-hypervisor_call_table)/4)
     2.9          .long SYMBOL_NAME(sys_ni_syscall)
    2.10  	.endr
     3.1 --- a/xen/drivers/char/xen_kbd.c	Wed Apr 23 15:21:36 2003 +0000
     3.2 +++ b/xen/drivers/char/xen_kbd.c	Mon Apr 28 10:58:45 2003 +0000
     3.3 @@ -2,8 +2,10 @@
     3.4  #include <asm-i386/irq.h>
     3.5  #include <xeno/sched.h>    /* this has request_irq() proto for some reason */
     3.6  #include <xeno/keyhandler.h>  
     3.7 +#include <hypervisor-ifs/kbd.h>
     3.8 +#include <xeno/event.h>
     3.9  
    3.10 -#define KEYBOARD_IRQ 1
    3.11 +/* Hash-defines torn from <linux/pc_keyb.h> and <asm/keyboard.h> */
    3.12  
    3.13  #define KBD_STATUS_REG	     0x64 /* Status register (R) */
    3.14  #define KBD_CNTL_REG	     0x64 /* Controller command register (W) */
    3.15 @@ -23,27 +25,30 @@
    3.16  #define kbd_read_input() inb(KBD_DATA_REG)
    3.17  #define kbd_read_status() inb(KBD_STATUS_REG)
    3.18  
    3.19 +#define KEYBOARD_IRQ 1
    3.20 +#define kbd_write_output(val) outb(val, KBD_DATA_REG)
    3.21 +#define kbd_write_command(val) outb(val, KBD_CNTL_REG)
    3.22  
    3.23 -static int keyboard_shift = 0;
    3.24 -static int keyboard_control = 0;
    3.25 -static int keyboard_echo = 0;
    3.26 +#define AUX_IRQ 12
    3.27  
    3.28 -/* the following is pretty gross... 
    3.29 - * stop reading if you don't want to throw up!
    3.30 - */
    3.31 +
    3.32 +/* THIS SECTION DEALS WITH CONFIG_XEN_ATTENTION_KEY */
    3.33 +
    3.34 +// always set for now.  potentially moved to config.in later.
    3.35 +#define CONFIG_XEN_ATTENTION_KEY
    3.36 +
    3.37 +#ifdef CONFIG_XEN_ATTENTION_KEY
    3.38 +
    3.39 +static int xen_attention_key_down = 0;
    3.40 +#define XEN_ATTENTION_KEY 0x46 // scroll lock
    3.41 +#define KBD_SCANCODE_KEYUP_MASK 0x80
    3.42 +
    3.43 +#undef KBD_DEBUG
    3.44 +
    3.45 +/* naive scancode -> key mappings for internal xen use */
    3.46  
    3.47  static unsigned char keymap_normal[] =
    3.48  {
    3.49 -   0 , 0 , 0 , 0 ,  0 , 0 , 0 , 0 ,     0 , 0 , 0 , 0 ,  0 , 0 , 0 , 0 ,
    3.50 -   0 , 0 , 0 , 0 ,  0 , 0 , 0 , 0 ,     0 , 0 , 0 , 0 ,  0 , 0 , 0 , 0 ,
    3.51 -   0 , 0 , 0 , 0 ,  0 , 0 , 0 , 0 ,     0 , 0 , 0 , 0 ,  0 , 0 , 0 , 0 ,
    3.52 -   0 , 0 , 0 , 0 ,  0 , 0 , 0 , 0 ,     0 , 0 , 0 , 0 ,  0 , 0 , 0 , 0 ,
    3.53 -
    3.54 -   0 , 0 , 0 , 0 ,  0 , 0 , 0 , 0 ,     0 , 0 , 0 , 0 ,  0 , 0 , 0 , 0 ,
    3.55 -   0 , 0 , 0 , 0 ,  0 , 0 , 0 , 0 ,     0 , 0 , 0 , 0 ,  0 , 0 , 0 , 0 ,
    3.56 -   0 , 0 , 0 , 0 ,  0 , 0 , 0 , 0 ,     0 , 0 , 0 , 0 ,  0 , 0 , 0 , 0 ,
    3.57 -   0 , 0 , 0 , 0 ,  0 , 0 , 0 , 0 ,     0 , 0 , 0 , 0 ,  0 , 0 , 0 , 0 ,
    3.58 -
    3.59     0 , 0 ,'1','2', '3','4','5','6',    '7','8','9','0', '-','=','\b','\t',
    3.60    'q','w','e','r', 't','y','u','i',    'o','p','[',']','\r', 0 ,'a','s',
    3.61    'd','f','g','h', 'j','k','l',';',   '\'','`', 0 ,'#', 'z','x','c','v',
    3.62 @@ -57,16 +62,6 @@ static unsigned char keymap_normal[] =
    3.63  
    3.64  static unsigned char keymap_shift[] =
    3.65  {
    3.66 -   0 , 0 , 0 , 0 ,  0 , 0 , 0 , 0 ,     0 , 0 , 0 , 0 ,  0 , 0 , 0 , 0 ,
    3.67 -   0 , 0 , 0 , 0 ,  0 , 0 , 0 , 0 ,     0 , 0 , 0 , 0 ,  0 , 0 , 0 , 0 ,
    3.68 -   0 , 0 , 0 , 0 ,  0 , 0 , 0 , 0 ,     0 , 0 , 0 , 0 ,  0 , 0 , 0 , 0 ,
    3.69 -   0 , 0 , 0 , 0 ,  0 , 0 , 0 , 0 ,     0 , 0 , 0 , 0 ,  0 , 0 , 0 , 0 ,
    3.70 -
    3.71 -   0 , 0 , 0 , 0 ,  0 , 0 , 0 , 0 ,     0 , 0 , 0 , 0 ,  0 , 0 , 0 , 0 ,
    3.72 -   0 , 0 , 0 , 0 ,  0 , 0 , 0 , 0 ,     0 , 0 , 0 , 0 ,  0 , 0 , 0 , 0 ,
    3.73 -   0 , 0 , 0 , 0 ,  0 , 0 , 0 , 0 ,     0 , 0 , 0 , 0 ,  0 , 0 , 0 , 0 ,
    3.74 -   0 , 0 , 0 , 0 ,  0 , 0 , 0 , 0 ,     0 , 0 , 0 , 0 ,  0 , 0 , 0 , 0 ,
    3.75 -
    3.76     0 , 0 ,'!','"', '#','$','%','^',    '&','*','(',')', '_','+','\b','\t',
    3.77    'Q','W','E','R', 'T','Y','U','I',    'O','P','{','}','\r', 0 ,'A','S',
    3.78    'D','F','G','H', 'J','K','L',':',    '@', 0 , 0 ,'~', 'Z','X','C','V',
    3.79 @@ -81,16 +76,6 @@ static unsigned char keymap_shift[] =
    3.80  
    3.81  static unsigned char keymap_control[] =
    3.82  { /* same as normal, except for a-z -> 1 to 26 */
    3.83 -   0 , 0 , 0 , 0 ,  0 , 0 , 0 , 0 ,     0 , 0 , 0 , 0 ,  0 , 0 , 0 , 0 ,
    3.84 -   0 , 0 , 0 , 0 ,  0 , 0 , 0 , 0 ,     0 , 0 , 0 , 0 ,  0 , 0 , 0 , 0 ,
    3.85 -   0 , 0 , 0 , 0 ,  0 , 0 , 0 , 0 ,     0 , 0 , 0 , 0 ,  0 , 0 , 0 , 0 ,
    3.86 -   0 , 0 , 0 , 0 ,  0 , 0 , 0 , 0 ,     0 , 0 , 0 , 0 ,  0 , 0 , 0 , 0 ,
    3.87 -
    3.88 -   0 , 0 , 0 , 0 ,  0 , 0 , 0 , 0 ,     0 , 0 , 0 , 0 ,  0 , 0 , 0 , 0 ,
    3.89 -   0 , 0 , 0 , 0 ,  0 , 0 , 0 , 0 ,     0 , 0 , 0 , 0 ,  0 , 0 , 0 , 0 ,
    3.90 -   0 , 0 , 0 , 0 ,  0 , 0 , 0 , 0 ,     0 , 0 , 0 , 0 ,  0 , 0 , 0 , 0 ,
    3.91 -   0 , 0 , 0 , 0 ,  0 , 0 , 0 , 0 ,     0 , 0 , 0 , 0 ,  0 , 0 , 0 , 0 ,
    3.92 -
    3.93     0 , 0 ,'1','2', '3','4','5','6',    '7','8','9','0', '-','=','\b','\t',
    3.94     17, 23, 5 , 18,  20, 25, 21, 9 ,     15, 16,'[',']','\r', 0 , 1 , 19,
    3.95     4 , 6 , 7 , 8 ,  10, 11, 12,';',   '\'','`', 0 ,'#', 26, 24, 3 , 22,
    3.96 @@ -103,6 +88,10 @@ static unsigned char keymap_control[] =
    3.97  };
    3.98  
    3.99  
   3.100 +static int keyboard_shift = 0;
   3.101 +static int keyboard_control = 0;
   3.102 +static int keyboard_echo = 0;
   3.103 +
   3.104  static unsigned char convert_scancode (unsigned char scancode)
   3.105  {
   3.106      unsigned char value = 0;
   3.107 @@ -134,6 +123,10 @@ static unsigned char convert_scancode (u
   3.108  	break;
   3.109  
   3.110      default:   /* normal keys */
   3.111 +        // dont process key-down events
   3.112 +        if(!(scancode & KBD_SCANCODE_KEYUP_MASK)) break; 
   3.113 +
   3.114 +	scancode = scancode & (~KBD_SCANCODE_KEYUP_MASK); 
   3.115  	if (keyboard_control)
   3.116  	    value = keymap_control[scancode];
   3.117  	else if (keyboard_shift)
   3.118 @@ -148,45 +141,151 @@ static unsigned char convert_scancode (u
   3.119      return value;
   3.120  }
   3.121  
   3.122 +#endif /* CONFIG_XEN_ATTENTION_KEY */
   3.123 +
   3.124 +
   3.125 +/* THIS SECTION DEALS WITH STORING A RING OF PENDING EVENTS */
   3.126 +
   3.127 +// store kbd events waiting to be processed by guest os
   3.128 +#define KBD_RING_SIZE        64 
   3.129 +static int kbd_ring[KBD_RING_SIZE]; 
   3.130 +static int kbd_ring_prod = 0;
   3.131 +static int kbd_ring_cons = 0;
   3.132 +
   3.133 +#define KBD_RING_INC(_i)     (((_i)+1) & (KBD_RING_SIZE-1))
   3.134 +#define KBD_RING_FULL (KBD_RING_INC(kbd_ring_prod)  == kbd_ring_cons)
   3.135 +#define KBD_RING_EMPTY (kbd_ring_prod == kbd_ring_cons)
   3.136 +
   3.137 +// these assume locking has already been taken care of
   3.138 +static void kbd_ring_push(unsigned char status, unsigned char scancode) {
   3.139 +  if(KBD_RING_FULL) return;
   3.140 +  kbd_ring[kbd_ring_prod] = KBD_CODE(scancode, status);
   3.141 +  kbd_ring_prod = KBD_RING_INC(kbd_ring_prod);
   3.142 +}
   3.143 +
   3.144 +static int kbd_ring_pop() {
   3.145 +  int ret;
   3.146 +  if(KBD_RING_EMPTY) {
   3.147 +    // read directly from controller - no events waiting in ring
   3.148 +    unsigned char status = kbd_read_status();
   3.149 +    unsigned char scancode = kbd_read_input(); 
   3.150 +    return KBD_CODE(scancode, status);
   3.151 +  }
   3.152 +  ret = kbd_ring[kbd_ring_cons];
   3.153 +  kbd_ring_cons = KBD_RING_INC(kbd_ring_cons);
   3.154 +  return ret;
   3.155 +}
   3.156 +
   3.157 +
   3.158 +/* THIS SECTION DEALS WITH COMMUNICATING PS2 EVENTS/CMDS WITH GUEST OS */
   3.159 +
   3.160 +// ownership of keyboard - current defaulting to dom0
   3.161 +#define KBD_ISOWNER(p) (p->domain == 0) 
   3.162 +#define KBD_OWNER find_domain_by_id(0) 
   3.163 +
   3.164 +// need lock as there may be _two_ interrupts at play, keyboard and mouse, as well as guest os actions
   3.165 +static spinlock_t kbd_lock;
   3.166 +
   3.167 +
   3.168 +long do_kbd_op(unsigned char op, unsigned char val)
   3.169 +{
   3.170 +  // check for domain 0
   3.171 +#ifdef KBD_DEBUG
   3.172 +  printk("do_kbd_op: op %2x, val %2x, prod %d, cons %d\n", op, val, kbd_ring_prod, kbd_ring_cons); 
   3.173 +#endif
   3.174 +
   3.175 +  if ( !KBD_ISOWNER(current) ) return -EPERM;  
   3.176 +
   3.177 +  switch(op) {
   3.178 +  case KBD_OP_WRITEOUTPUT:
   3.179 +    kbd_write_output(val);
   3.180 +    return 0L;
   3.181 +  case KBD_OP_WRITECOMMAND:
   3.182 +    kbd_write_command(val);
   3.183 +    return 0L;
   3.184 +  case KBD_OP_READ: {
   3.185 +    unsigned long flags;
   3.186 +    unsigned long ret;
   3.187 +    spin_lock_irqsave(&kbd_lock, flags);
   3.188 +    ret = kbd_ring_pop();
   3.189 +    spin_unlock_irqrestore(&kbd_lock, flags);
   3.190 +    return ret;
   3.191 +  }
   3.192 +  }
   3.193 +
   3.194 +  return -EINVAL;
   3.195 +}
   3.196 +
   3.197 +
   3.198  static void keyboard_interrupt(int irq, void *dev_id, struct pt_regs *regs)
   3.199  {
   3.200 -    unsigned char status = kbd_read_status();
   3.201 -    unsigned int work = 10000;
   3.202 +  unsigned char status;
   3.203 +  unsigned int work = 1000;
   3.204 +  unsigned long cpu_mask;
   3.205 +  unsigned long flags;
   3.206 +  spin_lock_irqsave(&kbd_lock, flags);
   3.207 +  status = kbd_read_status();
   3.208 +#ifdef KBD_DEBUG
   3.209 +    printk("keyboard_interrupt irq %d, status 0x%2x\n", irq, status);
   3.210 +#endif
   3.211 +    while ((--work > 0) && (status & KBD_STAT_OBF))
   3.212 +    {      
   3.213 +      unsigned char scancode;
   3.214 +      scancode = kbd_read_input();
   3.215 +      //printk("scancode 0x%2x\n", scancode);
   3.216 +      
   3.217 +#ifdef CONFIG_XEN_ATTENTION_KEY
   3.218 +      if(!(status & (KBD_STAT_GTO | KBD_STAT_PERR | KBD_STAT_MOUSE_OBF))) {
   3.219 +	if ((scancode & (~KBD_SCANCODE_KEYUP_MASK)) == XEN_ATTENTION_KEY) {
   3.220 +	  xen_attention_key_down = !(scancode & KBD_SCANCODE_KEYUP_MASK);
   3.221 +	  //printk("xen_attention_key_down %d\n", xen_attention_key_down);
   3.222 +	} else if (xen_attention_key_down) {
   3.223 +	  key_handler *handler; 
   3.224 +	  unsigned char key = convert_scancode(scancode); 
   3.225 +	  if(key && (handler = get_key_handler(key))) 
   3.226 +	    (*handler)(key, dev_id, regs); 
   3.227 +	  
   3.228 +	  status = kbd_read_status();
   3.229 +	  continue; // do not send key to guest os
   3.230 +	}
   3.231 +      }
   3.232 +#endif
   3.233 +      
   3.234 +      if (!(status & (KBD_STAT_GTO | KBD_STAT_PERR))) {
   3.235 +	kbd_ring_push(status, scancode);
   3.236  
   3.237 -    while ((--work > 0) && (status & KBD_STAT_OBF))
   3.238 -    {
   3.239 -	unsigned char scancode;
   3.240 +	cpu_mask = mark_guest_event(KBD_OWNER, _EVENT_KBD);
   3.241 +        guest_event_notify(cpu_mask);
   3.242 +
   3.243 +	status = kbd_read_status();
   3.244  	scancode = kbd_read_input();
   3.245 -	
   3.246 -	if (!(status & (KBD_STAT_GTO | KBD_STAT_PERR)))
   3.247 -	{
   3.248 -	    if (status & KBD_STAT_MOUSE_OBF)
   3.249 -		/* mouse event, ignore */;
   3.250 -	    else {
   3.251 -		unsigned char key; 
   3.252 -		key_handler *handler; 
   3.253 -		
   3.254 -		if((key = convert_scancode (scancode)) && 
   3.255 -		   (handler = get_key_handler(key))) 
   3.256 -		    (*handler)(key, dev_id, regs); 
   3.257 -		
   3.258 -	    }
   3.259 -	}
   3.260 -	status = kbd_read_status();
   3.261 +      }
   3.262      }
   3.263      
   3.264      if (!work)
   3.265 -	printk(KERN_ERR "pc_keyb: controller jammed (0x%02X).\n", status);
   3.266 +      printk(KERN_ERR "xen_keyb: controller jammed (0x%02X).\n", status);
   3.267 +
   3.268 +    spin_unlock_irqrestore(&kbd_lock, flags);
   3.269 +}
   3.270      
   3.271 -    return;
   3.272 -}
   3.273 -
   3.274 +    
   3.275  
   3.276  void initialize_keyboard()
   3.277  {
   3.278 -    if(request_irq(KEYBOARD_IRQ, keyboard_interrupt, SA_NOPROFILE, "keyboard", NULL))
   3.279 -	printk("initialize_keyboard: failed to alloc IRQ %d\n", KEYBOARD_IRQ); 
   3.280 +  spin_lock_init(&kbd_lock);
   3.281  
   3.282 -    return; 
   3.283 +  if(request_irq(KEYBOARD_IRQ, keyboard_interrupt, SA_NOPROFILE, "keyboard", NULL)) {
   3.284 +    printk("initialize_keyboard: failed to alloc IRQ %d\n", KEYBOARD_IRQ); 
   3.285 +    return;
   3.286 +  }
   3.287 +
   3.288 +  if(request_irq(AUX_IRQ, keyboard_interrupt, SA_NOPROFILE, "PS/2 Mouse", NULL)) {
   3.289 +    printk("initialize_keyboard: failed to alloc IRQ %d\n", AUX_IRQ); 
   3.290 +    return;
   3.291 +  }
   3.292 +
   3.293 +#ifdef KBD_DEBUG
   3.294 +  printk("PS/2 keyboard and mouse interface ok");
   3.295 +#endif
   3.296  }
   3.297  
     4.1 --- a/xen/include/hypervisor-ifs/hypervisor-if.h	Wed Apr 23 15:21:36 2003 +0000
     4.2 +++ b/xen/include/hypervisor-ifs/hypervisor-if.h	Mon Apr 28 10:58:45 2003 +0000
     4.3 @@ -47,6 +47,7 @@
     4.4  #define __HYPERVISOR_set_fast_trap	  16
     4.5  #define __HYPERVISOR_dom_mem_op		  17
     4.6  #define __HYPERVISOR_multicall		  18
     4.7 +#define __HYPERVISOR_kbd_op               19
     4.8  
     4.9  /* And the trap vector is... */
    4.10  #define TRAP_INSTR "int $0x82"
    4.11 @@ -77,6 +78,7 @@
    4.12  #define EVENT_DEBUG    0x08 /* Request guest to dump debug info (gross!) */
    4.13  #define EVENT_NET_TX   0x10 /* There are packets for transmission. */
    4.14  #define EVENT_NET_RX   0x20 /* There are empty buffers for receive. */
    4.15 +#define EVENT_KBD      0x40 /* PS/2 keyboard or mouse event(s) */
    4.16  
    4.17  /* Bit offsets, as opposed to the above masks. */
    4.18  #define _EVENT_BLK_RESP 0
    4.19 @@ -85,7 +87,7 @@
    4.20  #define _EVENT_NET_TX	3
    4.21  #define _EVENT_NET_RX	4
    4.22  #define _EVENT_DEBUG	5
    4.23 -
    4.24 +#define _EVENT_KBD      6
    4.25  
    4.26  /*
    4.27   * Virtual addresses beyond this are not modifiable by guest OSes.
     5.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     5.2 +++ b/xen/include/hypervisor-ifs/kbd.h	Mon Apr 28 10:58:45 2003 +0000
     5.3 @@ -0,0 +1,20 @@
     5.4 +/******************************************************************************
     5.5 + * kbd.h
     5.6 + *
     5.7 + * PS/2 interface definitions
     5.8 + * Copyright (c) 2003 James Scott, Intel Research Cambridge
     5.9 + */
    5.10 +
    5.11 +#ifndef __HYPERVISOR_KBD_H__
    5.12 +#define __HYPERVISOR_KBD_H__
    5.13 +
    5.14 +			 
    5.15 +#define KBD_OP_WRITEOUTPUT   0
    5.16 +#define KBD_OP_WRITECOMMAND  1
    5.17 +#define KBD_OP_READ          2
    5.18 +
    5.19 +#define KBD_CODE_SCANCODE(_r) ((unsigned char)((_r) & 0xff))
    5.20 +#define KBD_CODE_STATUS(_r) ((unsigned char)(((_r) >> 8) & 0xff))
    5.21 +#define KBD_CODE(_c, _s) ((int)(((_c) & 0xff)  | (((_s) & 0xff) << 8)))
    5.22 +
    5.23 +#endif
     6.1 --- a/xenolinux-2.4.21-pre4-sparse/arch/xeno/config.in	Wed Apr 23 15:21:36 2003 +0000
     6.2 +++ b/xenolinux-2.4.21-pre4-sparse/arch/xeno/config.in	Mon Apr 28 10:58:45 2003 +0000
     6.3 @@ -107,6 +107,8 @@ source drivers/block/Config.in
     6.4  define_bool CONFIG_BLK_DEV_IDE_MODES n
     6.5  define_bool CONFIG_BLK_DEV_HD n
     6.6  
     6.7 +source drivers/char/Config.in
     6.8 +
     6.9  source fs/Config.in
    6.10  
    6.11  mainmenu_option next_comment
    6.12 @@ -126,4 +128,4 @@ fi
    6.13  
    6.14  endmenu
    6.15  
    6.16 -source lib/Config.in
    6.17 \ No newline at end of file
    6.18 +source lib/Config.in
     7.1 --- a/xenolinux-2.4.21-pre4-sparse/arch/xeno/defconfig	Wed Apr 23 15:21:36 2003 +0000
     7.2 +++ b/xenolinux-2.4.21-pre4-sparse/arch/xeno/defconfig	Mon Apr 28 10:58:45 2003 +0000
     7.3 @@ -1,6 +1,7 @@
     7.4  #
     7.5  # Automatically generated make config: don't edit
     7.6  #
     7.7 +CONFIG_XENO=y
     7.8  CONFIG_X86=y
     7.9  CONFIG_ISA=y
    7.10  # CONFIG_SBUS is not set
    7.11 @@ -21,21 +22,10 @@ CONFIG_KMOD=y
    7.12  #
    7.13  # Processor type and features
    7.14  #
    7.15 -# CONFIG_M386 is not set
    7.16 -# CONFIG_M486 is not set
    7.17 -# CONFIG_M586 is not set
    7.18 -# CONFIG_M586TSC is not set
    7.19 -# CONFIG_M586MMX is not set
    7.20  CONFIG_M686=y
    7.21  # CONFIG_MPENTIUMIII is not set
    7.22  # CONFIG_MPENTIUM4 is not set
    7.23 -# CONFIG_MK6 is not set
    7.24  # CONFIG_MK7 is not set
    7.25 -# CONFIG_MCRUSOE is not set
    7.26 -# CONFIG_MWINCHIPC6 is not set
    7.27 -# CONFIG_MWINCHIP2 is not set
    7.28 -# CONFIG_MWINCHIP3D is not set
    7.29 -# CONFIG_MCYRIXIII is not set
    7.30  CONFIG_X86_WP_WORKS_OK=y
    7.31  CONFIG_X86_INVLPG=y
    7.32  CONFIG_X86_CMPXCHG=y
    7.33 @@ -44,34 +34,19 @@ CONFIG_X86_BSWAP=y
    7.34  CONFIG_X86_POPAD_OK=y
    7.35  # CONFIG_RWSEM_GENERIC_SPINLOCK is not set
    7.36  CONFIG_RWSEM_XCHGADD_ALGORITHM=y
    7.37 -CONFIG_X86_L1_CACHE_SHIFT=5
    7.38 -CONFIG_X86_TSC=y
    7.39  CONFIG_X86_GOOD_APIC=y
    7.40  CONFIG_X86_PGE=y
    7.41  CONFIG_X86_USE_PPRO_CHECKSUM=y
    7.42 -# CONFIG_TOSHIBA is not set
    7.43 -# CONFIG_I8K is not set
    7.44 -# CONFIG_MICROCODE is not set
    7.45 -# CONFIG_X86_MSR is not set
    7.46 -# CONFIG_X86_CPUID is not set
    7.47 +CONFIG_X86_TSC=y
    7.48 +CONFIG_X86_L1_CACHE_SHIFT=5
    7.49  CONFIG_NOHIGHMEM=y
    7.50  # CONFIG_HIGHMEM4G is not set
    7.51  # CONFIG_HIGHMEM64G is not set
    7.52 -# CONFIG_MATH_EMULATION is not set
    7.53 -# CONFIG_MTRR is not set
    7.54 -# CONFIG_SMP is not set
    7.55 -# CONFIG_X86_UP_APIC is not set
    7.56  
    7.57  #
    7.58  # General setup
    7.59  #
    7.60  CONFIG_NET=y
    7.61 -# CONFIG_PCI is not set
    7.62 -# CONFIG_EISA is not set
    7.63 -# CONFIG_MCA is not set
    7.64 -# CONFIG_HOTPLUG is not set
    7.65 -# CONFIG_PCMCIA is not set
    7.66 -# CONFIG_HOTPLUG_PCI is not set
    7.67  CONFIG_SYSVIPC=y
    7.68  # CONFIG_BSD_PROCESS_ACCT is not set
    7.69  CONFIG_SYSCTL=y
    7.70 @@ -80,54 +55,12 @@ CONFIG_KCORE_ELF=y
    7.71  CONFIG_BINFMT_AOUT=y
    7.72  CONFIG_BINFMT_ELF=y
    7.73  # CONFIG_BINFMT_MISC is not set
    7.74 -# CONFIG_PM is not set
    7.75 -# CONFIG_APM_IGNORE_USER_SUSPEND is not set
    7.76 -# CONFIG_APM_DO_ENABLE is not set
    7.77 -# CONFIG_APM_CPU_IDLE is not set
    7.78 -# CONFIG_APM_DISPLAY_BLANK is not set
    7.79 -# CONFIG_APM_RTC_IS_GMT is not set
    7.80 -# CONFIG_APM_ALLOW_INTS is not set
    7.81 -# CONFIG_APM_REAL_MODE_POWER_OFF is not set
    7.82 -
    7.83 -#
    7.84 -# Memory Technology Devices (MTD)
    7.85 -#
    7.86 -# CONFIG_MTD is not set
    7.87 -
    7.88 -#
    7.89 -# Parallel port support
    7.90 -#
    7.91 -# CONFIG_PARPORT is not set
    7.92 -
    7.93 -#
    7.94 -# Plug and Play configuration
    7.95 -#
    7.96 -# CONFIG_PNP is not set
    7.97 -
    7.98 -#
    7.99 -# Block devices
   7.100 -#
   7.101 -# CONFIG_BLK_DEV_FD is not set
   7.102 -# CONFIG_BLK_DEV_XD is not set
   7.103 -CONFIG_BLK_DEV_LOOP=y
   7.104 -CONFIG_BLK_DEV_NBD=y
   7.105 -CONFIG_BLK_DEV_RAM=y
   7.106 -CONFIG_BLK_DEV_RAM_SIZE=4096
   7.107 -CONFIG_BLK_DEV_INITRD=y
   7.108 -CONFIG_XENOLINUX_BLOCK=y
   7.109 -
   7.110 -#
   7.111 -# Multi-device support (RAID and LVM)
   7.112 -#
   7.113 -# CONFIG_MD is not set
   7.114  
   7.115  #
   7.116  # Networking options
   7.117  #
   7.118  CONFIG_PACKET=y
   7.119  CONFIG_PACKET_MMAP=y
   7.120 -CONFIG_NETLINK=y
   7.121 -CONFIG_RTNETLINK=y
   7.122  # CONFIG_NETLINK_DEV is not set
   7.123  # CONFIG_NETFILTER is not set
   7.124  CONFIG_FILTER=y
   7.125 @@ -143,12 +76,18 @@ CONFIG_IP_PNP=y
   7.126  # CONFIG_NET_IPGRE is not set
   7.127  # CONFIG_INET_ECN is not set
   7.128  # CONFIG_SYN_COOKIES is not set
   7.129 +# CONFIG_VLAN_8021Q is not set
   7.130  
   7.131  #
   7.132  #  
   7.133  #
   7.134  # CONFIG_IPX is not set
   7.135  # CONFIG_ATALK is not set
   7.136 +
   7.137 +#
   7.138 +# Appletalk devices
   7.139 +#
   7.140 +# CONFIG_DEV_APPLETALK is not set
   7.141  # CONFIG_DECNET is not set
   7.142  # CONFIG_BRIDGE is not set
   7.143  
   7.144 @@ -158,207 +97,119 @@ CONFIG_IP_PNP=y
   7.145  # CONFIG_NET_SCHED is not set
   7.146  
   7.147  #
   7.148 -# Telephony Support
   7.149 -#
   7.150 -# CONFIG_PHONE is not set
   7.151 -
   7.152 -#
   7.153 -# ATA/IDE/MFM/RLL support
   7.154 -#
   7.155 -# CONFIG_IDE is not set
   7.156 -# CONFIG_BLK_DEV_IDE_MODES is not set
   7.157 -# CONFIG_BLK_DEV_HD is not set
   7.158 -
   7.159 -#
   7.160 -# SCSI support
   7.161 +# Network testing
   7.162  #
   7.163 -# CONFIG_SCSI is not set
   7.164 -
   7.165 -#
   7.166 -# Fusion MPT device support
   7.167 -#
   7.168 -# CONFIG_FUSION_BOOT is not set
   7.169 -# CONFIG_FUSION_ISENSE is not set
   7.170 -# CONFIG_FUSION_CTL is not set
   7.171 -# CONFIG_FUSION_LAN is not set
   7.172 -
   7.173 -#
   7.174 -# I2O device support
   7.175 -#
   7.176 -# CONFIG_I2O is not set
   7.177 +# CONFIG_NET_PKTGEN is not set
   7.178  
   7.179  #
   7.180 -# Network device support
   7.181 -#
   7.182 -# CONFIG_NETDEVICES is not set
   7.183 -
   7.184 -#
   7.185 -# Amateur Radio support
   7.186 -#
   7.187 -# CONFIG_HAMRADIO is not set
   7.188 -
   7.189 -#
   7.190 -# IrDA (infrared) support
   7.191 -#
   7.192 -# CONFIG_IRDA is not set
   7.193 -
   7.194 +# Block devices
   7.195  #
   7.196 -# ISDN subsystem
   7.197 -#
   7.198 -# CONFIG_ISDN is not set
   7.199 -
   7.200 -#
   7.201 -# Old CD-ROM drivers (not SCSI, not IDE)
   7.202 -#
   7.203 -# CONFIG_CD_NO_IDESCSI is not set
   7.204 -
   7.205 -#
   7.206 -# Input core support
   7.207 -#
   7.208 -# CONFIG_INPUT is not set
   7.209 -CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
   7.210 -CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
   7.211 +# CONFIG_BLK_DEV_FD is not set
   7.212 +# CONFIG_BLK_DEV_XD is not set
   7.213 +# CONFIG_PARIDE is not set
   7.214 +# CONFIG_BLK_CPQ_DA is not set
   7.215 +# CONFIG_BLK_CPQ_CISS_DA is not set
   7.216 +# CONFIG_CISS_SCSI_TAPE is not set
   7.217 +# CONFIG_BLK_DEV_DAC960 is not set
   7.218 +# CONFIG_BLK_DEV_UMEM is not set
   7.219 +CONFIG_BLK_DEV_LOOP=y
   7.220 +CONFIG_BLK_DEV_NBD=y
   7.221 +CONFIG_BLK_DEV_RAM=y
   7.222 +CONFIG_BLK_DEV_RAM_SIZE=4096
   7.223 +CONFIG_BLK_DEV_INITRD=y
   7.224 +# CONFIG_BLK_STATS is not set
   7.225 +CONFIG_XENOLINUX_BLOCK=y
   7.226 +# CONFIG_BLK_DEV_IDE_MODES is not set
   7.227 +# CONFIG_BLK_DEV_HD is not set
   7.228  
   7.229  #
   7.230  # Character devices
   7.231  #
   7.232  # CONFIG_VT is not set
   7.233 -# CONFIG_SERIAL is not set
   7.234 -# CONFIG_SERIAL_NONSTANDARD is not set
   7.235 +# CONFIG_DUMMY_CONSOLE is not set
   7.236 +CONFIG_PSMOUSE=y
   7.237  # CONFIG_UNIX98_PTYS is not set
   7.238  
   7.239  #
   7.240 -# I2C support
   7.241 -#
   7.242 -# CONFIG_I2C is not set
   7.243 -
   7.244 -#
   7.245 -# Mice
   7.246 -#
   7.247 -# CONFIG_BUSMOUSE is not set
   7.248 -# CONFIG_MOUSE is not set
   7.249 -
   7.250 -#
   7.251 -# Joysticks
   7.252 -#
   7.253 -# CONFIG_INPUT_GAMEPORT is not set
   7.254 -
   7.255 -#
   7.256 -# Input core support is needed for gameports
   7.257 -#
   7.258 -
   7.259 -#
   7.260 -# Input core support is needed for joysticks
   7.261 -#
   7.262 -# CONFIG_QIC02_TAPE is not set
   7.263 -
   7.264 -#
   7.265 -# Watchdog Cards
   7.266 -#
   7.267 -# CONFIG_WATCHDOG is not set
   7.268 -# CONFIG_NVRAM is not set
   7.269 -# CONFIG_RTC is not set
   7.270 -# CONFIG_DTLK is not set
   7.271 -# CONFIG_R3964 is not set
   7.272 -# CONFIG_APPLICOM is not set
   7.273 -
   7.274 -#
   7.275 -# Ftape, the floppy tape device driver
   7.276 -#
   7.277 -# CONFIG_FTAPE is not set
   7.278 -# CONFIG_AGP is not set
   7.279 -# CONFIG_DRM is not set
   7.280 -# CONFIG_MWAVE is not set
   7.281 -
   7.282 -#
   7.283 -# Multimedia devices
   7.284 -#
   7.285 -# CONFIG_VIDEO_DEV is not set
   7.286 -
   7.287 -#
   7.288  # File systems
   7.289  #
   7.290  # CONFIG_QUOTA is not set
   7.291  CONFIG_AUTOFS_FS=y
   7.292  CONFIG_AUTOFS4_FS=y
   7.293 +# CONFIG_REISERFS_FS is not set
   7.294 +# CONFIG_REISERFS_CHECK is not set
   7.295 +# CONFIG_REISERFS_PROC_INFO is not set
   7.296 +# CONFIG_ADFS_FS is not set
   7.297 +# CONFIG_ADFS_FS_RW is not set
   7.298 +# CONFIG_AFFS_FS is not set
   7.299 +# CONFIG_HFS_FS is not set
   7.300 +# CONFIG_BEFS_FS is not set
   7.301 +# CONFIG_BEFS_DEBUG is not set
   7.302 +# CONFIG_BFS_FS is not set
   7.303  CONFIG_EXT3_FS=y
   7.304  CONFIG_JBD=y
   7.305 +# CONFIG_JBD_DEBUG is not set
   7.306  # CONFIG_FAT_FS is not set
   7.307 +# CONFIG_MSDOS_FS is not set
   7.308 +# CONFIG_UMSDOS_FS is not set
   7.309 +# CONFIG_VFAT_FS is not set
   7.310 +# CONFIG_EFS_FS is not set
   7.311 +# CONFIG_JFFS_FS is not set
   7.312 +# CONFIG_JFFS2_FS is not set
   7.313  # CONFIG_CRAMFS is not set
   7.314  # CONFIG_TMPFS is not set
   7.315  CONFIG_RAMFS=y
   7.316  CONFIG_ISO9660_FS=y
   7.317  CONFIG_JOLIET=y
   7.318  CONFIG_ZISOFS=y
   7.319 -CONFIG_ZISOFS_FS=y
   7.320 +# CONFIG_JFS_FS is not set
   7.321 +# CONFIG_JFS_DEBUG is not set
   7.322 +# CONFIG_JFS_STATISTICS is not set
   7.323  # CONFIG_MINIX_FS is not set
   7.324  # CONFIG_VXFS_FS is not set
   7.325  # CONFIG_NTFS_FS is not set
   7.326 +# CONFIG_NTFS_RW is not set
   7.327  # CONFIG_HPFS_FS is not set
   7.328  CONFIG_PROC_FS=y
   7.329 +# CONFIG_DEVFS_FS is not set
   7.330 +# CONFIG_DEVFS_MOUNT is not set
   7.331 +# CONFIG_DEVFS_DEBUG is not set
   7.332 +# CONFIG_DEVPTS_FS is not set
   7.333 +# CONFIG_QNX4FS_FS is not set
   7.334 +# CONFIG_QNX4FS_RW is not set
   7.335  # CONFIG_ROMFS_FS is not set
   7.336  CONFIG_EXT2_FS=y
   7.337  # CONFIG_SYSV_FS is not set
   7.338  # CONFIG_UDF_FS is not set
   7.339 +# CONFIG_UDF_RW is not set
   7.340  # CONFIG_UFS_FS is not set
   7.341 -
   7.342 -# Skanky NLS stuff
   7.343 -CONFIG_NLS_DEFAULT="iso8559-1"
   7.344 -CONFIG_NLS_CODEPAGE_437=n
   7.345 -CONFIG_NLS_CODEPAGE_737=n
   7.346 -CONFIG_NLS_CODEPAGE_775=n
   7.347 -CONFIG_NLS_CODEPAGE_850=n
   7.348 -CONFIG_NLS_CODEPAGE_852=n
   7.349 -CONFIG_NLS_CODEPAGE_855=n
   7.350 -CONFIG_NLS_CODEPAGE_857=n
   7.351 -CONFIG_NLS_CODEPAGE_860=n
   7.352 -CONFIG_NLS_CODEPAGE_861=n
   7.353 -CONFIG_NLS_CODEPAGE_862=n
   7.354 -CONFIG_NLS_CODEPAGE_863=n
   7.355 -CONFIG_NLS_CODEPAGE_864=n
   7.356 -CONFIG_NLS_CODEPAGE_865=n
   7.357 -CONFIG_NLS_CODEPAGE_866=n
   7.358 -CONFIG_NLS_CODEPAGE_869=n
   7.359 -CONFIG_NLS_CODEPAGE_936=n
   7.360 -CONFIG_NLS_CODEPAGE_950=n
   7.361 -CONFIG_NLS_CODEPAGE_932=n
   7.362 -CONFIG_NLS_CODEPAGE_949=n
   7.363 -CONFIG_NLS_CODEPAGE_874=n
   7.364 -CONFIG_NLS_ISO8859_8=n
   7.365 -CONFIG_NLS_CODEPAGE_1250=n
   7.366 -CONFIG_NLS_CODEPAGE_1251=n
   7.367 -CONFIG_NLS_ISO8859_1=n
   7.368 -CONFIG_NLS_ISO8859_2=n
   7.369 -CONFIG_NLS_ISO8859_3=n
   7.370 -CONFIG_NLS_ISO8859_4=n
   7.371 -CONFIG_NLS_ISO8859_5=n
   7.372 -CONFIG_NLS_ISO8859_6=n
   7.373 -CONFIG_NLS_ISO8859_7=n
   7.374 -CONFIG_NLS_ISO8859_9=n
   7.375 -CONFIG_NLS_ISO8859_13=n
   7.376 -CONFIG_NLS_ISO8859_14=n
   7.377 -CONFIG_NLS_ISO8859_15=n
   7.378 -CONFIG_NLS_KOI8_R=n
   7.379 -CONFIG_NLS_KOI8_U=n
   7.380 -CONFIG_NLS_UTF8=n
   7.381 -
   7.382 +# CONFIG_UFS_FS_WRITE is not set
   7.383  
   7.384  #
   7.385  # Network File Systems
   7.386  #
   7.387  # CONFIG_CODA_FS is not set
   7.388 +# CONFIG_INTERMEZZO_FS is not set
   7.389  CONFIG_NFS_FS=y
   7.390  CONFIG_NFS_V3=y
   7.391  CONFIG_ROOT_NFS=y
   7.392  CONFIG_NFSD=y
   7.393  CONFIG_NFSD_V3=y
   7.394 +# CONFIG_NFSD_TCP is not set
   7.395  CONFIG_SUNRPC=y
   7.396  CONFIG_LOCKD=y
   7.397  CONFIG_LOCKD_V4=y
   7.398  # CONFIG_SMB_FS is not set
   7.399  # CONFIG_NCP_FS is not set
   7.400 -# CONFIG_ZISOFS_FS is not set
   7.401 -# CONFIG_ZLIB_FS_INFLATE is not set
   7.402 +# CONFIG_NCPFS_PACKET_SIGNING is not set
   7.403 +# CONFIG_NCPFS_IOCTL_LOCKING is not set
   7.404 +# CONFIG_NCPFS_STRONG is not set
   7.405 +# CONFIG_NCPFS_NFS_NS is not set
   7.406 +# CONFIG_NCPFS_OS2_NS is not set
   7.407 +# CONFIG_NCPFS_SMALLDOS is not set
   7.408 +# CONFIG_NCPFS_NLS is not set
   7.409 +# CONFIG_NCPFS_EXTRAS is not set
   7.410 +CONFIG_ZISOFS_FS=y
   7.411  
   7.412  #
   7.413  # Partition Types
   7.414 @@ -366,60 +217,49 @@ CONFIG_LOCKD_V4=y
   7.415  # CONFIG_PARTITION_ADVANCED is not set
   7.416  CONFIG_MSDOS_PARTITION=y
   7.417  # CONFIG_SMB_NLS is not set
   7.418 -# CONFIG_NLS is not set
   7.419 -
   7.420 -#
   7.421 -# Sound
   7.422 -#
   7.423 -# CONFIG_SOUND is not set
   7.424 -
   7.425 -#
   7.426 -# USB support
   7.427 -#
   7.428 -
   7.429 -#
   7.430 -# USB Controllers
   7.431 -#
   7.432 -
   7.433 -#
   7.434 -# USB Device Class drivers
   7.435 -#
   7.436 -
   7.437 -#
   7.438 -# USB Human Interface Devices (HID)
   7.439 -#
   7.440 +CONFIG_NLS=y
   7.441  
   7.442  #
   7.443 -#   Input core support is needed for USB HID
   7.444 -#
   7.445 -
   7.446 -#
   7.447 -# USB Imaging devices
   7.448 -#
   7.449 -
   7.450 -#
   7.451 -# USB Multimedia devices
   7.452 -#
   7.453 -
   7.454 -#
   7.455 -#   Video4Linux support is needed for USB Multimedia device support
   7.456 +# Native Language Support
   7.457  #
   7.458 -
   7.459 -#
   7.460 -# USB Network adaptors
   7.461 -#
   7.462 -
   7.463 -#
   7.464 -# USB port drivers
   7.465 -#
   7.466 -
   7.467 -#
   7.468 -# USB Serial Converter support
   7.469 -#
   7.470 -
   7.471 -#
   7.472 -# USB Miscellaneous drivers
   7.473 -#
   7.474 +CONFIG_NLS_DEFAULT="iso8559-1"
   7.475 +# CONFIG_NLS_CODEPAGE_437 is not set
   7.476 +# CONFIG_NLS_CODEPAGE_737 is not set
   7.477 +# CONFIG_NLS_CODEPAGE_775 is not set
   7.478 +# CONFIG_NLS_CODEPAGE_850 is not set
   7.479 +# CONFIG_NLS_CODEPAGE_852 is not set
   7.480 +# CONFIG_NLS_CODEPAGE_855 is not set
   7.481 +# CONFIG_NLS_CODEPAGE_857 is not set
   7.482 +# CONFIG_NLS_CODEPAGE_860 is not set
   7.483 +# CONFIG_NLS_CODEPAGE_861 is not set
   7.484 +# CONFIG_NLS_CODEPAGE_862 is not set
   7.485 +# CONFIG_NLS_CODEPAGE_863 is not set
   7.486 +# CONFIG_NLS_CODEPAGE_864 is not set
   7.487 +# CONFIG_NLS_CODEPAGE_865 is not set
   7.488 +# CONFIG_NLS_CODEPAGE_866 is not set
   7.489 +# CONFIG_NLS_CODEPAGE_869 is not set
   7.490 +# CONFIG_NLS_CODEPAGE_936 is not set
   7.491 +# CONFIG_NLS_CODEPAGE_950 is not set
   7.492 +# CONFIG_NLS_CODEPAGE_932 is not set
   7.493 +# CONFIG_NLS_CODEPAGE_949 is not set
   7.494 +# CONFIG_NLS_CODEPAGE_874 is not set
   7.495 +# CONFIG_NLS_ISO8859_8 is not set
   7.496 +# CONFIG_NLS_CODEPAGE_1250 is not set
   7.497 +# CONFIG_NLS_CODEPAGE_1251 is not set
   7.498 +# CONFIG_NLS_ISO8859_1 is not set
   7.499 +# CONFIG_NLS_ISO8859_2 is not set
   7.500 +# CONFIG_NLS_ISO8859_3 is not set
   7.501 +# CONFIG_NLS_ISO8859_4 is not set
   7.502 +# CONFIG_NLS_ISO8859_5 is not set
   7.503 +# CONFIG_NLS_ISO8859_6 is not set
   7.504 +# CONFIG_NLS_ISO8859_7 is not set
   7.505 +# CONFIG_NLS_ISO8859_9 is not set
   7.506 +# CONFIG_NLS_ISO8859_13 is not set
   7.507 +# CONFIG_NLS_ISO8859_14 is not set
   7.508 +# CONFIG_NLS_ISO8859_15 is not set
   7.509 +# CONFIG_NLS_KOI8_R is not set
   7.510 +# CONFIG_NLS_KOI8_U is not set
   7.511 +# CONFIG_NLS_UTF8 is not set
   7.512  
   7.513  #
   7.514  # Kernel hacking
   7.515 @@ -434,18 +274,8 @@ CONFIG_DEBUG_KERNEL=y
   7.516  CONFIG_KALLSYMS=y
   7.517  # CONFIG_FRAME_POINTER is not set
   7.518  
   7.519 -# Grim cruft
   7.520  #
   7.521 -# CONFIG_VLAN_8021Q is not set
   7.522 -# CONFIG_NET_PKTGEN is not set
   7.523 -# CONFIG_BLK_STATS is not set
   7.524 -# CONFIG_REISERFS_FS is not set
   7.525 -# CONFIG_JBD_DEBUG is not set
   7.526 -# CONFIG_JFS_FS is not set
   7.527 -# CONFIG_QNX4FS_FS is not set
   7.528 -
   7.529 -# 
   7.530  # Library routines
   7.531  #
   7.532  CONFIG_ZLIB_INFLATE=y
   7.533 -CONFIG_ZLIB_DEFLATE=n
   7.534 +# CONFIG_ZLIB_DEFLATE is not set
     8.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     8.2 +++ b/xenolinux-2.4.21-pre4-sparse/drivers/char/Config.in	Mon Apr 28 10:58:45 2003 +0000
     8.3 @@ -0,0 +1,357 @@
     8.4 +#
     8.5 +# Character device configuration
     8.6 +#
     8.7 +mainmenu_option next_comment
     8.8 +comment 'Character devices'
     8.9 +
    8.10 +bool 'Virtual terminal' CONFIG_VT
    8.11 +if [ "$CONFIG_VT" = "n" ]; then
    8.12 +   bool 'Dummy Console (to allow kbd/mouse testing without VTs)' CONFIG_DUMMY_CONSOLE
    8.13 +fi   
    8.14 +
    8.15 +bool 'PS/2 mouse (aka "auxiliary device") support' CONFIG_PSMOUSE
    8.16 +
    8.17 +bool 'Unix98 PTY support' CONFIG_UNIX98_PTYS
    8.18 +if [ "$CONFIG_UNIX98_PTYS" = "y" ]; then
    8.19 +   int 'Maximum number of Unix98 PTYs in use (0-2048)' CONFIG_UNIX98_PTY_COUNT 256
    8.20 +fi
    8.21 +
    8.22 +endmenu
    8.23 +
    8.24 +# KEPT IN CASE WE WANT TO BRING SOME BACK...
    8.25 +#
    8.26 +#if [ "$CONFIG_VT" = "y" ]; then
    8.27 +#   bool '  Support for console on virtual terminal' CONFIG_VT_CONSOLE
    8.28 +#   if [ "$CONFIG_GSC_LASI" = "y" ]; then
    8.29 +#      bool '    Support for Lasi/Dino PS2 port' CONFIG_GSC_PS2
    8.30 +#   fi
    8.31 +#fi
    8.32 +#
    8.33 +#tristate 'Standard/generic (8250/16550 and compatible UARTs) serial support' CONFIG_SERIAL
    8.34 +#if [ "$CONFIG_SERIAL" = "y" ]; then
    8.35 +#   bool '  Support for console on serial port' CONFIG_SERIAL_CONSOLE
    8.36 +#   if [ "$CONFIG_GSC_LASI" = "y" ]; then
    8.37 +#      bool '   serial port on GSC support' CONFIG_SERIAL_GSC
    8.38 +#   fi
    8.39 +#   if [ "$CONFIG_IA64" = "y" ]; then
    8.40 +#      bool 'Support for serial console port described by EFI HCDP table' CONFIG_SERIAL_HCDP
    8.41 +#   fi
    8.42 +#   if [ "$CONFIG_ARCH_ACORN" = "y" ]; then
    8.43 +#      tristate '   Atomwide serial port support' CONFIG_ATOMWIDE_SERIAL
    8.44 +#      tristate '   Dual serial port support' CONFIG_DUALSP_SERIAL
    8.45 +#   fi
    8.46 +#fi
    8.47 +#dep_mbool 'Extended dumb serial driver options' CONFIG_SERIAL_EXTENDED $CONFIG_SERIAL
    8.48 +#if [ "$CONFIG_SERIAL_EXTENDED" = "y" ]; then
    8.49 +#   bool '  Support more than 4 serial ports' CONFIG_SERIAL_MANY_PORTS
    8.50 +#   bool '  Support for sharing serial interrupts' CONFIG_SERIAL_SHARE_IRQ
    8.51 +#   bool '  Autodetect IRQ on standard ports (unsafe)' CONFIG_SERIAL_DETECT_IRQ
    8.52 +#   bool '  Support special multiport boards' CONFIG_SERIAL_MULTIPORT
    8.53 +#   bool '  Support the Bell Technologies HUB6 card' CONFIG_HUB6
    8.54 +#fi
    8.55 +#bool 'Non-standard serial port support' CONFIG_SERIAL_NONSTANDARD
    8.56 +#if [ "$CONFIG_SERIAL_NONSTANDARD" = "y" ]; then
    8.57 +#   tristate '  Computone IntelliPort Plus serial support' CONFIG_COMPUTONE
    8.58 +#   tristate '  Comtrol Rocketport support' CONFIG_ROCKETPORT
    8.59 +#   tristate '  Cyclades async mux support' CONFIG_CYCLADES
    8.60 +#   if [ "$CONFIG_EXPERIMENTAL" = "y" -a "$CONFIG_CYCLADES" != "n" ]; then
    8.61 +#      bool '    Cyclades-Z interrupt mode operation (EXPERIMENTAL)' CONFIG_CYZ_INTR
    8.62 +#   fi
    8.63 +#   if [ "$CONFIG_X86_64" != "y" ]; then
    8.64 +#      tristate '  Digiboard Intelligent Async Support' CONFIG_DIGIEPCA
    8.65 +#      if [ "$CONFIG_DIGIEPCA" = "n" ]; then
    8.66 +#         tristate '  Digiboard PC/Xx Support' CONFIG_DIGI
    8.67 +#      fi
    8.68 +#   fi
    8.69 +#   dep_tristate '  Hayes ESP serial port support' CONFIG_ESPSERIAL $CONFIG_ISA
    8.70 +#   tristate '  Moxa Intellio support' CONFIG_MOXA_INTELLIO
    8.71 +#   tristate '  Moxa SmartIO support' CONFIG_MOXA_SMARTIO
    8.72 +#   if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
    8.73 +#      dep_tristate '  Multi-Tech multiport card support (EXPERIMENTAL)' CONFIG_ISI m
    8.74 +#   fi
    8.75 +#   tristate '  Microgate SyncLink card support' CONFIG_SYNCLINK
    8.76 +#   tristate '  SyncLink Multiport support' CONFIG_SYNCLINKMP
    8.77 +#   tristate '  HDLC line discipline support' CONFIG_N_HDLC
    8.78 +#   tristate '  SDL RISCom/8 card support' CONFIG_RISCOM8
    8.79 +#   if [ "$CONFIG_X86_64" != "y" ]; then
    8.80 +#      tristate '  Specialix IO8+ card support' CONFIG_SPECIALIX
    8.81 +#      if [ "$CONFIG_SPECIALIX" != "n" ]; then
    8.82 +#         bool '  Specialix DTR/RTS pin is RTS' CONFIG_SPECIALIX_RTSCTS
    8.83 +#      fi 
    8.84 +#      tristate '  Specialix SX (and SI) card support' CONFIG_SX
    8.85 +#      tristate '  Specialix RIO system support' CONFIG_RIO
    8.86 +#      if [ "$CONFIG_RIO" != "n" ]; then
    8.87 +#        bool '    Support really old RIO/PCI cards' CONFIG_RIO_OLDPCI
    8.88 +#      fi
    8.89 +#   fi
    8.90 +#   bool '  Stallion multiport serial support' CONFIG_STALDRV
    8.91 +#   if [ "$CONFIG_STALDRV" = "y" ]; then
    8.92 +#     tristate '    Stallion EasyIO or EC8/32 support' CONFIG_STALLION
    8.93 +#     tristate '    Stallion EC8/64, ONboard, Brumby support' CONFIG_ISTALLION
    8.94 +#   fi
    8.95 +#   if [ "$CONFIG_PARISC" = "y" ]; then
    8.96 +#     if [ "$CONFIG_PDC_CONSOLE" != "y" ]; then
    8.97 +#       bool '  Serial MUX support' CONFIG_SERIAL_MUX CONFIG_SERIAL_NONSTANDARD
    8.98 +#     fi
    8.99 +#     if [ "$CONFIG_SERIAL_MUX" != "y" ]; then
   8.100 +#       bool '  PDC software console support' CONFIG_PDC_CONSOLE CONFIG_SERIAL_NONSTANDARD
   8.101 +#     fi
   8.102 +#   fi
   8.103 +#   if [ "$CONFIG_MIPS" = "y" ]; then
   8.104 +#     bool '  TX3912/PR31700 serial port support' CONFIG_SERIAL_TX3912
   8.105 +#     dep_bool '     Console on TX3912/PR31700 serial port' CONFIG_SERIAL_TX3912_CONSOLE $CONFIG_SERIAL_TX3912
   8.106 +#     bool '  Enable Au1000 UART Support' CONFIG_AU1000_UART
   8.107 +#     if [ "$CONFIG_AU1000_UART" = "y" ]; then
   8.108 +#        bool '        Enable Au1000 serial console' CONFIG_AU1000_SERIAL_CONSOLE
   8.109 +#     fi
   8.110 +#     bool 'TXx927 SIO support' CONFIG_TXX927_SERIAL 
   8.111 +#     if [ "$CONFIG_TXX927_SERIAL" = "y" ]; then
   8.112 +#        bool 'TXx927 SIO Console support' CONFIG_TXX927_SERIAL_CONSOLE  
   8.113 +#     fi                             
   8.114 +#     if [ "$CONFIG_SIBYTE_SB1250" = "y" ]; then
   8.115 +#        bool '  Support for sb1250 onchip DUART' CONFIG_SIBYTE_SB1250_DUART
   8.116 +#        if [ "$CONFIG_SIBYTE_SB1250_DUART" = "y" ]; then
   8.117 +#           bool '  Console on SB1250 DUART' CONFIG_SIBYTE_SB1250_DUART_CONSOLE
   8.118 +#	   if [ "$CONFIG_SIBYTE_SB1250_DUART_CONSOLE" = "y" ]; then
   8.119 +#	      define_bool CONFIG_SERIAL_CONSOLE y
   8.120 +#	   fi
   8.121 +#	   int  '  Output buffers size (in bytes)' CONFIG_SB1250_DUART_OUTPUT_BUF_SIZE 1024
   8.122 +#	   bool '  Leave port 1 alone (for kgdb or audio)' CONFIG_SIBYTE_SB1250_DUART_NO_PORT_1
   8.123 +#       fi
   8.124 +#     fi
   8.125 +#  fi
   8.126 +#fi
   8.127 +#if [ "$CONFIG_EXPERIMENTAL" = "y" -a "$CONFIG_ZORRO" = "y" ]; then
   8.128 +#   tristate 'Commodore A2232 serial support (EXPERIMENTAL)' CONFIG_A2232
   8.129 +#fi
   8.130 +#if [ "$CONFIG_FOOTBRIDGE" = "y" ]; then
   8.131 +#   bool 'DC21285 serial port support' CONFIG_SERIAL_21285
   8.132 +#   if [ "$CONFIG_SERIAL_21285" = "y" ]; then
   8.133 +#      if [ "$CONFIG_OBSOLETE" = "y" ]; then
   8.134 +#         bool '  Use /dev/ttyS0 device (OBSOLETE)' CONFIG_SERIAL_21285_OLD
   8.135 +#      fi
   8.136 +#      bool '  Console on DC21285 serial port' CONFIG_SERIAL_21285_CONSOLE
   8.137 +#   fi
   8.138 +#   if [ "$CONFIG_MIPS" = "y" ]; then
   8.139 +#     bool '  TMPTX3912/PR31700 serial port support' CONFIG_SERIAL_TX3912
   8.140 +#     dep_bool '     Console on TMPTX3912/PR31700 serial port' CONFIG_SERIAL_TX3912_CONSOLE $CONFIG_SERIAL_TX3912
   8.141 +#     bool '  Enable Au1000 UART Support' CONFIG_AU1000_UART
   8.142 +#     if [ "$CONFIG_AU1000_UART" = "y" ]; then
   8.143 +#         bool '        Enable Au1000 serial console' CONFIG_AU1000_SERIAL_CONSOLE
   8.144 +#     fi
   8.145 +#   fi
   8.146 +#   if [ "$CONFIG_PARISC" = "y" ]; then
   8.147 +#     bool '  PDC software console support' CONFIG_PDC_CONSOLE
   8.148 +#   fi
   8.149 +#fi
   8.150 +#if [ "$CONFIG_MIPS_ITE8172" = "y" ]; then
   8.151 +#   bool 'Enable Qtronix 990P Keyboard Support' CONFIG_QTRONIX_KEYBOARD
   8.152 +#   if [ "$CONFIG_QTRONIX_KEYBOARD" = "y" ]; then
   8.153 +#     define_bool CONFIG_IT8172_CIR y
   8.154 +#   else
   8.155 +#     bool '    Enable PS2 Keyboard Support' CONFIG_PC_KEYB
   8.156 +#   fi
   8.157 +#   bool 'Enable Smart Card Reader 0 Support ' CONFIG_IT8172_SCR0
   8.158 +#   bool 'Enable Smart Card Reader 1 Support ' CONFIG_IT8172_SCR1
   8.159 +#fi
   8.160 +#if [ "$CONFIG_MIPS_IVR" = "y" ]; then
   8.161 +#   bool 'Enable Qtronix 990P Keyboard Support' CONFIG_QTRONIX_KEYBOARD
   8.162 +#   if [ "$CONFIG_QTRONIX_KEYBOARD" = "y" ]; then
   8.163 +#     define_bool CONFIG_IT8172_CIR y
   8.164 +#   fi
   8.165 +#   bool 'Enable Smart Card Reader 0 Support ' CONFIG_IT8172_SCR0
   8.166 +#fi
   8.167 +##PTYS WERE HERE
   8.168 +#if [ "$CONFIG_PARPORT" != "n" ]; then
   8.169 +#   dep_tristate 'Parallel printer support' CONFIG_PRINTER $CONFIG_PARPORT
   8.170 +#   if [ "$CONFIG_PRINTER" != "n" ]; then
   8.171 +#      bool '  Support for console on line printer' CONFIG_LP_CONSOLE
   8.172 +#   fi
   8.173 +#   dep_tristate 'Support for user-space parallel port device drivers' CONFIG_PPDEV $CONFIG_PARPORT
   8.174 +#   dep_tristate 'Texas Instruments parallel link cable support' CONFIG_TIPAR $CONFIG_PARPORT
   8.175 +#fi
   8.176 +#
   8.177 +#if [ "$CONFIG_PPC64" ] ; then 
   8.178 +#   bool 'pSeries Hypervisor Virtual Console support' CONFIG_HVC_CONSOLE
   8.179 +#fi
   8.180 +#
   8.181 +#source drivers/i2c/Config.in
   8.182 +#
   8.183 +#mainmenu_option next_comment
   8.184 +#comment 'Mice'
   8.185 +#tristate 'Bus Mouse Support' CONFIG_BUSMOUSE
   8.186 +#if [ "$CONFIG_BUSMOUSE" != "n" ]; then
   8.187 +#   dep_tristate '  ATIXL busmouse support' CONFIG_ATIXL_BUSMOUSE $CONFIG_BUSMOUSE
   8.188 +#   dep_tristate '  Logitech busmouse support' CONFIG_LOGIBUSMOUSE $CONFIG_BUSMOUSE
   8.189 +#   dep_tristate '  Microsoft busmouse support' CONFIG_MS_BUSMOUSE $CONFIG_BUSMOUSE
   8.190 +#   if [ "$CONFIG_ADB" = "y" -a "$CONFIG_ADB_KEYBOARD" = "y" ]; then
   8.191 +#      dep_tristate '  Apple Desktop Bus mouse support (old driver)' CONFIG_ADBMOUSE $CONFIG_BUSMOUSE
   8.192 +#   fi
   8.193 +#fi
   8.194 +#
   8.195 +#tristate 'Mouse Support (not serial and bus mice)' CONFIG_MOUSE
   8.196 +#if [ "$CONFIG_MOUSE" != "n" ]; then
   8.197 +#   bool '  PS/2 mouse (aka "auxiliary device") support' CONFIG_PSMOUSE
   8.198 +#   tristate '  C&T 82C710 mouse port support (as on TI Travelmate)' CONFIG_82C710_MOUSE
   8.199 +#   tristate '  PC110 digitizer pad support' CONFIG_PC110_PAD
   8.200 +#   tristate '  MK712 touch screen support' CONFIG_MK712_MOUSE
   8.201 +#fi
   8.202 +#endmenu
   8.203 +#
   8.204 +#source drivers/char/joystick/Config.in
   8.205 +#
   8.206 +#tristate 'QIC-02 tape support' CONFIG_QIC02_TAPE
   8.207 +#if [ "$CONFIG_QIC02_TAPE" != "n" ]; then
   8.208 +#   bool '  Do you want runtime configuration for QIC-02' CONFIG_QIC02_DYNCONF
   8.209 +#   if [ "$CONFIG_QIC02_DYNCONF" != "y" ]; then
   8.210 +#      comment '  Edit configuration parameters in ./include/linux/tpqic02.h!'
   8.211 +#   else
   8.212 +#      comment '  Setting runtime QIC-02 configuration is done with qic02conf'
   8.213 +#      comment '  from the tpqic02-support package.  It is available at'
   8.214 +#      comment '  metalab.unc.edu or ftp://titus.cfw.com/pub/Linux/util/'
   8.215 +#   fi
   8.216 +#fi
   8.217 +#
   8.218 +#tristate 'IPMI top-level message handler' CONFIG_IPMI_HANDLER
   8.219 +#dep_mbool '  Generate a panic event to all BMCs on a panic' CONFIG_IPMI_PANIC_EVENT $CONFIG_IPMI_HANDLER
   8.220 +#dep_tristate '  Device interface for IPMI' CONFIG_IPMI_DEVICE_INTERFACE $CONFIG_IPMI_HANDLER
   8.221 +#dep_tristate '  IPMI KCS handler' CONFIG_IPMI_KCS $CONFIG_IPMI_HANDLER
   8.222 +#dep_tristate '  IPMI Watchdog Timer' CONFIG_IPMI_WATCHDOG $CONFIG_IPMI_HANDLER
   8.223 +#
   8.224 +#mainmenu_option next_comment
   8.225 +#comment 'Watchdog Cards'
   8.226 +#bool 'Watchdog Timer Support'	CONFIG_WATCHDOG
   8.227 +#if [ "$CONFIG_WATCHDOG" != "n" ]; then
   8.228 +#   bool '  Disable watchdog shutdown on close' CONFIG_WATCHDOG_NOWAYOUT
   8.229 +#   tristate '  Acquire SBC Watchdog Timer' CONFIG_ACQUIRE_WDT
   8.230 +#   tristate '  Advantech SBC Watchdog Timer' CONFIG_ADVANTECH_WDT
   8.231 +#   tristate '  ALi M7101 PMU Watchdog Timer' CONFIG_ALIM7101_WDT
   8.232 +#   tristate '  AMD "Elan" SC520 Watchdog Timer' CONFIG_SC520_WDT
   8.233 +#   tristate '  Berkshire Products PC Watchdog' CONFIG_PCWATCHDOG
   8.234 +#   if [ "$CONFIG_FOOTBRIDGE" = "y" ]; then
   8.235 +#      tristate '  DC21285 watchdog' CONFIG_21285_WATCHDOG
   8.236 +#      if [ "$CONFIG_ARCH_NETWINDER" = "y" ]; then
   8.237 +#         tristate '  NetWinder WB83C977 watchdog' CONFIG_977_WATCHDOG
   8.238 +#      fi
   8.239 +#   fi
   8.240 +#   tristate '  Eurotech CPU-1220/1410 Watchdog Timer' CONFIG_EUROTECH_WDT
   8.241 +#   tristate '  IB700 SBC Watchdog Timer' CONFIG_IB700_WDT
   8.242 +#   tristate '  ICP ELectronics Wafer 5823 Watchdog' CONFIG_WAFER_WDT
   8.243 +#   if [ "$CONFIG_SGI_IP22" = "y" ]; then
   8.244 +#      dep_tristate '  Indy/I2 Hardware Watchdog' CONFIG_INDYDOG $CONFIG_SGI_IP22
   8.245 +#   fi
   8.246 +#   tristate '  Intel i810 TCO timer / Watchdog' CONFIG_I810_TCO
   8.247 +#   tristate '  Mixcom Watchdog' CONFIG_MIXCOMWD 
   8.248 +#   tristate '  SBC-60XX Watchdog Timer' CONFIG_60XX_WDT
   8.249 +#   dep_tristate '  SC1200 Watchdog Timer (EXPERIMENTAL)' CONFIG_SC1200_WDT $CONFIG_EXPERIMENTAL
   8.250 +#   tristate '  NatSemi SCx200 Watchdog' CONFIG_SCx200_WDT
   8.251 +#   tristate '  Software Watchdog' CONFIG_SOFT_WATCHDOG
   8.252 +#   tristate '  W83877F (EMACS) Watchdog Timer' CONFIG_W83877F_WDT
   8.253 +#   tristate '  WDT Watchdog timer' CONFIG_WDT
   8.254 +#   tristate '  WDT PCI Watchdog timer' CONFIG_WDTPCI
   8.255 +#   if [ "$CONFIG_WDT" != "n" ]; then
   8.256 +#      bool '    WDT501 features' CONFIG_WDT_501
   8.257 +#      if [ "$CONFIG_WDT_501" = "y" ]; then
   8.258 +#         bool '      Fan Tachometer' CONFIG_WDT_501_FAN
   8.259 +#      fi
   8.260 +#   fi
   8.261 +#   tristate '  ZF MachZ Watchdog' CONFIG_MACHZ_WDT
   8.262 +#   dep_tristate '  AMD 766/768 TCO Timer/Watchdog' CONFIG_AMD7XX_TCO $CONFIG_EXPERIMENTAL
   8.263 +#fi
   8.264 +#endmenu
   8.265 +#
   8.266 +#if [ "$CONFIG_ARCH_NETWINDER" = "y" ]; then
   8.267 +#   tristate 'NetWinder thermometer support' CONFIG_DS1620
   8.268 +#   tristate 'NetWinder Button' CONFIG_NWBUTTON
   8.269 +#   if [ "$CONFIG_NWBUTTON" != "n" ]; then
   8.270 +#      bool '  Reboot Using Button' CONFIG_NWBUTTON_REBOOT
   8.271 +#   fi
   8.272 +#   tristate 'NetWinder flash support' CONFIG_NWFLASH
   8.273 +#fi
   8.274 +#dep_tristate 'NatSemi SCx200 GPIO Support' CONFIG_SCx200_GPIO $CONFIG_SCx200
   8.275 +#
   8.276 +#if [ "$CONFIG_X86" = "y" -o "$CONFIG_X86_64" = "y" ]; then
   8.277 +#   dep_tristate 'AMD 768 Random Number Generator support' CONFIG_AMD_RNG $CONFIG_PCI
   8.278 +#fi
   8.279 +#if [ "$CONFIG_X86" = "y" -o "$CONFIG_IA64" = "y" ]; then
   8.280 +#   dep_tristate 'Intel i8x0 Random Number Generator support' CONFIG_INTEL_RNG $CONFIG_PCI
   8.281 +#fi
   8.282 +#dep_tristate 'AMD 76x native power management (Experimental)' CONFIG_AMD_PM768 $CONFIG_PCI
   8.283 +#tristate '/dev/nvram support' CONFIG_NVRAM
   8.284 +#tristate 'Enhanced Real Time Clock Support' CONFIG_RTC
   8.285 +#if [ "$CONFIG_IA64" = "y" ]; then
   8.286 +#   bool 'EFI Real Time Clock Services' CONFIG_EFI_RTC
   8.287 +#fi
   8.288 +#if [ "$CONFIG_OBSOLETE" = "y" -a "$CONFIG_ALPHA_BOOK1" = "y" ]; then
   8.289 +#   bool 'Tadpole ANA H8 Support (OBSOLETE)'  CONFIG_H8
   8.290 +#fi
   8.291 +#
   8.292 +#tristate 'Double Talk PC internal speech card support' CONFIG_DTLK
   8.293 +#tristate 'Siemens R3964 line discipline' CONFIG_R3964
   8.294 +#tristate 'Applicom intelligent fieldbus card support' CONFIG_APPLICOM
   8.295 +#if [ "$CONFIG_EXPERIMENTAL" = "y" -a "$CONFIG_X86" = "y" -a "$CONFIG_X86_64" != "y" ]; then
   8.296 +#   dep_tristate 'Sony Vaio Programmable I/O Control Device support (EXPERIMENTAL)' CONFIG_SONYPI $CONFIG_PCI
   8.297 +#fi
   8.298 +#
   8.299 +#mainmenu_option next_comment
   8.300 +#comment 'Ftape, the floppy tape device driver'
   8.301 +#tristate 'Ftape (QIC-80/Travan) support' CONFIG_FTAPE
   8.302 +#if [ "$CONFIG_FTAPE" != "n" ]; then
   8.303 +#   source drivers/char/ftape/Config.in
   8.304 +#fi
   8.305 +#endmenu
   8.306 +#
   8.307 +#if [ "$CONFIG_GART_IOMMU" = "y" ]; then
   8.308 +#	bool '/dev/agpgart (AGP Support)' CONFIG_AGP
   8.309 +#	define_bool CONFIG_AGP_AMD_8151 y
   8.310 +#else
   8.311 +#	tristate '/dev/agpgart (AGP Support)' CONFIG_AGP
   8.312 +#fi      
   8.313 +#if [ "$CONFIG_AGP" != "n" ]; then
   8.314 +#   bool '  Intel 440LX/BX/GX and I815/I820/I830M/I830MP/I840/I845/I850/I860 support' CONFIG_AGP_INTEL
   8.315 +#   bool '  Intel I810/I815/I830M (on-board) support' CONFIG_AGP_I810
   8.316 +#   bool '  VIA chipset support' CONFIG_AGP_VIA
   8.317 +#   bool '  AMD Irongate, 761, and 762 support' CONFIG_AGP_AMD
   8.318 +#   if [ "$CONFIG_GART_IOMMU" != "y" ]; then
   8.319 +#      bool '  AMD 8151 support' CONFIG_AGP_AMD_8151
   8.320 +#   fi   
   8.321 +#   bool '  Generic SiS support' CONFIG_AGP_SIS
   8.322 +#   bool '  ALI chipset support' CONFIG_AGP_ALI
   8.323 +#   bool '  Serverworks LE/HE support' CONFIG_AGP_SWORKS
   8.324 +#   if [ "$CONFIG_IA64" = "y" ]; then
   8.325 +#      bool '  HP ZX1 AGP support' CONFIG_AGP_HP_ZX1
   8.326 +#   fi
   8.327 +#fi
   8.328 +#
   8.329 +#bool 'Direct Rendering Manager (XFree86 DRI support)' CONFIG_DRM
   8.330 +#if [ "$CONFIG_DRM" = "y" ]; then
   8.331 +#   bool '  Build drivers for old (XFree 4.0) DRM' CONFIG_DRM_OLD
   8.332 +#   if [ "$CONFIG_DRM_OLD" = "y" ]; then
   8.333 +#      comment 'DRM 4.0 drivers'
   8.334 +#      source drivers/char/drm-4.0/Config.in
   8.335 +#   else
   8.336 +#      comment 'DRM 4.1 drivers'
   8.337 +#      define_bool CONFIG_DRM_NEW y
   8.338 +#      source drivers/char/drm/Config.in
   8.339 +#   fi
   8.340 +#fi
   8.341 +#
   8.342 +#if [ "$CONFIG_HOTPLUG" = "y" -a "$CONFIG_PCMCIA" != "n" ]; then
   8.343 +#   source drivers/char/pcmcia/Config.in
   8.344 +#fi
   8.345 +#if [ "$CONFIG_MIPS_AU1000" = "y" ]; then
   8.346 +#   tristate ' Alchemy Au1000 GPIO device support' CONFIG_AU1000_GPIO
   8.347 +#   tristate ' Au1000/ADS7846 touchscreen support' CONFIG_TS_AU1000_ADS7846
   8.348 +#fi
   8.349 +#if [ "$CONFIG_MIPS_ITE8172" = "y" ]; then
   8.350 +#  tristate ' ITE GPIO' CONFIG_ITE_GPIO
   8.351 +#fi
   8.352 +#
   8.353 +#if [ "$CONFIG_X86" = "y" ]; then
   8.354 +#   tristate 'ACP Modem (Mwave) support' CONFIG_MWAVE
   8.355 +#fi
   8.356 +
   8.357 +
   8.358 +
   8.359 +
   8.360 +
     9.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     9.2 +++ b/xenolinux-2.4.21-pre4-sparse/drivers/char/Makefile	Mon Apr 28 10:58:45 2003 +0000
     9.3 @@ -0,0 +1,339 @@
     9.4 +#
     9.5 +# Makefile for the kernel character device drivers.
     9.6 +#
     9.7 +# Note! Dependencies are done automagically by 'make dep', which also
     9.8 +# removes any old dependencies. DON'T put your own dependencies here
     9.9 +# unless it's something special (ie not a .c file).
    9.10 +#
    9.11 +# XENO INFO - this is just copied from the linux one
    9.12 +# and most is irrelevant for xenolinux and can go.
    9.13 +# (see Config.in for the relevant bits)
    9.14 +# JWS - added dummy_console to test ps2 functionality
    9.15 +
    9.16 +
    9.17 +#
    9.18 +# This file contains the font map for the default (hardware) font
    9.19 +#
    9.20 +FONTMAPFILE = cp437.uni
    9.21 +
    9.22 +O_TARGET := char.o
    9.23 +
    9.24 +obj-y	 += mem.o tty_io.o n_tty.o tty_ioctl.o raw.o pty.o misc.o random.o
    9.25 +
    9.26 +# All of the (potential) objects that export symbols.
    9.27 +# This list comes from 'grep -l EXPORT_SYMBOL *.[hc]'.
    9.28 +
    9.29 +export-objs     :=	busmouse.o console.o keyboard.o sysrq.o \
    9.30 +			misc.o pty.o random.o selection.o serial.o \
    9.31 +			sonypi.o tty_io.o tty_ioctl.o generic_serial.o \
    9.32 +			au1000_gpio.o hp_psaux.o nvram.o dummy_console.o
    9.33 +
    9.34 +mod-subdirs	:=	joystick ftape drm drm-4.0 pcmcia
    9.35 +
    9.36 +list-multi	:=	
    9.37 +
    9.38 +KEYMAP   =defkeymap.o
    9.39 +KEYBD    =pc_keyb.o
    9.40 +CONSOLE  =console.o
    9.41 +SERIAL   =serial.o
    9.42 +
    9.43 +ifeq ($(ARCH),s390)
    9.44 +  KEYMAP   =
    9.45 +  KEYBD    =
    9.46 +  CONSOLE  =
    9.47 +  SERIAL   =
    9.48 +endif
    9.49 +
    9.50 +ifeq ($(ARCH),mips)
    9.51 +  ifneq ($(CONFIG_PC_KEYB),y)
    9.52 +    KEYBD    =
    9.53 +  endif
    9.54 +endif
    9.55 +
    9.56 +ifeq ($(ARCH),s390x)
    9.57 +  KEYMAP   =
    9.58 +  KEYBD    =
    9.59 +  CONSOLE  =
    9.60 +  SERIAL   =
    9.61 +endif
    9.62 +
    9.63 +ifeq ($(ARCH),m68k)
    9.64 +   ifdef CONFIG_AMIGA
    9.65 +      KEYBD = amikeyb.o
    9.66 +   else
    9.67 +      ifndef CONFIG_MAC
    9.68 +	 KEYBD =
    9.69 +      endif
    9.70 +   endif
    9.71 +   SERIAL   =
    9.72 +endif
    9.73 +
    9.74 +ifeq ($(ARCH),parisc)
    9.75 +   ifdef CONFIG_GSC_PS2
    9.76 +      KEYBD   = hp_psaux.o hp_keyb.o
    9.77 +   else
    9.78 +      KEYBD   =
    9.79 +   endif
    9.80 +   ifdef CONFIG_SERIAL_MUX
    9.81 +      CONSOLE += mux.o
    9.82 +   endif
    9.83 +   ifdef CONFIG_PDC_CONSOLE
    9.84 +      CONSOLE += pdc_console.o
    9.85 +   endif
    9.86 +endif
    9.87 +
    9.88 +ifdef CONFIG_Q40
    9.89 +  KEYBD += q40_keyb.o
    9.90 +  SERIAL = serial.o
    9.91 +endif
    9.92 +
    9.93 +ifdef CONFIG_APOLLO
    9.94 +  KEYBD += dn_keyb.o
    9.95 +endif
    9.96 +
    9.97 +ifeq ($(ARCH),parisc)
    9.98 +   ifdef CONFIG_GSC_PS2
    9.99 +      KEYBD   = hp_psaux.o hp_keyb.o
   9.100 +   else
   9.101 +      KEYBD   =
   9.102 +   endif
   9.103 +   ifdef CONFIG_PDC_CONSOLE
   9.104 +      CONSOLE += pdc_console.o
   9.105 +   endif
   9.106 +endif
   9.107 +
   9.108 +ifeq ($(ARCH),arm)
   9.109 +  ifneq ($(CONFIG_PC_KEYMAP),y)
   9.110 +    KEYMAP   =
   9.111 +  endif
   9.112 +  ifneq ($(CONFIG_PC_KEYB),y)
   9.113 +    KEYBD    =
   9.114 +  endif
   9.115 +endif
   9.116 +
   9.117 +ifeq ($(ARCH),sh)
   9.118 +  KEYMAP   =
   9.119 +  KEYBD    =
   9.120 +  CONSOLE  =
   9.121 +  ifeq ($(CONFIG_SH_HP600),y)
   9.122 +  KEYMAP   = defkeymap.o
   9.123 +  KEYBD    = scan_keyb.o hp600_keyb.o
   9.124 +  CONSOLE  = console.o
   9.125 +  endif
   9.126 +  ifeq ($(CONFIG_SH_DMIDA),y)
   9.127 +  # DMIDA does not connect the HD64465 PS/2 keyboard port
   9.128 +  # but we allow for USB keyboards to be plugged in.
   9.129 +  KEYMAP   = defkeymap.o
   9.130 +  KEYBD    = # hd64465_keyb.o pc_keyb.o
   9.131 +  CONSOLE  = console.o
   9.132 +  endif
   9.133 +  ifeq ($(CONFIG_SH_EC3104),y)
   9.134 +  KEYMAP   = defkeymap.o
   9.135 +  KEYBD    = ec3104_keyb.o
   9.136 +  CONSOLE  = console.o
   9.137 +  endif
   9.138 +  ifeq ($(CONFIG_SH_DREAMCAST),y)
   9.139 +  KEYMAP   = defkeymap.o
   9.140 +  KEYBD    =
   9.141 +  CONSOLE  = console.o
   9.142 +  endif
   9.143 +endif
   9.144 +
   9.145 +ifeq ($(CONFIG_DECSTATION),y)
   9.146 +  KEYMAP   =
   9.147 +  KEYBD    =
   9.148 +  SERIAL   = decserial.o
   9.149 +endif
   9.150 +
   9.151 +ifeq ($(CONFIG_BAGET_MIPS),y)
   9.152 +  KEYBD    =
   9.153 +  SERIAL   =
   9.154 +endif
   9.155 +
   9.156 +ifeq ($(CONFIG_NINO),y)
   9.157 +  SERIAL   =
   9.158 +endif
   9.159 +
   9.160 +ifneq ($(CONFIG_SUN_SERIAL),)
   9.161 +  SERIAL   =
   9.162 +endif
   9.163 +
   9.164 +ifeq ($(CONFIG_QTRONIX_KEYBOARD),y)
   9.165 +  KEYBD    = qtronix.o
   9.166 +  KEYMAP   = qtronixmap.o
   9.167 +endif
   9.168 +
   9.169 +ifeq ($(CONFIG_DUMMY_KEYB),y)
   9.170 +  KEYBD = dummy_keyb.o
   9.171 +endif
   9.172 +
   9.173 +obj-$(CONFIG_VT) += vt.o vc_screen.o consolemap.o consolemap_deftbl.o $(CONSOLE) selection.o
   9.174 +
   9.175 +ifeq ($(CONFIG_VT),)
   9.176 +  obj-$(CONFIG_DUMMY_CONSOLE) += $(KEYBD) dummy_console.o
   9.177 +endif
   9.178 +
   9.179 +obj-$(CONFIG_SERIAL) += $(SERIAL)
   9.180 +obj-$(CONFIG_SERIAL_HCDP) += hcdp_serial.o
   9.181 +obj-$(CONFIG_SERIAL_21285) += serial_21285.o
   9.182 +obj-$(CONFIG_SERIAL_SA1100) += serial_sa1100.o
   9.183 +obj-$(CONFIG_SERIAL_AMBA) += serial_amba.o
   9.184 +obj-$(CONFIG_TS_AU1000_ADS7846) += au1000_ts.o
   9.185 +
   9.186 +ifndef CONFIG_SUN_KEYBOARD
   9.187 +  obj-$(CONFIG_VT) += keyboard.o $(KEYMAP) $(KEYBD)
   9.188 +else
   9.189 +  obj-$(CONFIG_PCI) += keyboard.o $(KEYMAP)
   9.190 +endif
   9.191 +
   9.192 +obj-$(CONFIG_HIL) += hp_keyb.o
   9.193 +obj-$(CONFIG_MAGIC_SYSRQ) += sysrq.o
   9.194 +obj-$(CONFIG_ATARI_DSP56K) += dsp56k.o
   9.195 +obj-$(CONFIG_ROCKETPORT) += rocket.o
   9.196 +obj-$(CONFIG_MOXA_SMARTIO) += mxser.o
   9.197 +obj-$(CONFIG_MOXA_INTELLIO) += moxa.o
   9.198 +obj-$(CONFIG_DIGI) += pcxx.o
   9.199 +obj-$(CONFIG_DIGIEPCA) += epca.o
   9.200 +obj-$(CONFIG_CYCLADES) += cyclades.o
   9.201 +obj-$(CONFIG_STALLION) += stallion.o
   9.202 +obj-$(CONFIG_ISTALLION) += istallion.o
   9.203 +obj-$(CONFIG_SIBYTE_SB1250_DUART) += sb1250_duart.o
   9.204 +obj-$(CONFIG_COMPUTONE) += ip2.o ip2main.o
   9.205 +obj-$(CONFIG_RISCOM8) += riscom8.o
   9.206 +obj-$(CONFIG_ISI) += isicom.o
   9.207 +obj-$(CONFIG_ESPSERIAL) += esp.o
   9.208 +obj-$(CONFIG_SYNCLINK) += synclink.o
   9.209 +obj-$(CONFIG_SYNCLINKMP) += synclinkmp.o
   9.210 +obj-$(CONFIG_N_HDLC) += n_hdlc.o
   9.211 +obj-$(CONFIG_SPECIALIX) += specialix.o
   9.212 +obj-$(CONFIG_AMIGA_BUILTIN_SERIAL) += amiserial.o
   9.213 +obj-$(CONFIG_A2232) += ser_a2232.o generic_serial.o
   9.214 +obj-$(CONFIG_SX) += sx.o generic_serial.o
   9.215 +obj-$(CONFIG_RIO) += rio/rio.o generic_serial.o
   9.216 +obj-$(CONFIG_SH_SCI) += sh-sci.o generic_serial.o
   9.217 +obj-$(CONFIG_SERIAL167) += serial167.o
   9.218 +obj-$(CONFIG_MVME147_SCC) += generic_serial.o vme_scc.o
   9.219 +obj-$(CONFIG_MVME162_SCC) += generic_serial.o vme_scc.o
   9.220 +obj-$(CONFIG_BVME6000_SCC) += generic_serial.o vme_scc.o
   9.221 +obj-$(CONFIG_HVC_CONSOLE) += hvc_console.o
   9.222 +obj-$(CONFIG_SERIAL_TX3912) += generic_serial.o serial_tx3912.o
   9.223 +obj-$(CONFIG_TXX927_SERIAL) += serial_txx927.o
   9.224 +
   9.225 +subdir-$(CONFIG_RIO) += rio
   9.226 +subdir-$(CONFIG_INPUT) += joystick
   9.227 +
   9.228 +obj-$(CONFIG_ATIXL_BUSMOUSE) += atixlmouse.o
   9.229 +obj-$(CONFIG_LOGIBUSMOUSE) += logibusmouse.o
   9.230 +obj-$(CONFIG_PRINTER) += lp.o
   9.231 +obj-$(CONFIG_TIPAR) += tipar.o
   9.232 +
   9.233 +ifeq ($(CONFIG_INPUT),y)
   9.234 +obj-y += joystick/js.o
   9.235 +endif
   9.236 +
   9.237 +obj-$(CONFIG_BUSMOUSE) += busmouse.o
   9.238 +obj-$(CONFIG_DTLK) += dtlk.o
   9.239 +obj-$(CONFIG_R3964) += n_r3964.o
   9.240 +obj-$(CONFIG_APPLICOM) += applicom.o
   9.241 +obj-$(CONFIG_SONYPI) += sonypi.o
   9.242 +obj-$(CONFIG_MS_BUSMOUSE) += msbusmouse.o
   9.243 +obj-$(CONFIG_82C710_MOUSE) += qpmouse.o
   9.244 +obj-$(CONFIG_AMIGAMOUSE) += amigamouse.o
   9.245 +obj-$(CONFIG_ATARIMOUSE) += atarimouse.o
   9.246 +obj-$(CONFIG_ADBMOUSE) += adbmouse.o
   9.247 +obj-$(CONFIG_PC110_PAD) += pc110pad.o
   9.248 +obj-$(CONFIG_MK712_MOUSE) += mk712.o
   9.249 +obj-$(CONFIG_RTC) += rtc.o
   9.250 +obj-$(CONFIG_EFI_RTC) += efirtc.o
   9.251 +ifeq ($(CONFIG_PPC),)
   9.252 +  obj-$(CONFIG_NVRAM) += nvram.o
   9.253 +endif
   9.254 +obj-$(CONFIG_TOSHIBA) += toshiba.o
   9.255 +obj-$(CONFIG_I8K) += i8k.o
   9.256 +obj-$(CONFIG_DS1620) += ds1620.o
   9.257 +obj-$(CONFIG_INTEL_RNG) += i810_rng.o
   9.258 +obj-$(CONFIG_AMD_RNG) += amd768_rng.o
   9.259 +obj-$(CONFIG_AMD_PM768) += amd76x_pm.o
   9.260 +
   9.261 +obj-$(CONFIG_ITE_GPIO) += ite_gpio.o
   9.262 +obj-$(CONFIG_AU1000_GPIO) += au1000_gpio.o
   9.263 +obj-$(CONFIG_COBALT_LCD) += lcd.o
   9.264 +
   9.265 +obj-$(CONFIG_QIC02_TAPE) += tpqic02.o
   9.266 +
   9.267 +subdir-$(CONFIG_FTAPE) += ftape
   9.268 +subdir-$(CONFIG_DRM_OLD) += drm-4.0
   9.269 +subdir-$(CONFIG_DRM_NEW) += drm
   9.270 +subdir-$(CONFIG_PCMCIA) += pcmcia
   9.271 +subdir-$(CONFIG_AGP) += agp
   9.272 +
   9.273 +ifeq ($(CONFIG_FTAPE),y)
   9.274 +obj-y       += ftape/ftape.o
   9.275 +endif
   9.276 +
   9.277 +obj-$(CONFIG_H8) += h8.o
   9.278 +obj-$(CONFIG_PPDEV) += ppdev.o
   9.279 +obj-$(CONFIG_DZ) += dz.o
   9.280 +obj-$(CONFIG_NWBUTTON) += nwbutton.o
   9.281 +obj-$(CONFIG_NWFLASH) += nwflash.o
   9.282 +obj-$(CONFIG_SCx200_GPIO) += scx200_gpio.o scx200.o
   9.283 +
   9.284 +# Only one watchdog can succeed. We probe the hardware watchdog
   9.285 +# drivers first, then the softdog driver.  This means if your hardware
   9.286 +# watchdog dies or is 'borrowed' for some reason the software watchdog
   9.287 +# still gives you some cover.
   9.288 +
   9.289 +obj-$(CONFIG_PCWATCHDOG) += pcwd.o
   9.290 +obj-$(CONFIG_ACQUIRE_WDT) += acquirewdt.o
   9.291 +obj-$(CONFIG_ADVANTECH_WDT) += advantechwdt.o
   9.292 +obj-$(CONFIG_IB700_WDT) += ib700wdt.o
   9.293 +obj-$(CONFIG_MIXCOMWD) += mixcomwd.o
   9.294 +obj-$(CONFIG_60XX_WDT) += sbc60xxwdt.o
   9.295 +obj-$(CONFIG_W83877F_WDT) += w83877f_wdt.o
   9.296 +obj-$(CONFIG_SC520_WDT) += sc520_wdt.o
   9.297 +obj-$(CONFIG_WDT) += wdt.o
   9.298 +obj-$(CONFIG_WDTPCI) += wdt_pci.o
   9.299 +obj-$(CONFIG_21285_WATCHDOG) += wdt285.o
   9.300 +obj-$(CONFIG_977_WATCHDOG) += wdt977.o
   9.301 +obj-$(CONFIG_I810_TCO) += i810-tco.o
   9.302 +obj-$(CONFIG_MACHZ_WDT) += machzwd.o
   9.303 +obj-$(CONFIG_SH_WDT) += shwdt.o
   9.304 +obj-$(CONFIG_EUROTECH_WDT) += eurotechwdt.o
   9.305 +obj-$(CONFIG_ALIM7101_WDT) += alim7101_wdt.o
   9.306 +#obj-$(CONFIG_ALIM1535_WDT) += alim1535d_wdt.o
   9.307 +obj-$(CONFIG_INDYDOG) += indydog.o
   9.308 +obj-$(CONFIG_SC1200_WDT) += sc1200wdt.o
   9.309 +obj-$(CONFIG_SCx200_WDT) += scx200_wdt.o
   9.310 +obj-$(CONFIG_WAFER_WDT) += wafer5823wdt.o
   9.311 +obj-$(CONFIG_SOFT_WATCHDOG) += softdog.o
   9.312 +obj-$(CONFIG_AMD7XX_TCO) += amd7xx_tco.o
   9.313 +
   9.314 +subdir-$(CONFIG_MWAVE) += mwave
   9.315 +ifeq ($(CONFIG_MWAVE),y)
   9.316 +  obj-y += mwave/mwave.o
   9.317 +endif
   9.318 +
   9.319 +subdir-$(CONFIG_IPMI_HANDLER) += ipmi
   9.320 +ifeq ($(CONFIG_IPMI_HANDLER),y)
   9.321 +  obj-y += ipmi/ipmi.o
   9.322 +endif
   9.323 +
   9.324 +include $(TOPDIR)/Rules.make
   9.325 +
   9.326 +fastdep:
   9.327 +
   9.328 +conmakehash: conmakehash.c
   9.329 +	$(HOSTCC) $(HOSTCFLAGS) -o conmakehash conmakehash.c
   9.330 +
   9.331 +consolemap_deftbl.c: $(FONTMAPFILE) conmakehash
   9.332 +	./conmakehash $(FONTMAPFILE) > consolemap_deftbl.c
   9.333 +
   9.334 +consolemap_deftbl.o: consolemap_deftbl.c $(TOPDIR)/include/linux/types.h
   9.335 +
   9.336 +.DELETE_ON_ERROR:
   9.337 +
   9.338 +defkeymap.c: defkeymap.map
   9.339 +	set -e ; loadkeys --mktable $< | sed -e 's/^static *//' > $@
   9.340 +
   9.341 +qtronixmap.c: qtronixmap.map
   9.342 +	set -e ; loadkeys --mktable $< | sed -e 's/^static *//' > $@
    10.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    10.2 +++ b/xenolinux-2.4.21-pre4-sparse/drivers/char/dummy_console.c	Mon Apr 28 10:58:45 2003 +0000
    10.3 @@ -0,0 +1,37 @@
    10.4 +// This file is unashamed hackery to allow keyboard support without console/vt support.  
    10.5 +// It could be made more useful by linking sysrq in somehow..
    10.6 +// But right now its just for testing keyboard functionality in Xen while console functionality is not yet implemented.
    10.7 +
    10.8 +#include <linux/config.h>
    10.9 +#include <linux/module.h>
   10.10 +#include <linux/sched.h>
   10.11 +#include <linux/tty.h>
   10.12 +#include <linux/tty_flip.h>
   10.13 +#include <linux/mm.h>
   10.14 +#include <linux/string.h>
   10.15 +#include <linux/random.h>
   10.16 +#include <linux/init.h>
   10.17 +
   10.18 +#include <asm/keyboard.h>
   10.19 +#include <asm/bitops.h>
   10.20 +
   10.21 +#include <linux/kbd_kern.h>
   10.22 +#include <linux/kbd_diacr.h>
   10.23 +#include <linux/vt_kern.h>
   10.24 +#include <linux/kbd_ll.h>
   10.25 +#include <linux/sysrq.h>
   10.26 +#include <linux/pm.h>
   10.27 +
   10.28 +
   10.29 +static void kbd_bh(unsigned long dummy)
   10.30 +{
   10.31 +}
   10.32 +
   10.33 +EXPORT_SYMBOL(keyboard_tasklet);
   10.34 +DECLARE_TASKLET_DISABLED(keyboard_tasklet, kbd_bh, 0);
   10.35 +
   10.36 +int (*kbd_rate)(struct kbd_repeat *rep);
   10.37 +
   10.38 +int __init kbd_init(void) {
   10.39 +  kbd_init_hw();
   10.40 +}
    11.1 --- a/xenolinux-2.4.21-pre4-sparse/drivers/char/tty_io.c	Wed Apr 23 15:21:36 2003 +0000
    11.2 +++ b/xenolinux-2.4.21-pre4-sparse/drivers/char/tty_io.c	Mon Apr 28 10:58:45 2003 +0000
    11.3 @@ -2358,6 +2358,11 @@ void __init tty_init(void)
    11.4  		panic("Couldn't register /dev/tty0 driver\n");
    11.5  
    11.6  	kbd_init();
    11.7 +#else
    11.8 +	// the below is a dodgy hack to allow keyboard/mouse support without the console support, along with the file "dummy_console.c"
    11.9 +#ifdef CONFIG_DUMMY_CONSOLE
   11.10 +	kbd_init();
   11.11 +#endif
   11.12  #endif
   11.13  
   11.14  #ifdef CONFIG_ESPSERIAL  /* init ESP before rs, so rs doesn't see the port */
    12.1 --- a/xenolinux-2.4.21-pre4-sparse/include/asm-xeno/hypervisor.h	Wed Apr 23 15:21:36 2003 +0000
    12.2 +++ b/xenolinux-2.4.21-pre4-sparse/include/asm-xeno/hypervisor.h	Mon Apr 28 10:58:45 2003 +0000
    12.3 @@ -353,4 +353,16 @@ static inline int HYPERVISOR_multicall(v
    12.4      return ret;
    12.5  }
    12.6  
    12.7 +
    12.8 +static inline long HYPERVISOR_kbd_op(unsigned char op, unsigned char val)
    12.9 +{
   12.10 +    int ret;
   12.11 +    __asm__ __volatile__ (
   12.12 +        TRAP_INSTR
   12.13 +        : "=a" (ret) : "0" (__HYPERVISOR_kbd_op),
   12.14 +        "b" (op), "c" (val) );
   12.15 +
   12.16 +    return ret;
   12.17 +}
   12.18 +
   12.19  #endif /* __HYPERVISOR_H__ */
    13.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    13.2 +++ b/xenolinux-2.4.21-pre4-sparse/include/asm-xeno/keyboard.h	Mon Apr 28 10:58:45 2003 +0000
    13.3 @@ -0,0 +1,95 @@
    13.4 +/* xenolinux/include/asm-xeno/keyboard.h */
    13.5 +/* Portions copyright (c) 2003 James Scott, Intel Research Cambridge */
    13.6 +/* Talks to hypervisor to get PS/2 keyboard and mouse events, and send keyboard and mouse commands */
    13.7 +
    13.8 +/*  Based on:
    13.9 + *  linux/include/asm-i386/keyboard.h
   13.10 + *
   13.11 + *  Created 3 Nov 1996 by Geert Uytterhoeven
   13.12 + */
   13.13 +
   13.14 +#ifndef _XENO_KEYBOARD_H
   13.15 +#define _XENO_KEYBOARD_H
   13.16 +
   13.17 +#ifdef __KERNEL__
   13.18 +
   13.19 +#include <linux/kernel.h>
   13.20 +#include <linux/ioport.h>
   13.21 +#include <linux/kd.h>
   13.22 +#include <linux/pm.h>
   13.23 +#include <asm/io.h>
   13.24 +
   13.25 +
   13.26 +#define KEYBOARD_IRQ _EVENT_KBD
   13.27 +#define AUX_IRQ _EVENT_KBD
   13.28 +
   13.29 +/* THIS SECTION RELATIVELY UNTOUCHED */
   13.30 +
   13.31 +extern int pckbd_setkeycode(unsigned int scancode, unsigned int keycode);
   13.32 +extern int pckbd_getkeycode(unsigned int scancode);
   13.33 +extern int pckbd_translate(unsigned char scancode, unsigned char *keycode,
   13.34 +			   char raw_mode);
   13.35 +extern char pckbd_unexpected_up(unsigned char keycode);
   13.36 +extern void pckbd_leds(unsigned char leds);
   13.37 +extern void pckbd_init_hw(void);
   13.38 +extern int pckbd_pm_resume(struct pm_dev *, pm_request_t, void *);
   13.39 +
   13.40 +extern pm_callback pm_kbd_request_override;
   13.41 +extern unsigned char pckbd_sysrq_xlate[128];
   13.42 +
   13.43 +#define kbd_setkeycode		pckbd_setkeycode
   13.44 +#define kbd_getkeycode		pckbd_getkeycode
   13.45 +#define kbd_translate		pckbd_translate
   13.46 +#define kbd_unexpected_up	pckbd_unexpected_up
   13.47 +#define kbd_leds		pckbd_leds
   13.48 +#define kbd_init_hw		pckbd_init_hw
   13.49 +#define kbd_sysrq_xlate		pckbd_sysrq_xlate
   13.50 +
   13.51 +#define SYSRQ_KEY 0x54
   13.52 +
   13.53 +
   13.54 +/* THIS SECTION TALKS TO XEN TO DO PS2 SUPPORT */
   13.55 +#include <asm/hypervisor-ifs/kbd.h>
   13.56 +#include <asm/hypervisor-ifs/hypervisor-if.h>
   13.57 +
   13.58 +/* resource allocation */
   13.59 +#define kbd_request_region() do { } while (0)
   13.60 +#define kbd_request_irq(handler) request_irq(_EVENT_KBD, handler, 0, "PS/2 kbd", NULL)
   13.61 +
   13.62 +// could implement these with command to xen to filter mouse stuff...
   13.63 +#define aux_request_irq(hand, dev_id) 0
   13.64 +#define aux_free_irq(dev_id) do { } while(0)
   13.65 +
   13.66 +/* Some stoneage hardware needs delays after some operations.  */
   13.67 +#define kbd_pause() do { } while(0)
   13.68 +
   13.69 +
   13.70 +static unsigned char kbd_current_scancode = 0;
   13.71 +
   13.72 +static unsigned char kbd_read_input(void) 
   13.73 +{
   13.74 +  //printk("kbd_read_input: returning scancode 0x%2x\n", kbd_current_scancode);
   13.75 +  return kbd_current_scancode;
   13.76 +}
   13.77 +
   13.78 +static unsigned char kbd_read_status(void) 
   13.79 +{
   13.80 +  long res;
   13.81 +  res = HYPERVISOR_kbd_op(KBD_OP_READ,0);
   13.82 +  if(res<0) {
   13.83 +    //printk("kbd_read_status: error from hypervisor: %d", res);
   13.84 +    kbd_current_scancode = 0;
   13.85 +    return 0; // error with our request - wrong domain?
   13.86 +  }
   13.87 +  kbd_current_scancode = KBD_CODE_SCANCODE(res);
   13.88 +  //printk("kbd_read_status: returning status 0x%2x\n", KBD_CODE_STATUS(res));
   13.89 +  return KBD_CODE_STATUS(res);
   13.90 +}
   13.91 +
   13.92 +
   13.93 +#define kbd_write_output(val)  HYPERVISOR_kbd_op(KBD_OP_WRITEOUTPUT, val);
   13.94 +#define kbd_write_command(val) HYPERVISOR_kbd_op(KBD_OP_WRITECOMMAND, val);
   13.95 +
   13.96 +
   13.97 +#endif /* __KERNEL__ */
   13.98 +#endif /* _XENO_KEYBOARD_H */
    14.1 --- a/xenolinux-2.4.21-pre4-sparse/mkbuildtree	Wed Apr 23 15:21:36 2003 +0000
    14.2 +++ b/xenolinux-2.4.21-pre4-sparse/mkbuildtree	Mon Apr 28 10:58:45 2003 +0000
    14.3 @@ -56,7 +56,6 @@ ln -sf ../asm-i386/ioctl.h
    14.4  ln -sf ../asm-i386/ioctls.h
    14.5  ln -sf ../asm-i386/ipcbuf.h
    14.6  ln -sf ../asm-i386/ipc.h 
    14.7 -ln -sf ../asm-i386/keyboard.h
    14.8  ln -sf ../asm-i386/kmap_types.h
    14.9  ln -sf ../asm-i386/ldt.h 
   14.10  ln -sf ../asm-i386/linux_logo.h