Skip to contentSkip to conversation

test patch relative to 2.5.30

Linux-ia64 David Mosberger 2 participants 3 messages Aug 10, 2002 – Aug 12, 2002

Subsystems (29)
lore
Share & tools
lore
#0 lore raw

Below is a quick patch for 2.5.30. Warning: it has been tested only lightly. It worked for me on a Big Sur in UP mode. I think MP is broken at the moment. My focus was to try to get the AGP/DRM code into shape so we can have it merged into 2.5. The primary reason I tought it would be good to make this barely tested patch available is because 2.5.29 likes to eat filesystems on IDE disks (it ate the rootfs on one of my machines and subtly corrupted a couple of files on another machine...). With 2.5.30, I haven't seen any file corruption so far, but your mileage obviously may vary.

	--david
Documentation/mmio_barrier.txt new file +15 -0
diff -Nru a/Documentation/mmio_barrier.txt b/Documentation/mmio_barrier.txt
@@ -0,0 +1,15 @@
+On some platforms, so-called memory-mapped I/O is weakly ordered.  For
+example, the following might occur:
+
+CPU A writes 0x1 to Device #1
+CPU B writes 0x2 to Device #1
+Device #1 sees 0x2
+Device #1 sees 0x1
+
+On such platforms, driver writers are responsible for ensuring that I/O
+writes to memory-mapped addresses on their device arrive in the order
+intended.  The mmiob() macro is provided for this purpose.  A typical use
+of this macro might be immediately prior to the exit of a critical
+section of code proteced by spinlocks.  This would ensure that subsequent
+writes to I/O space arrived only after all prior writes (much like a
+typical memory barrier op, mb(), only with respect to I/O).
Makefile +1 -1
diff -Nru a/Makefile b/Makefile
@@ -221,7 +221,7 @@
 
 CPPFLAGS := -D__KERNEL__ -I$(HPATH)
 
-CFLAGS := $(CPPFLAGS) -Wall -Wstrict-prototypes -Wno-trigraphs -O2 \
+CFLAGS := $(CPPFLAGS) -Wall -Wstrict-prototypes -Wno-trigraphs -g -O2 \
 	  -fomit-frame-pointer -fno-strict-aliasing -fno-common
 AFLAGS := -D__ASSEMBLY__ $(CPPFLAGS)
 
arch/i386/mm/fault.c +0 -2
diff -Nru a/arch/i386/mm/fault.c b/arch/i386/mm/fault.c
@@ -28,8 +28,6 @@
 
 extern void die(const char *,struct pt_regs *,long);
 
-extern int console_loglevel;
-
 /*
  * Ugly, ugly, but the goto's result in better assembly..
  */
arch/ia64/Makefile +1 -1
diff -Nru a/arch/ia64/Makefile b/arch/ia64/Makefile
@@ -13,7 +13,7 @@
 
 export AWK
 
-OBJCOPYFLAGS := --strip-all 
+OBJCOPYFLAGS := --strip-all
 LDFLAGS_vmlinux := -static -T arch/$(ARCH)/vmlinux.lds
 AFLAGS_KERNEL := -mconstant-gp
 EXTRA	@@ -26,7 +26,7 @@

GCC_VERSION=$(shell $(CC) -v 2>&1 | fgrep 'gcc version' | cut -f3 -d' ' | cut -f1 -d'.')

ifneq ($(GCC_VERSION),2)
- CFLAGS += -frename-registers --param max-inline-insns 00
+ CFLAGS += -frename-registers --param max-inline-insnsP00
endif

ifeq ($(CONFIG_ITANIUM_BSTEP_SPECIFIC),y)

arch/ia64/boot/Makefile +4 -2
diff -Nru a/arch/ia64/boot/Makefile b/arch/ia64/boot/Makefile
@@ -12,8 +12,10 @@
 
 OBJECTS	= bootloader.o
 
-targets-$(CONFIG_IA64_HP_SIM) += bootloader
-targets-$(CONFIG_IA64_GENERIC) += bootloader
+targets-$(CONFIG_IA64_HP_SIM)	+= bootloader
+targets-$(CONFIG_IA64_GENERIC)	+= bootloader
+
+CFLAGS	:= $(CFLAGS) $(CFLAGS_KERNEL)
 
 all:	$(targets-y)
 
arch/ia64/config.in +93 -96

252 lines not on this page · raw message

arch/ia64/hp/Config.in deleted +0 -9
diff -Nru a/arch/ia64/hp/Config.in b/arch/ia64/hp/Config.in
@@ -1,9 +0,0 @@
-mainmenu_option next_comment
-comment 'HP Simulator drivers'
-
-bool 'Simulated Ethernet ' CONFIG_HP_SIMETH
-bool 'Simulated serial driver support' CONFIG_HP_SIMSERIAL
-if [ "$CONFIG_SCSI" != "n" ]; then
-  bool 'Simulated SCSI disk' CONFIG_HP_SIMSCSI
-fi
-endmenu
arch/ia64/hp/common/sba_iommu.c +163 -336

841 lines not on this page · raw message

