Port-vax archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: VAXstation 4000 TURBOchannel not working



On Wed, 23 Mar 2016, Felix Deichmann wrote:

> The kernel panics when I try to map the complete TC address space for the
> option (64 MB!) *and* the TC SGMAP ("vax_map_physmem: kernel map full"). It
> seems to barely work when I skip the SGMAP, which is not needed right now.
> Furthermore the info I found from Roger Ivie suggests that the VS4000/60
> cannot DMA over TC reliably at all, while the /90 can. But there are still
> enough options performing nicely without DMA.
> Is it possible to increase the VAX kernel map, or what to do here?

 I suggest that you only map as much as an individual TC option needs, as 
reported in the REX ROM header.  No option I know of needs 64MB of MMIO, 
and the most demanding one I know of is the ZLX-E3 aka PMAGD-CA 24-plane + 
Z-buffer SFB+ frame buffer, which takes 32MB (of which 16MB is video RAM 
and the rest is ROM plus the remaining circuitry).

 Most options have been designed to fit in the 4MB slot space the original 
5000/200 TC implementation provided, and DMA options are particularly 
conservative here as all they need is the ROM space plus a bunch of 
control registers.  So mapping the whole 64MB MMIO space looks like a 
resource waste to me.

> For "tc at vsbus" to match correctly, a fake interrupt vector seemed to be
> necessary (sc_mask and scb_fake()). I stole this from spx.c, but what would be
> the right way to do it (and which vector to choose)?

 KA49 seems to be using 0x51, this is at least what my old findings 
indicate and what worked with a bunch of options I tried with the Linux 
port; I can't speak of KA46 as I didn't have one to check back when I was 
at it, but it just might be the same.

> Now as a last point, if someone would be willing to send me a spare
> DMA-capable TC option (SCSI probably), I would also try to get this supported.

 FWIW I think FDDI (DEFTA) might be easier to start with, but you might 
have to collect some equipment to get going; fortunately PCI DEFPA boards 
are ubiquitous and cheap, so a minimal point-to-point ring is easy to make 
with a pair of FDDI options and a 62.5/125µm MMF patch cord (50/125µm will 
do too).  You can use a pair of SAS options even (or a SAS/DAS mix), no 
need for a proper dual ring.

 Good luck!

  Maciej


Home | Main Index | Thread Index | Old Index