linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Re: 2.4.12-ac3 floppy module requires 0x3f0-0x3f1 ioports
@ 2001-11-03  2:02 Thomas Hood
  2001-11-05  0:00 ` Maciej Zenczykowski
  0 siblings, 1 reply; 14+ messages in thread
From: Thomas Hood @ 2001-11-03  2:02 UTC (permalink / raw)
  To: linux-kernel, Maciej Zenczykowski; +Cc: Alan Cox

Alan Cox wrote:
> Maciej Zenczykowski wrote:
>> Is there any reason why the floppy module requires
>> the ioport range 0x3f0-0x3f1 in order to load?  On
>> my computer /proc/ioports reports this range as used
>> by PnPBIOS PNP0c02, thus the floppy module cannot
>> reserve the range 0x3f0-0x3f5 and refuses to load.
>
> This is a bug in the PnPBIOS experimental code -
> turn off PnPBIOS and/or update for the moment

A fix for this problem went in to 2.4.13-ac2.  Please
try that kernel (or a later -ac kernel) and report back.

--
Thomas


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: 2.4.12-ac3 floppy module requires 0x3f0-0x3f1 ioports
  2001-11-03  2:02 2.4.12-ac3 floppy module requires 0x3f0-0x3f1 ioports Thomas Hood
@ 2001-11-05  0:00 ` Maciej Zenczykowski
  2001-11-05  0:15   ` Thomas Hood
  0 siblings, 1 reply; 14+ messages in thread
From: Maciej Zenczykowski @ 2001-11-05  0:00 UTC (permalink / raw)
  To: Thomas Hood; +Cc: linux-kernel, Alan Cox

[-- Attachment #1: Type: TEXT/PLAIN, Size: 929 bytes --]

On 2 Nov 2001, Thomas Hood wrote:
> Alan Cox wrote:
> > Maciej Zenczykowski wrote:
> >> Is there any reason why the floppy module requires
> >> the ioport range 0x3f0-0x3f1 in order to load?  On
> >> my computer /proc/ioports reports this range as used
> >> by PnPBIOS PNP0c02, thus the floppy module cannot
> >> reserve the range 0x3f0-0x3f5 and refuses to load.
> >
> > This is a bug in the PnPBIOS experimental code -
> > turn off PnPBIOS and/or update for the moment
>
> A fix for this problem went in to 2.4.13-ac2.  Please
> try that kernel (or a later -ac kernel) and report back.

Well just tried kernel 2.4.13-ac6 and there is absolutely no difference.

After applying the attached patch all works OK...

Maciej Zenczykowski

nb. modprobe rivafb leaves the kernel's idea of whats on screen out of
sync with the truth.  i.e. modprobe rivafb on tty2 and you end up with
tty1 on the screen, but keypresses going to tty2...

[-- Attachment #2: floppy patch --]
[-- Type: TEXT/PLAIN, Size: 1836 bytes --]

--- drivers/block/floppy.c.before-maze	Sun Oct 21 19:09:21 2001
+++ drivers/block/floppy.c	Tue Oct 30 21:46:46 2001
@@ -4228,7 +4228,7 @@
 		FDCS->rawcmd = 2;
 		if (user_reset_fdc(-1,FD_RESET_ALWAYS,0)){
  			/* free ioports reserved by floppy_grab_irq_and_dma() */
- 			release_region(FDCS->address, 6);
+ 			release_region(FDCS->address+2, 4);
  			release_region(FDCS->address+7, 1);
 			FDCS->address = -1;
 			FDCS->version = FDC_NONE;
@@ -4238,7 +4238,7 @@
 		FDCS->version = get_fdc_version();
 		if (FDCS->version == FDC_NONE){
  			/* free ioports reserved by floppy_grab_irq_and_dma() */
- 			release_region(FDCS->address, 6);
+ 			release_region(FDCS->address+2, 4);
  			release_region(FDCS->address+7, 1);
 			FDCS->address = -1;
 			continue;
@@ -4317,8 +4317,8 @@
 
 	for (fdc=0; fdc< N_FDC; fdc++){
 		if (FDCS->address != -1){
-			if (!request_region(FDCS->address, 6, "floppy")) {
-				DPRINT("Floppy io-port 0x%04lx in use\n", FDCS->address);
+			if (!request_region(FDCS->address + 2, 4, "floppy")) {
+				DPRINT("Floppy io-port 0x%04lx in use\n", FDCS->address + 2);
 				goto cleanup1;
 			}
 			if (!request_region(FDCS->address + 7, 1, "floppy DIR")) {
@@ -4349,12 +4349,12 @@
 	irqdma_allocated = 1;
 	return 0;
 cleanup2:
-	release_region(FDCS->address, 6);
+	release_region(FDCS->address + 2, 4);
 cleanup1:
 	fd_free_irq();
 	fd_free_dma();
 	while(--fdc >= 0) {
-		release_region(FDCS->address, 6);
+		release_region(FDCS->address + 2, 4);
 		release_region(FDCS->address + 7, 1);
 	}
 	MOD_DEC_USE_COUNT;
@@ -4421,7 +4421,7 @@
 	old_fdc = fdc;
 	for (fdc = 0; fdc < N_FDC; fdc++)
 		if (FDCS->address != -1) {
-			release_region(FDCS->address, 6);
+			release_region(FDCS->address+2, 4);
 			release_region(FDCS->address+7, 1);
 		}
 	fdc = old_fdc;

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: 2.4.12-ac3 floppy module requires 0x3f0-0x3f1 ioports
  2001-11-05  0:00 ` Maciej Zenczykowski
@ 2001-11-05  0:15   ` Thomas Hood
  2001-11-05  1:18     ` Maciej Zenczykowski
  0 siblings, 1 reply; 14+ messages in thread
From: Thomas Hood @ 2001-11-05  0:15 UTC (permalink / raw)
  To: Maciej Zenczykowski; +Cc: linux-kernel

On Sun, 2001-11-04 at 19:00, Maciej Zenczykowski wrote:
> > A fix for this problem went in to 2.4.13-ac2.  Please
> > try that kernel (or a later -ac kernel) and report back.
> 
> Well just tried kernel 2.4.13-ac6 and there is absolutely no difference.
> 
> After applying the attached patch all works OK...
> 
> Maciej Zenczykowski
> 
> nb. modprobe rivafb leaves the kernel's idea of whats on screen out of
> sync with the truth.  i.e. modprobe rivafb on tty2 and you end up with
> tty1 on the screen, but keypresses going to tty2...

What I would like to know is: What is at 0x3f0-0x3f1 on
your machine, and why does your PnP BIOS list these
two ioports as used by "system peripheral: other"?

On my ThinkPad 600, the BIOS lists 0x3f0-0x3f5 as owned
by the floppy device:
jdthood@thanatos:~$ sudo lspnp -v 08
08 PNP0700 mass storage device: floppy
	irq 6
	io 0x03f0-0x03f5
	dma 2