arch/ia64/hp/sim/Config.in new file +9 -0
diff -Nru a/arch/ia64/hp/sim/Config.in b/arch/ia64/hp/sim/Config.in
@@ -0,0 +1,9 @@
+mainmenu_option next_comment
+comment 'HP Simulator drivers'
+
+bool 'Simulated Ethernet ' CONFIG_HP_SIMETH
+bool 'Simulated serial driver support' CONFIG_HP_SIMSERIAL
+if [ "$CONFIG_SCSI" != "n" ]; then
+  bool 'Simulated SCSI disk' CONFIG_HP_SIMSCSI
+fi
+endmenu
arch/ia64/hp/sim/hpsim_console.c +6 -6
diff -Nru a/arch/ia64/hp/sim/hpsim_console.c b/arch/ia64/hp/sim/hpsim_console.c
@@ -30,12 +30,12 @@
 static kdev_t simcons_console_device (struct console *);
 
 struct console hpsim_cons = {
-	name:		"simcons",
-	write:		simcons_write,
-	device:		simcons_console_device,
-	setup:		simcons_init,
-	flags:		CON_PRINTBUFFER,
-	index:		-1,
+	.name =		"simcons",
+	.write =	simcons_write,
+	.device =	simcons_console_device,
+	.setup =	simcons_init,
+	.flags =	CON_PRINTBUFFER,
+	.index =	-1,
 };
 
 static int
arch/ia64/hp/sim/hpsim_irq.c +8 -8
diff -Nru a/arch/ia64/hp/sim/hpsim_irq.c b/arch/ia64/hp/sim/hpsim_irq.c
@@ -22,14 +22,14 @@
 }
 
 static struct hw_interrupt_type irq_type_hp_sim = {
-	typename:	"hpsim",
-	startup:	hpsim_irq_startup,
-	shutdown:	hpsim_irq_noop,
-	enable:		hpsim_irq_noop,
-	disable:	hpsim_irq_noop,
-	ack:		hpsim_irq_noop,
-	end:		hpsim_irq_noop,
-	set_affinity:	(void (*)(unsigned int, unsigned long)) hpsim_irq_noop,
+	.typename =	"hpsim",
+	.startup =	hpsim_irq_startup,
+	.shutdown =	hpsim_irq_noop,
+	.enable =	hpsim_irq_noop,
+	.disable =	hpsim_irq_noop,
+	.ack =		hpsim_irq_noop,
+	.end =		hpsim_irq_noop,
+	.set_affinity =	(void (*)(unsigned int, unsigned long)) hpsim_irq_noop,
 };
 
 void __init
arch/ia64/hp/sim/hpsim_setup.c +7 -6
diff -Nru a/arch/ia64/hp/sim/hpsim_setup.c b/arch/ia64/hp/sim/hpsim_setup.c
@@ -1,18 +1,19 @@
 /*
  * Platform dependent support for HP simulator.
  *
- * Copyright (C) 1998, 1999 Hewlett-Packard Co
- * Copyright (C) 1998, 1999 David Mosberger-Tang <[email protected]>
+ * Copyright (C) 1998, 1999, 2002 Hewlett-Packard Co
+ *	David Mosberger-Tang <[email protected]>
  * Copyright (C) 1999 Vijay Chander <[email protected]>
  */
+#include <linux/console.h>
 #include <linux/init.h>
+#include <linux/kdev_t.h>
 #include <linux/kernel.h>
+#include <linux/major.h>
 #include <linux/param.h>
+#include <linux/root_dev.h>
 #include <linux/string.h>
 #include <linux/types.h>
-#include <linux/kdev_t.h>
-#include <linux/console.h>
-#include <linux/root_dev.h>
 
 #include <asm/delay.h>
 #include <asm/irq.h>
@@ -55,5 +56,5 @@
 {
 	ROOT_DEV = Root_SDA1;		/* default to first SCSI drive */
 
-	register_console (&hpsim_cons);
+	register_console(&hpsim_cons);
 }
arch/ia64/hp/sim/simscsi.c +39 -11

93 lines not on this page · raw message

arch/ia64/hp/sim/simserial.c +67 -60

244 lines not on this page · raw message

arch/ia64/hp/zx1/hpzx1_machvec.c +0 -2
diff -Nru a/arch/ia64/hp/zx1/hpzx1_machvec.c b/arch/ia64/hp/zx1/hpzx1_machvec.c
@@ -1,4 +1,2 @@
 #define MACHVEC_PLATFORM_NAME	hpzx1
 #include <asm/machvec_init.h>
-#define MACHVEC_PLATFORM_NAME	hpzx1
-#include <asm/machvec_init.h>
arch/ia64/hp/zx1/hpzx1_misc.c +153 -187

460 lines not on this page · raw message

arch/ia64/ia32/binfmt_elf32.c +1 -1
diff -Nru a/arch/ia64/ia32/binfmt_elf32.c b/arch/ia64/ia32/binfmt_elf32.c
@@ -67,7 +67,7 @@
 }
 
 static struct vm_operations_struct ia32_shared_page_vm_ops = {
-	nopage:	ia32_install_shared_page
+	.nopage =ia32_install_shared_page
 };
 
 void
arch/ia64/ia32/ia32_ioctl.c +2 -0
diff -Nru a/arch/ia64/ia32/ia32_ioctl.c b/arch/ia64/ia32/ia32_ioctl.c
@@ -30,6 +30,8 @@
 #include <asm/ia32.h>
 
 #include <../drivers/char/drm/drm.h>
+#include <../drivers/char/drm/mga_drm.h>
+#include <../drivers/char/drm/i810_drm.h>
 
 
 #define IOCTL_NR(a)	((a) & ~(_IOC_SIZEMASK << _IOC_SIZESHIFT))
arch/ia64/kernel/acpi.c +116 -125

489 lines not on this page · raw message

arch/ia64/kernel/efi.c +126 -24

199 lines not on this page · raw message

arch/ia64/kernel/entry.S +1 -0
diff -Nru a/arch/ia64/kernel/entry.S b/arch/ia64/kernel/entry.S
@@ -175,6 +175,7 @@
 (p6)	srlz.d
 	ld8 sp=[r21]			// load kernel stack pointer of new task
 	mov IA64_KR(CURRENT)=r20	// update "current" application register
