ia64/xen-unstable

changeset 3892:ff8c9a2be5f7

bitkeeper revision 1.1235 (421b41aazjnSo8DpSfrNQiqgpP1Dmw)

Merge burn.cl.cam.ac.uk:/auto/groups/xeno-xenod/BK/xen-unstable.bk
into burn.cl.cam.ac.uk:/local/scratch-1/maf46/xen-unstable.bk

Signed-off-by: michael.fetterman@cl.cam.ac.uk
author maf46@burn.cl.cam.ac.uk
date Tue Feb 22 14:28:58 2005 +0000 (2005-02-22)
parents bedb2b313393 afd4d93e8891
children 1e288d225372
files buildconfigs/Rules.mk buildconfigs/mk.linux-2.4-xen0 buildconfigs/mk.linux-2.4-xenU buildconfigs/mk.linux-2.6-xen0 buildconfigs/mk.linux-2.6-xenU linux-2.6.10-xen-sparse/arch/xen/configs/xen0_defconfig linux-2.6.10-xen-sparse/arch/xen/kernel/evtchn.c patches/linux-2.6.10/agpgart.patch xen/common/keyhandler.c xen/drivers/char/console.c xen/include/xen/console.h xen/include/xen/keyhandler.h
line diff
     1.1 --- a/buildconfigs/Rules.mk	Tue Feb 22 14:20:36 2005 +0000
     1.2 +++ b/buildconfigs/Rules.mk	Tue Feb 22 14:28:58 2005 +0000
     1.3 @@ -61,6 +61,9 @@ pristine-%: %.tar.bz2
     1.4  %-clean:
     1.5  	$(MAKE) -f buildconfigs/mk.$* clean
     1.6  
     1.7 +%-config:
     1.8 +	$(MAKE) -f buildconfigs/mk.$* config
     1.9 +
    1.10  %-xen.patch: pristine-%
    1.11  	rm -rf tmp-$@
    1.12  	cp -al $< tmp-$@
     2.1 --- a/buildconfigs/mk.linux-2.4-xen0	Tue Feb 22 14:20:36 2005 +0000
     2.2 +++ b/buildconfigs/mk.linux-2.4-xen0	Tue Feb 22 14:28:58 2005 +0000
     2.3 @@ -44,6 +44,11 @@ patches/tmp/ebtables.diff:
     2.4  	make -C $(LINUX_DIR) ARCH=xen oldconfig
     2.5  	make -C $(LINUX_DIR) ARCH=xen dep
     2.6  
     2.7 +config: CONFIGMODE = menuconfig
     2.8 +config: $(LINUX_DIR)/include/linux/autoconf.h
     2.9 +	$(MAKE) -C $(LINUX_DIR) ARCH=xen $(CONFIGMODE)
    2.10 +	$(MAKE) -C $(LINUX_DIR) ARCH=xen dep
    2.11 +
    2.12  clean:
    2.13  	$(MAKE) -C $(LINUX_DIR) ARCH=xen clean
    2.14  
     3.1 --- a/buildconfigs/mk.linux-2.4-xenU	Tue Feb 22 14:20:36 2005 +0000
     3.2 +++ b/buildconfigs/mk.linux-2.4-xenU	Tue Feb 22 14:28:58 2005 +0000
     3.3 @@ -37,6 +37,11 @@ build: $(LINUX_DIR)/include/linux/autoco
     3.4  	make -C $(LINUX_DIR) ARCH=xen oldconfig
     3.5  	make -C $(LINUX_DIR) ARCH=xen dep
     3.6  
     3.7 +config: CONFIGMODE = menuconfig
     3.8 +config: $(LINUX_DIR)/include/linux/autoconf.h
     3.9 +	$(MAKE) -C $(LINUX_DIR) ARCH=xen $(CONFIGMODE)
    3.10 +	$(MAKE) -C $(LINUX_DIR) ARCH=xen dep
    3.11 +
    3.12  clean:
    3.13  	$(MAKE) -C $(LINUX_DIR) ARCH=xen clean
    3.14  
     4.1 --- a/buildconfigs/mk.linux-2.6-xen0	Tue Feb 22 14:20:36 2005 +0000
     4.2 +++ b/buildconfigs/mk.linux-2.6-xen0	Tue Feb 22 14:28:58 2005 +0000
     4.3 @@ -36,6 +36,10 @@ build: $(LINUX_DIR)/include/linux/autoco
     4.4  		$(LINUX_DIR)/.config
     4.5  	$(MAKE) -C $(LINUX_DIR) ARCH=xen oldconfig
     4.6  
     4.7 +config: CONFIGMODE = menuconfig
     4.8 +config: $(LINUX_DIR)/include/linux/autoconf.h
     4.9 +	$(MAKE) -C $(LINUX_DIR) ARCH=xen $(CONFIGMODE)
    4.10 +
    4.11  clean:
    4.12  	$(MAKE) -C $(LINUX_DIR) ARCH=xen clean
    4.13  
     5.1 --- a/buildconfigs/mk.linux-2.6-xenU	Tue Feb 22 14:20:36 2005 +0000
     5.2 +++ b/buildconfigs/mk.linux-2.6-xenU	Tue Feb 22 14:28:58 2005 +0000
     5.3 @@ -36,6 +36,10 @@ build: $(LINUX_DIR)/include/linux/autoco
     5.4  		$(LINUX_DIR)/.config
     5.5  	$(MAKE) -C $(LINUX_DIR) ARCH=xen oldconfig
     5.6  
     5.7 +config: CONFIGMODE = menuconfig
     5.8 +config: $(LINUX_DIR)/include/linux/autoconf.h
     5.9 +	$(MAKE) -C $(LINUX_DIR) ARCH=xen $(CONFIGMODE)
    5.10 +
    5.11  clean:
    5.12  	$(MAKE) -C $(LINUX_DIR) ARCH=xen clean
    5.13  
     6.1 --- a/linux-2.6.10-xen-sparse/arch/xen/configs/xen0_defconfig	Tue Feb 22 14:20:36 2005 +0000
     6.2 +++ b/linux-2.6.10-xen-sparse/arch/xen/configs/xen0_defconfig	Tue Feb 22 14:28:58 2005 +0000
     6.3 @@ -21,9 +21,9 @@ CONFIG_XEN_NETDEV_FRONTEND=y
     6.4  # CONFIG_XEN_BLKDEV_TAP is not set
     6.5  CONFIG_XEN_WRITABLE_PAGETABLES=y
     6.6  CONFIG_XEN_SCRUB_PAGES=y
     6.7 -CONFIG_HAVE_ARCH_DEV_ALLOC_SKB=y
     6.8  CONFIG_X86=y
     6.9  # CONFIG_X86_64 is not set
    6.10 +CONFIG_HAVE_ARCH_DEV_ALLOC_SKB=y
    6.11  
    6.12  #
    6.13  # Code maturity level options
    6.14 @@ -50,7 +50,6 @@ CONFIG_KOBJECT_UEVENT=y
    6.15  # CONFIG_IKCONFIG is not set
    6.16  # CONFIG_EMBEDDED is not set
    6.17  CONFIG_KALLSYMS=y
    6.18 -# CONFIG_KALLSYMS_ALL is not set
    6.19  # CONFIG_KALLSYMS_EXTRA_PASS is not set
    6.20  CONFIG_FUTEX=y
    6.21  CONFIG_EPOLL=y
    6.22 @@ -187,7 +186,6 @@ CONFIG_BINFMT_ELF=y
    6.23  # CONFIG_STANDALONE is not set
    6.24  CONFIG_PREVENT_FIRMWARE_BUILD=y
    6.25  # CONFIG_FW_LOADER is not set
    6.26 -# CONFIG_DEBUG_DRIVER is not set
    6.27  
    6.28  #
    6.29  # Memory Technology Devices (MTD)
    6.30 @@ -803,8 +801,28 @@ CONFIG_LEGACY_PTY_COUNT=256
    6.31  # Ftape, the floppy tape device driver
    6.32  #
    6.33  # CONFIG_FTAPE is not set
    6.34 -# CONFIG_AGP is not set
    6.35 -# CONFIG_DRM is not set
    6.36 +CONFIG_AGP=m
    6.37 +CONFIG_AGP_ALI=m
    6.38 +CONFIG_AGP_ATI=m
    6.39 +CONFIG_AGP_AMD=m
    6.40 +CONFIG_AGP_AMD64=m
    6.41 +CONFIG_AGP_INTEL=m
    6.42 +CONFIG_AGP_INTEL_MCH=m
    6.43 +CONFIG_AGP_NVIDIA=m
    6.44 +CONFIG_AGP_SIS=m
    6.45 +CONFIG_AGP_SWORKS=m
    6.46 +CONFIG_AGP_VIA=m
    6.47 +# CONFIG_AGP_EFFICEON is not set
    6.48 +CONFIG_DRM=y
    6.49 +CONFIG_DRM_TDFX=m
    6.50 +# CONFIG_DRM_GAMMA is not set
    6.51 +CONFIG_DRM_R128=m
    6.52 +CONFIG_DRM_RADEON=m
    6.53 +CONFIG_DRM_I810=m
    6.54 +CONFIG_DRM_I830=m
    6.55 +CONFIG_DRM_I915=m
    6.56 +CONFIG_DRM_MGA=m
    6.57 +CONFIG_DRM_SIS=m
    6.58  # CONFIG_MWAVE is not set
    6.59  # CONFIG_RAW_DRIVER is not set
    6.60  # CONFIG_HANGCHECK_TIMER is not set
     7.1 --- a/linux-2.6.10-xen-sparse/arch/xen/kernel/evtchn.c	Tue Feb 22 14:20:36 2005 +0000
     7.2 +++ b/linux-2.6.10-xen-sparse/arch/xen/kernel/evtchn.c	Tue Feb 22 14:28:58 2005 +0000
     7.3 @@ -63,7 +63,7 @@ static int irq_to_evtchn[NR_IRQS];
     7.4  DEFINE_PER_CPU(int, virq_to_irq[NR_VIRQS]);
     7.5  
     7.6  /* evtchn <-> IPI mapping. */
     7.7 -#ifndef NR_IPIS    // XXX SMH: temp fix for 2.4 
     7.8 +#ifndef NR_IPIS
     7.9  #define NR_IPIS 1 
    7.10  #endif
    7.11  DEFINE_PER_CPU(int, ipi_to_evtchn[NR_IPIS]);
    7.12 @@ -99,46 +99,36 @@ void force_evtchn_callback(void)
    7.13      (void)HYPERVISOR_xen_version(0);
    7.14  }
    7.15  
    7.16 +/* NB. Interrupts are disabled on entry. */
    7.17  asmlinkage void evtchn_do_upcall(struct pt_regs *regs)
    7.18  {
    7.19      unsigned long  l1, l2;
    7.20      unsigned int   l1i, l2i, port;
    7.21      int            irq;
    7.22 -    unsigned long  flags;
    7.23      shared_info_t *s = HYPERVISOR_shared_info;
    7.24      vcpu_info_t   *vcpu_info = &s->vcpu_data[smp_processor_id()];
    7.25  
    7.26 -    local_irq_save(flags);
    7.27 +    vcpu_info->evtchn_upcall_pending = 0;
    7.28      
    7.29 -    while ( vcpu_info->evtchn_upcall_pending )
    7.30 +    /* NB. No need for a barrier here -- XCHG is a barrier on x86. */
    7.31 +    l1 = xchg(&vcpu_info->evtchn_pending_sel, 0);
    7.32 +    while ( l1 != 0 )
    7.33      {
    7.34 -        vcpu_info->evtchn_upcall_pending = 0;
    7.35 -        /* NB. No need for a barrier here -- XCHG is a barrier on x86. */
    7.36 -        l1 = xchg(&vcpu_info->evtchn_pending_sel, 0);
    7.37 -        while ( (l1i = ffs(l1)) != 0 )
    7.38 -        {
    7.39 -            l1i--;
    7.40 -            l1 &= ~(1 << l1i);
    7.41 +        l1i = __ffs(l1);
    7.42 +        l1 &= ~(1 << l1i);
    7.43          
    7.44 -            for ( ;; )
    7.45 -            {
    7.46 -                l2 = s->evtchn_pending[l1i] & ~s->evtchn_mask[l1i];
    7.47 -                l2i = ffs(l2);
    7.48 -                if ( l2i == 0 )
    7.49 -                    break;
    7.50 -                l2i--;
    7.51 -                l2 &= ~(1 << l2i);
    7.52 +        while ( (l2 = s->evtchn_pending[l1i] & ~s->evtchn_mask[l1i]) != 0 )
    7.53 +        {
    7.54 +            l2i = __ffs(l2);
    7.55 +            l2 &= ~(1 << l2i);
    7.56              
    7.57 -                port = (l1i << 5) + l2i;
    7.58 -                if ( (irq = evtchn_to_irq[port]) != -1 )
    7.59 -                    do_IRQ(irq, regs);
    7.60 -                else
    7.61 -                    evtchn_device_upcall(port);
    7.62 -            }
    7.63 +            port = (l1i << 5) + l2i;
    7.64 +            if ( (irq = evtchn_to_irq[port]) != -1 )
    7.65 +                do_IRQ(irq, regs);
    7.66 +            else
    7.67 +                evtchn_device_upcall(port);
    7.68          }
    7.69      }
    7.70 -
    7.71 -    local_irq_restore(flags);
    7.72  }
    7.73  
    7.74  static int find_unbound_irq(void)
     8.1 --- a/xen/common/keyhandler.c	Tue Feb 22 14:20:36 2005 +0000
     8.2 +++ b/xen/common/keyhandler.c	Tue Feb 22 14:28:58 2005 +0000
     8.3 @@ -3,6 +3,7 @@
     8.4   * keyhandler.c
     8.5   */
     8.6  
     8.7 +#include <asm/regs.h>
     8.8  #include <xen/keyhandler.h> 
     8.9  #include <xen/reboot.h>
    8.10  #include <xen/event.h>
     9.1 --- a/xen/drivers/char/console.c	Tue Feb 22 14:20:36 2005 +0000
     9.2 +++ b/xen/drivers/char/console.c	Tue Feb 22 14:28:58 2005 +0000
     9.3 @@ -466,6 +466,20 @@ void console_force_lock(void)
     9.4      spin_lock(&console_lock);
     9.5  }
     9.6  
     9.7 +void console_putc(char c)
     9.8 +{
     9.9 +    serial_putc(sercon_handle, c);
    9.10 +}
    9.11 +
    9.12 +int console_getc(void)
    9.13 +{
    9.14 +    return serial_getc(sercon_handle);
    9.15 +}
    9.16 +
    9.17 +int irq_console_getc(void)
    9.18 +{
    9.19 +    return irq_serial_getc(sercon_handle);
    9.20 +}
    9.21  
    9.22  
    9.23  /*
    10.1 --- a/xen/include/xen/console.h	Tue Feb 22 14:20:36 2005 +0000
    10.2 +++ b/xen/include/xen/console.h	Tue Feb 22 14:28:58 2005 +0000
    10.3 @@ -22,4 +22,8 @@ void console_endboot(int disable_vga);
    10.4  void console_force_unlock(void);
    10.5  void console_force_lock(void);
    10.6  
    10.7 +void console_putc(char c);
    10.8 +int console_getc(void);
    10.9 +int irq_console_getc(void);
   10.10 +
   10.11  #endif /* __CONSOLE_H__ */
    11.1 --- a/xen/include/xen/keyhandler.h	Tue Feb 22 14:20:36 2005 +0000
    11.2 +++ b/xen/include/xen/keyhandler.h	Tue Feb 22 14:28:58 2005 +0000
    11.3 @@ -10,8 +10,6 @@
    11.4  #ifndef __XEN_KEYHANDLER_H__
    11.5  #define __XEN_KEYHANDLER_H__
    11.6  
    11.7 -#include <asm/regs.h>
    11.8 -
    11.9  /*
   11.10   * Register a callback function for key @key. The callback occurs in
   11.11   * softirq context with no locks held and interrupts enabled.