direct-io.hg
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
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)
9.1 --- a/xen/common/keyhandler.c Tue Feb 22 14:20:36 2005 +0000 9.2 +++ b/xen/common/keyhandler.c Tue Feb 22 14:28:58 2005 +0000 9.3 @@ -3,6 +3,7 @@ 9.4 * keyhandler.c 9.5 */ 9.6 9.7 +#include <asm/regs.h> 9.8 #include <xen/keyhandler.h> 9.9 #include <xen/reboot.h> 9.10 #include <xen/event.h>
10.1 --- a/xen/drivers/char/console.c Tue Feb 22 14:20:36 2005 +0000 10.2 +++ b/xen/drivers/char/console.c Tue Feb 22 14:28:58 2005 +0000 10.3 @@ -466,6 +466,20 @@ void console_force_lock(void) 10.4 spin_lock(&console_lock); 10.5 } 10.6 10.7 +void console_putc(char c) 10.8 +{ 10.9 + serial_putc(sercon_handle, c); 10.10 +} 10.11 + 10.12 +int console_getc(void) 10.13 +{ 10.14 + return serial_getc(sercon_handle); 10.15 +} 10.16 + 10.17 +int irq_console_getc(void) 10.18 +{ 10.19 + return irq_serial_getc(sercon_handle); 10.20 +} 10.21 10.22 10.23 /*
11.1 --- a/xen/include/xen/console.h Tue Feb 22 14:20:36 2005 +0000 11.2 +++ b/xen/include/xen/console.h Tue Feb 22 14:28:58 2005 +0000 11.3 @@ -22,4 +22,8 @@ void console_endboot(int disable_vga); 11.4 void console_force_unlock(void); 11.5 void console_force_lock(void); 11.6 11.7 +void console_putc(char c); 11.8 +int console_getc(void); 11.9 +int irq_console_getc(void); 11.10 + 11.11 #endif /* __CONSOLE_H__ */
12.1 --- a/xen/include/xen/keyhandler.h Tue Feb 22 14:20:36 2005 +0000 12.2 +++ b/xen/include/xen/keyhandler.h Tue Feb 22 14:28:58 2005 +0000 12.3 @@ -10,8 +10,6 @@ 12.4 #ifndef __XEN_KEYHANDLER_H__ 12.5 #define __XEN_KEYHANDLER_H__ 12.6 12.7 -#include <asm/regs.h> 12.8 - 12.9 /* 12.10 * Register a callback function for key @key. The callback occurs in 12.11 * softirq context with no locks held and interrupts enabled.