Skip to contentSkip to conversation

2.4 IDE core for 2.5

PATCH In review Jens Axboe 12 participants 33 messages Jul 9, 2002 – Jul 12, 2002

Subsystems (3)
lore
Share & tools
lore

Jens Axboe

author
#0 lore raw

PATCH 1/1 2.4 IDE core for 2.5

Hi,

I've forward ported the 2.4 IDE core (well 2.4.19-pre10-ac2 to be exact) to 2.5.25. It consists of 7 separate patches:

00_25ide-compile-1
Fix 2.5 IDE compilation problem with ide_fix_driveid()

05_25pci-ids-1
Add missing 2.4 IDE adapter pci ids

10_24ide-core-1
Add 2.4 IDE core, modified for 2.5 changes

15_24-misc-bits-1
various bits and pieces to make 2.4 IDE core work

20_split-ide-config-1
Split 2.4 and 2.5 IDE configuration

25_ide-build-1
allow 2.4 and 2.5 ide to be built

30_ide-scsi-1
Add 2.4 ide-scsi version (note that 2.5 with 2.4 ide calls it ide-scsi24.o currently, I'll take patches to rectify that).

Find them all here:

*.kernel.org://pub/linux/kernel/people/axboe/patches/v2.5/2.5.25/

So why did I do this? Well, I needed stable IDE for 2.5 testing and it was/is clear that 2.5 just isn't quite there yet. I intend to maintain this patch set until I deem 2.5 IDE stable enough (in code) that I'm willing to spend time on that instead. So the life span of this patch depends heavily on that. That said, I know of others who would like to be able to test 2.5 and not having to worry too much about the state-of-the-day of the IDE core. This patch set may be useful to them as well.

Also some notes on why I _didn't_ do this. I didn't do it because I think Martin is a jerk or because 2.5 IDE is forever doomed. I didn't do this because Andre twisted my arm. I didn't do this because of some hidden agenda.

That said, the patch works for me here. I've ripped out ide-tape and ide-floppy (frankly, I don't think it's worth my time updating these), but apart from that I think it's 2.4 feature complete. PIO multi count breaks for multi page bio's, if you intend to use that you should change MPAGE_BIO_MAX_SIZE as noted in fs/mpage.c. I'll fix that in the next iteration.

Signature · 1 line
Jens Axboe
#1 lore raw
Quoted 2 lines · Jens Axboe

I've forward ported the 2.4 IDE core (well 2.4.19-pre10-ac2 to be exact) to 2.5.25. It consists of 7 separate patches:

Fantastic! Seeing that the patches are bitkeeper generated, would it be possible for you to make a repository available with the patches? (on bkbits perhaps?) Would make it a lot easier for us bitkeeper users just to pull from your repository... Especially once you update the patches...

Best regards,

Anton

Signature · 3 lines
Anton Altaparmakov <aia21 at cantab.net> (replace at with @)
Linux NTFS maintainer / IRC: #ntfs on irc.openprojects.net
WWW: http://linux-ntfs.sf.net/ & http://www-stu.christs.cam.ac.uk/~aia21/
author
#2 lore raw
Quoted 8 lines · Anton Altaparmakov
Quoted 2 lines · Jens Axboe

I've forward ported the 2.4 IDE core (well 2.4.19-pre10-ac2 to be exact) to 2.5.25. It consists of 7 separate patches:

Fantastic! Seeing that the patches are bitkeeper generated, would it be possible for you to make a repository available with the patches? (on bkbits perhaps?) Would make it a lot easier for us bitkeeper users just to pull from your repository... Especially once you update the patches...

Yes they are from a bk tree here, I'll set one up on bkbits...

Signature · 1 line
Jens Axboe
#3 lore raw
Quoted 11 lines · Jens Axboe
Quoted 8 lines · Anton Altaparmakov
Quoted 2 lines · Jens Axboe

I've forward ported the 2.4 IDE core (well 2.4.19-pre10-ac2 to be exact) to 2.5.25. It consists of 7 separate patches:

Fantastic! Seeing that the patches are bitkeeper generated, would it be possible for you to make a repository available with the patches? (on bkbits perhaps?) Would make it a lot easier for us bitkeeper users just to pull from your repository... Especially once you update the patches...

Yes they are from a bk tree here, I'll set one up on bkbits...

Cool, thanks. I guess I also will make a lot of use of those patches. I need to be debugging input now, not IDE. ;)

Signature · 2 lines
Vojtech Pavlik
SuSE Labs
author
#4 lore raw
Quoted 12 lines · Vojtech Pavlik
Quoted 10 lines · Jens Axboe
Quoted 8 lines · Anton Altaparmakov
Quoted 2 lines · Jens Axboe

I've forward ported the 2.4 IDE core (well 2.4.19-pre10-ac2 to be exact) to 2.5.25. It consists of 7 separate patches:

Fantastic! Seeing that the patches are bitkeeper generated, would it be possible for you to make a repository available with the patches? (on bkbits perhaps?) Would make it a lot easier for us bitkeeper users just to pull from your repository... Especially once you update the patches...

Quoted 4 lines
Quoted 1 line

Yes they are from a bk tree here, I'll set one up on bkbits...

Cool, thanks. I guess I also will make a lot of use of those patches. I need to be debugging input now, not IDE. ;)

Let me add that I've only tested on x86 right now, other archs should "just work" with a few changes to include/asm/ide.h (see the changes in 15_24-misc-bits-1).

Enjoy :-)

Signature · 1 line
Jens Axboe
#12 lore raw
In reply to Jens Axboe
Quoted 4 lines · Jens Axboe

Hi,

I've forward ported the 2.4 IDE core (well 2.4.19-pre10-ac2 to be exact) to 2.5.25. It consists of 7 separate patches:

Wonderful! Thus far, 2.5.x has been far too scary to try. This patch is a sufficient safety blanket that I'm now willing to give it a try, and I'm sure thats also the case for many others. 2.5.x just became far more accessible. Thanks!

-Erik

