[Simh] Idle problem with VAX/VMS V4.7 on Simh V3.8-0

Jason Stevens neozeed at gmail.com
Mon Sep 22 17:50:08 EDT 2008


>
> Now the question is: which is the difference between idle=VMS and idle=32v
> and
> why VMS 4.x works better with the "wrong" setting?
>

In the code it's really quite simple:

from vax_cpu.c

In version 3.8-0
uint32 cpu_idle_ipl_mask = 0x8;                         /* idle if on IPL 3
*/

And yet in 3.7-1

uint32 cpu_idle_ipl_mask = 0xB;                         /* idle if on IPL
0,1,3*/


So of course I've tried changing the 0x8 to 0xB to
no discernible difference.  There is also this in 3.8-0 that let's you
select the 'os'

static struct os_idle os_tab[] = {
    { "VMS", 0x8 },
    { "NETBSD", 0x2 },
    { "ULTRIX", 0x2 },
    { "OPENBSD", 0x1 },
    { "32V", 0x1 },
    { "0", 0x0 },                        //Added for testing
    { "1", 0x1 },                        //by Jason
    { "2", 0x2 },
    { "3", 0x3 },
    { "4", 0x4 },
    { "5", 0x5 },
    { "6", 0x6 },
    { "7", 0x7 },
    { "8", 0x8 },
    { "9", 0x9 },
    { "A", 0xa },
    { "B", 0xb },
    { "C", 0xc },
    { "D", 0xd },
    { "E", 0xe },
    { "F", 0xf },
    { NULL, 0 }
};


t_stat cpu_set_idle (UNIT *uptr, int32 val, char *cptr, void *desc)
{
uint32 i;

if (cptr != NULL) {
    for (i = 0; os_tab[i].name != NULL; i++) {
        if (strcmp (os_tab[i].name, cptr) == 0) {
            cpu_idle_type = i + 1;
            cpu_idle_ipl_mask = os_tab[i].mask;
            return sim_set_idle (uptr, val, cptr, desc);
            }
        }
    return SCPE_ARG;
    }
return sim_set_idle (uptr, val, cptr, desc);
}

So what I've done is added one byte's worth of IPL masking in the equation,
and they all suck up 100% of the cpu, except the 32V setting, although the
slightest thing can knock it back to 100%.

I did have a nonsense version I built that would print "i" every time it
should idle, and flush out stdout, and it actually did reduce cpu
consumption.... although the console is useless.


> Thanks again,
> G.
>

I'll keep on plugging away... It's annoying I though I did have a 'fixed'
back port of it, but naturally I can't find it anywhere.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.trailing-edge.com/pipermail/simh/attachments/20080922/66406a98/attachment-0003.html>


More information about the Simh mailing list