+	mov r8=r13			// return pointer to previously running task
 	mov r13=in0			// set "current" pointer
 	;;
 	DO_LOAD_SWITCH_STACK
arch/ia64/kernel/ia64_ksyms.c +0 -6
diff -Nru a/arch/ia64/kernel/ia64_ksyms.c b/arch/ia64/kernel/ia64_ksyms.c
@@ -88,12 +88,6 @@
 #include <asm/smplock.h>
 EXPORT_SYMBOL(kernel_flag);
 
-/* #include <asm/system.h> */
-EXPORT_SYMBOL(__global_sti);
-EXPORT_SYMBOL(__global_cli);
-EXPORT_SYMBOL(__global_save_flags);
-EXPORT_SYMBOL(__global_restore_flags);
-
 #else /* !CONFIG_SMP */
 
 EXPORT_SYMBOL(__flush_tlb_all);
arch/ia64/kernel/init_task.c +2 -2
diff -Nru a/arch/ia64/kernel/init_task.c b/arch/ia64/kernel/init_task.c
@@ -34,8 +34,8 @@
 	} s;
 	unsigned long stack[KERNEL_STACK_SIZE/sizeof (unsigned long)];
 } init_thread_union __attribute__((section(".data.init_task"))) = {{
-	task: INIT_TASK(init_thread_union.s.task),
-	thread_info: INIT_THREAD_INFO(init_thread_union.s.thread_info)
+	.task =		INIT_TASK(init_thread_union.s.task),
+	.thread_info =	INIT_THREAD_INFO(init_thread_union.s.thread_info)
 }};
 
 asm (".global init_task; init_task = init_thread_union");
arch/ia64/kernel/iosapic.c +32 -27

123 lines not on this page · raw message

arch/ia64/kernel/irq.c +21 -290

111 lines not on this page · raw message

arch/ia64/kernel/irq_ia64.c +15 -3
diff -Nru a/arch/ia64/kernel/irq_ia64.c b/arch/ia64/kernel/irq_ia64.c

Lines of this file are not shown. View the raw message.

arch/ia64/kernel/irq_lsapic.c +8 -8
diff -Nru a/arch/ia64/kernel/irq_lsapic.c b/arch/ia64/kernel/irq_lsapic.c

Lines of this file are not shown. View the raw message.

arch/ia64/kernel/machvec.c +6 -3
diff -Nru a/arch/ia64/kernel/machvec.c b/arch/ia64/kernel/machvec.c

Lines of this file are not shown. View the raw message.

arch/ia64/kernel/mca.c +18 -15
diff -Nru a/arch/ia64/kernel/mca.c b/arch/ia64/kernel/mca.c

Lines of this file are not shown. View the raw message.

arch/ia64/kernel/mca_asm.S +2 -2
diff -Nru a/arch/ia64/kernel/mca_asm.S b/arch/ia64/kernel/mca_asm.S

Lines of this file are not shown. View the raw message.

arch/ia64/kernel/pci.c +29 -4
diff -Nru a/arch/ia64/kernel/pci.c b/arch/ia64/kernel/pci.c

Lines of this file are not shown. View the raw message.

arch/ia64/kernel/perfmon.c +61 -56

117 lines not on this page · raw message

arch/ia64/kernel/perfmon_itanium.h new file +99 -0

99 lines not on this page · raw message

arch/ia64/kernel/perfmon_mckinley.h new file +134 -0

134 lines not on this page · raw message

arch/ia64/kernel/process.c +5 -0
diff -Nru a/arch/ia64/kernel/process.c b/arch/ia64/kernel/process.c

Lines of this file are not shown. View the raw message.

arch/ia64/kernel/setup.c +25 -6
diff -Nru a/arch/ia64/kernel/setup.c b/arch/ia64/kernel/setup.c

Lines of this file are not shown. View the raw message.

arch/ia64/kernel/signal.c +1 -0
diff -Nru a/arch/ia64/kernel/signal.c b/arch/ia64/kernel/signal.c

Lines of this file are not shown. View the raw message.

arch/ia64/kernel/smpboot.c +44 -51

95 lines not on this page · raw message

arch/ia64/kernel/sys_ia64.c +0 -5
diff -Nru a/arch/ia64/kernel/sys_ia64.c b/arch/ia64/kernel/sys_ia64.c

Lines of this file are not shown. View the raw message.

arch/ia64/kernel/time.c +15 -14
diff -Nru a/arch/ia64/kernel/time.c b/arch/ia64/kernel/time.c

Lines of this file are not shown. View the raw message.

arch/ia64/kernel/traps.c +49 -25

74 lines not on this page · raw message

arch/ia64/kernel/unwind.c +10 -9
diff -Nru a/arch/ia64/kernel/unwind.c b/arch/ia64/kernel/unwind.c

Lines of this file are not shown. View the raw message.

arch/ia64/lib/Makefile +25 -19

44 lines not on this page · raw message

arch/ia64/lib/copy_user.S +5 -3
diff -Nru a/arch/ia64/lib/copy_user.S b/arch/ia64/lib/copy_user.S

Lines of this file are not shown. View the raw message.

arch/ia64/lib/io.c +9 -0
diff -Nru a/arch/ia64/lib/io.c b/arch/ia64/lib/io.c

Lines of this file are not shown. View the raw message.

arch/ia64/lib/memcpy_mck.S new file +674 -0

674 lines not on this page · raw message

arch/ia64/lib/swiotlb.c +16 -15
diff -Nru a/arch/ia64/lib/swiotlb.c b/arch/ia64/lib/swiotlb.c

Lines of this file are not shown. View the raw message.