--
Erik B. Andersen http://codepoet-consulting.com/
--This message was written using 73% post-consumer electrons--

#13 lore raw
In reply to Jens Axboe

hi

Should I add IDE9[4567] as well, or does these ones include previous IDE pathes?

roy

Quoted 51 lines · Jens Axboe

Hi,

I've forward ported the 2.4 IDE core (well 2.4.19-pre10-ac2 to be exact) to 2.5.25. It consists of 7 separate patches:

00_25ide-compile-1
Fix 2.5 IDE compilation problem with ide_fix_driveid()

05_25pci-ids-1
Add missing 2.4 IDE adapter pci ids

10_24ide-core-1
Add 2.4 IDE core, modified for 2.5 changes

15_24-misc-bits-1
various bits and pieces to make 2.4 IDE core work

20_split-ide-config-1
Split 2.4 and 2.5 IDE configuration

25_ide-build-1
allow 2.4 and 2.5 ide to be built

30_ide-scsi-1
Add 2.4 ide-scsi version (note that 2.5 with 2.4 ide calls it ide-scsi24.o currently, I'll take patches to rectify that).

Find them all here:

*.kernel.org://pub/linux/kernel/people/axboe/patches/v2.5/2.5.25/

So why did I do this? Well, I needed stable IDE for 2.5 testing and it was/is clear that 2.5 just isn't quite there yet. I intend to maintain this patch set until I deem 2.5 IDE stable enough (in code) that I'm willing to spend time on that instead. So the life span of this patch depends heavily on that. That said, I know of others who would like to be able to test 2.5 and not having to worry too much about the state-of-the-day of the IDE core. This patch set may be useful to them as well.

Also some notes on why I _didn't_ do this. I didn't do it because I think Martin is a jerk or because 2.5 IDE is forever doomed. I didn't do this because Andre twisted my arm. I didn't do this because of some hidden agenda.

That said, the patch works for me here. I've ripped out ide-tape and ide-floppy (frankly, I don't think it's worth my time updating these), but apart from that I think it's 2.4 feature complete. PIO multi count breaks for multi page bio's, if you intend to use that you should change MPAGE_BIO_MAX_SIZE as noted in fs/mpage.c. I'll fix that in the next iteration.

Signature · 4 lines
Roy Sigurd Karlsbakk, Datavaktmester

Computers are like air conditioners.
They stop working when you open Windows.
#18 lore raw
In reply to Jens Axboe

hi

Should I add IDE9[4567] as well, or does these ones include previous IDE pathes?

roy

Quoted 51 lines · Jens Axboe

Hi,

I've forward ported the 2.4 IDE core (well 2.4.19-pre10-ac2 to be exact) to 2.5.25. It consists of 7 separate patches:

00_25ide-compile-1
Fix 2.5 IDE compilation problem with ide_fix_driveid()

05_25pci-ids-1
Add missing 2.4 IDE adapter pci ids

10_24ide-core-1
Add 2.4 IDE core, modified for 2.5 changes

15_24-misc-bits-1
various bits and pieces to make 2.4 IDE core work

20_split-ide-config-1
Split 2.4 and 2.5 IDE configuration

25_ide-build-1
allow 2.4 and 2.5 ide to be built

30_ide-scsi-1
Add 2.4 ide-scsi version (note that 2.5 with 2.4 ide calls it ide-scsi24.o currently, I'll take patches to rectify that).

Find them all here:

*.kernel.org://pub/linux/kernel/people/axboe/patches/v2.5/2.5.25/

So why did I do this? Well, I needed stable IDE for 2.5 testing and it was/is clear that 2.5 just isn't quite there yet. I intend to maintain this patch set until I deem 2.5 IDE stable enough (in code) that I'm willing to spend time on that instead. So the life span of this patch depends heavily on that. That said, I know of others who would like to be able to test 2.5 and not having to worry too much about the state-of-the-day of the IDE core. This patch set may be useful to them as well.

Also some notes on why I _didn't_ do this. I didn't do it because I think Martin is a jerk or because 2.5 IDE is forever doomed. I didn't do this because Andre twisted my arm. I didn't do this because of some hidden agenda.

That said, the patch works for me here. I've ripped out ide-tape and ide-floppy (frankly, I don't think it's worth my time updating these), but apart from that I think it's 2.4 feature complete. PIO multi count breaks for multi page bio's, if you intend to use that you should change MPAGE_BIO_MAX_SIZE as noted in fs/mpage.c. I'll fix that in the next iteration.

Signature · 4 lines
Roy Sigurd Karlsbakk, Datavaktmester

Computers are like air conditioners.
They stop working when you open Windows.
author
#5 lore raw
In reply to Jens Axboe
Quoted 11 lines · Jens Axboe
Quoted 8 lines · Anton Altaparmakov
Quoted 2 lines · Jens Axboe

I've forward ported the 2.4 IDE core (well 2.4.19-pre10-ac2 to be exact) to 2.5.25. It consists of 7 separate patches:

Fantastic! Seeing that the patches are bitkeeper generated, would it be possible for you to make a repository available with the patches? (on bkbits perhaps?) Would make it a lot easier for us bitkeeper users just to pull from your repository... Especially once you update the patches...

Yes they are from a bk tree here, I'll set one up on bkbits...

pull from http://linux25-24ide.bkbits.net/linux25-24ide

Signature · 1 line
Jens Axboe
author
#14 lore raw
In reply to Roy Sigurd Karlsbakk
Quoted 4 lines · Roy Sigurd Karlsbakk

hi

Should I add IDE9[4567] as well, or does these ones include previous IDE pathes?

Well, the whole point of this patch set is _not_ to use the 2.5 ide core for now. When configuring your kernel, you get the choice of using 2.4-ide or 2.5-ide. If you choose 2.5-ide, then yes you should add those patches (I guess). If you choose 2.4-ide (which most users of the patch set would do, why else apply it?!), then it doesn't matter.

Signature · 1 line
Jens Axboe
#17 lore raw
In reply to Roy Sigurd Karlsbakk

Hi,

Quoted 2 lines · Roy Sigurd Karlsbakk

Should I add IDE9[4567] as well, or does these ones include previous IDE pathes?

It's Linus' current tree plus IDE. So just patch your current tree.

Regards, Thunder

Signature · 7 lines
(Use http://www.ebb.org/ungeek if you can't decode)
------BEGIN GEEK CODE BLOCK------
Version: 3.12
GCS/E/G/S/AT d- s++:-- a? C++$ ULAVHI++++$ P++$ L++++(+++++)$ E W-$
N--- o?  K? w-- O- M V$ PS+ PE- Y- PGP+ t+ 5+ X+ R- !tv b++ DI? !D G
e++++ h* r--- y- 
------END GEEK CODE BLOCK------
#19 lore raw
In reply to Jens Axboe

Hello Jens,

Tuesday, July 9, 2002, 12:22:49 PM, you wrote:

JA> *.kernel.org://pub/linux/kernel/people/axboe/patches/v2.5/2.5.25/

After downloading each of the 7 .gz-patches, applying them without any complains, I started to compile the new bzImage, but I got an error in relation to the FAT support. By switching this support off everything'll compile without any further problem though, and I can boot from this image even.. :-)

<out of subject>
Before appending the error messages I want to know if shm' is named shmem' in 2.5 (it seems so anyway)?
</out of subject>

Hope it will be fixed ASAP.

FYI:
CONFIG_FAT_FS=y
CONFIG_VFAT_FS=y

Make's complaints:
====================
make[1]: Entering directory `/usr/src/linux-2.5.25/scripts'
make[1]: Leaving directory `/usr/src/linux-2.5.25/scripts'
Starting the build. KBUILD_BUILTIN=1 KBUILD_MODULES=
make[1]: Entering directory `/usr/src/linux-2.5.25/init'
Generating /usr/src/linux-2.5.25/include/linux/compile.hdnsdomainname: Host name lookup failure
(unchanged)
make[1]: Leaving directory `/usr/src/linux-2.5.25/init'
make[1]: Entering directory `/usr/src/linux-2.5.25/kernel'
make[1]: Leaving directory `/usr/src/linux-2.5.25/kernel'
make[1]: Entering directory `/usr/src/linux-2.5.25/mm'
make[1]: Leaving directory `/usr/src/linux-2.5.25/mm'
make[1]: Entering directory `/usr/src/linux-2.5.25/fs'
make[2]: Entering directory `/usr/src/linux-2.5.25/fs/devfs'
make[2]: Leaving directory `/usr/src/linux-2.5.25/fs/devfs'
make[2]: Entering directory `/usr/src/linux-2.5.25/fs/devpts'
make[2]: Leaving directory `/usr/src/linux-2.5.25/fs/devpts'
make[2]: Entering directory `/usr/src/linux-2.5.25/fs/driverfs'
make[2]: Leaving directory `/usr/src/linux-2.5.25/fs/driverfs'
make[2]: Entering directory `/usr/src/linux-2.5.25/fs/ext2'
make[2]: Leaving directory `/usr/src/linux-2.5.25/fs/ext2'
make[2]: Entering directory `/usr/src/linux-2.5.25/fs/ext3'
make[2]: Leaving directory `/usr/src/linux-2.5.25/fs/ext3'
make[2]: Entering directory `/usr/src/linux-2.5.25/fs/fat'
make[2]: Leaving directory `/usr/src/linux-2.5.25/fs/fat'
make[2]: Entering directory `/usr/src/linux-2.5.25/fs/isofs'
make[2]: Leaving directory `/usr/src/linux-2.5.25/fs/isofs'
make[2]: Entering directory `/usr/src/linux-2.5.25/fs/jbd'
make[2]: Leaving directory `/usr/src/linux-2.5.25/fs/jbd'
make[2]: Entering directory `/usr/src/linux-2.5.25/fs/nls'
make[2]: Leaving directory `/usr/src/linux-2.5.25/fs/nls'
make[2]: Entering directory `/usr/src/linux-2.5.25/fs/partitions'
gcc -Wp,-MD,./.msdos.o.d -D__KERNEL__ -I/usr/src/linux-2.5.25/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686 -nostdinc -iwithprefix include -DKBUILD_BASENAME=msdos -DEXPORT_SYMTAB -c -o msdos.o msdos.c
In file included from msdos.c:32:
/usr/src/linux-2.5.25/include/linux/ide.h:651: field taskfile' has incomplete type /usr/src/linux-2.5.25/include/linux/ide.h:652: field hobfile' has incomplete type make[2]: *** [msdos.o] Error 1
make[2]: Leaving directory `/usr/src/linux-2.5.25/fs/partitions'
make[1]: *** [partitions] Error 2
make[1]: Leaving directory `/usr/src/linux-2.5.25/fs'
make: *** [fs] Error 2

Signature · 4 lines
cheers,
  Tobias

http://freebits.org
author
#20 lore raw
Quoted 11 lines · Tobias Rittweiler

Hello Jens,

Tuesday, July 9, 2002, 12:22:49 PM, you wrote:

JA> *.kernel.org://pub/linux/kernel/people/axboe/patches/v2.5/2.5.25/

After downloading each of the 7 .gz-patches, applying them without any complains, I started to compile the new bzImage, but I got an error in relation to the FAT support. By switching this support off everything'll compile without any further problem though, and I can boot from this image even.. :-)

Please send me your full .config, I'll fix this in the next version.

Signature · 1 line
Jens Axboe
author
#22 lore raw
In reply to Tobias Rittweiler
Quoted 11 lines · Tobias Rittweiler

Hello Jens,

Tuesday, July 9, 2002, 12:22:49 PM, you wrote:

JA> *.kernel.org://pub/linux/kernel/people/axboe/patches/v2.5/2.5.25/

After downloading each of the 7 .gz-patches, applying them without any complains, I started to compile the new bzImage, but I got an error in relation to the FAT support. By switching this support off everything'll compile without any further problem though, and I can boot from this image even.. :-)

Please send me your full .config, I'll fix this in the next version.

Signature · 1 line
Jens Axboe
#6 lore raw
In reply to Anton Altaparmakov
Quoted 8 lines · Anton Altaparmakov
Quoted 2 lines · Jens Axboe

I've forward ported the 2.4 IDE core (well 2.4.19-pre10-ac2 to be exact) to 2.5.25. It consists of 7 separate patches:

Fantastic! Seeing that the patches are bitkeeper generated, would it be possible for you to make a repository available with the patches? (on bkbits perhaps?) Would make it a lot easier for us bitkeeper users just to pull from your repository... Especially once you update the patches...

Okay, tired of fantastic ;-)
This forward port has still broken PIO transfer on errors and really borken multi PIO writes, all due to buffer_head -> bio transition in 2.5.

Jens, you would better spend your time on enhancing block layer to allow me fixing them cleanly...

Regards
--
Bartlomiej

Quoted 7 lines

Best regards,

Anton
--
Anton Altaparmakov <aia21 at cantab.net> (replace at with @) Linux NTFS maintainer / IRC: #ntfs on irc.openprojects.net
WWW: http://linux-ntfs.sf.net/ & http://www-stu.christs.cam.ac.uk/~aia21/

author
#23 lore raw
In reply to Tobias Rittweiler
Quoted 11 lines · Tobias Rittweiler

Hello Jens,

Tuesday, July 9, 2002, 12:22:49 PM, you wrote:

JA> *.kernel.org://pub/linux/kernel/people/axboe/patches/v2.5/2.5.25/

After downloading each of the 7 .gz-patches, applying them without any complains, I started to compile the new bzImage, but I got an error in relation to the FAT support. By switching this support off everything'll compile without any further problem though, and I can boot from this image even.. :-)

Try doing something ala

#ifdef CONFIG_IDE_25
#include <linux/ide.h> /* IDE xlate */
#else
#include <linux/ide24.h>
#endif

instead of including ide.h directly in fs/partitions/msdos.c

Yeah it's ugly, but it should fix it for now.

Signature · 1 line
Jens Axboe
#21 lore raw
In reply to Jens Axboe

Hello Jens,

Quoted 5 lines · you
Quoted 5 lines

After downloading each of the 7 .gz-patches, applying them without any complains, I started to compile the new bzImage, but I got an error in relation to the FAT support. By switching this support off everything'll compile without any further problem though, and I can boot from this image even.. :-)

JA> Please send me your full .config, I'll fix this in the next version.

========================================================================
CONFIG_X86=y
CONFIG_ISA=y
CONFIG_UID16=y
CONFIG_EXPERIMENTAL=y
CONFIG_NET=y
CONFIG_SYSVIPC=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_SYSCTL=y
CONFIG_MODULES=y
CONFIG_KMOD=y
CONFIG_MPENTIUMIII=y
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_INVLPG=y
CONFIG_X86_CMPXCHG=y
CONFIG_X86_XADD=y
CONFIG_X86_BSWAP=y
CONFIG_X86_POPAD_OK=y
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_X86_L1_CACHE_SHIFT=5
CONFIG_X86_TSC=y
CONFIG_X86_GOOD_APIC=y
CONFIG_X86_USE_PPRO_CHECKSUM=y
CONFIG_PREEMPT=y
CONFIG_X86_MCE=y
CONFIG_X86_MCE_NONFATAL=y
CONFIG_NOHIGHMEM=y
CONFIG_HAVE_DEC_LOCK=y
CONFIG_PM=y
CONFIG_APM=y
CONFIG_APM_DO_ENABLE=y
CONFIG_APM_DISPLAY_BLANK=y
CONFIG_APM_REAL_MODE_POWER_OFF=y
CONFIG_PCI=y
CONFIG_PCI_GOANY=y
CONFIG_PCI_BIOS=y
CONFIG_PCI_DIRECT=y
CONFIG_PCI_NAMES=y
CONFIG_HOTPLUG=y
CONFIG_PCMCIA=y
CONFIG_CARDBUS=y
CONFIG_KCORE_ELF=y
CONFIG_BINFMT_AOUT=y
CONFIG_BINFMT_ELF=y
CONFIG_BINFMT_MISC=y
CONFIG_PARPORT=y
CONFIG_PARPORT_PC=y
CONFIG_PARPORT_PC_CML1=y
CONFIG_PNP=y
CONFIG_ISAPNP=y
CONFIG_PNPBIOS=y
CONFIG_BLK_DEV_FD=y
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_SIZE=4096
CONFIG_BLK_DEV_INITRD=y
CONFIG_PACKET=y
CONFIG_UNIX=y
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IPV6=y
CONFIG_IDE=y
CONFIG_IDE_24=y
CONFIG_BLK_DEV_IDE=y
CONFIG_BLK_DEV_IDEDISK=y
CONFIG_IDEDISK_MULTI_MODE=y
CONFIG_BLK_DEV_IDECD=y
CONFIG_BLK_DEV_CMD640=y
CONFIG_BLK_DEV_RZ1000=y
CONFIG_BLK_DEV_IDEPCI=y
CONFIG_IDEPCI_SHARE_IRQ=y
CONFIG_BLK_DEV_IDEDMA_PCI=y
CONFIG_IDEDMA_PCI_AUTO=y
CONFIG_BLK_DEV_IDEDMA=y
CONFIG_BLK_DEV_PIIX=y
CONFIG_BLK_DEV_RZ1000=y
CONFIG_IDEDMA_AUTO=y
CONFIG_BLK_DEV_IDE_MODES=y
CONFIG_NETDEVICES=y
CONFIG_DUMMY=m
CONFIG_BONDING=m
CONFIG_NET_ETHERNET=y
CONFIG_NET_PCI=y
CONFIG_E100=y
CONFIG_NET_PCMCIA=y
CONFIG_PCMCIA_PCNET=y
CONFIG_NET_PCMCIA_RADIO=y
CONFIG_PCMCIA_RAYCS=y
CONFIG_INPUT=m
CONFIG_SOUND_GAMEPORT=y
CONFIG_INPUT_KEYBOARD=y
CONFIG_INPUT_MOUSE=y
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_SERIAL=y
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256
CONFIG_PRINTER=y
CONFIG_MOUSE=y
CONFIG_PSMOUSE=y
CONFIG_AGP=y
CONFIG_AGP_INTEL=y
CONFIG_AGP_I810=y
CONFIG_AGP_VIA=y
CONFIG_AGP_SIS=y
CONFIG_AGP_ALI=y
CONFIG_DRM=y
CONFIG_DRM_TDFX=y
CONFIG_DRM_RADEON=y
CONFIG_EXT3_FS=y
CONFIG_JBD=y
CONFIG_FAT_FS=y
CONFIG_VFAT_FS=y
CONFIG_TMPFS=y
CONFIG_RAMFS=y
CONFIG_ISO9660_FS=y
CONFIG_JOLIET=y
CONFIG_PROC_FS=y
CONFIG_DEVFS_FS=y
CONFIG_DEVFS_MOUNT=y
CONFIG_DEVPTS_FS=y
CONFIG_EXT2_FS=y
CONFIG_SMB_FS=m
CONFIG_MSDOS_PARTITION=y
CONFIG_SMB_NLS=y
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="iso8859-1"
CONFIG_NLS_CODEPAGE_852=y
CONFIG_NLS_ISO8859_1=y
CONFIG_NLS_ISO8859_15=y
CONFIG_VGA_CONSOLE=y
CONFIG_VIDEO_SELECT=y
CONFIG_FB=y
CONFIG_DUMMY_CONSOLE=y
CONFIG_FB_VESA=y
CONFIG_VIDEO_SELECT=y
CONFIG_FBCON_CFB24=y
CONFIG_FBCON_ACCEL=y
CONFIG_FBCON_FONTS=y
CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=y
CONFIG_SOUND=m
CONFIG_SOUND_PRIME=m
CONFIG_SOUND_OSS=m
CONFIG_SOUND_SB=m
CONFIG_SOUND_AWE32_SYNTH=m
CONFIG_USB=m
CONFIG_USB_DEVICEFS=y
CONFIG_USB_ACM=m
========================================================================

Signature · 4 lines
cheers,
  Tobias

http://freebits.org
author
#7 lore raw
In reply to Bartlomiej Zolnierkiewicz
Quoted 7 lines · Bartlomiej Zolnierkiewicz
Quoted 4 lines · Anton Altaparmakov
Quoted 2 lines · Jens Axboe

I've forward ported the 2.4 IDE core (well 2.4.19-pre10-ac2 to be exact) to 2.5.25. It consists of 7 separate patches:

Quoted 8 lines
Quoted 4 lines

Fantastic! Seeing that the patches are bitkeeper generated, would it be possible for you to make a repository available with the patches? (on bkbits perhaps?) Would make it a lot easier for us bitkeeper users just to pull from your repository... Especially once you update the patches...

Okay, tired of fantastic ;-)
This forward port has still broken PIO transfer on errors and really borken multi PIO writes, all due to buffer_head -> bio transition in 2.5.

As I wrote in the initial posting, yes multi pio is broken _for multi page bio's_. Where does 2.5 break pio transfers on error? If you are talking about a 2.4 code base error, then I don't care, you need to tell someone else :-)

