You can subscribe to this list here.
| 2000 | Jan | Feb | Mar | Apr | May (210) | Jun (169) | Jul (167) | Aug (128) | Sep (218) | Oct (120) | Nov (86) | Dec (71) | 
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2001 | Jan (91) | Feb (179) | Mar (52) | Apr (56) | May (183) | Jun (62) | Jul (63) | Aug (49) | Sep (36) | Oct (35) | Nov (72) | Dec (30) | 
| 2002 | Jan (53) | Feb (61) | Mar (56) | Apr (13) | May (1) | Jun (7) | Jul (80) | Aug (73) | Sep (30) | Oct (29) | Nov (8) | Dec (40) | 
| 2003 | Jan (10) | Feb (2) | Mar (4) | Apr (9) | May (3) | Jun (19) | Jul (64) | Aug (53) | Sep (28) | Oct (7) | Nov (3) | Dec (21) | 
| 2004 | Jan (11) | Feb (30) | Mar (18) | Apr (1) | May (13) | Jun (18) | Jul (13) | Aug | Sep (9) | Oct (5) | Nov | Dec | 
| 2005 | Jan (1) | Feb (1) | Mar | Apr | May | Jun | Jul (10) | Aug (21) | Sep (7) | Oct (10) | Nov (6) | Dec | 
| 2006 | Jan (2) | Feb | Mar | Apr | May (1) | Jun | Jul (2) | Aug (2) | Sep (6) | Oct (10) | Nov (8) | Dec (3) | 
| 2007 | Jan (3) | Feb (6) | Mar (1) | Apr (6) | May (10) | Jun (7) | Jul (13) | Aug (8) | Sep | Oct (2) | Nov | Dec | 
| 
      
      
      From: Ken T. <ke...@we...> - 2001-06-10 01:43:41
      
     | 
| On Sat, 9 Jun 2001, Glenn Hisdal wrote: > Interesting... > Guess what I'll be trying out tonight ;-) I don't wish to know... But X is much better, still had a couple of crashes with a message about signal 4. After X crashes and goes back to a console, the next command I attempt too run fails and says 'illegal instruction' and core dumps, after that all is OK. Not sure if its the illegal instruction from the X crash being reported again or something else. Ken. | 
| 
      
      
      From: Roman Z. <zi...@us...> - 2001-06-10 00:17:28
      
     | 
| CVSROOT:	/cvsroot/linux-apus
Module name:	2.3
Repository:	2.3/mm/
Changes by:	zippel@usw-pr-cvs1.	01/06/09 17:17:28
Log message:
  conflict fixes from import bitkeeper (2.4.5)
Modified files:
      ./:
        Makefile 
      2.3/Documentation/:
        Configure.help 
      2.3/arch/ppc/:
        Makefile defconfig 
      2.3/arch/ppc/configs/:
        apus_defconfig 
      2.3/arch/ppc/kernel/:
        apus_setup.c head.S irq.c pci.c ppc-stub.c ppc_ksyms.c 
        setup.c time.c 
      2.3/arch/ppc/mm/:
        init.c 
      2.3/drivers/char/:
        mem.c misc.c 
      2.3/include/asm-ppc/:
        amigaints.h bootinfo.h io.h mpc8xx.h pgtable.h ppc4xx.h 
      2.3/mm/:
        page_alloc.c 
Added files:
      2.3/Documentation/:
        logo.gif 
Removed files:
      2.3/arch/ppc/boot/:
        head.S iso_font.h kbd.c misc.c mkprep.c mksimage.c 
        ns16550.c ns16550.h of1275.c of1275.h offset sioffset 
        sisize size vreset.c 
      2.3/arch/ppc/chrpboot/:
        Makefile addnote.c crt0.S main.c misc.S mknote.c 
        no_initrd.c piggyback.c start.c 
      2.3/arch/ppc/coffboot/:
        Makefile chrpmain.c coffcrt0.S coffmain.c crt0.S dummy.c 
        hack-coff.c ld.script misc.S mknote.c no_initrd.c 
        nonstdio.h piggyback.c rs6000.h start.c string.S zlib.c 
        zlib.h 
      2.3/arch/ppc/mbxboot/:
        Makefile embed_config.c gzimage.c head.S head_8260.S 
        iic.c m8260_tty.c m8xx_tty.c misc.c offset pci.c 
        qspan_pci.c rdimage.c size 
      2.3/arch/ppc/treeboot/:
        Makefile crt0.S elf.pl irSect.c irSect.h ld.script main.c 
        misc.S mkevimg mkirimg 
      2.3/include/asm-sparc64/:
        semaphore-helper.h 
      2.3/include/linux/:
        compiler.h 
  
  Revision      Changes    Path
  1.22          +8 -7      2.3/Makefile
  1.14          +48 -2     2.3/Documentation/Configure.help
  1.6           +3 -52     2.3/arch/ppc/Makefile
  1.9           +2 -1      2.3/arch/ppc/defconfig
  1.7           +2 -1      2.3/arch/ppc/configs/apus_defconfig
  1.15          +1 -1      2.3/arch/ppc/kernel/apus_setup.c
  1.19          +8 -7      2.3/arch/ppc/kernel/head.S
  1.8           +1 -1      2.3/arch/ppc/kernel/irq.c
  1.11          +5 -5      2.3/arch/ppc/kernel/pci.c
  1.6           +1 -1      2.3/arch/ppc/kernel/ppc-stub.c
  1.20          +3 -7      2.3/arch/ppc/kernel/ppc_ksyms.c
  1.14          +90 -40    2.3/arch/ppc/kernel/setup.c
  1.11          +1 -1      2.3/arch/ppc/kernel/time.c
  1.18          +1 -1      2.3/arch/ppc/mm/init.c
  1.6           +0 -6      2.3/drivers/char/mem.c
  1.4           +0 -4      2.3/drivers/char/misc.c
  1.5           +1 -1      2.3/include/asm-ppc/amigaints.h
  1.5           +23 -3     2.3/include/asm-ppc/bootinfo.h
  1.8           +1 -1      2.3/include/asm-ppc/io.h
  1.3           +1 -1      2.3/include/asm-ppc/mpc8xx.h
  1.8           +1 -1      2.3/include/asm-ppc/pgtable.h
  1.3           +1 -1      2.3/include/asm-ppc/ppc4xx.h
  1.14          +25 -32    2.3/mm/page_alloc.c
 | 
| 
      
      
      From: Glenn H. <gh...@c2...> - 2001-06-09 11:19:12
      
     | 
| Hello, On 09-Jun-2001, Ken Tyler wrote: > Something has changed in the latest kernel that has fixxed 99 % of the X > chrashes I was having. It still stops very occasionally but now exits > back to the initiating console with a message rather than locking my > system up. Interesting... Guess what I'll be trying out tonight ;-) - glenn | 
| 
      
      
      From: Ken T. <ke...@we...> - 2001-06-09 04:41:49
      
     | 
| Something has changed in the latest kernel that has fixxed 99 % of the X chrashes I was having. It still stops very occasionally but now exits back to the initiating console with a message rather than locking my system up. Michel, the Section Module Load extmod fixed the icon problem, thanks. Much happier now, was losing faith ;) Ken. | 
| 
      
      
      From: Sven L. <lu...@dp...> - 2001-06-08 12:40:30
      
     | 
| On Thu, Jun 07, 2001 at 08:27:33PM +0200, Giorgio Terzi wrote: > Hello Sven, > > only to say that i have uploaded the boot-floopies images as you have > asked me weeks ago, on the site ftp.lambda.u-strasbg.fr since 28-5-2001. > I had also sent to you a mail to inform you about. > > I am sending this in the case that, that mail was unfortunately lost :-) > > I have also uploaded there a readme file with some notes. Sorry, i was really busy this past days, will look at it next week or maybe this weekend if i have time. I cannot test them though. BEst would be for them to go to the linux-apus sourceforge site. I will try to integrate any changes though, ... Friendly, Sven Luther | 
| 
      
      
      From: Giorgio T. <de...@ip...> - 2001-06-07 18:30:45
      
     | 
| Hello Sven, only to say that i have uploaded the boot-floopies images as you have asked me weeks ago, on the site ftp.lambda.u-strasbg.fr since 28-5-2001. I had also sent to you a mail to inform you about. I am sending this in the case that, that mail was unfortunately lost :-) I have also uploaded there a readme file with some notes. Kind Regards, G. Terzi | 
| 
      
      
      From: Michel D?n. <mda...@us...> - 2001-05-29 18:44:08
      
     | 
| CVSROOT:	/cvsroot/linux-apus
Module name:	boothack
Repository:	./
Changes by:	mdaenzer@usw-pr-cvs1.	01/05/29 11:44:08
Log message:
  remove generated files
Removed files:
      ./:
        bootstrap ppcboot_pup ppcboot_wup 
 | 
| 
      
      
      From: Michel  <mic...@ii...> - 2001-05-27 19:15:50
      
     | 
| Sven LUTHER wrote: > > > In particular, Michel, you toke the 2.2.10 kernel package from me. Did > > > you also do a 2.4.x version of it ? > > > > Not yet, but I'm planning to do it as soon as I get enough time. BTW I > > assume I can upload packages for new kernel versions without ITP or > > anything? > > No you don't need to, just upload them. > > Also i think the boot floppies will be freezed soon, i think in june or july > or so, don't remember well just now. > > Please tell Giorgio also when you did upload them, so he can test the boot > floppies with them. I'm uploading kernel-image-2.4.4-apus and kernel-patch-2.4.4-apus (to build yorself with kernel-package) packages. I've had to hack around a few minor bugs in the kernel-package APUS support and the image package thinks APUS uses LILO, I hope that will be rectified soon. For now just say no to all LILO related questions. The good news is that the image is even smaller than I thought, I didn't think of the fact that it's stripped before gzipping. Maybe we can put it on a single floppy with boothack after all? As always looking forward to comments and suggestions, -- Earthling Michel Dänzer (MrCooper) \ Debian GNU/Linux (powerpc) developer CS student, Free Software enthusiast \ XFree86 and DRI project member | 
| 
      
      
      From: Geert U. <ge...@li...> - 2001-05-23 19:45:11
      
     | 