arch/ia64/mm/init.c +20 -7
diff -Nru a/arch/ia64/mm/init.c b/arch/ia64/mm/init.c

Lines of this file are not shown. View the raw message.

arch/ia64/mm/tlb.c +12 -5
diff -Nru a/arch/ia64/mm/tlb.c b/arch/ia64/mm/tlb.c

Lines of this file are not shown. View the raw message.

arch/ia64/sn/io/ifconfig_net.c +3 -3
diff -Nru a/arch/ia64/sn/io/ifconfig_net.c b/arch/ia64/sn/io/ifconfig_net.c

Lines of this file are not shown. View the raw message.

arch/ia64/sn/io/pciba.c +14 -14
diff -Nru a/arch/ia64/sn/io/pciba.c b/arch/ia64/sn/io/pciba.c

Lines of this file are not shown. View the raw message.

arch/ia64/sn/io/sn1/hubcounters.c +1 -1
diff -Nru a/arch/ia64/sn/io/sn1/hubcounters.c b/arch/ia64/sn/io/sn1/hubcounters.c

Lines of this file are not shown. View the raw message.

arch/ia64/sn/io/sn1/pcibr.c +16 -16
diff -Nru a/arch/ia64/sn/io/sn1/pcibr.c b/arch/ia64/sn/io/sn1/pcibr.c

Lines of this file are not shown. View the raw message.

arch/ia64/sn/io/sn2/pcibr/pcibr_dvr.c +16 -16
diff -Nru a/arch/ia64/sn/io/sn2/pcibr/pcibr_dvr.c b/arch/ia64/sn/io/sn2/pcibr/pcibr_dvr.c

Lines of this file are not shown. View the raw message.

arch/ia64/sn/kernel/setup.c +11 -11
diff -Nru a/arch/ia64/sn/kernel/setup.c b/arch/ia64/sn/kernel/setup.c

Lines of this file are not shown. View the raw message.

arch/ia64/tools/Makefile +3 -1
diff -Nru a/arch/ia64/tools/Makefile b/arch/ia64/tools/Makefile

Lines of this file are not shown. View the raw message.

arch/ia64/vmlinux.lds.S +3 -3
diff -Nru a/arch/ia64/vmlinux.lds.S b/arch/ia64/vmlinux.lds.S

Lines of this file are not shown. View the raw message.

arch/parisc/kernel/traps.c +0 -1
diff -Nru a/arch/parisc/kernel/traps.c b/arch/parisc/kernel/traps.c

Lines of this file are not shown. View the raw message.

drivers/acpi/bus.c +1 -1
diff -Nru a/drivers/acpi/bus.c b/drivers/acpi/bus.c

Lines of this file are not shown. View the raw message.

drivers/acpi/osl.c +6 -7
diff -Nru a/drivers/acpi/osl.c b/drivers/acpi/osl.c

Lines of this file are not shown. View the raw message.

drivers/acpi/pci_irq.c +2 -0
diff -Nru a/drivers/acpi/pci_irq.c b/drivers/acpi/pci_irq.c

Lines of this file are not shown. View the raw message.

drivers/char/agp/agp.c +50 -3

53 lines not on this page · raw message

drivers/char/agp/agp.h +1 -1
diff -Nru a/drivers/char/agp/agp.h b/drivers/char/agp/agp.h

Lines of this file are not shown. View the raw message.

drivers/char/agp/amd-agp.c +1 -1
diff -Nru a/drivers/char/agp/amd-agp.c b/drivers/char/agp/amd-agp.c

Lines of this file are not shown. View the raw message.

drivers/char/agp/hp-agp.c +2 -12
diff -Nru a/drivers/char/agp/hp-agp.c b/drivers/char/agp/hp-agp.c

Lines of this file are not shown. View the raw message.

drivers/char/agp/i460-agp.c +285 -289

574 lines not on this page · raw message

drivers/char/agp/i810-agp.c +7 -5
diff -Nru a/drivers/char/agp/i810-agp.c b/drivers/char/agp/i810-agp.c

Lines of this file are not shown. View the raw message.

drivers/char/agp/sworks-agp.c +1 -1
diff -Nru a/drivers/char/agp/sworks-agp.c b/drivers/char/agp/sworks-agp.c

Lines of this file are not shown. View the raw message.

drivers/char/drm/ati_pcigart.h +8 -2
diff -Nru a/drivers/char/drm/ati_pcigart.h b/drivers/char/drm/ati_pcigart.h

Lines of this file are not shown. View the raw message.

drivers/char/drm/drmP.h +18 -19
diff -Nru a/drivers/char/drm/drmP.h b/drivers/char/drm/drmP.h

Lines of this file are not shown. View the raw message.

drivers/char/drm/drm_bufs.h +3 -3
diff -Nru a/drivers/char/drm/drm_bufs.h b/drivers/char/drm/drm_bufs.h

Lines of this file are not shown. View the raw message.

drivers/char/drm/drm_drv.h +1 -1
diff -Nru a/drivers/char/drm/drm_drv.h b/drivers/char/drm/drm_drv.h

Lines of this file are not shown. View the raw message.

drivers/char/drm/drm_memory.h +114 -9

123 lines not on this page · raw message

drivers/char/drm/drm_vm.h +14 -12
diff -Nru a/drivers/char/drm/drm_vm.h b/drivers/char/drm/drm_vm.h

Lines of this file are not shown. View the raw message.

drivers/char/drm/gamma_dma.c +2 -2
diff -Nru a/drivers/char/drm/gamma_dma.c b/drivers/char/drm/gamma_dma.c

Lines of this file are not shown. View the raw message.