Quoted 2 lines

Jens, you would better spend your time on enhancing block layer to allow me fixing them cleanly...

I'll fix the bio support issue for pio multi write, it's in the next version.

Signature · 1 line
Jens Axboe
#8 lore raw
Quoted 13 lines · Jens Axboe
Quoted 12 lines · Bartlomiej Zolnierkiewicz
Quoted 8 lines · Anton Altaparmakov
Quoted 2 lines · Jens Axboe

I've forward ported the 2.4 IDE core (well 2.4.19-pre10-ac2 to be exact) to 2.5.25. It consists of 7 separate patches:

Fantastic! Seeing that the patches are bitkeeper generated, would it be possible for you to make a repository available with the patches? (on bkbits perhaps?) Would make it a lot easier for us bitkeeper users just to pull from your repository... Especially once you update the patches...

Quoted 8 lines
Quoted 3 lines

Okay, tired of fantastic ;-)
This forward port has still broken PIO transfer on errors and really borken multi PIO writes, all due to buffer_head -> bio transition in 2.5.

As I wrote in the initial posting, yes multi pio is broken _for multi page bio's_. Where does 2.5 break pio transfers on error? If you are talking about a 2.4 code base error, then I don't care, you need to tell someone else :-)

PIO on error is broken _for multi page bio's_ .

