more m68k updates

svn path=/dists/sid/linux-2.6/; revision=6600
This commit is contained in:
Christian T. Steigies 2006-05-18 21:36:17 +00:00
parent 5ae3ad4021
commit 69f7cebf5f
7 changed files with 375 additions and 3 deletions

View File

@ -63,3 +63,6 @@ CONFIG_RPCSEC_GSS_KRB5=y
# CONFIG_PARTITION_ADVANCED is not set
CONFIG_SUN_PARTITION=y
CONFIG_CRC32=y
# 2.6.16-14
# enable SCSI
CONFIG_SUN3_SCSI=y

5
debian/changelog vendored
View File

@ -5,9 +5,10 @@ linux-2.6 (2.6.16-14) UNRELEASED; urgency=low
* Make i386 xen images recommend libc6-xen.
[ Christian T. Steigies ]
* [m68k] Add buddha patch again.
* [m68k] Add generic m68k ide fix.
* [m68k] Add cross-compile instructions.
* [6m8k] Enable INPUT_EVDEV for yaird.
* [m68k] Enable INPUT_EVDEV for yaird.
* [m68k] sun3 general compile and scsi fixes, enable sun3 SCSI again.
[ dann frazier ]
* cs4281 - Fix the check of timeout in probe to deal with variable HZ.

57
debian/patches/m68k-ide.patch vendored Normal file
View File

