Port-vax archive

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

Re: About support for rtVAX300



Johnny Billquist wrote:

[..]
> correctly what playing with hardware. So the same goes for your playing 
> with the TIL311.
> 
> So, you are getting a lot further now. Excellent. Now, I would totally 
> ignore the registers you constantly get back to. Just getting pointers 
> to whatever is not a problem until someone actually starts using those 
> registers. And they might still not be a problem...

It seems that you are constantly misinterpreting why I'm such a fan of
those registers. The code is doing somthing with them, and I whish at least
what it is trying todo.
The ka650_conf() in ka650.c for example:
/*
 * ka650_conf() is called by cpu_attach to do the cpu_specific setup.
 */
void
ka650_conf(void)
{

        /*
         * MicroVAX III: We map in memory error registers,
         * cache control registers, SSC registers,
         * interprocessor registers and cache diag space.
         */
        ka650merr_ptr = (void *)vax_map_physmem(KA650_MERR, 1);
        ka650cbd_ptr = (void *)vax_map_physmem(KA650_CBD, 1);
        ka650ssc_ptr = (void *)vax_map_physmem(KA650_SSC, 3);
        ka650ipcr_ptr = (void *)vax_map_physmem(KA650_IPCR, 1);
        KA650_CACHE_ptr = (void *)vax_map_physmem(KA650_CACHE,
            (KA650_CACHESIZE/VAX_NBPG));

        ka650setcache(CACHEON);
        if (ctob(physmem) > ka650merr_ptr->merr_qbmbr) {
                printf("physmem(0x%x) > qbmbr(0x%x)\n",
                    ctob(physmem), (int)ka650merr_ptr->merr_qbmbr);
                panic("qbus map unprotected");
        }
        if (mfpr(PR_TODR) == 0)
                mtpr(1, PR_TODR);
}

maps those pointers, and fills the dev_conf structure with informations,
that machdep.c is interpreting and displaying as the found memory..

 initmsgbuf(msgbufaddr, round_page(MSGBUFSIZE));

        /*
         * Good {morning,afternoon,evening,night}.
         * Also call CPU init on systems that need that.
         */
        printf("%s%s", copyright, version);
        printf("%s\n", cpu_model);
        if (dep_call->cpu_conf)
                (*dep_call->cpu_conf)();

        format_bytes(pbuf, sizeof(pbuf), avail_end);
        printf("total memory = %s\n", pbuf);
        panicstr = NULL;
        mtpr(AST_NO, PR_ASTLVL);
        spl0();

So why do you wonder that I wan't to know what it is doing?

> 
> But are your problem right now that you think it reports too much 
> memory? Am I understanding you right that you mean this board only have 
> 4MB? (That seems awfully little...)
> 
>       Johnny
> 

Yes, but I asked before in the thread if 4MB would be sufficent at all.
(Since I know that this isn't really that much)
There are 2 SIMM Modules with 18 RAMs Mt4C4001 each (which are 1Megx4 DRAMs)
on that board: http://www.tiffe.de/images/11122012114.jpg.
That would make 2 Meg a 32 bit on each module, 4 Meg total, plus some
parity. Right?
The Processor itself is containing a cache (1K) but no RAM at all.
Maybe I have to strip down the system a bit or even to switch to an older
Release with a smaller footprint if I get problems.
Under the table is (besides my 11/83) an VS4000/90, unused, with an VMS
installed. Only tried this a year before, and VMs seems to much more
complicated to me, than a Unix.
(have to renew the Hobbyist Lincense next time if I remember correctly)
If I want a full flavored NetBSD on a real VAX I would just use this thing.
(had to "repair" the DALLAS Chip, battery was empty, connected a CR2032 to
the chip internals after machining of that thing, works now. The Battery in
a new DALLAS Chip wouldn't be better than the old one, empty)

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