Quoted 5 lines
Quoted 2 lines

Jens, you would better spend your time on enhancing block layer to allow me fixing them cleanly...

I'll fix the bio support issue for pio multi write, it's in the next version.

Okay, will see... :)

--
Bartlomiej

#11 lore raw
In reply to Jens Axboe
Quoted 13 lines · Jens Axboe
Quoted 12 lines · Bartlomiej Zolnierkiewicz
Quoted 8 lines · Anton Altaparmakov
Quoted 2 lines · Jens Axboe

I've forward ported the 2.4 IDE core (well 2.4.19-pre10-ac2 to be exact) to 2.5.25. It consists of 7 separate patches:

Fantastic! Seeing that the patches are bitkeeper generated, would it be possible for you to make a repository available with the patches? (on bkbits perhaps?) Would make it a lot easier for us bitkeeper users just to pull from your repository... Especially once you update the patches...

Quoted 8 lines
Quoted 3 lines

Okay, tired of fantastic ;-)
This forward port has still broken PIO transfer on errors and really borken multi PIO writes, all due to buffer_head -> bio transition in 2.5.

As I wrote in the initial posting, yes multi pio is broken _for multi page bio's_. Where does 2.5 break pio transfers on error? If you are talking about a 2.4 code base error, then I don't care, you need to tell someone else :-)

