ultrastor.c is a bit-rot

Boaz Harrosh
2008-03-17T14:59:16Z

Inspecting ultrastor.c it is clear to me that this was never used for
a loooooooooong time. Not since a PC has more then 2^24 bit of memory.
Let me explain below.

Now I'm not saying it should be fixed. I'm saying that it should be dumped
in the account that it is not used by any one and that it does not work.

Why it never worked?
~~~~~~~~~~~~~~~~~~~~~

The driver's header says it supports 3 cards

* 14F - ISA first-party DMA HA with floppy support and WD1003 emulation.
* 24F - EISA Bus Master HA with floppy support and WD1003 emulation.
* 34F - VL-Bus Bus Master HA with floppy support (no WD1003 emulation).

But Kconfig only specifies ISA. I'm not sure what a VL-Bus is.

now the driver defines a static array of structures like this:

struct {
...

struct mscp mscp[ULTRASTOR_MAX_CMDS];
} config = {0};

and allocates a struct mscp in .queuecommand like this:
my_mscp = &config.mscp[mscp_index];

it will go on preparing this my_mscp structure including stuffing
some mapped pointers. Lets put that aside for now.
At the very end it will pass this my_mscp structure to the card's
firmware like this:

/* Store pointer in OGM address bytes */
outl(isa_virt_to_bus(my_mscp), config.ogm_address);

Now this is one hell of a smart ISA card. But putting this aside.

if the machine has more then 2^24 of memory. Then this will never
work, right? or I'm missing it completely?

(Also none of the emails in this file are valid)

Boaz