drivers/char/drm/i810_dma.c +4 -4
diff -Nru a/drivers/char/drm/i810_dma.c b/drivers/char/drm/i810_dma.c

Lines of this file are not shown. View the raw message.

drivers/char/drm/i830_dma.c +4 -4
diff -Nru a/drivers/char/drm/i830_dma.c b/drivers/char/drm/i830_dma.c

Lines of this file are not shown. View the raw message.

drivers/char/drm/mga_dma.c +6 -6
diff -Nru a/drivers/char/drm/mga_dma.c b/drivers/char/drm/mga_dma.c

Lines of this file are not shown. View the raw message.

drivers/char/drm/mga_drv.h +5 -5
diff -Nru a/drivers/char/drm/mga_drv.h b/drivers/char/drm/mga_drv.h

Lines of this file are not shown. View the raw message.

drivers/char/drm/mga_state.c +4 -4
diff -Nru a/drivers/char/drm/mga_state.c b/drivers/char/drm/mga_state.c

Lines of this file are not shown. View the raw message.

drivers/char/drm/r128_cce.c +8 -8
diff -Nru a/drivers/char/drm/r128_cce.c b/drivers/char/drm/r128_cce.c

Lines of this file are not shown. View the raw message.

drivers/char/drm/r128_drv.h +1 -1
diff -Nru a/drivers/char/drm/r128_drv.h b/drivers/char/drm/r128_drv.h

Lines of this file are not shown. View the raw message.

drivers/char/drm/radeon_cp.c +8 -8
diff -Nru a/drivers/char/drm/radeon_cp.c b/drivers/char/drm/radeon_cp.c

Lines of this file are not shown. View the raw message.

drivers/char/drm/radeon_drv.h +1 -1
diff -Nru a/drivers/char/drm/radeon_drv.h b/drivers/char/drm/radeon_drv.h

Lines of this file are not shown. View the raw message.

drivers/char/drm/radeon_state.c +5 -5
diff -Nru a/drivers/char/drm/radeon_state.c b/drivers/char/drm/radeon_state.c

Lines of this file are not shown. View the raw message.

drivers/char/mem.c +2 -0
diff -Nru a/drivers/char/mem.c b/drivers/char/mem.c

Lines of this file are not shown. View the raw message.

drivers/media/radio/Makefile +2 -0
diff -Nru a/drivers/media/radio/Makefile b/drivers/media/radio/Makefile

Lines of this file are not shown. View the raw message.

drivers/media/radio/dummy.c new file +1 -0
diff -Nru a/drivers/media/radio/dummy.c b/drivers/media/radio/dummy.c

Lines of this file are not shown. View the raw message.

drivers/media/video/Makefile +2 -1
diff -Nru a/drivers/media/video/Makefile b/drivers/media/video/Makefile

Lines of this file are not shown. View the raw message.

drivers/media/video/dummy.c new file +1 -0
diff -Nru a/drivers/media/video/dummy.c b/drivers/media/video/dummy.c

Lines of this file are not shown. View the raw message.

drivers/message/fusion/mptscsih.c +4 -3
diff -Nru a/drivers/message/fusion/mptscsih.c b/drivers/message/fusion/mptscsih.c

Lines of this file are not shown. View the raw message.

drivers/net/eepro100.c +2 -0
diff -Nru a/drivers/net/eepro100.c b/drivers/net/eepro100.c

Lines of this file are not shown. View the raw message.

The rest of this diff is not shown. View the raw message.

static int txdmacount = 128;
static int rxdmacount /* = 0 */;

+#if defined(__ia64__) || defined(__alpha__) || defined(__sparc__) || defined(__mips__) || \
+ defined(__arm__)
+ /* align rx buffers to 2 bytes so that IP header is aligned */
+# define RX_ALIGN
+# define RxFD_ALIGNMENT __attribute__ ((aligned (2), packed))
+#else
+# define RxFD_ALIGNMENT
+#endif
+
/* Set the copy breakpoint for the copy-only-tiny-buffer Rx method.
Lower values use more memory, but are faster. */
-#if defined(__alpha__) || defined(__sparc__) || defined(__mips__) || \
- defined(__arm__)
-static int rx_copybreak = 1518;
-#else
static int rx_copybreak = 200;
-#endif

/* Maximum events (Rx packets, etc.) to handle at each interrupt. */ static int max_interrupt_work = 20;
@@ -377,18 +383,18 @@

/* The Speedo3 Rx and Tx frame/buffer descriptors. */
struct descriptor { /* A generic descriptor. */
- s32 cmd_status; /* All command and status fields. */
+ volatile s32 cmd_status; /* All command and status fields. */
u32 link; /* struct descriptor * */
unsigned char params[0];
};

/* The Speedo3 Rx and Tx buffer descriptors. */
struct RxFD { /* Receive frame descriptor. */
- s32 status;
+ volatile s32 status;
u32 link; /* struct RxFD * */
u32 rx_buf_addr; /* void * */
u32 count;
-};
+} RxFD_ALIGNMENT;