PIO on error is broken _for multi page bio's_ .

Quoted 5 lines
Quoted 2 lines

Jens, you would better spend your time on enhancing block layer to allow me fixing them cleanly...

I'll fix the bio support issue for pio multi write, it's in the next version.

Okay, will see... :)

--
Bartlomiej

author
#9 lore raw
In reply to Bartlomiej Zolnierkiewicz
Quoted 20 lines · Bartlomiej Zolnierkiewicz
Quoted 17 lines · Jens Axboe
Quoted 15 lines · Bartlomiej Zolnierkiewicz
Quoted 8 lines · Anton Altaparmakov
Quoted 2 lines · Jens Axboe

I've forward ported the 2.4 IDE core (well 2.4.19-pre10-ac2 to be exact) to 2.5.25. It consists of 7 separate patches:

Fantastic! Seeing that the patches are bitkeeper generated, would it be possible for you to make a repository available with the patches? (on bkbits perhaps?) Would make it a lot easier for us bitkeeper users just to pull from your repository... Especially once you update the patches...

Okay, tired of fantastic ;-)
This forward port has still broken PIO transfer on errors and really borken multi PIO writes, all due to buffer_head -> bio transition in 2.5.

Quoted 6 lines
Quoted 4 lines

As I wrote in the initial posting, yes multi pio is broken _for multi page bio's_. Where does 2.5 break pio transfers on error? If you are talking about a 2.4 code base error, then I don't care, you need to tell someone else :-)