@ -0,0 +1,57 @@
Log message:
fix the partially initialized hw_regs_t for all users
Modified files:
linux/drivers/ide:
ide.c
linux/drivers/ide/legacy:
gayle.c q40ide.c
Index: linux/drivers/ide/ide.c
Stats: 1 insertion
http://linux-m68k-cvs.ubb.ca/c/cvsweb/linux/drivers/ide/ide%2ec.diff?r1=1.1.1.79&r2=1.46
========================================================================
--- linux/drivers/ide/ide.c 9 Apr 2006 16:52:07 -0000 1.1.1.79
+++ linux/drivers/ide/ide.c 11 May 2006 23:52:06 -0000 1.46
@@ -726,6 +726,7 @@
{
int i;
+ memset(hw, 0, sizeof(hw_regs_t));
for (i = 0; i < IDE_NR_PORTS; i++) {
if (offsets[i] == -1) {
switch(i) {
Index: linux/drivers/ide/legacy/gayle.c
Stats: 1 deletion
http://linux-m68k-cvs.ubb.ca/c/cvsweb/linux/drivers/ide/legacy/gayle%2ec.diff?r1=1.10&r2=1.11
========================================================================
--- linux/drivers/ide/legacy/gayle.c 1 Sep 2005 22:29:58 -0000 1.10
+++ linux/drivers/ide/legacy/gayle.c 11 May 2006 23:52:07 -0000 1.11
@@ -161,7 +161,6 @@
base = (unsigned long)ZTWO_VADDR(phys_base);
ctrlport = GAYLE_HAS_CONTROL_REG ? (base + GAYLE_CONTROL) : 0;
- memset(&hw, 0, sizeof(hw));
ide_setup_ports(&hw, base, gayle_offsets,
ctrlport, irqport, ack_intr,
// &gayle_iops,
Index: linux/drivers/ide/legacy/q40ide.c
Stats: 1 insertion
http://linux-m68k-cvs.ubb.ca/c/cvsweb/linux/drivers/ide/legacy/q40ide%2ec.diff?r1=1.7&r2=1.8
========================================================================
--- linux/drivers/ide/legacy/q40ide.c 8 Apr 2003 19:37:55 -0000 1.7
+++ linux/drivers/ide/legacy/q40ide.c 11 May 2006 23:52:07 -0000 1.8
@@ -80,6 +80,7 @@
{
int i;
+ memset(hw, 0, sizeof(hw_regs_t));
for (i = 0; i < IDE_NR_PORTS; i++) {
/* BIG FAT WARNING:
assumption: only DATA port is ever used in 16 bit mode */
-
To unsubscribe from this list: send the line "unsubscribe linux-m68k-cvscommit" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html

90
debian/patches/m68k-mutex.patch vendored Normal file
View File

@ -0,0 +1,90 @@
Log message:
wrap direct thread_info access
Modified files:
linux/kernel:
mutex-debug.c mutex.c
Index: linux/kernel/mutex-debug.c
Stats: 6 modifications
http://linux-m68k-cvs.ubb.ca/c/cvsweb/linux/kernel/mutex%2ddebug%2ec.diff?r1=1.1.1.1&r2=1.2
========================================================================
--- linux/kernel/mutex-debug.c 9 Apr 2006 17:00:58 -0000 1.1.1.1
+++ linux/kernel/mutex-debug.c 9 May 2006 18:50:42 -0000 1.2
@@ -149,7 +149,7 @@
continue;
lock = list_entry(curr, struct mutex, held_list);
t = lock->owner;
- if (filter && (t != filter->thread_info))
+ if (filter && (t != task_thread_info(filter)))
continue;
count++;
cursor = curr->next;
@@ -312,7 +312,7 @@
list_for_each_safe(curr, next, &debug_mutex_held_locks) {
lock = list_entry(curr, struct mutex, held_list);
t = lock->owner;
- if (t != task->thread_info)
+ if (t != task_thread_info(task))
continue;
list_del_init(curr);
DEBUG_OFF();
@@ -321,7 +321,7 @@
printk("BUG: %s/%d, lock held at task exit time!\n",
task->comm, task->pid);
printk_lock(lock, 1);
- if (lock->owner != task->thread_info)
+ if (lock->owner != task_thread_info(task))
printk("exiting task is not even the owner??\n");
return;
}
Index: linux/kernel/mutex.c
Stats: 10 modifications
http://linux-m68k-cvs.ubb.ca/c/cvsweb/linux/kernel/mutex%2ec.diff?r1=1.1.1.1&r2=1.2
========================================================================
--- linux/kernel/mutex.c 9 Apr 2006 17:00:58 -0000 1.1.1.1
+++ linux/kernel/mutex.c 9 May 2006 18:50:42 -0000 1.2
@@ -130,7 +130,7 @@
spin_lock_mutex(&lock->wait_lock);
- debug_mutex_add_waiter(lock, &waiter, task->thread_info, ip);
+ debug_mutex_add_waiter(lock, &waiter, task_thread_info(task), ip);
/* add waiting tasks to the end of the waitqueue (FIFO): */
list_add_tail(&waiter.list, &lock->wait_list);
@@ -156,7 +156,7 @@
*/
if (unlikely(state == TASK_INTERRUPTIBLE &&
signal_pending(task))) {
- mutex_remove_waiter(lock, &waiter, task->thread_info);
+ mutex_remove_waiter(lock, &waiter, task_thread_info(task));
spin_unlock_mutex(&lock->wait_lock);
debug_mutex_free_waiter(&waiter);
@@ -171,8 +171,8 @@
}
/* got the lock - rejoice! */
- mutex_remove_waiter(lock, &waiter, task->thread_info);
- debug_mutex_set_owner(lock, task->thread_info __IP__);
+ mutex_remove_waiter(lock, &waiter, task_thread_info(task));
+ debug_mutex_set_owner(lock, task_thread_info(task) __IP__);
/* set it to 0 if there are no waiters left: */
if (likely(list_empty(&lock->wait_list)))
@@ -183,7 +183,7 @@
debug_mutex_free_waiter(&waiter);
DEBUG_WARN_ON(list_empty(&lock->held_list));
- DEBUG_WARN_ON(lock->owner != task->thread_info);
+ DEBUG_WARN_ON(lock->owner != task_thread_info(task));
return 0;
}
-
To unsubscribe from this list: send the line "unsubscribe linux-m68k-cvscommit" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html

104
debian/patches/m68k-sun3-scsi.patch vendored Normal file
View File

@ -0,0 +1,104 @@
Log message:
Make sun3 scsi drivers compile/work again (though with way too many warnings...)
Tested on 3/50, 3/60.
Modified files:
linux/drivers/scsi:
Kconfig sun3_NCR5380.c sun3_scsi.c sun3_scsi.h sun3_scsi_vme.c
Index: linux/drivers/scsi/Kconfig
Stats: 2 modifications
http://linux-m68k-cvs.ubb.ca/c/cvsweb/linux/drivers/scsi/Kconfig.diff?r1=1.20&r2=1.21
========================================================================
--- linux/drivers/scsi/Kconfig 9 Apr 2006 22:23:01 -0000 1.20
+++ linux/drivers/scsi/Kconfig 11 May 2006 11:16:27 -0000 1.21
@@ -1785,7 +1785,7 @@
config SUN3_SCSI
tristate "Sun3 NCR5380 SCSI"
- depends on SUN3 && SCSI && BROKEN
+ depends on SUN3 && SCSI
select SCSI_SPI_ATTRS
help
This option will enable support for the OBIO (onboard io) NCR5380
Index: linux/drivers/scsi/sun3_NCR5380.c
Stats: 4 modifications
http://linux-m68k-cvs.ubb.ca/c/cvsweb/linux/drivers/scsi/sun3_NCR5380%2ec.diff?r1=1.1.1.16&r2=1.25
========================================================================
--- linux/drivers/scsi/sun3_NCR5380.c 9 Apr 2006 16:55:01 -0000 1.1.1.16
+++ linux/drivers/scsi/sun3_NCR5380.c 11 May 2006 11:16:27 -0000 1.25
@@ -1269,7 +1269,7 @@
NCR_PRINT(NDEBUG_INTR);
if ((NCR5380_read(STATUS_REG) & (SR_SEL|SR_IO)) == (SR_SEL|SR_IO)) {
done = 0;
- ENABLE_IRQ();
+// ENABLE_IRQ();
INT_PRINTK("scsi%d: SEL interrupt\n", HOSTNO);
NCR5380_reselect(instance);
(void) NCR5380_read(RESET_PARITY_INTERRUPT_REG);
@@ -1302,7 +1302,7 @@
INT_PRINTK("scsi%d: PHASE MISM or EOP interrupt\n", HOSTNO);
NCR5380_dma_complete( instance );
done = 0;
- ENABLE_IRQ();
+// ENABLE_IRQ();
} else
#endif /* REAL_DMA */
{
Index: linux/drivers/scsi/sun3_scsi.c
Stats: 1 insertion, 1 deletion
http://linux-m68k-cvs.ubb.ca/c/cvsweb/linux/drivers/scsi/sun3_scsi%2ec.diff?r1=1.1.1.17&r2=1.19
========================================================================
--- linux/drivers/scsi/sun3_scsi.c 14 Jan 2006 23:13:16 -0000 1.1.1.17
+++ linux/drivers/scsi/sun3_scsi.c 11 May 2006 11:16:27 -0000 1.19
@@ -75,9 +75,9 @@
#define REAL_DMA
#include "scsi.h"
+#include "initio.h"
#include <scsi/scsi_host.h>
#include "sun3_scsi.h"
-#include "NCR5380.h"
static void NCR5380_print(struct Scsi_Host *instance);
Index: linux/drivers/scsi/sun3_scsi.h
Stats: 2 modifications
http://linux-m68k-cvs.ubb.ca/c/cvsweb/linux/drivers/scsi/sun3_scsi%2eh.diff?r1=1.1.1.9&r2=1.13
========================================================================
--- linux/drivers/scsi/sun3_scsi.h 14 Jan 2006 23:13:16 -0000 1.1.1.9
+++ linux/drivers/scsi/sun3_scsi.h 11 May 2006 11:16:27 -0000 1.13
@@ -220,7 +220,7 @@
*
*/
-
+#include "NCR5380.h"
#if NDEBUG & NDEBUG_ARBITRATION
#define ARB_PRINTK(format, args...) \
Index: linux/drivers/scsi/sun3_scsi_vme.c
Stats: 1 insertion, 1 deletion
http://linux-m68k-cvs.ubb.ca/c/cvsweb/linux/drivers/scsi/sun3_scsi_vme%2ec.diff?r1=1.1.1.10&r2=1.9
========================================================================
--- linux/drivers/scsi/sun3_scsi_vme.c 14 Jan 2006 23:13:16 -0000 1.1.1.10
+++ linux/drivers/scsi/sun3_scsi_vme.c 11 May 2006 11:16:27 -0000 1.9
@@ -41,9 +41,9 @@
#define REAL_DMA
#include "scsi.h"
+#include "initio.h"
#include <scsi/scsi_host.h>
#include "sun3_scsi.h"
-#include "NCR5380.h"
extern int sun3_map_test(unsigned long, char *);
-
To unsubscribe from this list: send the line "unsubscribe linux-m68k-cvscommit" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html

114
debian/patches/m68k-sun3.patch vendored Normal file
View File

@ -0,0 +1,114 @@
Log message:
General compile fixes for 2.6.16 for sun3, and some updates to make the new bootloader
work correctly. Tested on 3/50, 3/60, 3/80.
Modified files:
linux/arch/m68k/kernel:
sun3-head.S vmlinux-sun3.lds
linux/arch/m68k/mm:
sun3mmu.c
linux/include/asm-m68k:
sun3-head.h sun3ints.h
Index: linux/arch/m68k/kernel/sun3-head.S
Stats: 12 modifications
http://linux-m68k-cvs.ubb.ca/c/cvsweb/linux/arch/m68k/kernel/sun3%2dhead%2eS.diff?r1=1.6&r2=1.7
========================================================================
--- linux/arch/m68k/kernel/sun3-head.S 5 Apr 2004 13:09:05 -0000 1.6
+++ linux/arch/m68k/kernel/sun3-head.S 11 May 2006 11:14:10 -0000 1.7
@@ -66,17 +66,7 @@
/* Following code executes at high addresses (0xE000xxx). */
1: lea init_task,%curptr | get initial thread...
lea init_thread_union+THREAD_SIZE,%sp | ...and its stack.
-
-/* copy bootinfo records from the loader to _end */
- lea _end, %a1
- lea BI_START, %a0
- /* number of longs to copy */
- movel %a0@, %d0
-1: addl #4, %a0
- movel %a0@, %a1@
- addl #4, %a1
- dbf %d0, 1b
-
+
/* Point MSP at an invalid page to trap if it's used. --m */
movl #(PAGESIZE),%d0
movc %d0,%msp
Index: linux/arch/m68k/kernel/vmlinux-sun3.lds
Stats: 2 modifications
http://linux-m68k-cvs.ubb.ca/c/cvsweb/linux/arch/m68k/kernel/vmlinux%2dsun3%2elds.diff?r1=1.1.1.6&r2=1.6
========================================================================
--- linux/arch/m68k/kernel/vmlinux-sun3.lds 9 Apr 2006 16:48:25 -0000 1.1.1.6
+++ linux/arch/m68k/kernel/vmlinux-sun3.lds 11 May 2006 11:14:10 -0000 1.6
@@ -8,7 +8,7 @@
jiffies = jiffies_64 + 4;
SECTIONS
{
- . = 0xE004000;
+ . = 0xE002000;
_text = .; /* Text and read-only data */
.text : {
*(.head)
Index: linux/arch/m68k/mm/sun3mmu.c
Stats: 1 deletion, 6 modifications
http://linux-m68k-cvs.ubb.ca/c/cvsweb/linux/arch/m68k/mm/sun3mmu%2ec.diff?r1=1.9&r2=1.10
========================================================================
--- linux/arch/m68k/mm/sun3mmu.c 28 Jan 2006 21:29:07 -0000 1.9
+++ linux/arch/m68k/mm/sun3mmu.c 11 May 2006 11:14:11 -0000 1.10
@@ -49,7 +49,6 @@
unsigned long zones_size[MAX_NR_ZONES] = { 0, };
unsigned long size;
-
#ifdef TEST_VERIFY_AREA
wp_works_ok = 0;
#endif
@@ -94,7 +93,11 @@
/* memory sizing is a hack stolen from motorola.c.. hope it works for us */
zones_size[ZONE_DMA] = ((unsigned long)high_memory - PAGE_OFFSET) >> PAGE_SHIFT;
- free_area_init(zones_size);
+ /* I really wish I knew why the following change made things better... -- Sam */
+/* free_area_init(zones_size); */
+ free_area_init_node(0, NODE_DATA(0), zones_size,
+ (__pa(PAGE_OFFSET) >> PAGE_SHIFT) + 1, NULL);
+
}
Index: linux/include/asm-m68k/sun3-head.h
Stats: 1 deletion
http://linux-m68k-cvs.ubb.ca/c/cvsweb/linux/include/asm%2dm68k/sun3%2dhead%2eh.diff?r1=1.2&r2=1.3
========================================================================
--- linux/include/asm-m68k/sun3-head.h 27 Feb 2003 21:20:59 -0000 1.2
+++ linux/include/asm-m68k/sun3-head.h 11 May 2006 11:14:11 -0000 1.3
@@ -4,7 +4,6 @@
#define KERNBASE 0xE000000 /* First address the kernel will eventually be */
#define LOAD_ADDR 0x4000 /* prom jumps to us here unless this is elf /boot */
-#define BI_START (KERNBASE + 0x3000) /* beginning of the bootinfo records */
#define FC_CONTROL 3
#define FC_SUPERD 5
#define FC_CPU 7
Index: linux/include/asm-m68k/sun3ints.h
Stats: 1 insertion
http://linux-m68k-cvs.ubb.ca/c/cvsweb/linux/include/asm%2dm68k/sun3ints%2eh.diff?r1=1.6&r2=1.7
========================================================================
--- linux/include/asm-m68k/sun3ints.h 28 Jan 2006 21:37:56 -0000 1.6
+++ linux/include/asm-m68k/sun3ints.h 11 May 2006 11:14:11 -0000 1.7
@@ -16,6 +16,7 @@
#include <asm/intersil.h>
#include <asm/oplib.h>
#include <asm/traps.h>
+#include <asm/irq.h>
#define SUN3_INT_VECS 192
-
To unsubscribe from this list: send the line "unsubscribe linux-m68k-cvscommit" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html

View File

@ -1 +1,4 @@
+ m68k-buddha.patch m68k
+ m68k-ide.patch m68k
+ m68k-mutex.patch m68k
+ m68k-sun3.patch m68k
+ m68k-sun3-scsi.patch m68k