| 	Hi guys,
This is something that has been on my TODO list since a while...
Currently wd33c93_regs is a struct containing ugly #ifdef's to add padding,
depending on the target you compile for. This has the nasty side-effect that
you can no longer compile one kernel that supports both Amiga and MVME147
systems and has working wd33c93 SCSI.
Since the wd33c93 has only 2 registers, there's no real need for a complex
struct containing the registers, so I replaced it by a struct with two pointers
to the registers. Hence no more hardware-specific stuff in wd33c93.h.
Affected systems:
  - Amiga A3000 SCSI
  - Amiga A2091/A590 SCSI
  - Various Amiga GVP boards containing `GVP Series II'-compatible SCSI
  - Motorola MVME147 SCSI
  - SGI Indy/Indigo2 SCSI
Apart from a simple compile test for the Amiga-related drivers, the patch is
untested (my sole wd33c93 equipped system is still waiting for the completion
of the port of uClinux to the Amiga 500 :-) But of course all feedback is
welcome!
diff -u --recursive --exclude-from=/home/geert/diff-excludes-linux --new-file linux-m68k-2.4.4/drivers/scsi/a2091.c wd33c93-2.4.4/drivers/scsi/a2091.c
--- linux-m68k-2.4.4/drivers/scsi/a2091.c	Tue Nov 28 02:57:34 2000
+++ wd33c93-2.4.4/drivers/scsi/a2091.c	Wed May 23 08:13:56 2001
@@ -190,6 +190,7 @@
     struct Scsi_Host *instance;
     unsigned long address;
     struct zorro_dev *z = NULL;
+    wd33c93_regs regs;
 
     if (!MACH_IS_AMIGA || called)
 	return 0;
@@ -215,8 +216,9 @@
 	instance->irq = IRQ_AMIGA_PORTS;
 	instance->unique_id = z->slotaddr;
 	DMA(instance)->DAWR = DAWR_A2091;
-	wd33c93_init(instance, (wd33c93_regs *)&(DMA(instance)->SASR),
-		     dma_setup, dma_stop, WD33C93_FS_8_10);
+	regs.SASR = &(DMA(instance)->SASR);
+	regs.SCMD = &(DMA(instance)->SCMD);
+	wd33c93_init(instance, regs, dma_setup, dma_stop, WD33C93_FS_8_10);
 	if (num_a2091++ == 0) {
 	    first_instance = instance;
 	    a2091_template = instance->hostt;
diff -u --recursive --exclude-from=/home/geert/diff-excludes-linux --new-file linux-m68k-2.4.4/drivers/scsi/a3000.c wd33c93-2.4.4/drivers/scsi/a3000.c
--- linux-m68k-2.4.4/drivers/scsi/a3000.c	Mon Apr 30 13:46:14 2001
+++ wd33c93-2.4.4/drivers/scsi/a3000.c	Wed May 23 08:14:54 2001
@@ -171,6 +171,8 @@
 
 int __init a3000_detect(Scsi_Host_Template *tpnt)
 {
+    wd33c93_regs regs;
+
     if  (!MACH_IS_AMIGA || !AMIGAHW_PRESENT(A3000_SCSI))
 	return 0;
     if (!request_mem_region(0xDD0000, 256, "wd33c93"))
@@ -186,8 +188,9 @@
     a3000_host->base = ZTWO_VADDR(0xDD0000);
     a3000_host->irq = IRQ_AMIGA_PORTS;
     DMA(a3000_host)->DAWR = DAWR_A3000;
-    wd33c93_init(a3000_host, (wd33c93_regs *)&(DMA(a3000_host)->SASR),
-		 dma_setup, dma_stop, WD33C93_FS_12_15);
+    regs.SASR = &(DMA(a3000_host)->SASR);
+    regs.SCMD = &(DMA(a3000_host)->SCMD);
+    wd33c93_init(a3000_host, regs, dma_setup, dma_stop, WD33C93_FS_12_15);
     if (request_irq(IRQ_AMIGA_PORTS, a3000_intr, SA_SHIRQ, "A3000 SCSI",
 		    a3000_intr))
         goto fail_irq;
diff -u --recursive --exclude-from=/home/geert/diff-excludes-linux --new-file linux-m68k-2.4.4/drivers/scsi/gvp11.c wd33c93-2.4.4/drivers/scsi/gvp11.c
--- linux-m68k-2.4.4/drivers/scsi/gvp11.c	Tue Nov 28 02:57:34 2000
+++ wd33c93-2.4.4/drivers/scsi/gvp11.c	Wed May 23 08:13:56 2001
@@ -186,6 +186,7 @@
     unsigned int epc;
     struct zorro_dev *z = NULL;
     unsigned int default_dma_xfer_mask;
+    wd33c93_regs regs;
 #ifdef CHECK_WD33C93
     volatile unsigned char *sasr_3393, *scmd_3393;
     unsigned char save_sasr;
@@ -329,12 +330,11 @@
 	/*
 	 * Check for 14MHz SCSI clock
 	 */
-	if (epc & GVP_SCSICLKMASK)
-		wd33c93_init(instance, (wd33c93_regs *)&(DMA(instance)->SASR),
-			     dma_setup, dma_stop, WD33C93_FS_8_10);
-	else
-		wd33c93_init(instance, (wd33c93_regs *)&(DMA(instance)->SASR),
-			     dma_setup, dma_stop, WD33C93_FS_12_15);
+	regs.SASR = &(DMA(instance)->SASR);
+	regs.SCMD = &(DMA(instance)->SCMD);
+	wd33c93_init(instance, regs, dma_setup, dma_stop,
+		     (epc & GVP_SCSICLKMASK) ? WD33C93_FS_8_10
+					     : WD33C93_FS_12_15);
 
 	if (num_gvp11++ == 0) {
 		first_instance = instance;
diff -u --recursive --exclude-from=/home/geert/diff-excludes-linux --new-file linux-m68k-2.4.4/drivers/scsi/mvme147.c wd33c93-2.4.4/drivers/scsi/mvme147.c
--- linux-m68k-2.4.4/drivers/scsi/mvme147.c	Mon Feb 26 09:02:13 2001
+++ wd33c93-2.4.4/drivers/scsi/mvme147.c	Wed May 23 08:13:56 2001
@@ -65,6 +65,7 @@
 int mvme147_detect(Scsi_Host_Template *tpnt)
 {
     static unsigned char called = 0;
+    wd33c93_regs regs;
 
     if (!MACH_IS_MVME147 || called)
 	return 0;
@@ -79,8 +80,9 @@
 
     mvme147_host->base = 0xfffe4000;
     mvme147_host->irq = MVME147_IRQ_SCSI_PORT;
-    wd33c93_init(mvme147_host, (wd33c93_regs *)0xfffe4000,
-		 dma_setup, dma_stop, WD33C93_FS_8_10);
+    regs.SASR = (volatile unsigned char *)0xfffe4000;
+    regs.SCMD = (volatile unsigned char *)0xfffe4001;
+    wd33c93_init(mvme147_host, regs, dma_setup, dma_stop, WD33C93_FS_8_10);
 
     if (request_irq(MVME147_IRQ_SCSI_PORT, mvme147_intr, 0, "MVME147 SCSI PORT", mvme147_intr))
 	    goto err_unregister;
diff -u --recursive --exclude-from=/home/geert/diff-excludes-linux --new-file linux-m68k-2.4.4/drivers/scsi/sgiwd93.c wd33c93-2.4.4/drivers/scsi/sgiwd93.c
--- linux-m68k-2.4.4/drivers/scsi/sgiwd93.c	Sun Nov 12 04:01:11 2000
+++ wd33c93-2.4.4/drivers/scsi/sgiwd93.c	Wed May 23 08:13:56 2001
@@ -43,22 +43,23 @@
 struct Scsi_Host *sgiwd93_host1 = NULL;
 
 /* Wuff wuff, wuff, wd33c93.c, wuff wuff, object oriented, bow wow. */
-static inline void write_wd33c93_count(wd33c93_regs *regp, unsigned long value)
+static inline void write_wd33c93_count(const wd33c93_regs regs,
+				       unsigned long value)
 {
-	regp->SASR = WD_TRANSFER_COUNT_MSB;
-	regp->SCMD = ((value >> 16) & 0xff);
-	regp->SCMD = ((value >>  8) & 0xff);
-	regp->SCMD = ((value >>  0) & 0xff);
+	*regs.SASR = WD_TRANSFER_COUNT_MSB;
+	*regs.SCMD = ((value >> 16) & 0xff);
+	*regs.SCMD = ((value >>  8) & 0xff);
+	*regs.SCMD = ((value >>  0) & 0xff);
 }
 
-static inline unsigned long read_wd33c93_count(wd33c93_regs *regp)
+static inline unsigned long read_wd33c93_count(const wd33c93_regs regs)
 {
 	unsigned long value;
 
-	regp->SASR = WD_TRANSFER_COUNT_MSB;
-	value =  ((regp->SCMD & 0xff) << 16);
-	value |= ((regp->SCMD & 0xff) <<  8);
-	value |= ((regp->SCMD & 0xff) <<  0);
+	*regs.SASR = WD_TRANSFER_COUNT_MSB;
+	value =  (*regs.SCMD << 16);
+	value |= (*regs.SCMD <<  8);
+	value |= (*regs.SCMD <<  0);
 	return value;
 }
 
@@ -99,7 +100,7 @@
 static int dma_setup(Scsi_Cmnd *cmd, int datainp)
 {
 	struct WD33C93_hostdata *hdata = (struct WD33C93_hostdata *)cmd->host->hostdata;
-	wd33c93_regs *regp = hdata->regp;
+	const wd33c93_regs regs = hdata->regs;
 	struct hpc3_scsiregs *hregs = (struct hpc3_scsiregs *) cmd->host->base;
 	struct hpc_chunk *hcp = (struct hpc_chunk *) hdata->dma_bounce_buffer;
 
@@ -128,7 +129,7 @@
 		printk(">tlen<%d>", totlen);
 #endif
 		hdata->dma_bounce_len = totlen; /* a trick... */
-		write_wd33c93_count(regp, totlen);
+		write_wd33c93_count(regs, totlen);
 	} else {
 		/* Non-scattered dma. */
 #ifdef DEBUG_DMA
@@ -144,7 +145,7 @@
 		if (cmd->SCp.ptr == NULL)
 			return 1;
 		fill_hpc_entries (&hcp, cmd->SCp.ptr,cmd->SCp.this_residual);
-		write_wd33c93_count(regp, cmd->SCp.this_residual);
+		write_wd33c93_count(regs, cmd->SCp.this_residual);
 	}
 
 	/* To make sure, if we trip an HPC bug, that we transfer
@@ -171,7 +172,7 @@
 		     int status)
 {
 	struct WD33C93_hostdata *hdata = (struct WD33C93_hostdata *)instance->hostdata;
-	wd33c93_regs *regp = hdata->regp;
+	const wd33c93_regs regs = hdata->regs;
 	struct hpc3_scsiregs *hregs;
 
 	if (!SCpnt)
@@ -198,7 +199,7 @@
 
 		/* Yep, we were doing the scatterlist thang. */
 		totlen = hdata->dma_bounce_len;
-		wd93_residual = read_wd33c93_count(regp);
+		wd93_residual = read_wd33c93_count(regs);
 		transferred = totlen - wd93_residual;
 
 #ifdef DEBUG_DMA
@@ -268,6 +269,7 @@
 	struct WD33C93_hostdata *hdata;
 	struct WD33C93_hostdata *hdata1;
 	uchar *buf;
+	wd33c93_regs regs;
 	
 	if(called)
 		return 0; /* Should bitch on the console about this... */
@@ -284,8 +286,9 @@
 	init_hpc_chain(buf);
 	dma_cache_wback_inv((unsigned long) buf, PAGE_SIZE);
 	/* HPC_SCSI_REG0 | 0x03 | KSEG1 */
-	wd33c93_init(sgiwd93_host, (wd33c93_regs *) 0xbfbc0003,
-		     dma_setup, dma_stop, WD33C93_FS_16_20);
+	regs.SASR = (volatile unsigned char *)0xbfbc0003;
+	regs.SCMD = (volatile unsigned char *)0xbfbc0007;
+	wd33c93_init(sgiwd93_host, regs, dma_setup, dma_stop, WD33C93_FS_16_20);
 
 	hdata = (struct WD33C93_hostdata *)sgiwd93_host->hostdata;
 	hdata->no_sync = 0;
@@ -305,8 +308,10 @@
 			init_hpc_chain(buf);
 			dma_cache_wback_inv((unsigned long) buf, PAGE_SIZE);
 			/* HPC_SCSI_REG1 | 0x03 | KSEG1 */
-			wd33c93_init(sgiwd93_host1, (wd33c93_regs *) 0xbfbc8003,
-				     dma_setup, dma_stop, WD33C93_FS_16_20);
+			regs.SASR = (volatile unsigned char *)0xbfbc8003;
+			regs.SCMD = (volatile unsigned char *)0xbfbc8007;
+			wd33c93_init(sgiwd93_host1, regs, dma_setup, dma_stop,
+				     WD33C93_FS_16_20);
 	
 			hdata1 = (struct WD33C93_hostdata *)sgiwd93_host1->hostdata;
 			hdata1->no_sync = 0;
diff -u --recursive --exclude-from=/home/geert/diff-excludes-linux --new-file linux-m68k-2.4.4/drivers/scsi/wd33c93.c wd33c93-2.4.4/drivers/scsi/wd33c93.c
--- linux-m68k-2.4.4/drivers/scsi/wd33c93.c	Tue Dec  5 21:43:48 2000
+++ wd33c93-2.4.4/drivers/scsi/wd33c93.c	Wed May 23 09:33:03 2001
@@ -175,71 +175,72 @@
 
 
 
-static inline uchar read_wd33c93(wd33c93_regs *regp,uchar reg_num)
+static inline uchar read_wd33c93(const wd33c93_regs regs, uchar reg_num)
 {
-   regp->SASR = reg_num;
+   *regs.SASR = reg_num;
    mb();
-   return(regp->SCMD);
+   return(*regs.SCMD);
 }
 
 
-#define READ_AUX_STAT() (regp->SASR)
+#define READ_AUX_STAT() (*regs.SASR)
 
 
-static inline void write_wd33c93(wd33c93_regs *regp,uchar reg_num, uchar value)
+static inline void write_wd33c93(const wd33c93_regs regs, uchar reg_num,
+				 uchar value)
 {
-   regp->SASR = reg_num;
+   *regs.SASR = reg_num;
    mb();
-   regp->SCMD = value;
+   *regs.SCMD = value;
    mb();
 }
 
 
-static inline void write_wd33c93_cmd(wd33c93_regs *regp, uchar cmd)
+static inline void write_wd33c93_cmd(const wd33c93_regs regs, uchar cmd)
 {
-   regp->SASR = WD_COMMAND;
+   *regs.SASR = WD_COMMAND;
    mb();
-   regp->SCMD = cmd;
+   *regs.SCMD = cmd;
    mb();
 }
 
 
-static inline uchar read_1_byte(wd33c93_regs *regp)
+static inline uchar read_1_byte(const wd33c93_regs regs)
 {
 uchar asr;
 uchar x = 0;
 
-   write_wd33c93(regp, WD_CONTROL, CTRL_IDI | CTRL_EDI | CTRL_POLLED);
-   write_wd33c93_cmd(regp, WD_CMD_TRANS_INFO|0x80);
+   write_wd33c93(regs, WD_CONTROL, CTRL_IDI | CTRL_EDI | CTRL_POLLED);
+   write_wd33c93_cmd(regs, WD_CMD_TRANS_INFO|0x80);
    do {
       asr = READ_AUX_STAT();
       if (asr & ASR_DBR)
-         x = read_wd33c93(regp, WD_DATA);
+         x = read_wd33c93(regs, WD_DATA);
       } while (!(asr & ASR_INT));
    return x;
 }
 
 
-static void write_wd33c93_count(wd33c93_regs *regp,unsigned long value)
+static void write_wd33c93_count(const wd33c93_regs regs, unsigned long value)
 {
-   regp->SASR = WD_TRANSFER_COUNT_MSB;
+   *regs.SASR = WD_TRANSFER_COUNT_MSB;
    mb();
-   regp->SCMD = value >> 16;
-   regp->SCMD = value >> 8;
-   regp->SCMD = value;
+   *regs.SCMD = value >> 16;
+   *regs.SCMD = value >> 8;
+   *regs.SCMD = value;
    mb();
 }
 
 
-static unsigned long read_wd33c93_count(wd33c93_regs *regp)
+static unsigned long read_wd33c93_count(const wd33c93_regs regs)
 {
 unsigned long value;
 
-   regp->SASR = WD_TRANSFER_COUNT_MSB;
+   *regs.SASR = WD_TRANSFER_COUNT_MSB;
    mb();
-   value = regp->SCMD << 16;
-   value |= regp->SCMD << 8;
-   value |= regp->SCMD;
+   value = *regs.SCMD << 16;
+   value |= *regs.SCMD << 8;
+   value |= *regs.SCMD;
    mb();
    return value;
 }
@@ -423,14 +424,11 @@
  */
 static void wd33c93_execute (struct Scsi_Host *instance)
 {
-struct WD33C93_hostdata *hostdata;
-wd33c93_regs *regp;
+struct WD33C93_hostdata *hostdata = (struct WD33C93_hostdata *)instance->hostdata;
+const wd33c93_regs regs = hostdata->regs;
 Scsi_Cmnd *cmd, *prev;
 int i;
 
-   hostdata = (struct WD33C93_hostdata *)instance->hostdata;
-   regp = hostdata->regp;
-
 DB(DB_EXECUTE,printk("EX("))
 
    if (hostdata->selecting || hostdata->connected) {
@@ -479,9 +477,9 @@
     */
 
    if (is_dir_out(cmd))
-      write_wd33c93(regp, WD_DESTINATION_ID, cmd->target);
+      write_wd33c93(regs, WD_DESTINATION_ID, cmd->target);
    else
-      write_wd33c93(regp, WD_DESTINATION_ID, cmd->target | DSTID_DPD);
+      write_wd33c93(regs, WD_DESTINATION_ID, cmd->target | DSTID_DPD);
 
 /* Now we need to figure out whether or not this command is a good
  * candidate for disconnect/reselect. We guess to the best of our
@@ -537,10 +535,10 @@
 
 no:
 
-   write_wd33c93(regp, WD_SOURCE_ID, ((cmd->SCp.phase)?SRCID_ER:0));
+   write_wd33c93(regs, WD_SOURCE_ID, ((cmd->SCp.phase)?SRCID_ER:0));
 
-   write_wd33c93(regp, WD_TARGET_LUN, cmd->lun);
-   write_wd33c93(regp,WD_SYNCHRONOUS_TRANSFER,hostdata->sync_xfer[cmd->target]);
+   write_wd33c93(regs, WD_TARGET_LUN, cmd->lun);
+   write_wd33c93(regs, WD_SYNCHRONOUS_TRANSFER,hostdata->sync_xfer[cmd->target]);
    hostdata->busy[cmd->target] |= (1 << cmd->lun);
 
    if ((hostdata->level2 == L2_NONE) ||
@@ -571,8 +569,8 @@
       if (hostdata->sync_stat[cmd->target] == SS_UNSET)
             hostdata->sync_stat[cmd->target] = SS_FIRST;
       hostdata->state = S_SELECTING;
-      write_wd33c93_count(regp,0); /* guarantee a DATA_PHASE interrupt */
-      write_wd33c93_cmd(regp, WD_CMD_SEL_ATN);
+      write_wd33c93_count(regs, 0); /* guarantee a DATA_PHASE interrupt */
+      write_wd33c93_cmd(regs, WD_CMD_SEL_ATN);
       }
 
    else {
@@ -586,15 +584,15 @@
           */
 
       hostdata->connected = cmd;
-      write_wd33c93(regp, WD_COMMAND_PHASE, 0);
+      write_wd33c93(regs, WD_COMMAND_PHASE, 0);
 
    /* copy command_descriptor_block into WD chip
     * (take advantage of auto-incrementing)
     */
 
-      regp->SASR = WD_CDB_1;
+      *regs.SASR = WD_CDB_1;
       for (i=0; i<cmd->cmd_len; i++)
-         regp->SCMD = cmd->cmnd[i];
+         *regs.SCMD = cmd->cmnd[i];
 
    /* The wd33c93 only knows about Group 0, 1, and 5 commands when
     * it's doing a 'select-and-transfer'. To be safe, we write the
@@ -602,7 +600,7 @@
     * way there won't be problems with vendor-unique, audio, etc.
     */
 
-      write_wd33c93(regp, WD_OWN_ID, cmd->cmd_len);
+      write_wd33c93(regs, WD_OWN_ID, cmd->cmd_len);
 
    /* When doing a non-disconnect command with DMA, we can save
     * ourselves a DATA phase interrupt later by setting everything
@@ -612,18 +610,18 @@
       if ((cmd->SCp.phase == 0) && (hostdata->no_dma == 0)) {
          if (hostdata->dma_setup(cmd,
                      (is_dir_out(cmd))?DATA_OUT_DIR:DATA_IN_DIR))
-            write_wd33c93_count(regp,0); /* guarantee a DATA_PHASE interrupt */
+            write_wd33c93_count(regs, 0); /* guarantee a DATA_PHASE interrupt */
          else {
-            write_wd33c93_count(regp, cmd->SCp.this_residual);
-            write_wd33c93(regp,WD_CONTROL, CTRL_IDI | CTRL_EDI | CTRL_DMA);
+            write_wd33c93_count(regs, cmd->SCp.this_residual);
+            write_wd33c93(regs, WD_CONTROL, CTRL_IDI | CTRL_EDI | CTRL_DMA);
             hostdata->dma = D_DMA_RUNNING;
             }
          }
       else
-         write_wd33c93_count(regp,0); /* guarantee a DATA_PHASE interrupt */
+         write_wd33c93_count(regs, 0); /* guarantee a DATA_PHASE interrupt */
 
       hostdata->state = S_RUNNING_LEVEL2;
-      write_wd33c93_cmd(regp, WD_CMD_SEL_ATN_XFER);
+      write_wd33c93_cmd(regs, WD_CMD_SEL_ATN_XFER);
       }
 
    /*
@@ -638,28 +636,28 @@
 
 
 
-static void transfer_pio(wd33c93_regs *regp, uchar *buf, int cnt,
-                  int data_in_dir, struct WD33C93_hostdata *hostdata)
+static void transfer_pio(const wd33c93_regs regs, uchar *buf, int cnt,
+			 int data_in_dir, struct WD33C93_hostdata *hostdata)
 {
 uchar asr;
 
 DB(DB_TRANSFER,printk("(%p,%d,%s:",buf,cnt,data_in_dir?"in":"out"))
 
-   write_wd33c93(regp, WD_CONTROL, CTRL_IDI | CTRL_EDI | CTRL_POLLED);
-   write_wd33c93_count(regp,cnt);
-   write_wd33c93_cmd(regp, WD_CMD_TRANS_INFO);
+   write_wd33c93(regs, WD_CONTROL, CTRL_IDI | CTRL_EDI | CTRL_POLLED);
+   write_wd33c93_count(regs, cnt);
+   write_wd33c93_cmd(regs, WD_CMD_TRANS_INFO);
    if (data_in_dir) {
       do {
          asr = READ_AUX_STAT();
          if (asr & ASR_DBR)
-            *buf++ = read_wd33c93(regp, WD_DATA);
+            *buf++ = read_wd33c93(regs, WD_DATA);
          } while (!(asr & ASR_INT));
       }
    else {
       do {
          asr = READ_AUX_STAT();
          if (asr & ASR_DBR)
-            write_wd33c93(regp, WD_DATA, *buf++);
+            write_wd33c93(regs, WD_DATA, *buf++);
          } while (!(asr & ASR_INT));
       }
 
@@ -674,7 +672,8 @@
 
 
 
-static void transfer_bytes(wd33c93_regs *regp, Scsi_Cmnd *cmd, int data_in_dir)
+static void transfer_bytes(const wd33c93_regs regs, Scsi_Cmnd *cmd,
+			   int data_in_dir)
 {
 struct WD33C93_hostdata *hostdata;
 unsigned long length;
@@ -696,7 +695,7 @@
       cmd->SCp.ptr = cmd->SCp.buffer->address;
       }
 
-   write_wd33c93(regp,WD_SYNCHRONOUS_TRANSFER,hostdata->sync_xfer[cmd->target]);
+   write_wd33c93(regs, WD_SYNCHRONOUS_TRANSFER,hostdata->sync_xfer[cmd->target]);
 
 /* 'hostdata->no_dma' is TRUE if we don't even want to try DMA.
  * Update 'this_residual' and 'ptr' after 'transfer_pio()' returns.
@@ -714,10 +713,10 @@
 #ifdef PROC_STATISTICS
       hostdata->pio_cnt++;
 #endif
-      transfer_pio(regp, (uchar *)cmd->SCp.ptr, cmd->SCp.this_residual,
+      transfer_pio(regs, (uchar *)cmd->SCp.ptr, cmd->SCp.this_residual,
                          data_in_dir, hostdata);
       length = cmd->SCp.this_residual;
-      cmd->SCp.this_residual = read_wd33c93_count(regp);
+      cmd->SCp.this_residual = read_wd33c93_count(regs);
       cmd->SCp.ptr += (length - cmd->SCp.this_residual);
       }
 
@@ -734,17 +733,17 @@
 #ifdef PROC_STATISTICS
       hostdata->dma_cnt++;
 #endif
-      write_wd33c93(regp, WD_CONTROL, CTRL_IDI | CTRL_EDI | CTRL_DMA);
-      write_wd33c93_count(regp,cmd->SCp.this_residual);
+      write_wd33c93(regs, WD_CONTROL, CTRL_IDI | CTRL_EDI | CTRL_DMA);
+      write_wd33c93_count(regs, cmd->SCp.this_residual);
 
       if ((hostdata->level2 >= L2_DATA) ||
           (hostdata->level2 == L2_BASIC && cmd->SCp.phase == 0)) {
-         write_wd33c93(regp, WD_COMMAND_PHASE, 0x45);
-         write_wd33c93_cmd(regp, WD_CMD_SEL_ATN_XFER);
+         write_wd33c93(regs, WD_COMMAND_PHASE, 0x45);
+         write_wd33c93_cmd(regs, WD_CMD_SEL_ATN_XFER);
          hostdata->state = S_RUNNING_LEVEL2;
          }
       else
-         write_wd33c93_cmd(regp, WD_CMD_TRANS_INFO);
+         write_wd33c93_cmd(regs, WD_CMD_TRANS_INFO);
 
       hostdata->dma = D_DMA_RUNNING;
       }
@@ -754,15 +753,12 @@
 
 void wd33c93_intr (struct Scsi_Host *instance)
 {
-struct WD33C93_hostdata *hostdata;
+struct WD33C93_hostdata *hostdata = (struct WD33C93_hostdata *)instance->hostdata;
+const wd33c93_regs regs = hostdata->regs;
 Scsi_Cmnd *patch, *cmd;
-wd33c93_regs *regp;
 uchar asr, sr, phs, id, lun, *ucp, msg;
 unsigned long length, flags;
 
-   hostdata = (struct WD33C93_hostdata *)instance->hostdata;
-   regp = hostdata->regp;
-
    asr = READ_AUX_STAT();
    if (!(asr & ASR_INT) || (asr & ASR_BSY))
       return;
@@ -774,8 +770,8 @@
 #endif
 
    cmd = (Scsi_Cmnd *)hostdata->connected;   /* assume we're connected */
-   sr = read_wd33c93(regp, WD_SCSI_STATUS);  /* clear the interrupt */
-   phs = read_wd33c93(regp, WD_COMMAND_PHASE);
+   sr = read_wd33c93(regs, WD_SCSI_STATUS);  /* clear the interrupt */
+   phs = read_wd33c93(regs, WD_COMMAND_PHASE);
 
 DB(DB_INTR,printk("{%02x:%02x-",asr,sr))
 
@@ -799,7 +795,7 @@
       hostdata->dma_stop(cmd->host, cmd, 1);
       hostdata->dma = D_DMA_OFF;
       length = cmd->SCp.this_residual;
-      cmd->SCp.this_residual = read_wd33c93_count(regp);
+      cmd->SCp.this_residual = read_wd33c93_count(regs);
       cmd->SCp.ptr += (length - cmd->SCp.this_residual);
 DB(DB_TRANSFER,printk("%p/%d]",cmd->SCp.ptr,cmd->SCp.this_residual))
       }
@@ -894,7 +890,7 @@
       case CSR_UNEXP    |PHS_DATA_IN:
       case CSR_SRV_REQ  |PHS_DATA_IN:
 DB(DB_INTR,printk("IN-%d.%d",cmd->SCp.this_residual,cmd->SCp.buffers_residual))
-         transfer_bytes(regp, cmd, DATA_IN_DIR);
+         transfer_bytes(regs, cmd, DATA_IN_DIR);
          if (hostdata->state != S_RUNNING_LEVEL2)
             hostdata->state = S_CONNECTED;
          break;
@@ -904,7 +900,7 @@
       case CSR_UNEXP    |PHS_DATA_OUT:
       case CSR_SRV_REQ  |PHS_DATA_OUT:
 DB(DB_INTR,printk("OUT-%d.%d",cmd->SCp.this_residual,cmd->SCp.buffers_residual))
-         transfer_bytes(regp, cmd, DATA_OUT_DIR);
+         transfer_bytes(regs, cmd, DATA_OUT_DIR);
          if (hostdata->state != S_RUNNING_LEVEL2)
             hostdata->state = S_CONNECTED;
          break;
@@ -916,7 +912,7 @@
       case CSR_UNEXP    |PHS_COMMAND:
       case CSR_SRV_REQ  |PHS_COMMAND:
 DB(DB_INTR,printk("CMND-%02x,%ld",cmd->cmnd[0],cmd->pid))
-         transfer_pio(regp, cmd->cmnd, cmd->cmd_len, DATA_OUT_DIR, hostdata);
+         transfer_pio(regs, cmd->cmnd, cmd->cmd_len, DATA_OUT_DIR, hostdata);
          hostdata->state = S_CONNECTED;
          break;
 
@@ -926,13 +922,13 @@
       case CSR_SRV_REQ  |PHS_STATUS:
 DB(DB_INTR,printk("STATUS="))
 
-         cmd->SCp.Status = read_1_byte(regp);
+         cmd->SCp.Status = read_1_byte(regs);
 DB(DB_INTR,printk("%02x",cmd->SCp.Status))
          if (hostdata->level2 >= L2_BASIC) {
-            sr = read_wd33c93(regp, WD_SCSI_STATUS);  /* clear interrupt */
+            sr = read_wd33c93(regs, WD_SCSI_STATUS);  /* clear interrupt */
             hostdata->state = S_RUNNING_LEVEL2;
-            write_wd33c93(regp, WD_COMMAND_PHASE, 0x50);
-            write_wd33c93_cmd(regp, WD_CMD_SEL_ATN_XFER);
+            write_wd33c93(regs, WD_COMMAND_PHASE, 0x50);
+            write_wd33c93_cmd(regs, WD_CMD_SEL_ATN_XFER);
             }
          else {
             hostdata->state = S_CONNECTED;
@@ -945,8 +941,8 @@
       case CSR_SRV_REQ  |PHS_MESS_IN:
 DB(DB_INTR,printk("MSG_IN="))
 
-         msg = read_1_byte(regp);
-         sr = read_wd33c93(regp, WD_SCSI_STATUS);  /* clear interrupt */
+         msg = read_1_byte(regs);
+         sr = read_wd33c93(regs, WD_SCSI_STATUS);  /* clear interrupt */
 
          hostdata->incoming_msg[hostdata->incoming_ptr] = msg;
          if (hostdata->incoming_msg[0] == EXTENDED_MESSAGE)
@@ -959,25 +955,25 @@
 
             case COMMAND_COMPLETE:
 DB(DB_INTR,printk("CCMP-%ld",cmd->pid))
-               write_wd33c93_cmd(regp,WD_CMD_NEGATE_ACK);
+               write_wd33c93_cmd(regs, WD_CMD_NEGATE_ACK);
                hostdata->state = S_PRE_CMP_DISC;
                break;
 
             case SAVE_POINTERS:
 DB(DB_INTR,printk("SDP"))
-               write_wd33c93_cmd(regp,WD_CMD_NEGATE_ACK);
+               write_wd33c93_cmd(regs, WD_CMD_NEGATE_ACK);
                hostdata->state = S_CONNECTED;
                break;
 
             case RESTORE_POINTERS:
 DB(DB_INTR,printk("RDP"))
                if (hostdata->level2 >= L2_BASIC) {
-                  write_wd33c93(regp, WD_COMMAND_PHASE, 0x45);
-                  write_wd33c93_cmd(regp, WD_CMD_SEL_ATN_XFER);
+                  write_wd33c93(regs, WD_COMMAND_PHASE, 0x45);
+                  write_wd33c93_cmd(regs, WD_CMD_SEL_ATN_XFER);
                   hostdata->state = S_RUNNING_LEVEL2;
                   }
                else {
-                  write_wd33c93_cmd(regp, WD_CMD_NEGATE_ACK);
+                  write_wd33c93_cmd(regs, WD_CMD_NEGATE_ACK);
                   hostdata->state = S_CONNECTED;
                   }
                break;
@@ -985,7 +981,7 @@
             case DISCONNECT:
 DB(DB_INTR,printk("DIS"))
                cmd->device->disconnect = 1;
-               write_wd33c93_cmd(regp,WD_CMD_NEGATE_ACK);
+               write_wd33c93_cmd(regs, WD_CMD_NEGATE_ACK);
                hostdata->state = S_PRE_TMP_DISC;
                break;
 
@@ -996,7 +992,7 @@
 #endif
                if (hostdata->sync_stat[cmd->target] == SS_WAITING)
                   hostdata->sync_stat[cmd->target] = SS_SET;
-               write_wd33c93_cmd(regp,WD_CMD_NEGATE_ACK);
+               write_wd33c93_cmd(regs, WD_CMD_NEGATE_ACK);
                hostdata->state = S_CONNECTED;
                break;
 
@@ -1027,7 +1023,7 @@
  * specifically ask for sync transfers, we won't do any.
  */
 
-                           write_wd33c93_cmd(regp,WD_CMD_ASSERT_ATN); /* want MESS_OUT */
+                           write_wd33c93_cmd(regs, WD_CMD_ASSERT_ATN); /* want MESS_OUT */
                            hostdata->outgoing_msg[0] = EXTENDED_MESSAGE;
                            hostdata->outgoing_msg[1] = 3;
                            hostdata->outgoing_msg[2] = EXTENDED_SDTR;
@@ -1044,26 +1040,26 @@
 printk("sync_xfer=%02x",hostdata->sync_xfer[cmd->target]);
 #endif
                         hostdata->sync_stat[cmd->target] = SS_SET;
-                        write_wd33c93_cmd(regp,WD_CMD_NEGATE_ACK);
+                        write_wd33c93_cmd(regs, WD_CMD_NEGATE_ACK);
                         hostdata->state = S_CONNECTED;
                         break;
                      case EXTENDED_WDTR:
-                        write_wd33c93_cmd(regp,WD_CMD_ASSERT_ATN); /* want MESS_OUT */
+                        write_wd33c93_cmd(regs, WD_CMD_ASSERT_ATN); /* want MESS_OUT */
                         printk("sending WDTR ");
                         hostdata->outgoing_msg[0] = EXTENDED_MESSAGE;
                         hostdata->outgoing_msg[1] = 2;
                         hostdata->outgoing_msg[2] = EXTENDED_WDTR;
                         hostdata->outgoing_msg[3] = 0;   /* 8 bit transfer width */
                         hostdata->outgoing_len = 4;
-                        write_wd33c93_cmd(regp,WD_CMD_NEGATE_ACK);
+                        write_wd33c93_cmd(regs, WD_CMD_NEGATE_ACK);
                         hostdata->state = S_CONNECTED;
                         break;
                      default:
-                        write_wd33c93_cmd(regp,WD_CMD_ASSERT_ATN); /* want MESS_OUT */
+                        write_wd33c93_cmd(regs, WD_CMD_ASSERT_ATN); /* want MESS_OUT */
                         printk("Rejecting Unknown Extended Message(%02x). ",ucp[2]);
                         hostdata->outgoing_msg[0] = MESSAGE_REJECT;
                         hostdata->outgoing_len = 1;
-                        write_wd33c93_cmd(regp,WD_CMD_NEGATE_ACK);
+                        write_wd33c93_cmd(regs, WD_CMD_NEGATE_ACK);
                         hostdata->state = S_CONNECTED;
                         break;
                      }
@@ -1074,17 +1070,17 @@
 
                else {
                   hostdata->incoming_ptr++;
-                  write_wd33c93_cmd(regp,WD_CMD_NEGATE_ACK);
+                  write_wd33c93_cmd(regs, WD_CMD_NEGATE_ACK);
                   hostdata->state = S_CONNECTED;
                   }
                break;
 
             default:
                printk("Rejecting Unknown Message(%02x) ",msg);
-               write_wd33c93_cmd(regp,WD_CMD_ASSERT_ATN); /* want MESS_OUT */
+               write_wd33c93_cmd(regs, WD_CMD_ASSERT_ATN); /* want MESS_OUT */
                hostdata->outgoing_msg[0] = MESSAGE_REJECT;
                hostdata->outgoing_len = 1;
-               write_wd33c93_cmd(regp,WD_CMD_NEGATE_ACK);
+               write_wd33c93_cmd(regs, WD_CMD_NEGATE_ACK);
                hostdata->state = S_CONNECTED;
             }
          restore_flags(flags);
@@ -1099,11 +1095,11 @@
  * have been turned off for the command that just completed.
  */
 
-         write_wd33c93(regp,WD_SOURCE_ID, SRCID_ER);
+         write_wd33c93(regs, WD_SOURCE_ID, SRCID_ER);
          if (phs == 0x60) {
 DB(DB_INTR,printk("SX-DONE-%ld",cmd->pid))
             cmd->SCp.Message = COMMAND_COMPLETE;
-            lun = read_wd33c93(regp, WD_TARGET_LUN);
+            lun = read_wd33c93(regs, WD_TARGET_LUN);
 DB(DB_INTR,printk(":%d.%d",cmd->SCp.Status,lun))
             hostdata->connected = NULL;
             hostdata->busy[cmd->target] &= ~(1 << cmd->lun);
@@ -1133,8 +1129,8 @@
       case CSR_SDP:
 DB(DB_INTR,printk("SDP"))
             hostdata->state = S_RUNNING_LEVEL2;
-            write_wd33c93(regp, WD_COMMAND_PHASE, 0x41);
-            write_wd33c93_cmd(regp, WD_CMD_SEL_ATN_XFER);
+            write_wd33c93(regs, WD_COMMAND_PHASE, 0x41);
+            write_wd33c93_cmd(regs, WD_CMD_SEL_ATN_XFER);
          break;
 
 
@@ -1160,7 +1156,7 @@
             hostdata->outgoing_len = 1;
             hostdata->outgoing_msg[0] = NOP;
             }
-         transfer_pio(regp, hostdata->outgoing_msg, hostdata->outgoing_len,
+         transfer_pio(regs, hostdata->outgoing_msg, hostdata->outgoing_len,
                             DATA_OUT_DIR, hostdata);
 DB(DB_INTR,printk("%02x",hostdata->outgoing_msg[0]))
          hostdata->outgoing_len = 0;
@@ -1182,7 +1178,7 @@
  * have been turned off for the command that just completed.
  */
 
-         write_wd33c93(regp,WD_SOURCE_ID, SRCID_ER);
+         write_wd33c93(regs, WD_SOURCE_ID, SRCID_ER);
          if (cmd == NULL) {
             printk(" - Already disconnected! ");
             hostdata->state = S_UNCONNECTED;
@@ -1213,7 +1209,7 @@
  * have been turned off for the command that just completed.
  */
 
-         write_wd33c93(regp,WD_SOURCE_ID, SRCID_ER);
+         write_wd33c93(regs, WD_SOURCE_ID, SRCID_ER);
 DB(DB_INTR,printk("DISC-%ld",cmd->pid))
          if (cmd == NULL) {
             printk(" - Already disconnected! ");
@@ -1298,7 +1294,7 @@
 
    /* OK - find out which device reselected us. */
 
-         id = read_wd33c93(regp, WD_SOURCE_ID);
+         id = read_wd33c93(regs, WD_SOURCE_ID);
          id &= SRCID_MASK;
 
    /* and extract the lun from the ID message. (Note that we don't
@@ -1307,9 +1303,9 @@
     */
 
          if (sr == CSR_RESEL_AM) {
-            lun = read_wd33c93(regp, WD_DATA);
+            lun = read_wd33c93(regs, WD_DATA);
             if (hostdata->level2 < L2_RESELECT)
-               write_wd33c93_cmd(regp,WD_CMD_NEGATE_ACK);
+               write_wd33c93_cmd(regs, WD_CMD_NEGATE_ACK);
             lun &= 7;
          }
          else {
@@ -1325,12 +1321,12 @@
             }
             else {
                /* Verify this is a change to MSG_IN and read the message */
-               sr = read_wd33c93(regp, WD_SCSI_STATUS);
+               sr = read_wd33c93(regs, WD_SCSI_STATUS);
                if (sr == (CSR_ABORT   | PHS_MESS_IN) ||
                    sr == (CSR_UNEXP   | PHS_MESS_IN) ||
                    sr == (CSR_SRV_REQ | PHS_MESS_IN)) {
                   /* Got MSG_IN, grab target LUN */
-                  lun = read_1_byte(regp);
+                  lun = read_1_byte(regs);
                   /* Now we expect a 'paused with ACK asserted' int.. */
                   asr = READ_AUX_STAT();
                   if (!(asr & ASR_INT)) {
@@ -1340,12 +1336,12 @@
                         printk("wd33c93: No int after LUN on RESEL (%02x)\n",
                               asr);
                   }
-                  sr = read_wd33c93(regp, WD_SCSI_STATUS);
+                  sr = read_wd33c93(regs, WD_SCSI_STATUS);
                   if (sr != CSR_MSGIN)
                      printk("wd33c93: Not paused with ACK on RESEL (%02x)\n",
                            sr);
                   lun &= 7;
-                  write_wd33c93_cmd(regp,WD_CMD_NEGATE_ACK);
+                  write_wd33c93_cmd(regs, WD_CMD_NEGATE_ACK);
                }
                else {
                   printk("wd33c93: Not MSG_IN on reselect (%02x)\n", sr);
@@ -1386,13 +1382,13 @@
     */
 
          if (is_dir_out(cmd))
-            write_wd33c93(regp, WD_DESTINATION_ID, cmd->target);
+            write_wd33c93(regs, WD_DESTINATION_ID, cmd->target);
          else
-            write_wd33c93(regp, WD_DESTINATION_ID, cmd->target | DSTID_DPD);
+            write_wd33c93(regs, WD_DESTINATION_ID, cmd->target | DSTID_DPD);
          if (hostdata->level2 >= L2_RESELECT) {
-            write_wd33c93_count(regp, 0);  /* we want a DATA_PHASE interrupt */
-            write_wd33c93(regp, WD_COMMAND_PHASE, 0x45);
-            write_wd33c93_cmd(regp, WD_CMD_SEL_ATN_XFER);
+            write_wd33c93_count(regs, 0);  /* we want a DATA_PHASE interrupt */
+            write_wd33c93(regs, WD_COMMAND_PHASE, 0x45);
+            write_wd33c93_cmd(regs, WD_CMD_SEL_ATN_XFER);
             hostdata->state = S_RUNNING_LEVEL2;
             }
          else
@@ -1413,36 +1409,33 @@
 
 static void reset_wd33c93(struct Scsi_Host *instance)
 {
-struct WD33C93_hostdata *hostdata;
-wd33c93_regs *regp;
+struct WD33C93_hostdata *hostdata = (struct WD33C93_hostdata *)instance->hostdata;
+const wd33c93_regs regs = hostdata->regs;
 uchar sr;
 
-   hostdata = (struct WD33C93_hostdata *)instance->hostdata;
-   regp = hostdata->regp;
-
-   write_wd33c93(regp, WD_OWN_ID, OWNID_EAF | OWNID_RAF |
+   write_wd33c93(regs, WD_OWN_ID, OWNID_EAF | OWNID_RAF |
                  instance->this_id | hostdata->clock_freq);
-   write_wd33c93(regp, WD_CONTROL, CTRL_IDI | CTRL_EDI | CTRL_POLLED);
-   write_wd33c93(regp, WD_SYNCHRONOUS_TRANSFER,
+   write_wd33c93(regs, WD_CONTROL, CTRL_IDI | CTRL_EDI | CTRL_POLLED);
+   write_wd33c93(regs, WD_SYNCHRONOUS_TRANSFER,
                  calc_sync_xfer(hostdata->default_sx_per/4,DEFAULT_SX_OFF));
-   write_wd33c93(regp, WD_COMMAND, WD_CMD_RESET);
+   write_wd33c93(regs, WD_COMMAND, WD_CMD_RESET);
 #ifdef CONFIG_MVME147_SCSI
    udelay(25); /* The old wd33c93 on MVME147 needs this, at least */
 #endif
 
    while (!(READ_AUX_STAT() & ASR_INT))
       ;
-   sr = read_wd33c93(regp, WD_SCSI_STATUS);
+   sr = read_wd33c93(regs, WD_SCSI_STATUS);
 
-   hostdata->microcode = read_wd33c93(regp, WD_CDB_1);
+   hostdata->microcode = read_wd33c93(regs, WD_CDB_1);
    if (sr == 0x00)
       hostdata->chip = C_WD33C93;
    else if (sr == 0x01) {
-      write_wd33c93(regp, WD_QUEUE_TAG, 0xa5);  /* any random number */
-      sr = read_wd33c93(regp, WD_QUEUE_TAG);
+      write_wd33c93(regs, WD_QUEUE_TAG, 0xa5);  /* any random number */
+      sr = read_wd33c93(regs, WD_QUEUE_TAG);
       if (sr == 0xa5) {
          hostdata->chip = C_WD33C93B;
-         write_wd33c93(regp, WD_QUEUE_TAG, 0);
+         write_wd33c93(regs, WD_QUEUE_TAG, 0);
          }
       else
          hostdata->chip = C_WD33C93A;
@@ -1450,8 +1443,8 @@
    else
       hostdata->chip = C_UNKNOWN_CHIP;
 
-   write_wd33c93(regp, WD_TIMEOUT_PERIOD, TIMEOUT_PERIOD_VALUE);
-   write_wd33c93(regp, WD_CONTROL, CTRL_IDI | CTRL_EDI | CTRL_POLLED);
+   write_wd33c93(regs, WD_TIMEOUT_PERIOD, TIMEOUT_PERIOD_VALUE);
+   write_wd33c93(regs, WD_CONTROL, CTRL_IDI | CTRL_EDI | CTRL_POLLED);
 }
 
 
@@ -1495,14 +1488,14 @@
 {
 struct Scsi_Host *instance;
 struct WD33C93_hostdata *hostdata;
-wd33c93_regs *regp;
+wd33c93_regs regs;
 Scsi_Cmnd *tmp, *prev;
 
    disable_irq(cmd->host->irq);
 
    instance = cmd->host;
    hostdata = (struct WD33C93_hostdata *)instance->hostdata;
-   regp = hostdata->regp;
+   regs = hostdata->regs;
 
 /*
  * Case 1 : If the command hasn't been issued yet, we simply remove it
@@ -1554,8 +1547,8 @@
          }
 
       printk("sending wd33c93 ABORT command - ");
-      write_wd33c93(regp, WD_CONTROL, CTRL_IDI | CTRL_EDI | CTRL_POLLED);
-      write_wd33c93_cmd(regp, WD_CMD_ABORT);
+      write_wd33c93(regs, WD_CONTROL, CTRL_IDI | CTRL_EDI | CTRL_POLLED);
+      write_wd33c93_cmd(regs, WD_CMD_ABORT);
 
 /* Now we have to attempt to flush out the FIFO... */
 
@@ -1564,11 +1557,11 @@
       do {
          asr = READ_AUX_STAT();
          if (asr & ASR_DBR)
-            read_wd33c93(regp, WD_DATA);
+            read_wd33c93(regs, WD_DATA);
          } while (!(asr & ASR_INT) && timeout-- > 0);
-      sr = read_wd33c93(regp, WD_SCSI_STATUS);
+      sr = read_wd33c93(regs, WD_SCSI_STATUS);
       printk("asr=%02x, sr=%02x, %ld bytes un-transferred (timeout=%ld) - ",
-             asr, sr, read_wd33c93_count(regp), timeout);
+             asr, sr, read_wd33c93_count(regs), timeout);
 
    /*
     * Abort command processed.
@@ -1577,13 +1570,13 @@
     */
 
       printk("sending wd33c93 DISCONNECT command - ");
-      write_wd33c93_cmd(regp, WD_CMD_DISCONNECT);
+      write_wd33c93_cmd(regs, WD_CMD_DISCONNECT);
 
       timeout = 1000000;
       asr = READ_AUX_STAT();
       while ((asr & ASR_CIP) && timeout-- > 0)
          asr = READ_AUX_STAT();
-      sr = read_wd33c93(regp, WD_SCSI_STATUS);
+      sr = read_wd33c93(regs, WD_SCSI_STATUS);
       printk("asr=%02x, sr=%02x.",asr,sr);
 
       hostdata->busy[cmd->target] &= ~(1 << cmd->lun);
@@ -1733,8 +1726,8 @@
 
 
 
-void wd33c93_init (struct Scsi_Host *instance, wd33c93_regs *regs,
-         dma_setup_t setup, dma_stop_t stop, int clock_freq)
+void wd33c93_init(struct Scsi_Host *instance, const wd33c93_regs regs,
+		  dma_setup_t setup, dma_stop_t stop, int clock_freq)
 {
 struct WD33C93_hostdata *hostdata;
 int i;
@@ -1747,7 +1740,7 @@
 
    hostdata = (struct WD33C93_hostdata *)instance->hostdata;
 
-   hostdata->regp = regs;
+   hostdata->regs = regs;
    hostdata->clock_freq = clock_freq;
    hostdata->dma_setup = setup;
    hostdata->dma_stop = stop;
diff -u --recursive --exclude-from=/home/geert/diff-excludes-linux --new-file linux-m68k-2.4.4/drivers/scsi/wd33c93.h wd33c93-2.4.4/drivers/scsi/wd33c93.h
--- linux-m68k-2.4.4/drivers/scsi/wd33c93.h	Tue Nov 28 02:57:34 2000
+++ wd33c93-2.4.4/drivers/scsi/wd33c93.h	Wed May 23 08:13:56 2001
@@ -189,14 +189,8 @@
 
    /* This is what the 3393 chip looks like to us */
 typedef struct {
-   volatile unsigned char   SASR;
-#if !defined(CONFIG_MVME147_SCSI)
-   char                     pad;
-#endif
-#ifdef CONFIG_SGI_IP22
-   char                     pad2,pad3;
-#endif
-   volatile unsigned char   SCMD;
+   volatile unsigned char  *SASR;
+   volatile unsigned char  *SCMD;
 } wd33c93_regs;
 
 
@@ -225,7 +219,7 @@
 
 struct WD33C93_hostdata {
     struct Scsi_Host *next;
-    wd33c93_regs     *regp;
+    wd33c93_regs     regs;
     uchar            clock_freq;
     uchar            chip;             /* what kind of wd33c93? */
     uchar            microcode;        /* microcode rev */
@@ -336,7 +330,7 @@
 #define PR_STOP      1<<7
 
 
-void wd33c93_init (struct Scsi_Host *instance, wd33c93_regs *regs,
+void wd33c93_init (struct Scsi_Host *instance, const wd33c93_regs regs,
          dma_setup_t setup, dma_stop_t stop, int clock_freq);
 int wd33c93_abort (Scsi_Cmnd *cmd);
 int wd33c93_queuecommand (Scsi_Cmnd *cmd, void (*done)(Scsi_Cmnd *));
Gr{oetje,eeting}s,
						Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ge...@li...
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
							    -- Linus Torvalds
 | 
| 
      
      
      From: Sven L. <lu...@dp...> - 2001-05-22 13:08:40
      
     | 
| On Sat, May 19, 2001 at 07:22:18PM +0200, Michel D=E4nzer wrote: > Giorgio Terzi wrote: >=20 > > Compressed image too large! Aborting. > >=20 > > crc errorDecompression error -- aborting >=20 > Looks like an old boothack with a kernel size limit. We should probably > upgrade to the latest one where that limit is lifted. Giorgio, you are taking the bootstrap from the boot-floppies package, isn= 't it ? It is indeed old (from around the potato freeze). We just need to replace it with a more modern version. Which one is the appropriate one ? I will check it in the boot floppies C= VS tree. more on the other tsuff later on, i have not much time right now. Friendly, Sven Luther | 
| 
      
      
      From: Giorgio T. <gt...@us...> - 2001-05-21 16:12:37
      
     | 
| CVSROOT:	/cvsroot/linux-apus
Module name:	boothack
Repository:	./
Changes by:	gterzi@usw-pr-cvs1.	01/05/21 09:12:37
Log message:
  Modified & compiled to load gzipped upto 4Mb kernels
Modified files:
      ./:
        bootstrap linuxboot.c 
  
  Revision      Changes    Path
  1.3           +147 -145  boothack/bootstrap
  1.3           +1 -1      boothack/linuxboot.c
 | 
| 
      
      
      From: Michel  <mic...@ii...> - 2001-05-21 16:08:51
      
     | 
| Giorgio Terzi wrote: > > I know too little about this, but if that change works I say go ahead and > > commit it. Will you put up a new boothack release then? > > OK, i have tested it and i shall commit. I know how to do. > I have write access to APUS cvs. > > But if someone could please send me a little "How to" make a new > boothack release, or at least where to find some instructions about, > i shall appreciate it. I am not expert about... When you're logged in, follow the 'Project Admin' link on the left. Go down to File Releases and read the 'What's this?' . That should give you most needed info. Then create a new release for the Boothack module. > > I'd rather abandon 2.2.10 in favour of 2.4 . Any reason against this? > > None reason, absolutely none! :) Cool, now let's hope I find time to make a 2.4 package soon... -- Earthling Michel Dänzer (MrCooper) \ Debian GNU/Linux (powerpc) developer CS student, Free Software enthusiast \ XFree86 and DRI project member | 
| 
      
      
      From: Giorgio T. <de...@ip...> - 2001-05-21 15:36:59
      
     | 
| Hello Michel,
...
> I know too little about this, but if that change works I say go ahead and
> commit it. Will you put up a new boothack release then? 
OK, i have tested it and i shall commit. I know how to do.
I have write access to APUS cvs.
But if someone could please send me a little "How to" make a new 
boothack release, or at least where to find some instructions about,
i shall appreciate it. I am not expert about...
> I'd rather abandon 2.2.10 in favour of 2.4 . Any reason against this?
None reason, absolutely none! :)
Post Silent... :))  Welcome back Nicholai !
Regards 
-- 
                                Giorgio Terzi 
 | 
| 
      
      
      From: Michel  <mic...@ii...> - 2001-05-20 14:33:19
      
     | 
| Nicholai Benalal wrote: > The reason I haven't been active with linux/apus is that most of my > programming time has gone to different MorphOS projects and I'm also busy > with my master thesis. I see, good luck with that. > If there are any ongoing discussions about bootstrap that you think I should > know about, then I have nothing against you CCing me. You're not on the APUS-devel list anymore? It's still rather low-traffic :-/ -- Earthling Michel Dänzer (MrCooper) \ Debian GNU/Linux (powerpc) developer CS student, Free Software enthusiast \ XFree86 and DRI project member | 
| 
      
      
      From: Nicholai B. <nic...@ch...> - 2001-05-20 14:20:29
      
     | 
| Hello Michel Den 20-Maj-01, skrev Michel D=E4nzer: MD>> I wish to propose that the value of that symbol be modified MD>> from 2*1024*1024/ZFILE_CHUNK_SIZE MD>> to 4*1024*1024/ZFILE_CHUNK_SIZE MD>> that can work with final sizes upto 4Megs because the MD>> 2.4 kernels may be bigger than 3Megs MD> = MD> I know too little about this, but if that change works I say go ahead= MD> and commit it. Will you put up a new boothack release then? Haven't MD> heard from Nicholai in what seems like forever. :( MD> = I'm silently following what you do ;-) The reason I haven't been active with linux/apus is that most of my programming time has gone to different MorphOS projects and I'm also busy= with my master thesis. I think the proposed change makes perfect sense so Giorgio should commits it (I assume he has access?). If there are any ongoing discussion= s about = bootstrap that you think I should know about, then I have nothing against= you CCing me. = Friendly, Nicholai | 
| 
      
      
      From: Michel  <mic...@ii...> - 2001-05-20 14:06:31
      
     | 
| Giorgio Terzi wrote: > I have written about a bug of "'bootstrap'". > Of a compressed kernel loading error. > It was not a true bug but a size limit of the preprocessor symbol > ZFILE_N_CHUNKS that is found in file linuxboot.c at line 1654. > The size now is limited to 2MBytes but the compressed kernel i > loaded (From Debian Package) had a final size of 2101854 that is bigger. > > I wish to propose that the value of that symbol be modified > from 2*1024*1024/ZFILE_CHUNK_SIZE > to 4*1024*1024/ZFILE_CHUNK_SIZE > that can work with final sizes upto 4Megs because the > 2.4 kernels may be bigger than 3Megs I know too little about this, but if that change works I say go ahead and commit it. Will you put up a new boothack release then? Haven't heard from Nicholai in what seems like forever. :( > For Michel, > the APUS 2.2.10 kernel in the Debian Package has no floppy-disk > support. > Could you please add it and make a new 2.2.10 Debian Package? I'd rather abandon 2.2.10 in favour of 2.4 . Any reason against this? -- Earthling Michel Dänzer (MrCooper) \ Debian GNU/Linux (powerpc) developer CS student, Free Software enthusiast \ XFree86 and DRI project member | 
| 
      
      
      From: Giorgio T. <de...@ip...> - 2001-05-20 08:22:46
      
     | 
| Hello all,
I have written about a bug of "'bootstrap'".
Of a compressed kernel loading error.
It was not a true bug but a size limit of the preprocessor symbol 
ZFILE_N_CHUNKS that is found in file linuxboot.c at line 1654.
The size now is limited to 2MBytes but the compressed kernel i 
loaded (From Debian Package) had a final size of 2101854 that is bigger. 
I wish to propose that the value of that symbol be modified 
from  2*1024*1024/ZFILE_CHUNK_SIZE
to    4*1024*1024/ZFILE_CHUNK_SIZE
that can work with final sizes upto 4Megs because the
2.4 kernels may be bigger than 3Megs
For Michel, 
the APUS 2.2.10 kernel in the Debian Package has no floppy-disk 
support.
Could you please add it and make a new 2.2.10 Debian Package?
Thank you.
P.S. The same will be for the 2.4.xx kernel that you are going to 
     package. 
Kind regards
-- 
                                                 Giorgio Terzi
 | 
| 
      
      
      From: Michel  <mic...@ii...> - 2001-05-19 17:22:47
      
     | 
| Giorgio Terzi wrote: > Compressed image too large! Aborting. > > crc errorDecompression error -- aborting Looks like an old boothack with a kernel size limit. We should probably upgrade to the latest one where that limit is lifted. -- Earthling Michel Dänzer (MrCooper) \ Debian GNU/Linux (powerpc) developer CS student, Free Software enthusiast \ XFree86 and DRI project member | 
| 
      
      
      From: Roman Z. <zi...@us...> - 2001-05-18 23:18:48
      
     | 
| CVSROOT:	/cvsroot/linux-apus
Module name:	2.3
Repository:	2.3/include/asm-ppc/
Changes by:	zippel@usw-pr-cvs1.	01/05/18 16:18:48
Log message:
  conflict fixes from import bitkeeper (2.4.5-pre3)
Modified files:
      ./:
        Makefile 
      2.3/Documentation/:
        Configure.help 
      2.3/arch/ppc/:
        Makefile 
      2.3/arch/ppc/kernel/:
        apus_setup.c head.S irq.c pci.c ppc-stub.c ppc_ksyms.c 
        setup.c time.c 
      2.3/arch/ppc/mm/:
        init.c 
      2.3/drivers/char/:
        Makefile mem.c 
      2.3/drivers/net/:
        Makefile 
      2.3/drivers/scsi/:
        Makefile 
      2.3/include/asm-ppc/:
        amigaints.h bootinfo.h io.h mpc8xx.h pgtable.h ppc4xx.h 
Removed files:
      2.3/drivers/net/pcmcia/:
        hermes.c hermes.h orinoco_cs.c 
      2.3/drivers/net/tokenring/:
        ibmtr.h 
      2.3/fs/proc/:
        procfs_syms.c 
  
  Revision      Changes    Path
  1.21          +3 -4      2.3/Makefile
  1.13          +14 -26    2.3/Documentation/Configure.help
  1.5           +4 -41     2.3/arch/ppc/Makefile
  1.14          +3 -0      2.3/arch/ppc/kernel/apus_setup.c
  1.18          +3 -4      2.3/arch/ppc/kernel/head.S
  1.7           +3 -2      2.3/arch/ppc/kernel/irq.c
  1.10          +149 -6    2.3/arch/ppc/kernel/pci.c
  1.5           +4 -1      2.3/arch/ppc/kernel/ppc-stub.c
  1.19          +9 -8      2.3/arch/ppc/kernel/ppc_ksyms.c
  1.13          +3 -1      2.3/arch/ppc/kernel/setup.c
  1.10          +10 -1     2.3/arch/ppc/kernel/time.c
  1.17          +3 -2      2.3/arch/ppc/mm/init.c
  1.13          +1 -1      2.3/drivers/char/Makefile
  1.5           +2 -0      2.3/drivers/char/mem.c
  1.7           +3 -1      2.3/drivers/net/Makefile
  1.5           +9 -0      2.3/drivers/scsi/Makefile
  1.4           +3 -0      2.3/include/asm-ppc/amigaints.h
  1.4           +3 -0      2.3/include/asm-ppc/bootinfo.h
  1.7           +7 -3      2.3/include/asm-ppc/io.h
  1.2           +21 -4     2.3/include/asm-ppc/mpc8xx.h
  1.7           +8 -5      2.3/include/asm-ppc/pgtable.h
  1.2           +3 -2      2.3/include/asm-ppc/ppc4xx.h
 | 
| 
      
      
      From: Giorgio T. <de...@ip...> - 2001-05-18 16:36:22
      
     | 
| Hello Sven,
here some test results plus other informations
questions & bugs
1)I have tested your patch, unfortunately it does not work,
  but don't worry, i have found i think, a solution
  for the 2.2.10 kernel version problem.
  I attack the file powerpc.rules completely (is 800 bytes)
  so you can sobstitute it in the boot-floppies/make
  directory if this my modify will be accepted.
2) Is possible to load the root image with 2.4.3 kernel.
3) About the '"bootstrap --apus etc... program'" troubles,
   seems i have found also a solution:
   the problem was that Amiga setpatch program must be
   present in the startup-sequence before "'bootstrap"'
   here is a list of the files contained in the Amiga floppy
   (1,76M) from which i boot Linux:
   -------------------------------------------------------------
   libs (dir)
      68040.library                    68040new.library
      68060.library                    ppc.library
      ppcdiss.library
   s (dir)
      startup-sequence
   c (dir)
      Assign                           bootstrap
      Copy                             Execute
      MakeDir                          ppcboot_pup
      ppcboot_wup                      SetPatch
   t (dir)
   config.gz                        debian.txt
   install.sh                       linux
   readme.txt                       sys_map.gz
   type.txt
   -----------------------------------------------------------
   and here the startup-sequence
   ----------------------------------------------------------
   c:setpatch QUIET
   makedir ram:env
   makedir ram:t
   assign env: ram:env
   assign t: ram:t
   copy sys:linux ram:vmlinux
   copy c:ppc#? ram: >NIL:
   copy c:bootstrap ram:
   cd ram:
   bootstrap --apus "root=/dev/hdb2 video=pm2fb:mode:1152x864-70"
   ---------------------------------------------------------
   With WarpUp also works, with the little extra work of
   to copy and setup its env vars from the floppy.
4) Do exists an utility like mkdosfs to Amigados format
   floppy-disks under Linux ?
5) Lastly, but not least, a strange misterious bug...:
   I think this is for Nicholai Benalal &  |  Michel Danzer
   Compressed kernels:
   If i gzip an APUS 2.2.10 kernel, more explicitly the one i have taken
   from the Apus site it works with '"bootstrap'",
   but if i use the 2.2.10 APUS compressed kernel extracted from the Debian
   Package '"bootstrap'" complains that the kernel has a decompression
   crc error
   here is the output:
   ------------------------------------------------------------------
   Linux/m68k Amiga Bootstrap version 5.6
   Copyright 1993,1994 by Hamish Macdonald and Greg Harp
   Amiga 4000 CPU: 68060 with internal FPU, AGA chipset
   APUS: No BPPC+ SCSI interface detected.
   APUS: PCI Bridge detected.
   Command line is 'root=/dev/hdb2 video=pm2fb:mode:1152x864-70 video=amifb:vga
   video=map:000011 single'
   Vertical Blank Frequency: 50Hz
   Power Supply Frequency: 50Hz
   EClock Frequency: 709379Hz
   Found 5 AutoConfig Devices
   Device 0: addr = 0x40000000
   Device 1: addr = 0x00e90000
   Device 2: addr = 0x00ea0000
   Device 3: addr = 0x00eb0000
   Device 4: addr = 0x00f01060
   Found 1 Block of Memory
   Block 0: 0x08000000 to 0x0ff80000 (130560K)
   2048K of CHIP memory
   The kernel will be located at 0x08000000
   Kernel is compressed
   Uncompressing kernel image
   ................................................................
   Compressed image too large! Aborting.
   crc errorDecompression error -- aborting
   ----------------------------------------------------------------
   It can be gunzipped without errors ( from the Amiga side i use ADE 
   gzip1.2.4) and also used uncompressed, but , the mistery is more 
   misterious ;-) , if i gzip the kernel another time, also without using the
   -9 option the problem returns.
Regards
-- 
                         Giorgio Terzi
 | 
| 
      
      
      From: <no...@so...> - 2001-05-17 23:39:01
      
     | 
| Bugs item #417987, was updated on 2001-04-22 04:05 You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=105907&aid=417987&group_id=5907 >Category: 2.4 Kernel Group: None >Status: Closed >Resolution: Duplicate >Priority: 1 Submitted By: Nobody/Anonymous (nobody) Assigned to: Nobody/Anonymous (nobody) Summary: PCMCIA Ethernet + Kernel 2.4.x = false Initial Comment: When trying to use any of the precompiled Linux/APUS Kernels which are avaible for download from here, the Kernel just stopps and looks for the Ethernet card. While using one of the older Kernels (2.2.x), everything works fine except that I can't use BlizzPPC-SCSI and Ethernet at the same time. Here is my dmesg output: >>>start>>> Total memory = 63MB; using 0kB for hash table (at 00000000) Linux version 2.4.2 (michdaen@pismo) (gcc version 2.95.3 20010219 (prerelease)) #66 Thu Mar 15 18:29:35 CET 2001 Amiga hardware found: [A1200] VIDEO BLITTER AUDIO FLOPPY A1200_IDE KEYBOARD MOUSE SERIAL PARALLEL A2000_CLK CHIP_RAM PAULA LISA ALICE_PAL PCMCIA ZORRO On node 0 totalpages: 16256 zone(0): 16256 pages. zone(1): 0 pages. zone(2): 0 pages. Kernel command line: root=/dev/hda3 debug=mem nobat 60nsram amiga_enable_irq: Trying to enable auto-vector IRQ 1 amiga_enable_irq: Trying to enable auto-vector IRQ 3 amiga_enable_irq: Trying to enable auto-vector IRQ 4 amiga_enable_irq: Trying to enable auto-vector IRQ 5 amiga_enable_irq: Trying to enable auto-vector IRQ 7 amiga_enable_irq: Trying to enable auto-vector IRQ 2 amiga_enable_irq: Trying to enable auto-vector IRQ 6 APUS: BATs=1, BUS=67MHz, RAM=60ns, PCI bridge=0 time_init: decrementer frequency = 16.504254 MHz Console: colour dummy device 80x25 Calibrating delay loop... 109.77 BogoMIPS Memory: 61124k available (1688k kernel code, 788k data, 264k init, 0k highmem) Dentry-cache hash table entries: 8192 (order: 4, 65536 bytes) Buffer-cache hash table entries: 1024 (order: 0, 4096 bytes) Page-cache hash table entries: 16384 (order: 4, 65536 bytes) Inode-cache hash table entries: 4096 (order: 3, 32768 bytes) POSIX conformance testing by UNIFIX PCI: Probing PCI hardware Zorro: Probing AutoConfig expansion devices: 1 device Linux NET4.0 for Linux 2.4 Based upon Swansea University Computer Society NET3.039 Starting kswapd v1.8 Console: switching to colour frame buffer device 80x25 fb0: Amiga AGA frame buffer device, using 1280K of video memory clgen: Driver for Cirrus Logic based graphic boards, v1.9.8 Couldn't find PCI device pty: 256 Unix98 ptys configured block: queued sectors max/low 40496kB/13498kB, 128 slots per queue RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize loop: enabling 8 loop devices Uniform Multi-Platform E-IDE driver Revision: 6.31 ide: Assuming 50MHz system bus speed for PIO modes; override with idebus=xx ide0: Gayle IDE interface (A1200 style) hda: QUANTUM FIREBALL_TM2550A, ATA DISK drive hdb: QUANTUM FIREBALL1280A, ATA DISK drive ide0 at 80da0000 on irq 0x0000000c hda: 5008752 sectors (2564 MB) w/76KiB Cache, CHS=4969/16/63 hdb: 2503872 sectors (1282 MB) w/83KiB Cache, CHS=2484/16/63 Partition check: hda: RDSK hda1 hda2 hda3 hdb: RDSK hdb1 hdb2 FD: probing units found <5>fd: drive 0 didn't identify, setting default ffffffff fd0 Looking for PCMCIA ethernet card : <<<<end<<<< I don't know if this helps anything when conserning about the 2.2.x problem with BlizzPPC-SCSI and Ethernet: ---start--- Date: Sat, 21 Apr 2001 21:19:21 +0200 From: Ignatios Souvatzis <is...@ne...> To: por...@ne... Subject: BlizzardPPC scsi, anyone? Hi, it was pointed out to me that anything necessary to build a BlizzardPPC scsi frontent driver to our siop driver can be deduced from looking at the Linux code, especially: - Zorro ID are 8512/110 (we knew that), BUT - base address is 0xf40000, not the one from Amiga AutoConfig(tm) - interupt line is the "ports" interupt (ipl 2) - chip is a 53c710 - scsi clock is 50 MHz. If anybody want to make this into a driver (you need the Amiga siop, not the siop2), please do -- you can mostly steal the structure of the cbiiisc, but using the 53c710 calls and includes (like drscsi.c). Else, if anybody would run alpha tests, speak up, too. Regards, Ignatios ----end---- ---------------------------------------------------------------------- >Comment By: Michel Daenzer (mdaenzer) Date: 2001-05-17 16:39 Message: Logged In: YES user_id=34113 This is the same bug as the other one about PCMCIA ethernet in 2.4 (please followup there), closing. ---------------------------------------------------------------------- Comment By: Alan buxey (alanbuxey) Date: 2001-05-17 08:39 Message: Logged In: YES user_id=34303 does this problem still appear with the 2.4.4 kernel ? ---------------------------------------------------------------------- You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=105907&aid=417987&group_id=5907 | 
| 
      
      
      From: Geert U. <ge...@li...> - 2001-05-17 20:01:36
      
     | 
| On Thu, 17 May 2001, Cort Dougan wrote:
> Geert, can you send this to Roman?  He's sending me APUS changes now.  I
> have no experience or knowledge of the APUS so it's easiest if you talk
> with him.
He's on the APUS list (which I cc'ed too).
Gr{oetje,eeting}s,
						Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ge...@li...
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
							    -- Linus Torvalds
 | 
| 
      
      
      From: Cort D. <co...@fs...> - 2001-05-17 19:55:44
      
     | 
| Geert, can you send this to Roman? He's sending me APUS changes now. I have no experience or knowledge of the APUS so it's easiest if you talk with him. Alan, I'll CC you on my patches to Linus when we have things worked out. Thanks. | 
| 
      
      
      From: Geert U. <ge...@li...> - 2001-05-17 19:33:42
      
     | 
| On Thu, 17 May 2001, Alan Cox wrote:
> 2.4.4-ac10
> o	Merge Linus 2.4.5pre3
> 	- switch to Linus arch/ppc
... which reverted a valid change for the APUS port.
Fix below.
Cort: my linuxppc_2_4 is not up-to-date, so I can't push it now.
--- linux-2.4.4-ac10/arch/ppc/amiga/config.c	Tue Nov 28 02:57:34 2000
+++ apus-2.4.4-ac10/arch/ppc/amiga/config.c	Mon Mar 12 08:58:57 2001
@@ -743,20 +743,6 @@
     return 0;
 }
 
-void dbprintf(const char *fmt , ...)
-{
-	static char buf[1024];
-	va_list args;
-	extern void console_print (const char *str);
-	extern int vsprintf(char * buf, const char * fmt, va_list args);
-
-	va_start(args, fmt);
-	vsprintf(buf, fmt, args);
-	va_end(args);
-
-	console_print (buf);
-}
-
 static NORET_TYPE void amiga_reset( void )
     ATTRIB_NORET;
 
Gr{oetje,eeting}s,
						Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ge...@li...
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
							    -- Linus Torvalds
 | 
| 
      
      
      From: Duncan G. <DG...@Du...> - 2001-05-17 18:23:59
      
     | 
| On 17-May-01, Alan Buxey wrote: AB> How much fits onto one 880K formatted disk, i cant recall, AB> its been so long....is it 856k? I think it depends which filesystem you use, and whether you have many small files verses few big ones. For a disk mostly filled with one large file (like a kernel image), FFS should be more efficient, since it doesn't put headers on every block, IIRC, using all 512 bytes for actual data. FFS has been in ROM since v37, so it should be safe to assume everyone can boot from an FFS disk. Except maybe a (very) few A3000 users. If you get really desperate, there exist crunchers which can store Amiga (68K) executables in a cruched format and decompress them as they load. Don't know if anyone's used these under an at all recent version of AmigaOS, though. Duncan -- ... You sound reasonable...Time to up my medication. |