PIO on error is broken _for multi page bio's_ .

Ok that falls into the same category as the multi pio one. I'll fix that as well.

Signature · 1 line
Jens Axboe
author
#10 lore raw
In reply to Bartlomiej Zolnierkiewicz
Quoted 20 lines · Bartlomiej Zolnierkiewicz
Quoted 17 lines · Jens Axboe
Quoted 15 lines · Bartlomiej Zolnierkiewicz
Quoted 8 lines · Anton Altaparmakov
Quoted 2 lines · Jens Axboe

I've forward ported the 2.4 IDE core (well 2.4.19-pre10-ac2 to be exact) to 2.5.25. It consists of 7 separate patches:

Fantastic! Seeing that the patches are bitkeeper generated, would it be possible for you to make a repository available with the patches? (on bkbits perhaps?) Would make it a lot easier for us bitkeeper users just to pull from your repository... Especially once you update the patches...

Okay, tired of fantastic ;-)
This forward port has still broken PIO transfer on errors and really borken multi PIO writes, all due to buffer_head -> bio transition in 2.5.

Quoted 6 lines
Quoted 4 lines

As I wrote in the initial posting, yes multi pio is broken _for multi page bio's_. Where does 2.5 break pio transfers on error? If you are talking about a 2.4 code base error, then I don't care, you need to tell someone else :-)

PIO on error is broken _for multi page bio's_ .

Ok that falls into the same category as the multi pio one. I'll fix that as well.

Signature · 1 line
Jens Axboe
#24 lore raw
In reply to Jens Axboe

Hello Jens,

Tuesday, July 9, 2002, 2:54:12 PM, you wrote:

JA> Try doing something ala

JA> #ifdef CONFIG_IDE_25
JA> #include <linux/ide.h> /* IDE xlate */
JA> #else
JA> #include <linux/ide24.h>
JA> #endif

JA> instead of including ide.h directly in fs/partitions/msdos.c

Just a minute ago I booted and wanted to take your hint, but before this I tried `make bzImage' again (no idea why, just for fun) and it compiled! This results from the fact that I booted the new kernel with the new IDE core including.

Yes, it works now. Thanks anyway, I'm sure you'll interpret this happening rightly.

Signature · 4 lines
cheers,
  Tobias

http://freebits.org
#25 lore raw
In reply to Jens Axboe

Hello Jens,

Tuesday, July 9, 2002, 2:54:12 PM, you wrote:

JA> Try doing something ala

JA> #ifdef CONFIG_IDE_25
JA> #include <linux/ide.h> /* IDE xlate */
JA> #else
JA> #include <linux/ide24.h>
JA> #endif

JA> instead of including ide.h directly in fs/partitions/msdos.c

Just a minute ago I booted and wanted to take your hint, but before this I tried `make bzImage' again (no idea why, just for fun) and it compiled! This results from the fact that I booted the new kernel with the new IDE core including.

Yes, it works now. Thanks anyway, I'm sure you'll interpret this happening rightly.

Signature · 4 lines
cheers,
  Tobias

http://freebits.org
#26 lore raw
In reply to Jens Axboe
Quoted 1 line · Jens Axboe

I've forward ported the 2.4 IDE core to 2.5.25.

Very good!

There are two kinds of objections.
The minor one is political - you can imagine.
The major one is technical. You did not port the 2.4 good PIO behaviour to 2.5. Bartlomiej already warned about this, so I need only confirm:

This afternoon I booted 2.5.25 with your patches and two more, one to prevent an oops when shutting down, the other to fix ethernet cards detection. Started torturing two disks on HPT366. After 3 minutes

	hde: status error: status=0x50 { DriveReady SeekComplete }
	hde: no DRQ after issuing WRITE

and seven minutes later

	hde: task_out_intr: status=0x51 { DriveReady SeekComplete Error }
	hde: task_out_intr: error=0x04 { DriveStatusError }

Soon lots of processes were hanging in D. Reboot. e2fsck.

Then booted vanilla 2.4.17. Tortured disks in the same way. After several hours all is still perfect. I'll leave this for a night, but so far I have never seen these errors on 2.4 and very often in recent 2.5.

Andries

#15 lore raw
In reply to Jens Axboe
Quoted 11 lines · Jens Axboe
Quoted 4 lines · Roy Sigurd Karlsbakk

hi

Should I add IDE9[4567] as well, or does these ones include previous IDE pathes?

