Re: Increasing IDE Channels

From: Kronos
Date: Wed Jul 07 2004 - 17:59:11 EST


John W. Ross <programming@xxxxxxxxxxxxx> ha scritto:
> Greetings,
>
> I've spent several days working to increase the number of IDE channels above
> the 10 allowed in the kernel.
[cut]
> Changed ide.h:
>
> IDE_NR_PORTS (10)
> to
> IDE_NR_PORTS (12)
>
> In major.h I added:
>
> #define IDE10_MAJOR 240
> #define IDE11_MAJOR 241
>
> in ide.c I changed
>
> static const u8 ide_hwif_to_major[] = { IDE0_MAJOR, IDE1_MAJOR,
> IDE2_MAJOR, IDE3_MAJOR,
> IDE4_MAJOR, IDE5_MAJOR,
> IDE6_MAJOR, IDE7_MAJOR,
> IDE8_MAJOR, IDE9_MAJOR };
>
> to :
>
> static const u8 ide_hwif_to_major[] = { IDE0_MAJOR, IDE1_MAJOR,
> IDE2_MAJOR, IDE3_MAJOR,
> IDE4_MAJOR, IDE5_MAJOR,
> IDE6_MAJOR, IDE7_MAJOR,
> IDE8_MAJOR, IDE9_MAJOR,
> IDE10_MAJOR, IDE11_MAJOR)
>

> 1.) Could someone please explain why there is a limit of 10 interfaces (is
> this something that I shouldn't even try)?

Because hwifs are statically allocated, see drivers/ide/ide.c:

ide_hwif_t ide_hwifs[MAX_HWIFS]; /* master data repository */

Also if names are ide0..ide9, the following would be ide: and ide; (see
init_hwif_data in drivers/ide/ide.c).

> 2.)What did I miss on moving to 12?

You can try and set MAX_HWIFS to 12 too (see include/asm-i386/ide.h),
but you may find other problems.

I don't know ide layer very much, I'm sorry but I can't help you more.

Luca
--
Home: http://kronoz.cjb.net
Non capisco tutta questa eccitazione per il Multitasking:
io sono anni che leggo in bagno.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/