home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.unix.sysv386
- Path: sparky!uunet!digibd!rick
- From: rick@digibd.com (Rick Richardson)
- Subject: Re: Avoiding the "8/16 Bit Problem"
- Organization: DigiBoard Incorporated, Eden Prairie, MN
- Date: Fri, 28 Aug 1992 13:58:13 GMT
- Message-ID: <1992Aug28.135813.8382@digibd.com>
- References: <18392@polstra.UUCP> <1992Aug26.145710.3533@crd.ge.com> <1992Aug26.233135.11289@chinacat.unicom.com>
- Lines: 53
-
- chip@chinacat.unicom.com (Chip Rosenthal) writes:
-
- >The specific question which needs to be asked is whether the SCSI card
- >uses 8-bit or 16-bit BIOS ROM accesses, because that is the only memory
- >mapped portion of these cards. True, UNIX does not use the BIOS, but
- >that doesn't matter. The whole point is that if any card in the 128K
- >memory segment wants to do memory transfers 16-bits at a time, then
- >every card in that segment must use 16-bit tranfers.
-
- >Yes, it's a stupid restriction. Yes, it's typical IBM engineering.
-
- The reason this happens is that at the time that a card has to tell
- the bus it wants to do a 16 bit transfer, only enough address bits
- are valid to select a 128K window. Some slick HW types have found
- workarounds to this problem, which include:
-
- - Have a SW enable/disable of 16 bit transfers. Only put
- the card into 16 bit mode during the duration of a
- transfer to it, then return it to 8 bit mode. Obviously,
- you have to have interrupts off during all such transfers,
- lest some other device driver wake up and try to access the
- same 128k block in 8 bit mode.
-
- - Put in some *really* fast address decode, and hope you have
- enough time decode those low order address bits when they
- finally become valid, but before it is too late to say "I
- want a 16 bit transfer". I think the success of this
- approach depends greatly on the motherboard design.
-
- Of course, any 16 bit board that doesn't have one of these workarounds
- is enough to screw an 8 bit board to hell.
-
- Like all good workarounds, neither of these is 100% reliable (otherwise,
- we'd call them fixes, wouldn't we?). The best solution* is to
- segregate your memory mapped cards - C0000-DFFFF for one size,
- E0000-E7FFF for the other. Disable on board ROMs that aren't used.
- So far, I haven't found a system that couldn't be partitioned
- in this way (though I suspect that you'd be screwed if you
- could find a 386 ISA with ROM Basic).
-
- *Actually, had IBM enumerated all the design screw-ups in this
- bus in a public marketing compaign at the time the uCHANNEL was
- introduced, I suspect they could have moved the world to uCHANNEL,
- even with the ridiculous licensing fees (read: closed design).
-
- DISCLAIMER: These represent my personal feelings. I am not a
- hardware type, and could be wrong. Etc.
-
- --
- Rick Richardson Email: rick@digibd.com This space intentionally
- Senior Staff Engineer Fax: (612) 943-0803 blank until 1996 elections.
- DigiBoard, Inc. Tel: (612) 943-5383
- Eden Prairie, MN Radio: N0NMY
-