Well, the whole point of this patch set is _not_ to use the 2.5 ide core for now. When configuring your kernel, you get the choice of using 2.4-ide or 2.5-ide. If you choose 2.5-ide, then yes you should add those patches (I guess). If you choose 2.4-ide (which most users of the patch set would do, why else apply it?!), then it doesn't matter.

Thankyou Jens,

It is really quite perturbing to think how much the IDE instability has held back development of other features in the unstable kernel. The warm reception of your patch speaks volumes.

Miles

#16 lore raw
In reply to Jens Axboe
Quoted 11 lines · Jens Axboe
Quoted 4 lines · Roy Sigurd Karlsbakk

hi

Should I add IDE9[4567] as well, or does these ones include previous IDE pathes?

Well, the whole point of this patch set is _not_ to use the 2.5 ide core for now. When configuring your kernel, you get the choice of using 2.4-ide or 2.5-ide. If you choose 2.5-ide, then yes you should add those patches (I guess). If you choose 2.4-ide (which most users of the patch set would do, why else apply it?!), then it doesn't matter.

Thankyou Jens,

It is really quite perturbing to think how much the IDE instability has held back development of other features in the unstable kernel. The warm reception of your patch speaks volumes.

Miles

author
#27 lore raw
In reply to Andries Brouwer
Quoted 8 lines · Andries Brouwer
Quoted 1 line · Jens Axboe

I've forward ported the 2.4 IDE core to 2.5.25.

Very good!

There are two kinds of objections.
The minor one is political - you can imagine.

Naturally.

Quoted 12 lines

The major one is technical. You did not port the 2.4 good PIO behaviour to 2.5. Bartlomiej already warned about this, so I need only confirm:

This afternoon I booted 2.5.25 with your patches and two more, one to prevent an oops when shutting down, the other to fix ethernet cards detection. Started torturing two disks on HPT366. After 3 minutes

	hde: status error: status=0x50 { DriveReady SeekComplete }
	hde: no DRQ after issuing WRITE
Quoted 6 lines

and seven minutes later

	hde: task_out_intr: status=0x51 { DriveReady SeekComplete Error }
	hde: task_out_intr: error=0x04 { DriveStatusError }

Soon lots of processes were hanging in D. Reboot. e2fsck.

The above seems to be plain pio, you didn't use multi mode did you? I think my current tree has the multi-page multi mode bio issue resolved, however I'll test for some hours before sending out the next patch set.

Quoted 4 lines

Then booted vanilla 2.4.17. Tortured disks in the same way. After several hours all is still perfect. I'll leave this for a night, but so far I have never seen these errors on 2.4 and very often in recent 2.5.

Good to know.

Thanks for your report, it'll probably take a day or two before the kinks of the 2.5 conversion have been ironed out and the ide core is as stable as 2.4.

Signature · 1 line
Jens Axboe
author
#28 lore raw

PATCH 1/1 2.4 IDE core for 2.5, #2 (was Re: [PATCH] 2.4 IDE core for 2.5)

Quoted 10 lines · Jens Axboe
Quoted 10 lines

This afternoon I booted 2.5.25 with your patches and two more, one to prevent an oops when shutting down, the other to fix ethernet cards detection. Started torturing two disks on HPT366. After 3 minutes

	hde: status error: status=0x50 { DriveReady SeekComplete }
	hde: no DRQ after issuing WRITE

and seven minutes later

Quoted 8 lines
Quoted 4 lines
	hde: task_out_intr: status=0x51 { DriveReady SeekComplete Error }
	hde: task_out_intr: error=0x04 { DriveStatusError }

Soon lots of processes were hanging in D. Reboot. e2fsck.

The above seems to be plain pio, you didn't use multi mode did you? I think my current tree has the multi-page multi mode bio issue resolved, however I'll test for some hours before sending out the next patch set.

Care to try the next version? I've completely disabled task file i/o since it does seem to be broken in pio, and fixed the multi-write multi-page bio bug as well. There are a number of other changes in there. There are split patches like last time, but also one big patch:

*.kernel.org/pub/linux/kernel/people/axboe/patches/v2.5/2.5.25/

00_25ide-compile-1a
no changes, rediffed

05_25pci-ids-1a
no changes, rediffed

10_24ide-core-2
various fixes, see old/ for the complete list

15_24-misc-bits-2
added (broken) sparc64 bits. too lazy to revert these right, waiting for update

20_ide-build-config-1a
consolidate config and build split

25_ide-scsi-1
no changes, rediffed

and finally,

ide24-for-2.5-2
all of the above

Also pull'able from bk://[email protected]/linux25-24ide (soonish)

Signature · 1 line
Jens Axboe
#31 lore raw
In reply to Andries Brouwer
Quoted 5 lines · Andries Brouwer
Quoted 1 line · Jens Axboe

I've forward ported the 2.4 IDE core to 2.5.25.

Very good!

Ehmm. We have had "old IDE support" in the kernel for "ages". We have two aic7xxx driver, two rtl8139 drivers, two, or more ncr53c8xx drivers.

So why in the case of IDE has the "new IDE" driver not been forked and implemented under a new "name" such that those working on other stuff can chose to use the "old reliable" driver while others daring to test the new advanced rewrite can do so?

Roger.

Signature · 4 lines
** [email protected] ** http://www.BitWizard.nl/ ** +31-15-2137555 **
*-- BitWizard writes Linux device drivers for any device you may have! --*
* There are old pilots, and there are bold pilots. 
* There are also old, bald pilots. 
author
#32 lore raw
Quoted 7 lines · Rogier Wolff
Quoted 5 lines · Andries Brouwer
Quoted 1 line · Jens Axboe

I've forward ported the 2.4 IDE core to 2.5.25.

Very good!

Quoted 7 lines

Ehmm. We have had "old IDE support" in the kernel for "ages". We have two aic7xxx driver, two rtl8139 drivers, two, or more ncr53c8xx drivers.

So why in the case of IDE has the "new IDE" driver not been forked and implemented under a new "name" such that those working on other stuff can chose to use the "old reliable" driver while others daring to test the new advanced rewrite can do so?

That's a really good question, in retrospect this is what should have happened IMO.

