Subject: Re: MicroVax 3400 performance with NetBSD 1.5.1_BETA again
To: Saku Setala <setala@elisa.fi>
From: Chuck McManis <cmcmanis@mcmanis.com>
List: port-vax
Date: 04/26/2001 20:12:53
At 02:12 AM 4/27/01 +0300, Saku Setala wrote:
>could it be so that NetBSD does not enable the CPU cache on KA640?

We have a winner! :-)

Check out this code from ka650.c in src/sys/arch/vax/vax :

         printf("cpu: KA6%d%d, CVAX microcode rev %d Firmware rev %d\n",
             syssub == VAX_SIE_KA640 ? 4 : 5,
             syssub == VAX_SIE_KA655 ? 5 : 0,
             (vax_cpudata & 0xff), GETFRMREV(vax_siedata));
         if (syssub != VAX_SIE_KA640)
                 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 you'll notice if the CPU is _not_ a KA640 then the cache is turned on, 
otherwise it is left off. (it could be that it gets turned on somewhere 
else but I didn't see that with a cursory inspection of the code)

--Chuck