<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    Hi Mark,  <br>
    <br>
    I like the idea of splx(splx(7)),  but it might be good to make the
    level configurable.  Currently, the lowest software interrupt used
    on NETBSD is level 8 for softclock,  but conceivably another system
    (or a future version) might have an additional software interrupt
    level and make use of 7.<br>
    <br>
    Regarding your last paragraph, there are actually (believe it or
    not) still job postings for people with VAX experience.  Including
    various BSD's, not just VMS.<br>
    <br>
    There is a surprising amount of application software out there that
    still runs on vaxes,  but the cost of maintaining those machines
    must keep increasing.  And there is more support available for
    NETBSD (which can run 4.3BSD a.out's) via the net or a company
    similar to Cygnus than there is for, say,  "More/BSD", whose vendor
    disappeared years ago.  Replacing a Vax running that system with a
    simulator running NETBSD may make sense to those with a large
    investment in applications that run on their vaxes.<br>
    <br>
    Also, clicking on <span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">
      <a moz-do-not-send="true"
        href="https://github.com/markpizz/simh/zipball/v3.9-0-rc1">https://github.com/markpizz/simh/zipball/v3.9-0-rc1</a></span>
    unexpectedly downloaded a file named
    "markpizz-simh-v3.8-2-rc2-17-g15570e5.zip".   <br>
    <br>
    - michael<br>
    <br>
    On 01/-10/-28163 11:59 AM, Mark Pizzolato - Info Comm wrote:
    <blockquote
cite="mid:%3C0CC6789C1C831B4C8CCFF49D45D7010F807442DC6D@REDROOF2.alohasunset.com%3E"
      type="cite">
      <div class="WordSection1">
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Hi
            Chris,<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">There
            were issues like this on prior versions of simh.  (V3.8-1
            and earlier), which you are running.<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">The

            latest (about to be released) version is v3.9-0-rc2 which
            has significant improvements to the idle implementation,
            including a solution to the issue you found.  My earlier
            comments were specifically referring to that new idle
            implementation for the VAX.<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">The
            release candidate which is close to release is available at
            <a moz-do-not-send="true"
              href="https://github.com/markpizz/simh/zipball/v3.9-0-rc1">https://github.com/markpizz/simh/zipball/v3.9-0-rc1</a>
            <o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Save
            what that URL returns as a zip file and unpack it and build
            a vax simulator with networking support using:<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">      
            unzip –a zipfilename.zip<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">      
            cd markpizz*<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">      
            make vax<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">The

            key issue with recent versions of NetBSD is that earlier
            versions of the OS had the vax specific idle routine within
            an assembler module called subr.S .  The simh idle logic
            detects the code which is implemented for idle in subr.S. 
            Meanwhie, newer versions of NetBSD don’t carry this
            assembler code anymore and a much more complicated sequence
            of things going on, essentially all from compiled modules
            (from a little examination of the code I’ve done).  The
            structure of the idle management has been adjusted to
            accommodate the features we have on modern system…
            (Everything Multi-Core, HyperThreading, etc.) with some low
            level tasks delegated to the idle loop as well (page
            zeroing).  There is one platform specific callout to
            “cpu_idle().  cpu_idle() is defined in
            usr/src/sys/arch/vax/include/cpu.h.  It is defined to be a
            macro:  “#define cpu_idle() do {} while (/*CONSCOND*/0)”  A
            normal compiler wouldn’t generate any code for this macro. 
            If the macro instead was defined to be “#define cpu_idle()
            do {splx(splx(7))} while (/*CONSCOND*/0)”  <o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">I
            have sent a message to the NetBSD vax mailing list with the
            above suggested change to the base source code.  Maybe it
            will get adopted.  OpenBSD has similar, but different code
            but I’ll make the same suggestion there as well.  Maybe this
            will end up built into these OS builds….<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">I
            come back to the question of why folks would want to run the
            new version of NetBSD on a simulated VAX when they can run a
            native one for their host platform which will be the same OS
            and be more naturally behaved.  If the point is merely to
            test to see if the OS still works, that’s great, but then
            you boot it test a few things and then turn it off.  Great
            idle support isn’t needed since it won’t be running
            continuously.<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
        <p class="MsoListParagraph"
          style="text-indent:-.25in;mso-list:l0 level1 lfo1"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><span
              style="mso-list:Ignore">-<span style="font:7.0pt
                "Times New Roman"">          </span></span></span><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Mark<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
        <br>
      </div>
    </blockquote>
    <br>
  </body>
</html>