/* Selected elements of the Tx/RxFD.status word. */ enum RxFD_bits {
@@ -523,7 +529,12 @@

static int eepro100_init_one(struct pci_dev *pdev,
const struct pci_device_id *ent);
+
static void eepro100_remove_one (struct pci_dev *pdev);
+#ifdef CONFIG_PM
+static int eepro100_suspend (struct pci_dev *pdev, u32 state); +static int eepro100_resume (struct pci_dev *pdev); +#endif

static int do_eeprom_cmd(long ioaddr, int cmd, int cmd_len); static int mdio_read(long ioaddr, int phy_id, int location);
@@ -1229,6 +1240,9 @@
for (i = 0; i < RX_RING_SIZE; i++) {
struct sk_buff *skb;
skb = dev_alloc_skb(PKT_BUF_SZ + sizeof(struct RxFD));
+#ifdef RX_ALIGN
+ skb_reserve(skb, 2); /* Align IP on 16 byte boundary */
+#endif
sp->rx_skbuff[i] = skb;
if (skb = NULL)
break; /* OK. Just initially short of Rx bufs. */
@@ -1620,6 +1634,9 @@
struct sk_buff *skb;
/* Get a fresh skbuff to replace the consumed one. */ skb = dev_alloc_skb(PKT_BUF_SZ + sizeof(struct RxFD));
+#ifdef RX_ALIGN
+ skb_reserve(skb, 2); /* Align IP on 16 byte boundary */
+#endif
sp->rx_skbuff[entry] = skb;
if (skb = NULL) {
sp->rx_ringp[entry] = NULL;
@@ -2303,7 +2320,9 @@
name: "eepro100",
id_table: eepro100_pci_tbl,
probe: eepro100_init_one,
+# if defined(MODULE) || defined(CONFIG_HOTPLUG)
remove: __devexit_p(eepro100_remove_one),
+# endif
#ifdef CONFIG_PM
suspend: eepro100_suspend,
resume: eepro100_resume,

drivers/net/tulip/media.c +4 -0
diff -Nru a/drivers/net/tulip/media.c b/drivers/net/tulip/media.c

Lines of this file are not shown. View the raw message.

drivers/scsi/megaraid.c +6 -2
diff -Nru a/drivers/scsi/megaraid.c b/drivers/scsi/megaraid.c

Lines of this file are not shown. View the raw message.

drivers/scsi/scsi_ioctl.c +13 -0
diff -Nru a/drivers/scsi/scsi_ioctl.c b/drivers/scsi/scsi_ioctl.c

Lines of this file are not shown. View the raw message.

drivers/scsi/sym53c8xx_2/sym_glue.c +0 -4
diff -Nru a/drivers/scsi/sym53c8xx_2/sym_glue.c b/drivers/scsi/sym53c8xx_2/sym_glue.c

Lines of this file are not shown. View the raw message.

drivers/scsi/sym53c8xx_2/sym_malloc.c +5 -3
diff -Nru a/drivers/scsi/sym53c8xx_2/sym_malloc.c b/drivers/scsi/sym53c8xx_2/sym_malloc.c

Lines of this file are not shown. View the raw message.

drivers/serial/8250.c +11 -0
diff -Nru a/drivers/serial/8250.c b/drivers/serial/8250.c

Lines of this file are not shown. View the raw message.

drivers/serial/Config.in +4 -0
diff -Nru a/drivers/serial/Config.in b/drivers/serial/Config.in

Lines of this file are not shown. View the raw message.

drivers/serial/Makefile +2 -0
diff -Nru a/drivers/serial/Makefile b/drivers/serial/Makefile

Lines of this file are not shown. View the raw message.

drivers/video/radeonfb.c +4 -6
diff -Nru a/drivers/video/radeonfb.c b/drivers/video/radeonfb.c

Lines of this file are not shown. View the raw message.

fs/fcntl.c +1 -0
diff -Nru a/fs/fcntl.c b/fs/fcntl.c

Lines of this file are not shown. View the raw message.

fs/proc/base.c +17 -0
diff -Nru a/fs/proc/base.c b/fs/proc/base.c

Lines of this file are not shown. View the raw message.

include/asm-i386/hw_irq.h +2 -0
diff -Nru a/include/asm-i386/hw_irq.h b/include/asm-i386/hw_irq.h

Lines of this file are not shown. View the raw message.

include/asm-i386/ptrace.h +1 -0
diff -Nru a/include/asm-i386/ptrace.h b/include/asm-i386/ptrace.h

Lines of this file are not shown. View the raw message.

include/asm-ia64/acpi.h +65 -2

67 lines not on this page · raw message

include/asm-ia64/agp.h +18 -8
diff -Nru a/include/asm-ia64/agp.h b/include/asm-ia64/agp.h

Lines of this file are not shown. View the raw message.

include/asm-ia64/bitops.h +1 -1
diff -Nru a/include/asm-ia64/bitops.h b/include/asm-ia64/bitops.h

Lines of this file are not shown. View the raw message.

include/asm-ia64/cacheflush.h +3 -1
diff -Nru a/include/asm-ia64/cacheflush.h b/include/asm-ia64/cacheflush.h

Lines of this file are not shown. View the raw message.

include/asm-ia64/delay.h +1 -1
diff -Nru a/include/asm-ia64/delay.h b/include/asm-ia64/delay.h

Lines of this file are not shown. View the raw message.

include/asm-ia64/efi.h +4 -0
diff -Nru a/include/asm-ia64/efi.h b/include/asm-ia64/efi.h

Lines of this file are not shown. View the raw message.

include/asm-ia64/elf.h +1 -1
diff -Nru a/include/asm-ia64/elf.h b/include/asm-ia64/elf.h

Lines of this file are not shown. View the raw message.

include/asm-ia64/hardirq.h +73 -69

142 lines not on this page · raw message

include/asm-ia64/hw_irq.h +5 -2
diff -Nru a/include/asm-ia64/hw_irq.h b/include/asm-ia64/hw_irq.h

Lines of this file are not shown. View the raw message.

include/asm-ia64/keyboard.h +2 -0
diff -Nru a/include/asm-ia64/keyboard.h b/include/asm-ia64/keyboard.h

Lines of this file are not shown. View the raw message.

include/asm-ia64/kregs.h +11 -0
diff -Nru a/include/asm-ia64/kregs.h b/include/asm-ia64/kregs.h

Lines of this file are not shown. View the raw message.

include/asm-ia64/machvec.h +1 -0
diff -Nru a/include/asm-ia64/machvec.h b/include/asm-ia64/machvec.h

Lines of this file are not shown. View the raw message.

include/asm-ia64/machvec_init.h +1 -0
diff -Nru a/include/asm-ia64/machvec_init.h b/include/asm-ia64/machvec_init.h

Lines of this file are not shown. View the raw message.

include/asm-ia64/mmu_context.h +24 -5
diff -Nru a/include/asm-ia64/mmu_context.h b/include/asm-ia64/mmu_context.h

Lines of this file are not shown. View the raw message.

include/asm-ia64/module.h +1 -1
diff -Nru a/include/asm-ia64/module.h b/include/asm-ia64/module.h

Lines of this file are not shown. View the raw message.

include/asm-ia64/offsets.h deleted +0 -130

130 lines not on this page · raw message

include/asm-ia64/page.h +6 -1
diff -Nru a/include/asm-ia64/page.h b/include/asm-ia64/page.h

Lines of this file are not shown. View the raw message.

include/asm-ia64/param.h +3 -2
diff -Nru a/include/asm-ia64/param.h b/include/asm-ia64/param.h

Lines of this file are not shown. View the raw message.

include/asm-ia64/pci.h +2 -2
diff -Nru a/include/asm-ia64/pci.h b/include/asm-ia64/pci.h

Lines of this file are not shown. View the raw message.

include/asm-ia64/perfmon.h +2 -3
diff -Nru a/include/asm-ia64/perfmon.h b/include/asm-ia64/perfmon.h

Lines of this file are not shown. View the raw message.

include/asm-ia64/pgalloc.h +2 -1
diff -Nru a/include/asm-ia64/pgalloc.h b/include/asm-ia64/pgalloc.h

Lines of this file are not shown. View the raw message.

include/asm-ia64/processor.h +3 -7
diff -Nru a/include/asm-ia64/processor.h b/include/asm-ia64/processor.h

Lines of this file are not shown. View the raw message.

include/asm-ia64/rmap.h +3 -3
diff -Nru a/include/asm-ia64/rmap.h b/include/asm-ia64/rmap.h

Lines of this file are not shown. View the raw message.

include/asm-ia64/scatterlist.h +3 -3
diff -Nru a/include/asm-ia64/scatterlist.h b/include/asm-ia64/scatterlist.h

Lines of this file are not shown. View the raw message.

include/asm-ia64/serial.h +3 -16
diff -Nru a/include/asm-ia64/serial.h b/include/asm-ia64/serial.h

Lines of this file are not shown. View the raw message.

include/asm-ia64/smp.h +14 -11
diff -Nru a/include/asm-ia64/smp.h b/include/asm-ia64/smp.h

Lines of this file are not shown. View the raw message.

include/asm-ia64/smplock.h +2 -9
diff -Nru a/include/asm-ia64/smplock.h b/include/asm-ia64/smplock.h

Lines of this file are not shown. View the raw message.

include/asm-ia64/softirq.h +12 -11
diff -Nru a/include/asm-ia64/softirq.h b/include/asm-ia64/softirq.h

Lines of this file are not shown. View the raw message.

include/asm-ia64/system.h +13 -28

41 lines not on this page · raw message

include/asm-ia64/tlb.h +199 -4

203 lines not on this page · raw message

include/asm-ia64/tlbflush.h +6 -6
diff -Nru a/include/asm-ia64/tlbflush.h b/include/asm-ia64/tlbflush.h

Lines of this file are not shown. View the raw message.

include/asm-ia64/unistd.h +4 -0
diff -Nru a/include/asm-ia64/unistd.h b/include/asm-ia64/unistd.h

Lines of this file are not shown. View the raw message.

include/linux/acpi_serial.h +2 -0
diff -Nru a/include/linux/acpi_serial.h b/include/linux/acpi_serial.h

Lines of this file are not shown. View the raw message.

include/linux/agp_backend.h +10 -0
diff -Nru a/include/linux/agp_backend.h b/include/linux/agp_backend.h

Lines of this file are not shown. View the raw message.

include/linux/fs.h +8 -3
diff -Nru a/include/linux/fs.h b/include/linux/fs.h

Lines of this file are not shown. View the raw message.

include/linux/highmem.h +2 -0
diff -Nru a/include/linux/highmem.h b/include/linux/highmem.h

Lines of this file are not shown. View the raw message.

include/linux/irq.h +1 -3
diff -Nru a/include/linux/irq.h b/include/linux/irq.h

Lines of this file are not shown. View the raw message.

include/linux/irq_cpustat.h +6 -1
diff -Nru a/include/linux/irq_cpustat.h b/include/linux/irq_cpustat.h

Lines of this file are not shown. View the raw message.

include/linux/kernel.h +7 -2
diff -Nru a/include/linux/kernel.h b/include/linux/kernel.h

Lines of this file are not shown. View the raw message.

include/linux/mm.h +30 -0
diff -Nru a/include/linux/mm.h b/include/linux/mm.h

Lines of this file are not shown. View the raw message.

include/linux/mmzone.h +2 -1
diff -Nru a/include/linux/mmzone.h b/include/linux/mmzone.h

Lines of this file are not shown. View the raw message.

include/linux/page-flags.h +4 -30
diff -Nru a/include/linux/page-flags.h b/include/linux/page-flags.h

Lines of this file are not shown. View the raw message.

include/linux/percpu.h +2 -2
diff -Nru a/include/linux/percpu.h b/include/linux/percpu.h

Lines of this file are not shown. View the raw message.

include/linux/sched.h +2 -2
diff -Nru a/include/linux/sched.h b/include/linux/sched.h

Lines of this file are not shown. View the raw message.

include/linux/serial.h +3 -0
diff -Nru a/include/linux/serial.h b/include/linux/serial.h

Lines of this file are not shown. View the raw message.

include/linux/smp.h +0 -16
diff -Nru a/include/linux/smp.h b/include/linux/smp.h

Lines of this file are not shown. View the raw message.

include/linux/vmalloc.h +4 -0
diff -Nru a/include/linux/vmalloc.h b/include/linux/vmalloc.h

Lines of this file are not shown. View the raw message.

kernel/exec_domain.c +2 -0
diff -Nru a/kernel/exec_domain.c b/kernel/exec_domain.c

Lines of this file are not shown. View the raw message.

kernel/fork.c +7 -1
diff -Nru a/kernel/fork.c b/kernel/fork.c

Lines of this file are not shown. View the raw message.

kernel/ksyms.c +5 -0
diff -Nru a/kernel/ksyms.c b/kernel/ksyms.c

Lines of this file are not shown. View the raw message.

kernel/printk.c +118 -5

123 lines not on this page · raw message

kernel/softirq.c +12 -7
diff -Nru a/kernel/softirq.c b/kernel/softirq.c

Lines of this file are not shown. View the raw message.

kernel/timer.c +2 -1
diff -Nru a/kernel/timer.c b/kernel/timer.c

Lines of this file are not shown. View the raw message.

mm/bootmem.c +18 -11
diff -Nru a/mm/bootmem.c b/mm/bootmem.c

Lines of this file are not shown. View the raw message.

mm/memory.c +1 -1
diff -Nru a/mm/memory.c b/mm/memory.c

Lines of this file are not shown. View the raw message.

mm/page_alloc.c +8 -7
diff -Nru a/mm/page_alloc.c b/mm/page_alloc.c

Lines of this file are not shown. View the raw message.

mm/vmalloc.c +17 -0
diff -Nru a/mm/vmalloc.c b/mm/vmalloc.c

Lines of this file are not shown. View the raw message.

sound/oss/cs4281/cs4281m.c +33 -44

77 lines not on this page · raw message

sound/oss/cs4281/cs4281pm-24.c +6 -6
diff -Nru a/sound/oss/cs4281/cs4281pm-24.c b/sound/oss/cs4281/cs4281pm-24.c

Lines of this file are not shown. View the raw message.

The rest of this diff is not shown. View the raw message.

Part of the diff is not shown here. View the raw message.

#1 lore raw

Hi David,

I updated the boot-change patch for 2.5.30. Curious to say, the kernel with the patch worked fine on two way Bigsur, while the original kernel caused panic at booting. Why don't you take it into your tree? :-)

Regards,
Kimi

Quoted 9 lines · On Sat, 10 Aug 2002 01:58:14 -0700 David Mosberger <[email protected]>…

Below is a quick patch for 2.5.30. Warning: it has been tested only lightly. It worked for me on a Big Sur in UP mode. I think MP is broken at the moment. My focus was to try to get the AGP/DRM code into shape so we can have it merged into 2.5. The primary reason I tought it would be good to make this barely tested patch available is because 2.5.29 likes to eat filesystems on IDE disks (it ate the rootfs on one of my machines and subtly corrupted a couple of files on another machine...). With 2.5.30, I haven't seen any file corruption so far, but your mileage obviously may vary.

Signature · 1 line
Kimio Suganuma <[email protected]>
arch/ia64/kernel/acpi.c +2 -0
diff -Nur linux-2.5.30-base/arch/ia64/kernel/acpi.c linux-2.5.30-lhcs/arch/ia64/kernel/acpi.c
@@ -603,6 +603,8 @@
 		available_cpus = 1; /* We've got at least one of these, no? */
 	}
 	smp_boot_data.cpu_count = total_cpus;
+
+	smp_build_cpu_map();
 #endif
 	/* Make boot-up look pretty */
 	printk("%d CPUs available, %d CPUs total\n", available_cpus, total_cpus);
arch/ia64/kernel/smpboot.c +65 -83

213 lines not on this page · raw message

include/asm-ia64/smp.h +1 -0
diff -Nur linux-2.5.30-base/include/asm-ia64/smp.h linux-2.5.30-lhcs/include/asm-ia64/smp.h
@@ -128,6 +128,7 @@
 extern int __cpu_disable (void);
 extern void __cpu_die (unsigned int cpu);
 extern int __cpu_up (unsigned int cpu);
+extern void __init smp_build_cpu_map(void);
 
 extern void __init init_smp_config (void);
 extern void smp_do_timer (struct pt_regs *regs);

Binary files linux-2.5.30-base/vmlinux.kimi.gz and linux-2.5.30-lhcs/vmlinux.kimi.gz differ

#2 lore raw
In reply to David Mosberger
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line · Kimio Suganuma

Kimio> Hi David, I updated the boot-change patch for 2.5.30. Kimio> Curious to say, the kernel with the patch worked fine on two Kimio> way Bigsur, while the original kernel caused panic at Kimio> booting.

Thanks for the patch, I applied it now.

Kimio> Why don't you take it into your tree? :-)

It's simply a matter of finding time. Doing the DRM update was a big effort for me because I'm not all that familiar with AGP, GART, etc., yet it's important to clean it up so we can get it into the mainline of the kernel (otherwise, it will keep eating small bits of my time each time a new kernel is released). Of course, having 2.5.29 corrupt files on some of my IDE disks didn't help either. Anyhow, I think we're very close now to having DRM out of the way (only one open issue is left over).

	--david