Signature · 1 line
Jens Axboe
#29 lore raw

Re: [PATCH] 2.4 IDE core for 2.5, #2 (was Re: [PATCH] 2.4 IDE core for 2.5)

In reply to Jens Axboe
Quoted 9 lines · Jens Axboe

Care to try the next version? I've completely disabled task file i/o since it does seem to be broken in pio, and fixed the multi-write multi-page bio bug as well. There are a number of other changes in there. There are split patches like last time, but also one big patch:

*.kernel.org/pub/linux/kernel/people/axboe/patches/v2.5/2.5.25/

ide24-for-2.5-2
all of the above

Had no time until now, but just tried ide24-for-2.5-3. It did not compile, but after adding 05_25pci-ids-1a it did. Also added

drivers/usb/host/uhci-hcd.c Fri Jun 21 22:44:35 2002 renamed from drivers/usb/host/uhci-hcd.c Mon Jun 17 19:35:40 2002 +2 -2
diff -u --recursive --new-file -X /linux/dontdiff a/drivers/usb/host/uhci-hcd.c b/drivers/usb/host/uhci-hcd.c
@@ -2428,7 +2428,7 @@
        return retval;
 }
 
-static void __devexit uhci_stop(struct usb_hcd *hcd)
+static void uhci_stop(struct usb_hcd *hcd)
 {
        struct uhci_hcd *uhci = hcd_to_uhci(hcd);
 
@@ -2509,7 +2509,7 @@
        suspend:                uhci_suspend,
        resume:                 uhci_resume,
 #endif
-       stop:                   __devexit_p(uhci_stop),
+       stop:                   uhci_stop,
 
        hcd_alloc:              uhci_hcd_alloc,
        hcd_free:               uhci_hcd_free,

to prevent oopses at shutdown.

The resulting kernel seems to work. Tried it only for a short time, but maybe long enough to be confident.

[Yesterday, or the day before I installed a new distribution. Unfortunately there are vendor modifications to kernel and user space software, so replacing the kernel by a vanilla one does not yield a functioning system; will also have to replace some vendor user space stuff by vanilla stuff.]

Andries

#30 lore raw

IDE

As there seem to be more activity now, maybe someone can help me get UDMA 66/100 to work with Promise U100 cards.

I have tested on three different systems with 4 brands (Maxtor, Seagate, Quantum, IBM) of harddrives. The highest mode I can set is UDMA33. When I try to use anything higher I get an error in the kernel log saying "kernel: ide2: Speed warnings UDMA 3/4/5 is not functional".

All drives support higher at least UDMA 100.

I have tested with most of the 2.4.17-19 kernels, including the Red Hat kernels under Red Hat 7.2 and 7.3. I have also used the -AC patches. I have also compiled with and without "IGNORE word93 Validation BITS"

The current kernel is 2.4.19-rc1.

dmesg log says this om my current system:
---

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 21
PIIX4: chipset revision 1
PIIX4: not 100% native mode: will probe irqs later

    ide0: BM-DMA at 0xb800-0xb807, BIOS settings: hda:DMA, hdb:DMA
    ide1: BM-DMA at 0xb808-0xb80f, BIOS settings: hdc:DMA, hdd:DMA

PDC20268: IDE controller on PCI bus 00 dev 48
PCI: Found IRQ 4 for device 00:09.0
PCI: Sharing IRQ 4 with 00:04.2
PDC20268: chipset revision 2
PDC20268: not 100% native mode: will probe irqs later

    ide2: BM-DMA at 0x9800-0x9807, BIOS settings: hde:pio, hdf:pio
    ide3: BM-DMA at 0x9808-0x980f, BIOS settings: hdg:pio, hdh:pio

PDC20268: IDE controller on PCI bus 00 dev 58
PCI: Found IRQ 10 for device 00:0b.0
PDC20268: chipset revision 2
PDC20268: not 100% native mode: will probe irqs later

    ide4: BM-DMA at 0x8000-0x8007, BIOS settings: hdi:pio, hdj:pio
    ide5: BM-DMA at 0x8008-0x800f, BIOS settings: hdk:pio, hdl:pio

---
hde: 117231408 sectors (60022 MB) w/2048KiB Cache, CHS=116301/16/63, UDMA(33)
hdf: 120103200 sectors (61493 MB) w/1916KiB Cache, CHS=119150/16/63, UDMA(33)
hdg: 320173056 sectors (163929 MB) w/2048KiB Cache, CHS=19929/255/63, UDMA(33)
hdh: 240121728 sectors (122942 MB) w/2048KiB Cache, CHS=14946/255/63, UDMA(33)
hdi: 160086528 sectors (81964 MB) w/2048KiB Cache, CHS=158816/16/63, UDMA(33)
hdj: 160086528 sectors (81964 MB) w/2048KiB Cache, CHS=158816/16/63, UDMA(33)
hdk: 117266688 sectors (60041 MB) w/2000KiB Cache, CHS=116336/16/63, UDMA(33)
hdl: 117266688 sectors (60041 MB) w/2000KiB Cache, CHS=116336/16/63, UDMA(33)
---
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide1 at 0x170-0x177,0x376 on irq 15
ide2 at 0xb000-0xb007,0xa802 on irq 4
ide3 at 0xa400-0xa407,0xa002 on irq 4
ide4 at 0x9400-0x9407,0x9002 on irq 10
ide5 at 0x8800-0x8807,0x8402 on irq 10
---
hde: ST360021A, ATA DISK drive
hdf: IC35L060AVER07-0, ATA DISK drive
hdg: Maxtor 4G160J8, ATA DISK drive
hdh: Maxtor 4G120J6, ATA DISK drive
hdi: Maxtor 98196H8, ATA DISK drive
hdj: Maxtor 98196H8, ATA DISK drive
hdk: MAXTOR 4K060H3, ATA DISK drive
hdl: MAXTOR 4K060H3, ATA DISK driv

The Promise U100Tx2 BIOS does report UDMA100 for ALL drives.