It looks like there's a bug in your BIOS.  What we could do is
patch the PnP BIOS driver so that it refrains from reserving 
0x3f0-0x3f1.

I'll let others comment on the appropriateness of your patch
to floppy.c .  I don't know whether it's the right thing to
do or not.

--
Thomas Hood



^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: 2.4.12-ac3 floppy module requires 0x3f0-0x3f1 ioports
  2001-11-05  0:15   ` Thomas Hood
@ 2001-11-05  1:18     ` Maciej Zenczykowski
  2001-11-05  2:40       ` Thomas Hood
                         ` (2 more replies)
  0 siblings, 3 replies; 14+ messages in thread
From: Maciej Zenczykowski @ 2001-11-05  1:18 UTC (permalink / raw)
  To: Thomas Hood; +Cc: linux-kernel

[-- Attachment #1: Type: TEXT/PLAIN, Size: 863 bytes --]


Well here you have it...

W98SE reports the FDC at 0x3f0..0x3f5 and 0x3f7

all in all it is very weird and I do not know what to make of it...
[ABIT SA6 motherboard with AWARD bios]

>
> What I would like to know is: What is at 0x3f0-0x3f1 on
> your machine, and why does your PnP BIOS list these
> two ioports as used by "system peripheral: other"?
>
> On my ThinkPad 600, the BIOS lists 0x3f0-0x3f5 as owned
> by the floppy device:
> jdthood@thanatos:~$ sudo lspnp -v 08
> 08 PNP0700 mass storage device: floppy
> 	irq 6
> 	io 0x03f0-0x03f5
> 	dma 2
>
> It looks like there's a bug in your BIOS.  What we could do is
> patch the PnP BIOS driver so that it refrains from reserving
> 0x3f0-0x3f1.
>
> I'll let others comment on the appropriateness of your patch
> to floppy.c .  I don't know whether it's the right thing to
> do or not.
>
> --
> Thomas Hood
>
>

[-- Attachment #2: Type: TEXT/PLAIN, Size: 1681 bytes --]

00 PNP0000 AT programmable interrupt controller
	irq 2
	io 0x0020-0x0021
	io 0x00a0-0x00a1

01 PNP0200 AT DMA controller
	dma 4
	io 0x0000-0x000f
	io 0x0081-0x0083
	io 0x0087-0x0087
	io 0x0089-0x008b
	io 0x008f-0x0091
	io 0x00c0-0x00df

02 PNP0100 AT system timer
	irq 0
	io 0x0040-0x0043

03 PNP0b00 AT real-time clock
	irq 8
	io 0x0070-0x0071

04 PNP0303 IBM enhanced keyboard (101/102-key, PS/2 mouse support)
	irq 1
	io 0x0060-0x0060
	io 0x0064-0x0064

05 PNP0800 AT-style speaker sound
	io 0x0061-0x0061

06 PNP0c04 Math coprocessor
	irq 13
	io 0x00f0-0x00ff

07 INT0800 memory controller: flash
	mem 0xffb80000-0xffbfffff

08 PNP0c01 System board
	mem 0x00000000-0x0009ffff
	mem 0xffb00000-0xffb7ffff
	mem 0xfff00000-0xffffffff
	mem 0xfee00000-0xfee0ffff
	mem 0x00100000-0x0fffffff

09 PNP0c02 Motherboard resources
	mem 0x000f0000-0x000f3fff
	mem 0x000f4000-0x000f7fff
	mem 0x000f8000-0x000fffff
	mem 0x000cc800-0x000cffff

0a PNP0a03 PCI bus
	io 0x0290-0x029f
	io 0x04d0-0x04d1
	io 0x0cf8-0x0cff
	io 0x0480-0x048f
	io 0x4000-0x40f7

0b PNP0f13 PS/2 port for PS/2-style mice
	irq 12

0c PNP0c02 Motherboard resources
	io 0x03f0-0x03f1

0d PNP0501 16550A-compatible COM port
	irq 4
	io 0x03f8-0x03ff

0e PNP0700 PC standard floppy disk controller
	dma 2
	io 0x03f2-0x03f5
	irq 6

10 PNP0401 ECP printer port
	dma 3
	irq 7
	io 0x0378-0x037f
	io 0x0778-0x077f
	io 0x0b78-0x0b7b
	io 0x0f78-0x0f7b

11 PNP0501 16550A-compatible COM port
	irq 3
	io 0x02f8-0x02ff

12 PNPb006 MPU401 compatible 
	irq 10
	io 0x0330-0x0331

13 PNPb02f Joystick/Game port
	io 0x0201-0x0207
	io 0x0200-0x0200


[-- Attachment #3: Type: TEXT/PLAIN, Size: 5713 bytes --]

00 PNP0000 AT programmable interrupt controller
    flags: [no disable] [no config] [static]
    allocated resources:
	irq 2 [high edge]
	io 0x0020-0x0021 [16-bit decode]
	io 0x00a0-0x00a1 [16-bit decode]

01 PNP0200 AT DMA controller
    flags: [no disable] [no config] [static]
    allocated resources:
	dma 4 [8 bit] [compat]
	io 0x0000-0x000f [16-bit decode]
	io 0x0081-0x0083 [16-bit decode]
	io 0x0087-0x0087 [16-bit decode]
	io 0x0089-0x008b [16-bit decode]
	io 0x008f-0x0091 [16-bit decode]
	io 0x00c0-0x00df [16-bit decode]

02 PNP0100 AT system timer
    flags: [no disable] [no config] [static]
    allocated resources:
	irq 0 [high edge]
	io 0x0040-0x0043 [16-bit decode]

03 PNP0b00 AT real-time clock
    flags: [no disable] [no config] [static]
    allocated resources:
	irq 8 [high edge]
	io 0x0070-0x0071 [16-bit decode]

04 PNP0303 IBM enhanced keyboard (101/102-key, PS/2 mouse support)
    flags: [no disable] [no config] [input] [static]
    allocated resources:
	irq 1 [high edge]
	io 0x0060-0x0060 [16-bit decode]
	io 0x0064-0x0064 [16-bit decode]

05 PNP0800 AT-style speaker sound
    flags: [no disable] [no config] [static]
    allocated resources:
	io 0x0061-0x0061 [16-bit decode]

06 PNP0c04 Math coprocessor
    flags: [no disable] [no config] [static]
    allocated resources:
	irq 13 [high edge]
	io 0x00f0-0x00ff [16-bit decode]

07 INT0800 memory controller: flash
    flags: [no disable] [no config] [static]
    allocated resources:
	mem 0xffb80000-0xffbfffff [32 bit] [r/o]

08 PNP0c01 System board
    flags: [no disable] [no config] [static]
    allocated resources:
	mem 0x00000000-0x0009ffff [8 bit] [r/w] [cacheable] [high]
	mem 0xffb00000-0xffb7ffff [8/16 bit] [r/o] [cacheable]
	mem 0xfff00000-0xffffffff [8/16 bit] [r/o] [cacheable]
	mem 0xfee00000-0xfee0ffff [8/16 bit] [r/o] [cacheable]
	mem 0x00100000-0x0fffffff [8 bit] [r/w] [cacheable] [high]

09 PNP0c02 Motherboard resources
    flags: [no disable] [no config] [static]
    allocated resources:
	mem 0x000f0000-0x000f3fff [8/16 bit] [r/o] [cacheable] [shadow]
	mem 0x000f4000-0x000f7fff [8/16 bit] [r/o] [cacheable] [shadow]
	mem 0x000f8000-0x000fffff [8/16 bit] [r/o] [cacheable] [shadow]
	mem 0x000cc800-0x000cffff [8/16 bit] [r/o] [cacheable] [shadow]

0a PNP0a03 PCI bus
    flags: [no disable] [no config] [static]
    allocated resources:
	io 0x0290-0x029f [16-bit decode]
	io 0x04d0-0x04d1 [16-bit decode]
	io 0x0cf8-0x0cff [16-bit decode]
	io 0x0480-0x048f [16-bit decode]
	io 0x4000-0x40f7 [16-bit decode]

0b PNP0f13 PS/2 port for PS/2-style mice
    flags: [dynamic only]
    allocated resources:
	irq 12 [high edge]
    possible resources:
	[start dep fn]
	irq 12 [high edge]
	[end dep fn]

0c PNP0c02 Motherboard resources
    flags: [no disable] [no config] [static]
    allocated resources:
	io 0x03f0-0x03f1 [16-bit decode]

0d PNP0501 16550A-compatible COM port
    flags: [dynamic only]
    allocated resources:
	irq 4 [high edge]
	io 0x03f8-0x03ff [16-bit decode]
    possible resources:
	irq mask 0x1eb8 [high edge]
	[start dep fn]
	io 0x03f8-0x03ff [16-bit decode]
	[start dep fn]
	io 0x02f8-0x02ff [16-bit decode]
	[start dep fn]
	io 0x03e8-0x03ef [16-bit decode]
	[start dep fn]
	io 0x02e8-0x02ef [16-bit decode]
	[end dep fn]

0e PNP0700 PC standard floppy disk controller
    flags: [no disable] [no config] [static]
    allocated resources:
	dma 2 [8 bit] [compat]
	io 0x03f2-0x03f5 [16-bit decode]
	irq 6 [high edge]
    possible resources:
	[start dep fn]
	dma 2 [8 bit] [compat]
	io 0x03f2-0x03f5 [16-bit decode]
	irq 6 [high edge]
	[end dep fn]

10 PNP0401 ECP printer port
    flags: [dynamic only]
    allocated resources:
	dma 3 [8 bit] [compat]
	irq 7 [high edge]
	io 0x0378-0x037f [16-bit decode]
	io 0x0778-0x077f [16-bit decode]
	io 0x0b78-0x0b7b [16-bit decode]
	io 0x0f78-0x0f7b [16-bit decode]
    possible resources:
	dma mask 0x000b [8 bit] [compat]
	irq mask 0x1eb8 [high edge]
	[start dep fn]
	io 0x0378-0x037f [16-bit decode]
	io 0x0778-0x077f [16-bit decode]
	io 0x0b78-0x0b7b [16-bit decode]
	io 0x0f78-0x0f7b [16-bit decode]
	[start dep fn]
	io 0x0278-0x027f [16-bit decode]
	io 0x0678-0x067f [16-bit decode]
	io 0x0a78-0x0a7b [16-bit decode]
	io 0x0e78-0x0e7b [16-bit decode]
	[start dep fn]
	io 0x03bc-0x03bf [16-bit decode]
	io 0x07bc-0x07c3 [16-bit decode]
	io 0x0bbc-0x0bbf [16-bit decode]
	io 0x0fbc-0x0fbf [16-bit decode]
	[end dep fn]

11 PNP0501 16550A-compatible COM port
    flags: [dynamic only]
    allocated resources:
	irq 3 [high edge]
	io 0x02f8-0x02ff [16-bit decode]
    possible resources:
	irq mask 0x1eb8 [high edge]
	[start dep fn]
	io 0x03f8-0x03ff [16-bit decode]
	[start dep fn]
	io 0x02f8-0x02ff [16-bit decode]
	[start dep fn]
	io 0x03e8-0x03ef [16-bit decode]
	[start dep fn]
	io 0x02e8-0x02ef [16-bit decode]
	[end dep fn]

12 PNPb006 MPU401 compatible 
    flags: [dynamic only]
    allocated resources:
	irq 10 [high edge]
	io 0x0330-0x0331 [16-bit decode]
    possible resources:
	irq mask 0x1eb8 [high edge]
	[start dep fn]
	io 0x0330-0x0331 [16-bit decode]
	[start dep fn]
	io 0x0300-0x0301 [16-bit decode]
	[start dep fn]
	io 0x0290-0x0291 [16-bit decode]
	[end dep fn]

13 PNPb02f Joystick/Game port
    flags: [dynamic only]
    allocated resources:
	io 0x0201-0x0207 [16-bit decode]
	io 0x0200-0x0200 [16-bit decode]
    possible resources:
	[start dep fn]
	io 0x0201-0x0207 [16-bit decode]
	io 0x0200-0x0200 [16-bit decode]
	[start dep fn]
	io 0x0209-0x020f [16-bit decode]
	io 0x0208-0x0208 [16-bit decode]
	[end dep fn]


[-- Attachment #4: Type: TEXT/PLAIN, Size: 1681 bytes --]

00 PNP0000 AT programmable interrupt controller
	irq 2
	io 0x0020-0x0021
	io 0x00a0-0x00a1

01 PNP0200 AT DMA controller
	dma 4
	io 0x0000-0x000f
	io 0x0081-0x0083
	io 0x0087-0x0087
	io 0x0089-0x008b
	io 0x008f-0x0091
	io 0x00c0-0x00df

02 PNP0100 AT system timer
	irq 0
	io 0x0040-0x0043

03 PNP0b00 AT real-time clock
	irq 8
	io 0x0070-0x0071

04 PNP0303 IBM enhanced keyboard (101/102-key, PS/2 mouse support)
	irq 1
	io 0x0060-0x0060
	io 0x0064-0x0064

05 PNP0800 AT-style speaker sound
	io 0x0061-0x0061

06 PNP0c04 Math coprocessor
	irq 13
	io 0x00f0-0x00ff

07 INT0800 memory controller: flash
	mem 0xffb80000-0xffbfffff

08 PNP0c01 System board
	mem 0x00000000-0x0009ffff
	mem 0xffb00000-0xffb7ffff
	mem 0xfff00000-0xffffffff
	mem 0xfee00000-0xfee0ffff
	mem 0x00100000-0x0fffffff

09 PNP0c02 Motherboard resources
	mem 0x000f0000-0x000f3fff
	mem 0x000f4000-0x000f7fff
	mem 0x000f8000-0x000fffff
	mem 0x000cc800-0x000cffff

0a PNP0a03 PCI bus
	io 0x0290-0x029f
	io 0x04d0-0x04d1
	io 0x0cf8-0x0cff
	io 0x0480-0x048f
	io 0x4000-0x40f7

0b PNP0f13 PS/2 port for PS/2-style mice
	irq 12

0c PNP0c02 Motherboard resources
	io 0x03f0-0x03f1

0d PNP0501 16550A-compatible COM port
	irq 4
	io 0x03f8-0x03ff

0e PNP0700 PC standard floppy disk controller
	dma 2
	io 0x03f2-0x03f5
	irq 6

10 PNP0401 ECP printer port
	dma 3
	irq 7
	io 0x0378-0x037f
	io 0x0778-0x077f
	io 0x0b78-0x0b7b
	io 0x0f78-0x0f7b

11 PNP0501 16550A-compatible COM port
	irq 3
	io 0x02f8-0x02ff

12 PNPb006 MPU401 compatible 
	irq 10
	io 0x0330-0x0331

13 PNPb02f Joystick/Game port
	io 0x0201-0x0207
	io 0x0200-0x0200


[-- Attachment #5: Type: TEXT/PLAIN, Size: 5713 bytes --]

00 PNP0000 AT programmable interrupt controller
    flags: [no disable] [no config] [static]
    allocated resources:
	irq 2 [high edge]
	io 0x0020-0x0021 [16-bit decode]
	io 0x00a0-0x00a1 [16-bit decode]

01 PNP0200 AT DMA controller
    flags: [no disable] [no config] [static]
    allocated resources:
	dma 4 [8 bit] [compat]
	io 0x0000-0x000f [16-bit decode]
	io 0x0081-0x0083 [16-bit decode]
	io 0x0087-0x0087 [16-bit decode]
	io 0x0089-0x008b [16-bit decode]
	io 0x008f-0x0091 [16-bit decode]
	io 0x00c0-0x00df [16-bit decode]

02 PNP0100 AT system timer
    flags: [no disable] [no config] [static]
    allocated resources:
	irq 0 [high edge]
	io 0x0040-0x0043 [16-bit decode]

03 PNP0b00 AT real-time clock
    flags: [no disable] [no config] [static]
    allocated resources:
	irq 8 [high edge]
	io 0x0070-0x0071 [16-bit decode]

04 PNP0303 IBM enhanced keyboard (101/102-key, PS/2 mouse support)
    flags: [no disable] [no config] [input] [static]
    allocated resources:
	irq 1 [high edge]
	io 0x0060-0x0060 [16-bit decode]
	io 0x0064-0x0064 [16-bit decode]

05 PNP0800 AT-style speaker sound
    flags: [no disable] [no config] [static]
    allocated resources:
	io 0x0061-0x0061 [16-bit decode]

06 PNP0c04 Math coprocessor
    flags: [no disable] [no config] [static]
    allocated resources:
	irq 13 [high edge]
	io 0x00f0-0x00ff [16-bit decode]

07 INT0800 memory controller: flash
    flags: [no disable] [no config] [static]
    allocated resources:
	mem 0xffb80000-0xffbfffff [32 bit] [r/o]

08 PNP0c01 System board
    flags: [no disable] [no config] [static]
    allocated resources:
	mem 0x00000000-0x0009ffff [8 bit] [r/w] [cacheable] [high]
	mem 0xffb00000-0xffb7ffff [8/16 bit] [r/o] [cacheable]
	mem 0xfff00000-0xffffffff [8/16 bit] [r/o] [cacheable]
	mem 0xfee00000-0xfee0ffff [8/16 bit] [r/o] [cacheable]
	mem 0x00100000-0x0fffffff [8 bit] [r/w] [cacheable] [high]

09 PNP0c02 Motherboard resources
    flags: [no disable] [no config] [static]
    allocated resources:
	mem 0x000f0000-0x000f3fff [8/16 bit] [r/o] [cacheable] [shadow]
	mem 0x000f4000-0x000f7fff [8/16 bit] [r/o] [cacheable] [shadow]
	mem 0x000f8000-0x000fffff [8/16 bit] [r/o] [cacheable] [shadow]
	mem 0x000cc800-0x000cffff [8/16 bit] [r/o] [cacheable] [shadow]

0a PNP0a03 PCI bus
    flags: [no disable] [no config] [static]
    allocated resources:
	io 0x0290-0x029f [16-bit decode]
	io 0x04d0-0x04d1 [16-bit decode]
	io 0x0cf8-0x0cff [16-bit decode]
	io 0x0480-0x048f [16-bit decode]
	io 0x4000-0x40f7 [16-bit decode]

0b PNP0f13 PS/2 port for PS/2-style mice
    flags: [dynamic only]
    allocated resources:
	irq 12 [high edge]
    possible resources:
	[start dep fn]
	irq 12 [high edge]
	[end dep fn]

0c PNP0c02 Motherboard resources
    flags: [no disable] [no config] [static]
    allocated resources:
	io 0x03f0-0x03f1 [16-bit decode]

0d PNP0501 16550A-compatible COM port
    flags: [dynamic only]
    allocated resources:
	irq 4 [high edge]
	io 0x03f8-0x03ff [16-bit decode]
    possible resources:
	irq mask 0x1eb8 [high edge]
	[start dep fn]
	io 0x03f8-0x03ff [16-bit decode]
	[start dep fn]
	io 0x02f8-0x02ff [16-bit decode]
	[start dep fn]
	io 0x03e8-0x03ef [16-bit decode]
	[start dep fn]
	io 0x02e8-0x02ef [16-bit decode]
	[end dep fn]

0e PNP0700 PC standard floppy disk controller
    flags: [no disable] [no config] [static]
    allocated resources:
	dma 2 [8 bit] [compat]
	io 0x03f2-0x03f5 [16-bit decode]
	irq 6 [high edge]
    possible resources:
	[start dep fn]
	dma 2 [8 bit] [compat]
	io 0x03f2-0x03f5 [16-bit decode]
	irq 6 [high edge]
	[end dep fn]

10 PNP0401 ECP printer port
    flags: [dynamic only]
    allocated resources:
	dma 3 [8 bit] [compat]
	irq 7 [high edge]
	io 0x0378-0x037f [16-bit decode]
	io 0x0778-0x077f [16-bit decode]
	io 0x0b78-0x0b7b [16-bit decode]
	io 0x0f78-0x0f7b [16-bit decode]
    possible resources:
	dma mask 0x000b [8 bit] [compat]
	irq mask 0x1eb8 [high edge]
	[start dep fn]
	io 0x0378-0x037f [16-bit decode]
	io 0x0778-0x077f [16-bit decode]
	io 0x0b78-0x0b7b [16-bit decode]
	io 0x0f78-0x0f7b [16-bit decode]
	[start dep fn]
	io 0x0278-0x027f [16-bit decode]
	io 0x0678-0x067f [16-bit decode]
	io 0x0a78-0x0a7b [16-bit decode]
	io 0x0e78-0x0e7b [16-bit decode]
	[start dep fn]
	io 0x03bc-0x03bf [16-bit decode]
	io 0x07bc-0x07c3 [16-bit decode]
	io 0x0bbc-0x0bbf [16-bit decode]
	io 0x0fbc-0x0fbf [16-bit decode]
	[end dep fn]

11 PNP0501 16550A-compatible COM port
    flags: [dynamic only]
    allocated resources:
	irq 3 [high edge]
	io 0x02f8-0x02ff [16-bit decode]
    possible resources:
	irq mask 0x1eb8 [high edge]
	[start dep fn]
	io 0x03f8-0x03ff [16-bit decode]
	[start dep fn]
	io 0x02f8-0x02ff [16-bit decode]
	[start dep fn]
	io 0x03e8-0x03ef [16-bit decode]
	[start dep fn]
	io 0x02e8-0x02ef [16-bit decode]
	[end dep fn]

12 PNPb006 MPU401 compatible 
    flags: [dynamic only]
    allocated resources:
	irq 10 [high edge]
	io 0x0330-0x0331 [16-bit decode]
    possible resources:
	irq mask 0x1eb8 [high edge]
	[start dep fn]
	io 0x0330-0x0331 [16-bit decode]
	[start dep fn]
	io 0x0300-0x0301 [16-bit decode]
	[start dep fn]
	io 0x0290-0x0291 [16-bit decode]
	[end dep fn]

13 PNPb02f Joystick/Game port
    flags: [dynamic only]
    allocated resources:
	io 0x0201-0x0207 [16-bit decode]
	io 0x0200-0x0200 [16-bit decode]
    possible resources:
	[start dep fn]
	io 0x0201-0x0207 [16-bit decode]
	io 0x0200-0x0200 [16-bit decode]
	[start dep fn]
	io 0x0209-0x020f [16-bit decode]
	io 0x0208-0x0208 [16-bit decode]
	[end dep fn]


[-- Attachment #6: Type: TEXT/PLAIN, Size: 7986 bytes --]

Linux version 2.4.13-ac6 (root@zeus.if.uj.edu.pl) (gcc version 2.96 20000731 (Red Hat Linux 7.1 2.96-81)) #6 Sun Nov 4 21:51:55 CET 2001
BIOS-provided physical RAM map:
 BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
 BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
 BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
 BIOS-e820: 0000000000100000 - 000000000fff0000 (usable)
 BIOS-e820: 000000000fff0000 - 000000000fff3000 (ACPI NVS)
 BIOS-e820: 000000000fff3000 - 0000000010000000 (ACPI data)
 BIOS-e820: 00000000ffb00000 - 0000000100000000 (reserved)
On node 0 totalpages: 65520
zone(0): 4096 pages.
zone(1): 61424 pages.
zone(2): 0 pages.
Local APIC disabled by BIOS -- reenabling.
Found and enabled local APIC!
Kernel command line: auto BOOT_IMAGE=linux ro root=30a BOOT_FILE=/boot/vmlinuz-2.4.13-ac6
Initializing CPU#0
Detected 1007.825 MHz processor.
Console: colour VGA+ 80x25
Calibrating delay loop... 2011.95 BogoMIPS
Memory: 255756k/262080k available (818k kernel code, 5936k reserved, 279k data, 216k init, 0k highmem)
Dentry-cache hash table entries: 32768 (order: 6, 262144 bytes)
Inode-cache hash table entries: 16384 (order: 5, 131072 bytes)
Mount-cache hash table entries: 4096 (order: 3, 32768 bytes)
Buffer-cache hash table entries: 16384 (order: 4, 65536 bytes)
Page-cache hash table entries: 65536 (order: 6, 262144 bytes)
CPU: Before vendor init, caps: 0383fbff 00000000 00000000, vendor = 0
CPU: L1 I cache: 16K, L1 D cache: 16K
CPU: L2 cache: 256K
CPU: After vendor init, caps: 0383fbff 00000000 00000000 00000000
Intel machine check architecture supported.
Intel machine check reporting enabled on CPU#0.
CPU:     After generic, caps: 0383fbff 00000000 00000000 00000000
CPU:             Common caps: 0383fbff 00000000 00000000 00000000
CPU: Intel Pentium III (Coppermine) stepping 0a
Enabling fast FPU save and restore... done.
Enabling unmasked SIMD FPU exception support... done.
Checking 'hlt' instruction... OK.
POSIX conformance testing by UNIFIX
enabled ExtINT on CPU#0
ESR value before enabling vector: 00000040
ESR value after enabling vector: 00000000
Using local APIC timer interrupts.
calibrating APIC timer ...
..... CPU clock speed is 1007.8299 MHz.
..... host bus clock speed is 134.3771 MHz.
cpu: 0, clocks: 1343771, slice: 671885
CPU0<T0:1343760,T1:671872,D:3,S:671885,C:1343771>
mtrr: v1.40 (20010327) Richard Gooch (rgooch@atnf.csiro.au)
mtrr: detected mtrr type: Intel
PCI: PCI BIOS revision 2.10 entry at 0xfb3a0, last bus=2
PCI: Using configuration type 1
PCI: Probing PCI hardware
Unknown bridge resource 0: assuming transparent
Unknown bridge resource 1: assuming transparent
Unknown bridge resource 2: assuming transparent
PCI: Using IRQ router PIIX [8086/2440] at 00:1f.0
PCI: Found IRQ 11 for device 00:1f.3
PCI: Sharing IRQ 11 with 00:1f.5
PCI: Sharing IRQ 11 with 02:02.0
PnPBIOS: Found PnP BIOS installation structure at 0xc00fbd60.
PnPBIOS: PnP BIOS version 1.0, entry 0xf0000:0xbd90, dseg 0xf0000.
PnPBIOS: 19 nodes reported by PnP BIOS; 19 recorded by driver.
PnPBIOS: PNP0c02: ioport range 0x3f0-0x3f1 has been reserved
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
Starting kswapd v1.8
VFS: Diskquotas version dquot_6.5.0 initialized
devfs: v0.119 (20011009) Richard Gooch (rgooch@atnf.csiro.au)
devfs: boot_options: 0x0
pty: 256 Unix98 ptys configured
block: queued sectors max/low 169848kB/56616kB, 512 slots per queue
Uniform Multi-Platform E-IDE driver Revision: 6.31
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
PIIX4: IDE controller on PCI bus 00 dev f9
PIIX4: chipset revision 2
PIIX4: not 100% native mode: will probe irqs later
    ide0: BM-DMA at 0xf000-0xf007, BIOS settings: hda:DMA, hdb:DMA
    ide1: BM-DMA at 0xf008-0xf00f, BIOS settings: hdc:DMA, hdd:pio
hda: ST340824A, ATA DISK drive
hdb: Pioneer DVD-ROM ATAPIModel DVD-116 0109, ATAPI CD/DVD-ROM drive
hdc: YAMAHA CRW4416E, ATAPI CD/DVD-ROM drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide1 at 0x170-0x177,0x376 on irq 15
hda: 78165360 sectors (40021 MB) w/2048KiB Cache, CHS=4865/255/63, UDMA(100)
Partition check:
 /dev/ide/host0/bus0/target0/lun0: p1 p2 p3 < p5 p6 p7 p8 p9 p10 p11 p12 > p4
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP, IGMP
IP: routing cache hash table of 2048 buckets, 16Kbytes
TCP: Hash tables configured (established 16384 bind 16384)
VFS: Mounted root (ext2 filesystem) readonly.
Freeing unused kernel memory: 216k freed
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
Real Time Clock Driver v1.10e
Adding Swap: 1301256k swap-space (priority -1)
usb.c: registered new driver usbdevfs
usb.c: registered new driver hub
usb-uhci.c: $Revision: 1.268 $ time 20:45:53 Nov  4 2001
usb-uhci.c: High bandwidth mode enabled
PCI: Found IRQ 11 for device 00:1f.2
PCI: Setting latency timer of device 00:1f.2 to 64
usb-uhci.c: USB UHCI at I/O 0xd000, IRQ 11
usb-uhci.c: Detected 2 ports
usb.c: new USB bus registered, assigned bus number 1
usb.c: kmalloc IF cfa65240, numif 1
usb.c: new device strings: Mfr=0, Product=2, SerialNumber=1
usb.c: USB device number 1 default language ID 0x0
Product: USB UHCI Root Hub
SerialNumber: d000
hub.c: USB hub found
hub.c: 2 ports detected
hub.c: standalone hub
hub.c: ganged power switching
hub.c: global over-current protection
hub.c: Port indicators are not supported
hub.c: power on to power good time: 2ms
hub.c: hub controller current requirement: 0mA
hub.c: port removable status: RR
hub.c: local power source is good
hub.c: no over-current condition exists
hub.c: enabling power on all ports
usb.c: hub driver claimed interface cfa65240
usb.c: kusbd: /sbin/hotplug add 1
PCI: Assigned IRQ 9 for device 00:1f.4
PCI: Setting latency timer of device 00:1f.4 to 64
usb-uhci.c: USB UHCI at I/O 0xd400, IRQ 9
usb-uhci.c: Detected 2 ports
usb.c: new USB bus registered, assigned bus number 2
usb.c: kmalloc IF cfa65400, numif 1
usb.c: new device strings: Mfr=0, Product=2, SerialNumber=1
usb.c: USB device number 1 default language ID 0x0
Product: USB UHCI Root Hub
SerialNumber: d400
hub.c: USB hub found
hub.c: 2 ports detected
hub.c: standalone hub
hub.c: ganged power switching
hub.c: global over-current protection
hub.c: Port indicators are not supported
hub.c: power on to power good time: 2ms
hub.c: hub controller current requirement: 0mA
hub.c: port removable status: RR
hub.c: local power source is good
hub.c: no over-current condition exists
hub.c: enabling power on all ports
usb.c: hub driver claimed interface cfa65400
usb.c: kusbd: /sbin/hotplug add 1
usb-uhci.c: v1.268:USB Universal Host Controller Interface driver
IA-32 Microcode Update Driver: v1.08 <tigran@veritas.com>
microcode: CPU0 already up-to-date (revision 1)
i2c-core.o: i2c core module
i2c-isa.o version 2.6.1 (20010830)
i2c-core.o: adapter ISA main adapter registered as adapter 0.
i2c-isa.o: ISA bus access for i2c modules initialized.
i2c-proc.o version 2.6.0 (20010228)
w83781d.o version 2.6.1 (20010830)
i2c-core.o: driver W83781D sensor driver registered.
i2c-core.o: client [W83627HF chip] registered to adapter [ISA main adapter](pos. 0).
ip_conntrack (2047 buckets, 16376 max)
ne2k-pci.c:v1.02 10/19/2000 D. Becker/P. Gortmaker
  http://www.scyld.com/network/ne2k-pci.html
PCI: Found IRQ 11 for device 02:02.0
PCI: Sharing IRQ 11 with 00:1f.3
PCI: Sharing IRQ 11 with 00:1f.5
eth0: RealTek RTL-8029 found at 0xc000, IRQ 11, 00:C0:DF:EF:86:43.
hdb: ATAPI 40X DVD-ROM drive, 256kB Cache, UDMA(66)
Uniform CD-ROM driver Revision: 3.12
hdc: ATAPI 16X CD-ROM CD-R/RW drive, 2048kB Cache, DMA
VFS: Disk change detected on device ide1(22,0)
rivafb: RIVA MTRR set to ON
Console: switching to colour frame buffer device 80x30
rivafb: PCI nVidia NV16 framebuffer ver 0.9.2a (GeForce2-MX, 32MB @ 0xD0000000)

[-- Attachment #7: Type: TEXT/PLAIN, Size: 964 bytes --]

0000-001f : dma1
0020-003f : pic1
0040-005f : timer
0060-006f : keyboard
0080-008f : dma page reg
00a0-00bf : pic2
00c0-00df : dma2
00f0-00ff : fpu
0170-0177 : ide1
01f0-01f7 : ide0
0290-0297 : w83627hf
0376-0376 : ide1
03c0-03df : vga+
03f0-03f1 : PnPBIOS PNP0c02
03f6-03f6 : ide0
0cf8-0cff : PCI conf1
5000-500f : Intel Corporation 82820 820 (Camino 2) Chipset SMBus
c000-cfff : PCI Bus #02
  c000-c01f : Realtek Semiconductor Co., Ltd. RTL-8029(AS)
    c000-c01f : ne2k-pci
d000-d01f : Intel Corporation 82820 820 (Camino 2) Chipset USB (Hub A)
  d000-d01f : usb-uhci
d400-d41f : Intel Corporation 82820 820 (Camino 2) Chipset USB (Hub B)
  d400-d41f : usb-uhci
d800-d8ff : Intel Corporation 82820 820 (Camino 2) Chipset AC'97 Audio Controller
dc00-dc3f : Intel Corporation 82820 820 (Camino 2) Chipset AC'97 Audio Controller
f000-f00f : Intel Corporation 82820 820 (Camino 2) Chipset IDE U100
  f000-f007 : ide0
  f008-f00f : ide1

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: 2.4.12-ac3 floppy module requires 0x3f0-0x3f1 ioports
  2001-11-05  1:18     ` Maciej Zenczykowski
@ 2001-11-05  2:40       ` Thomas Hood
  2001-11-05  3:37       ` Thomas Hood
  2001-11-05  8:45       ` Alan Cox
  2 siblings, 0 replies; 14+ messages in thread
From: Thomas Hood @ 2001-11-05  2:40 UTC (permalink / raw)
  To: Maciej Zenczykowski; +Cc: linux-kernel

On Sun, 2001-11-04 at 20:18, Maciej Zenczykowski wrote:
> Well here you have it...
> 
> W98SE reports the FDC at 0x3f0..0x3f5 and 0x3f7

That's what the ThinkPad 600 technical reference
manual says about my machine too.

> all in all it is very weird and I do not know what to make of it...
> [ABIT SA6 motherboard with AWARD bios]

Well, if the floppy driver never accesses 0x3f0 or 0x3f1,
then it would seem that it should not reserved those
ioports.

--
Thomas


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: 2.4.12-ac3 floppy module requires 0x3f0-0x3f1 ioports
  2001-11-05  1:18     ` Maciej Zenczykowski
  2001-11-05  2:40       ` Thomas Hood
@ 2001-11-05  3:37       ` Thomas Hood
  2001-11-05 12:02         ` Maciej Zenczykowski
  2001-11-05  8:45       ` Alan Cox
  2 siblings, 1 reply; 14+ messages in thread
From: Thomas Hood @ 2001-11-05  3:37 UTC (permalink / raw)
  To: Maciej Zenczykowski; +Cc: linux-kernel

On Sun, 2001-11-04 at 20:18, Maciej Zenczykowski wrote:
> W98SE reports the FDC at 0x3f0..0x3f5 and 0x3f7

In hw reference manuals I have looked at, the floppy
ioport range is listed as either 0x3f0-0x3f5 or
0x3f0-0x3f5,0x3f7 or 0x3f0-0x3f7.

0x3f6 is used by some IDE controllers, so it should
not be included in the range.  Floppy controller
chips don't use this ioport.

Now I'm looking at the refence for the National Semi
87338 Super I/O chip which among other things emulates
a standard IBM-style floppy controller.  It says:

0x3f0,0x3f1 are status registers that were added
      to the PS/2.  They do not exist on the PC-AT.
      The 87338 uses these addresses only in "PS/2 mode",
      not in "PC-AT" mode.
0x3f2 (*) is a digital output register
0x3f3 is a "tape drive register".  Bring this one into
      the Antiques Roadshow!
0x3f4 (*) is the main status register (r)
      and data rate select register (w)
0x3f5 (*) is the data register FIFO
0x3f7 (*) is the digital input register (r)
      and configuration control register (w)

When I look at the floppy driver itself, it reserves
0x3f0-0x3f5,0x3f7 but only uses 0x3f2, 0x3f4, 0x3f5, 0x3f7
(indicated above with an asterisk). See include/linux/fdreg.h.

I would suggest that the driver refrain from reserving
0x3f0-0x3f1 since not all floppy driver chips take up these
ioports and the Linux driver doesn't use them either.

Maciej: perhaps on your machine the motherboard uses 0x3f0-0x3f1
for some other (secret, highly classified) purpose.  Have you
read your hardware reference manual?

--
Thomas


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: 2.4.12-ac3 floppy module requires 0x3f0-0x3f1 ioports
  2001-11-05  1:18     ` Maciej Zenczykowski
  2001-11-05  2:40       ` Thomas Hood
  2001-11-05  3:37       ` Thomas Hood
@ 2001-11-05  8:45       ` Alan Cox
  2001-11-05 11:18         ` Maciej Zenczykowski
  2 siblings, 1 reply; 14+ messages in thread
From: Alan Cox @ 2001-11-05  8:45 UTC (permalink / raw)
  To: Maciej Zenczykowski; +Cc: Thomas Hood, linux-kernel

> Well here you have it...
> 
> W98SE reports the FDC at 0x3f0..0x3f5 and 0x3f7

Its absolutely correct. 0x3f6 isnt floppy. That I suspect is what
is causing the problem because it tries to grab 0x3f6 in Linux

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: 2.4.12-ac3 floppy module requires 0x3f0-0x3f1 ioports
  2001-11-05  8:45       ` Alan Cox
@ 2001-11-05 11:18         ` Maciej Zenczykowski
  0 siblings, 0 replies; 14+ messages in thread
From: Maciej Zenczykowski @ 2001-11-05 11:18 UTC (permalink / raw)
  To: Alan Cox; +Cc: Thomas Hood, linux-kernel

On Mon, 5 Nov 2001, Alan Cox wrote:
> > Well here you have it...
> > W98SE reports the FDC at 0x3f0..0x3f5 and 0x3f7
>
> Its absolutely correct. 0x3f6 isnt floppy. That I suspect is what
> is causing the problem because it tries to grab 0x3f6 in Linux

No Linux doesn't grab 0x3f6 - what it grabs is 0x3f0-0x3f5 and 0x3f7 -
exactly as reported by w98 - however 0x3f0-0x3f1 have already been
reserved by the pnpbios code, since they are listed in the bios as
motherboard resources, while 0x3f2-03xf5 and 03xf7 are listed as floppy
-> the problem is that the floppy reserves ports that it does not need (in
fact it could skip reserving 0x3f3 also...)


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: 2.4.12-ac3 floppy module requires 0x3f0-0x3f1 ioports
  2001-11-05  3:37       ` Thomas Hood
@ 2001-11-05 12:02         ` Maciej Zenczykowski
  2001-11-06 20:02           ` Gunther Mayer
  2001-11-07 19:09           ` Thomas Hood
  0 siblings, 2 replies; 14+ messages in thread
From: Maciej Zenczykowski @ 2001-11-05 12:02 UTC (permalink / raw)
  To: Thomas Hood; +Cc: linux-kernel

On 4 Nov 2001, Thomas Hood wrote:
>
> Maciej: perhaps on your machine the motherboard uses 0x3f0-0x3f1
> for some other (secret, highly classified) purpose.  Have you
> read your hardware reference manual?
>
I did that before posting the previous time - beautiful over 100 page
manual - but no mention of 03xf0-0x3f1 being special and can't find them
in any bios setup screens either...


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: 2.4.12-ac3 floppy module requires 0x3f0-0x3f1 ioports
  2001-11-05 12:02         ` Maciej Zenczykowski
@ 2001-11-06 20:02           ` Gunther Mayer
  2001-11-07 11:53             ` Maciej Zenczykowski
  2001-11-07 19:09           ` Thomas Hood
  1 sibling, 1 reply; 14+ messages in thread
From: Gunther Mayer @ 2001-11-06 20:02 UTC (permalink / raw)
  To: Maciej Zenczykowski; +Cc: Thomas Hood, linux-kernel

Maciej Zenczykowski wrote:
> 
> On 4 Nov 2001, Thomas Hood wrote:
> >
> > Maciej: perhaps on your machine the motherboard uses 0x3f0-0x3f1
> > for some other (secret, highly classified) purpose.  Have you
> > read your hardware reference manual?
> >
> I did that before posting the previous time - beautiful over 100 page
> manual - but no mention of 03xf0-0x3f1 being special and can't find them
> in any bios setup screens either...

Diagnosis:
----------
Your PNPBIOS announces these ports:
   0c PNP0c02 Motherboard resources
        io 0x03f0-0x03f1

These ports are used by various SuperIO chips, e.g.Winbond W83877ATF:
  8.2 Extended Function Index Registers (EFIRs), Extended Function Data Registers(EFDRs)
  After the extended function mode is entered, the Extended Function Index Register (EFIR) must be
  loaded with an index value (0H, 1H, 2H, ..., or 29H) to access Configuration Register 0 (CR0),
  Configuration Register 1 (CR1), Configuration Register 2 (CR2), and so forth through the Extended
  Function Data Register (EFDR). The EFIRs are write-only registers with port address 251H or 3F0H
  (as described in section 8.0) on PC/AT systems; the EFDRs are read/write registers with port address
  252H or 3F1H (as described in section 8.0) on PC/AT systems. The function of each configuration
  register is described ...

You have to write various magic vendor defined values to
vendor defined ports to enable "extended function mode" :-)

http://home.t-online.de/home/gunther.mayer/lssuperio-0.63.tar.gz will
identify your chip sitting at 0x3f0/0x3f1 !

Solution:
---------
PnPBIOS in linux should _not_ reserve these 2 ports (this kind of
solution is commonly called a quirks).

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: 2.4.12-ac3 floppy module requires 0x3f0-0x3f1 ioports
  2001-11-06 20:02           ` Gunther Mayer
@ 2001-11-07 11:53             ` Maciej Zenczykowski
  0 siblings, 0 replies; 14+ messages in thread
From: Maciej Zenczykowski @ 2001-11-07 11:53 UTC (permalink / raw)
  To: Gunther Mayer; +Cc: Thomas Hood, linux-kernel

On Tue, 6 Nov 2001, Gunther Mayer wrote:
> Solution:
> ---------
> PnPBIOS in linux should _not_ reserve these 2 ports (this kind of
> solution is commonly called a quirks).

Actually, you may be right that it should not, however the floppy module
should not allocate these ports `with an even more sure` as it never uses
them.

Think this is the proper solution?

MaZe.


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: 2.4.12-ac3 floppy module requires 0x3f0-0x3f1 ioports
  2001-11-05 12:02         ` Maciej Zenczykowski
  2001-11-06 20:02           ` Gunther Mayer
@ 2001-11-07 19:09           ` Thomas Hood
  1 sibling, 0 replies; 14+ messages in thread
From: Thomas Hood @ 2001-11-07 19:09 UTC (permalink / raw)
  To: Gunther Mayer; +Cc: Maciej Zenczykowski, linux-kernel

On Tue, 2001-11-06 at 15:02, Gunther Mayer wrote:
> Solution:
> ---------
> PnPBIOS in linux should _not_ reserve these 2 ports (this kind of
> solution is commonly called a quirks).

That would work.  However the more appropriate solution would
seem to be for the floppy driver not to try to reserve them,
since it doesn't use them, and (judging from what you say)
on some machines they have nothing to do with the floppy
drive.


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: 2.4.12-ac3 floppy module requires 0x3f0-0x3f1 ioports
  2001-11-03  0:00 Maciej Zenczykowski
@ 2001-11-03  0:21 ` Alan Cox
  0 siblings, 0 replies; 14+ messages in thread
From: Alan Cox @ 2001-11-03  0:21 UTC (permalink / raw)
  To: Maciej Zenczykowski; +Cc: linux-kernel

> Is there any reason why the floppy module requires the ioport range
> 0x3f0-0x3f1 in order to load?  On my computer /proc/ioports reports this
> range as used by PnPBIOS PNP0c02, thus the floppy module cannot reserve
> the range 0x3f0-0x3f5 and refuses to load.

This is a bug in the PnPBIOS experimental code - turn off PnPBIOS and/or
update for the moment

^ permalink raw reply	[flat|nested] 14+ messages in thread

* 2.4.12-ac3 floppy module requires 0x3f0-0x3f1 ioports
@ 2001-11-03  0:00 Maciej Zenczykowski
  2001-11-03  0:21 ` Alan Cox
  0 siblings, 1 reply; 14+ messages in thread
From: Maciej Zenczykowski @ 2001-11-03  0:00 UTC (permalink / raw)
  To: linux-kernel

Hi All,

Is there any reason why the floppy module requires the ioport range
0x3f0-0x3f1 in order to load?  On my computer /proc/ioports reports this
range as used by PnPBIOS PNP0c02, thus the floppy module cannot reserve
the range 0x3f0-0x3f5 and refuses to load.

I have taken a quick look at the port specification of the FDC and have
found no readon for any access to the 0x3f0 port, I have found a reason
for accessing the 0x3f1 port - but only on PS/2's.  This ain't a PS/2 so
that is irrelevant.  Furthermore analysis of the code fails to find any
place where these two ports would actually be used...

Deciding to take a try at it I changed the floppy module to reserve only
the 0x3f2-0x3f5 and 0x3f7 ports, recompiled and the module now loads.
I have not done any tests on it, however copying a diskette via mcopy,
mdir and plain old mount worked fine.

All in all I would say that at least in my case there is no reason for
floppy to reserve these two ports - I don't know about other machines
(especially PS/2's) - but I cannot see any use of them in the source code
any way.

Questions, Ideas?

Maciej Zenczykowski


^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2001-11-07 19:11 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-11-03  2:02 2.4.12-ac3 floppy module requires 0x3f0-0x3f1 ioports Thomas Hood
2001-11-05  0:00 ` Maciej Zenczykowski
2001-11-05  0:15   ` Thomas Hood
2001-11-05  1:18     ` Maciej Zenczykowski
2001-11-05  2:40       ` Thomas Hood
2001-11-05  3:37       ` Thomas Hood
2001-11-05 12:02         ` Maciej Zenczykowski
2001-11-06 20:02           ` Gunther Mayer
2001-11-07 11:53             ` Maciej Zenczykowski
2001-11-07 19:09           ` Thomas Hood
2001-11-05  8:45       ` Alan Cox
2001-11-05 11:18         ` Maciej Zenczykowski
  -- strict thread matches above, loose matches on Subject: below --
2001-11-03  0:00 Maciej Zenczykowski
2001-11-03  0:21 ` Alan Cox

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).