Yes, that's correct.
> is capable
> of mapping stuff into IO space as well as into memory space. It will
> simply do whatever the bit is set at. You're supposed to program the
> eeprom in such a way that the bit becomes read-only, but it is
> certainly writeable in hardware, and the device will honour whatever
> it is set at.
Just so that you guys know, those register bits _are_ programmed to be
read-only. I called PLX on Friday and they told me that in the way we are
programming the EEPROM, once the chip receives the assignment from the
BIOS, these bits (related to the addressing type) are turned into
read-only. And based on my test in the device driver, he's right.
Thus, the possibilities I see are as follows:
- The BIOS is programming the register with the wrong value;
- The device driver is reading from a wrong address (very unlikely, in my
opinion);
Since the first one is more "believable" (IMHO), that brings me to a
question: why does this improper programming does not happen under DOS (in
the same system), yet it does happen under Linux ??
> Telling the chip you want a 64k IOmapped window is probably going to
> crash the machine sooner or later.
It surely will. If the card is set to allocate a 20-bit "memory" address
(i.e., an address below 1MB), it'll crash during the driver
initialization, which would be expected.
Regards,
Ivan
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/