El vie, 28-10-2005 a las 20:35 +0200, Alfred M. Szmidt escribió:
> How did you compile it (configure options and gcc version) and from
> where did you get the sources (ams-branch?) ? I would like to take
> a look at this problem.
>
> It is from gnumach-1-branch (no such thing as ams-branch for GNU
> Mach), it might have some hacks from me. I don't recall, you can get
> the same try using tla from:
> [EMAIL PROTECTED]/gnumach--ams--1.3
> (http://www.update.uu.se/~ams/{archives}/2005-update).
>
The problem seems to be a little bug (MAXIRQ value is 16, while reg_IRQ
array range is 0-15) in eata_dma and eata_pio scsi drivers triggered by
using gcc-4.0. Please try the attached patch, it works for me.
And for the boot process, I've only took a little look, but fsck claims
"filesystem arguments not allowed with --all", dmd and deco doesn't run
because they can't find guile, and login must be installed with setuid.
I'm too sleepy now to look forward, maybe tomorrow.
> By the way, I'm still waiting for papers from you, I'd really like to
> commit the patches that you sent to ams-branch, and maybe
> gnumach-1-branch.
>
Sorry, I forgot to tell you that I already have that papers (for glibc,
gnumach and hurd).
--
Sergio Lopez
[EMAIL PROTECTED]
diff -dur gnumach-ams.orig/linux/dev/drivers/scsi/eata_dma.c gnumach-ams/linux/dev/drivers/scsi/eata_dma.c
--- gnumach-ams.orig/linux/dev/drivers/scsi/eata_dma.c 2005-10-29 04:23:28.000000000 +0200
+++ gnumach-ams/linux/dev/drivers/scsi/eata_dma.c 2005-10-29 04:25:52.000000000 +0200
@@ -1536,7 +1536,7 @@
find_ISA(&gc, tpnt);
- for (i = 0; i <= MAXIRQ; i++) { /* Now that we know what we have, we */
+ for (i = 0; i < MAXIRQ; i++) { /* Now that we know what we have, we */
if (reg_IRQ[i] >= 1){ /* exchange the interrupt handler which */
free_irq(i, NULL); /* we used for probing with the real one */
request_irq(i, (void *)(eata_int_handler), SA_INTERRUPT|SA_SHIRQ,
diff -dur gnumach-ams.orig/linux/src/drivers/scsi/eata_dma.c gnumach-ams/linux/src/drivers/scsi/eata_dma.c
--- gnumach-ams.orig/linux/src/drivers/scsi/eata_dma.c 2005-10-29 04:23:28.000000000 +0200
+++ gnumach-ams/linux/src/drivers/scsi/eata_dma.c 2005-10-29 04:25:57.000000000 +0200
@@ -1532,7 +1532,7 @@
find_ISA(&gc, tpnt);
- for (i = 0; i <= MAXIRQ; i++) { /* Now that we know what we have, we */
+ for (i = 0; i < MAXIRQ; i++) { /* Now that we know what we have, we */
if (reg_IRQ[i] >= 1){ /* exchange the interrupt handler which */
free_irq(i, NULL); /* we used for probing with the real one */
request_irq(i, (void *)(eata_int_handler), SA_INTERRUPT|SA_SHIRQ,
diff -dur gnumach-ams.orig/linux/src/drivers/scsi/eata_pio.c gnumach-ams/linux/src/drivers/scsi/eata_pio.c
--- gnumach-ams.orig/linux/src/drivers/scsi/eata_pio.c 2005-10-29 04:23:28.000000000 +0200
+++ gnumach-ams/linux/src/drivers/scsi/eata_pio.c 2005-10-29 04:24:06.000000000 +0200
@@ -981,7 +981,7 @@
find_pio_ISA(&gc, tpnt);
- for (i = 0; i <= MAXIRQ; i++)
+ for (i = 0; i < MAXIRQ; i++)
if (reg_IRQ[i])
request_irq(i, eata_pio_int_handler, SA_INTERRUPT, "EATA-PIO", NULL);
_______________________________________________
gnu-system-discuss mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/gnu-system-discuss