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