Port-vax archive

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

Re: rtVAX300 .. need help..



Anders Magnusson wrote:

> On 01/06/2013 09:27 PM, Holm Tiffe wrote:
> >I have now created a subdirectory below arch/vax named rtv and try to put
> >the needed stuff in there.
> >I've copied the qsc files from OpenBSD, removed some stuff that's not
> >needed (4 Lines in a chip) and will try to integrate that.
> >Before I can do that I have to make an modified vsbus (since there are some
> >other adresses on the rtVAX, uncommon to the rest).
> I think that if the serial chip on rtVAX are similar enough to the chip 
> on the VXT2000 then it would be good to have support for both of them in 
> the same driver.

So far as I've read has the VXT2000 only one interrrupt that is controlled
within the 26C94 Chip with his registers. I don't have those registers
so I have this todo with other things.
Don't forget, it is the console serial line that I'm trying to get to run,
with an architecture I'm not familar with. I have almost no possibilities
to debug this w/o to print something on my screen.

I'm lucky if I can get the 2681 Part running at first, reintegrate the
other things will be step 2. I'm lucky if I see only one char.
There are many other things to port, the device driver calling conventions
for example. Never done this before and never with NetBSD. W/o your all
help this will still be not possible for me...
> 
> Also, I think it is no reason to invent a new bus since there will be no 
> need for it.
> The sgec is already in there (at mainbus as ze0)  and adding the serial 
> driver could be done in the same way.

May be.. but with en extra bus I have things better under control.
I can patch the vsbus thing, but this:


/*
 * Generic definitions for the (virtual) vsbus. contains common info
 * used by all VAXstations.
 */

#ifndef _VAX_VSBUS_H_
#define _VAX_VSBUS_H_

...wouldn't be true  anymore. This is the cause why I'm trying my own bus..
The rtVAX is no VAXstation at all and it's Hardware isn't common with
VAXstations.
> 
> The CPU is a CVAX so the same CPU definitions should be possible to use 
> IMHO.

For this VS_REGS are more than one definition already existing:


        switch (vax_boardtype) {
#if VAX49 || VAX53
        case VAX_BTYP_53:
        case VAX_BTYP_49:
                sc->sc_vsregs = vax_map_physmem(0x25c00000, 1);
                sc->sc_intreq = (char *)sc->sc_vsregs + 12;
                sc->sc_intclr = (char *)sc->sc_vsregs + 12;
                sc->sc_intmsk = (char *)sc->sc_vsregs + 8;
                vsbus_dma_init(sc, 8192);
                break;
#endif

#if VAX46 || VAX48
        case VAX_BTYP_48:
        case VAX_BTYP_46:
                sc->sc_vsregs = vax_map_physmem(VS_REGS, 1);
                sc->sc_intreq = (char *)sc->sc_vsregs + 15;
                sc->sc_intclr = (char *)sc->sc_vsregs + 15;
                sc->sc_intmsk = (char *)sc->sc_vsregs + 12;
                vsbus_dma_init(sc, 32768);
#endif

        default:
                sc->sc_vsregs = vax_map_physmem(VS_REGS, 1);
                sc->sc_intreq = (char *)sc->sc_vsregs + 15;
                sc->sc_intclr = (char *)sc->sc_vsregs + 15;
                sc->sc_intmsk = (char *)sc->sc_vsregs + 12;
                if (vax_boardtype == VAX_BTYP_410) {
                        dbase = KA410_DMA_BASE;
                        dsize = KA410_DMA_SIZE;
                } else {
                        dbase = KA420_DMA_BASE;
                        dsize = KA420_DMA_SIZE;
                        *(char *)(sc->sc_vsregs + 0xe0) = 1; /* Big DMA */
                }

Since the definition of 0x2008000 from vsbus.h is overwritten here
for VAX_BTYP_49 and VAX_BTYP_53 and there is ROM physically on the rtVAX
what should I do? What the heck is thisr:

 #define KA49_SCSIMAP    0x27000000 /* KA49 SCSI SGMAP */

..that's needed by the vsbus_dma things..?

> 
> But the best thing is to get running now, then later things can be 
> cleaned up :-)
> 
> -- Ragge

Yes, but it should compile at first, shouldn't it?
There are many things about VAX internals I'm not aware of or
I just not know about them. What is with this internal register mapping?
Is it normal for a VAX that CPU Registers are memory mapped?

Regards,

Holm

-- 
      Technik Service u. Handel Tiffe, www.tsht.de, Holm Tiffe, 
     Freiberger Straße 42, 09600 Oberschöna, USt-Id: DE253710583
  www.tsht.de, info%tsht.de@localhost, Fax +49 3731 74200, Mobil: 0172 8790 741


Home | Main Index | Thread Index | Old Index