<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic DST Time Drift in Operating System - OpenVMS</title>
    <link>https://community.hpe.com/t5/operating-system-openvms/dst-time-drift/m-p/5098566#M89304</link>
    <description>We use the old Springforward/Fallback macro for drifting time for the DST time.  &lt;BR /&gt;&lt;BR /&gt;The macro has the following:&lt;BR /&gt;$  IF F$GETSYI("HW_MODEL") .LT. 1024&lt;BR /&gt;$  THEN  FIVE_HOURS = "1800000" !VAX&lt;BR /&gt;$  ELSE  FIVE_HOURS = "18433179" !AXP&lt;BR /&gt;&lt;BR /&gt;Where do I get the value for the FIVE_HOURS?&lt;BR /&gt;I am trying to setup the same macro to be tested on Itanium.</description>
    <pubDate>Tue, 18 Mar 2008 18:59:28 GMT</pubDate>
    <dc:creator>Peter Zeiszler</dc:creator>
    <dc:date>2008-03-18T18:59:28Z</dc:date>
    <item>
      <title>DST Time Drift</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/dst-time-drift/m-p/5098566#M89304</link>
      <description>We use the old Springforward/Fallback macro for drifting time for the DST time.  &lt;BR /&gt;&lt;BR /&gt;The macro has the following:&lt;BR /&gt;$  IF F$GETSYI("HW_MODEL") .LT. 1024&lt;BR /&gt;$  THEN  FIVE_HOURS = "1800000" !VAX&lt;BR /&gt;$  ELSE  FIVE_HOURS = "18433179" !AXP&lt;BR /&gt;&lt;BR /&gt;Where do I get the value for the FIVE_HOURS?&lt;BR /&gt;I am trying to setup the same macro to be tested on Itanium.</description>
      <pubDate>Tue, 18 Mar 2008 18:59:28 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/dst-time-drift/m-p/5098566#M89304</guid>
      <dc:creator>Peter Zeiszler</dc:creator>
      <dc:date>2008-03-18T18:59:28Z</dc:date>
    </item>
    <item>
      <title>Re: DST Time Drift</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/dst-time-drift/m-p/5098567#M89305</link>
      <description>Peter,&lt;BR /&gt;&lt;BR /&gt;  The value 18433179 is 5x60x60x1024, in other words, the number of 1024Hz ticks in 5 minutes - the Alpha clock interval.  (well, actually it's not quite that value, I think it should be 18432000, but I don't know what the programmer was thinking). The VAX number is 5x60x60*100 which is the number of 100Hz (10mSec) ticks in 5 minutes, the VAX clock interval.&lt;BR /&gt;&lt;BR /&gt;  I think the I64 value should be the same as the Alpha number.</description>
      <pubDate>Tue, 18 Mar 2008 19:47:15 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/dst-time-drift/m-p/5098567#M89305</guid>
      <dc:creator>John Gillings</dc:creator>
      <dc:date>2008-03-18T19:47:15Z</dc:date>
    </item>
    <item>
      <title>Re: DST Time Drift</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/dst-time-drift/m-p/5098568#M89306</link>
      <description>FWIW,&lt;BR /&gt;&lt;BR /&gt;  If I were writing that code, I would have written it as:&lt;BR /&gt;&lt;BR /&gt;$ FreqVAX   = 100&lt;BR /&gt;$ FreqAlpha = 1024&lt;BR /&gt;$ FreqI64   = 1024 ! ?&lt;BR /&gt;$ FIVE_HOURS=5*60*60*Freq'F$GETSYI("ARCH_NAME")'&lt;BR /&gt;&lt;BR /&gt;to make the theory and reasoning more obvious.&lt;BR /&gt;&lt;BR /&gt;I'd be even happier if I could find a $GETSYI item to return EXE$GL_SYSTICK so the value could be derived in an architecture independent manner, rather than hard coded.&lt;BR /&gt;&lt;BR /&gt;You can confirm the I64 value by comparing EXE$GL_SYSTICK between I64 and Alpha. The Alpha value is %X2625 = 9765 Decimal, which means .0009765 seconds, or 1/1024th second.</description>
      <pubDate>Tue, 18 Mar 2008 20:07:00 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/dst-time-drift/m-p/5098568#M89306</guid>
      <dc:creator>John Gillings</dc:creator>
      <dc:date>2008-03-18T20:07:00Z</dc:date>
    </item>
    <item>
      <title>Re: DST Time Drift</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/dst-time-drift/m-p/5098569#M89307</link>
      <description>The values from my itaniums.&lt;BR /&gt;&lt;BR /&gt;SDA&amp;gt; exa EXE$GL_SYSTICK&lt;BR /&gt;EXE$GL_SYSTICK:  00000000.00002710   ".'......"&lt;BR /&gt;SDA&amp;gt; EXAM  EXE$GL_TICKLENGTH&lt;BR /&gt;EXE$GL_TICKLENGTH:  00000000.00002710   ".'......"&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;18432000 as the five_hours would make more sense for the alpha.&lt;BR /&gt;</description>
      <pubDate>Tue, 18 Mar 2008 20:25:56 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/dst-time-drift/m-p/5098569#M89307</guid>
      <dc:creator>Peter Zeiszler</dc:creator>
      <dc:date>2008-03-18T20:25:56Z</dc:date>
    </item>
    <item>
      <title>Re: DST Time Drift</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/dst-time-drift/m-p/5098570#M89308</link>
      <description>Peter,&lt;BR /&gt;&lt;BR /&gt;&amp;gt; The values from my itaniums&lt;BR /&gt;&amp;gt;&lt;BR /&gt;&amp;gt; SDA&amp;gt; exa EXE$GL_SYSTICK&lt;BR /&gt;&amp;gt; EXE$GL_SYSTICK: 00000000.00002710 ".'......"&lt;BR /&gt;&lt;BR /&gt;That's 10000 decimal, so the frequency on I64 is 1000. Your FIVE_HOURS should therefore be 18000000. My version would be:&lt;BR /&gt;&lt;BR /&gt;$ FreqVAX = 100&lt;BR /&gt;$ FreqAlpha = 1024&lt;BR /&gt;$ FreqI64 = 1000&lt;BR /&gt;$ FIVE_HOURS=5*60*60*Freq'F$GETSYI("ARCH_NAME")'&lt;BR /&gt;&lt;BR /&gt;(I'm also assuming that ARCH_NAME returns the string I64, but no access to an I64 system to check)</description>
      <pubDate>Tue, 18 Mar 2008 21:27:20 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/dst-time-drift/m-p/5098570#M89308</guid>
      <dc:creator>John Gillings</dc:creator>
      <dc:date>2008-03-18T21:27:20Z</dc:date>
    </item>
    <item>
      <title>Re: DST Time Drift</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/dst-time-drift/m-p/5098571#M89309</link>
      <description>arch_name = IA64</description>
      <pubDate>Tue, 18 Mar 2008 21:43:35 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/dst-time-drift/m-p/5098571#M89309</guid>
      <dc:creator>Peter Zeiszler</dc:creator>
      <dc:date>2008-03-18T21:43:35Z</dc:date>
    </item>
    <item>
      <title>Re: DST Time Drift</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/dst-time-drift/m-p/5098572#M89310</link>
      <description>&lt;A href="http://mvb.saic.com/freeware/freewarev40/set_clock/" target="_blank"&gt;http://mvb.saic.com/freeware/freewarev40/set_clock/&lt;/A&gt;</description>
      <pubDate>Tue, 18 Mar 2008 21:46:51 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/dst-time-drift/m-p/5098572#M89310</guid>
      <dc:creator>Hoff</dc:creator>
      <dc:date>2008-03-18T21:46:51Z</dc:date>
    </item>
    <item>
      <title>Re: DST Time Drift</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/dst-time-drift/m-p/5098573#M89311</link>
      <description>&lt;BR /&gt;Wouldn't that tick be CPU speed dependent as well as platform dependent?&lt;BR /&gt;&lt;BR /&gt;My Alpha 4100 5/600s give a value of 208D Hex, or 8333 (1/1200th second) and not the 2625 Hex (1/1024th second) John listed above.&lt;BR /&gt;</description>
      <pubDate>Wed, 19 Mar 2008 15:12:57 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/dst-time-drift/m-p/5098573#M89311</guid>
      <dc:creator>Gregg Parmentier</dc:creator>
      <dc:date>2008-03-19T15:12:57Z</dc:date>
    </item>
    <item>
      <title>Re: DST Time Drift</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/dst-time-drift/m-p/5098574#M89312</link>
      <description>I thought the CPU dependent value was EXE$GL_TICKLENGTH.  This is the one we have been having to change on each different version of alpha cpu to get the drift right.&lt;BR /&gt;</description>
      <pubDate>Wed, 19 Mar 2008 16:11:24 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/dst-time-drift/m-p/5098574#M89312</guid>
      <dc:creator>Peter Zeiszler</dc:creator>
      <dc:date>2008-03-19T16:11:24Z</dc:date>
    </item>
    <item>
      <title>Re: DST Time Drift</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/dst-time-drift/m-p/5098575#M89313</link>
      <description>&lt;BR /&gt;Could be because I'm on version 7.1.  I get the same value returned for exe$gl_systick and exe$gl_ticklength.&lt;BR /&gt;</description>
      <pubDate>Wed, 19 Mar 2008 16:18:59 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/dst-time-drift/m-p/5098575#M89313</guid>
      <dc:creator>Gregg Parmentier</dc:creator>
      <dc:date>2008-03-19T16:18:59Z</dc:date>
    </item>
    <item>
      <title>Re: DST Time Drift</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/dst-time-drift/m-p/5098576#M89314</link>
      <description>&amp;gt;I thought the CPU dependent value &lt;BR /&gt;&amp;gt;was EXE$GL_TICKLENGTH&lt;BR /&gt;&lt;BR /&gt;  See section 12.6 of the IDSM "INTERVAL TIMER INTERRUPT SERVICE ROUTINE".&lt;BR /&gt;&lt;BR /&gt;EXE$GL_SYSTICK should be constant, dependent on the hardware (I thought all Alphas were supposed to be the same, but obviously not since Gregg is seeing a different value).&lt;BR /&gt;&lt;BR /&gt;EXE$GL_TICKLENGTH is initially set from EXE$GL_SYSTICK, but may be varied dynamically in order to drift the clock back or forwards to synch with external time standards.</description>
      <pubDate>Wed, 19 Mar 2008 20:06:59 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/dst-time-drift/m-p/5098576#M89314</guid>
      <dc:creator>John Gillings</dc:creator>
      <dc:date>2008-03-19T20:06:59Z</dc:date>
    </item>
    <item>
      <title>Re: DST Time Drift</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/dst-time-drift/m-p/5098577#M89315</link>
      <description>&lt;!--!*#--&gt;Peter,&lt;BR /&gt;&lt;BR /&gt;If you are going to run this on more than a single model of the Alpha, you can't safely use a single value, as we are now aware of at least 3 different frequencies.  1024, 1200, and 974.&lt;BR /&gt;&lt;BR /&gt;I would suggest you get the TBO V2.0 kit from VMS freeware 6.  On Alpha AXP it computes the values based on SYSTICK and the frequency from the hwrpb.  Here are some of the comments from the top of the included TBO.MAR source file.&lt;BR /&gt;&lt;BR /&gt;It won't work as is on an IA64, but it could probably be retrofitted easier than starting from scratch.&lt;BR /&gt;&lt;BR /&gt;; VAX has a 10millisecond clock (a tick). ALPHA has an interval timer that&lt;BR /&gt;; is determined by the value in the hardware restart parameter block (HWRPB)&lt;BR /&gt;; at offset HWRPB$IQ_CLOCK_INT_FREQ. This value will minimally be 1000 and&lt;BR /&gt;; and initially all ALPHA systems will generate 1024 interupts (ticks) per&lt;BR /&gt;; second.&lt;BR /&gt;;&lt;BR /&gt;; Note that we'll use the following:&lt;BR /&gt;; VAX &amp;amp; ALPHA:&lt;BR /&gt;;  EXE$GL_SYSTICK - standard clock tick length &lt;BR /&gt;;  EXE$GL_TICKLENGTH - increment added to clock at each hardware clock interrupt&lt;BR /&gt;;  EXE$GL_TIMEADJUST - number of ticks to apply EXE$GL_TICKLENGTH&lt;BR /&gt;; ALPHA:&lt;BR /&gt;;  EXE$GPL_HWRPB_L - hardware restart parameter block&lt;BR /&gt;;  HWRPB$IL_CLOCK_FREQ_L - offset to clock interrupt frequency&lt;BR /&gt;&lt;BR /&gt;NOTE: the comments have a typo, where is says HWRPB$IL_CLOCK_FREQ_L it should be HWRPB$IL_CLOCK_INT_FREQ_L&lt;BR /&gt;&lt;BR /&gt;Just a note:  The ES47 doesn't follow the Alpha architectural spec with respect to the minimum hwclock interrupt frequency.  The manual states "minimum of 1000 times per second", the ES47 (at least ours) is 974 Hz.&lt;BR /&gt;&lt;BR /&gt;$ write sys$output f$getsyi("HW_NAME")&lt;BR /&gt;hp AlphaServer ES47 7/1150&lt;BR /&gt;$ &lt;BR /&gt;$ analyze/sys&lt;BR /&gt;&lt;BR /&gt;OpenVMS (TM) system analyzer&lt;BR /&gt;&lt;BR /&gt;SDA&amp;gt; read sys$loadable_images:sysdef&lt;BR /&gt;%SDA-I-READSYM, 10724 symbols read from SYS$COMMON:[SYS$LDR]SYSDEF.STB;1&lt;BR /&gt;SDA&amp;gt; eval @(@EXE$GPL_HWRPB_L+HWRPB$IL_CLOCK_INT_FREQ_L)/1000 ! scaled by 4096 decimal&lt;BR /&gt;Hex = 00000000.000003CE   Decimal = 974         UCB$L_PI_TGT_SCRIPT+00002&lt;BR /&gt;SDA&amp;gt;  Exit &lt;BR /&gt;$ &lt;BR /&gt;&lt;BR /&gt;And for comparison, on an ES40&lt;BR /&gt;&lt;BR /&gt;OT$ write sys$output f$getsyi("HW_NAME")&lt;BR /&gt;AlphaServer ES40&lt;BR /&gt;OT$ analyze/system&lt;BR /&gt;&lt;BR /&gt;OpenVMS (TM) system analyzer&lt;BR /&gt;&lt;BR /&gt;SDA&amp;gt; read sys$loadable_images:sysdef&lt;BR /&gt;%SDA-I-READSYM, 10724 symbols read from SYS$COMMON:[SYS$LDR]SYSDEF.STB;1&lt;BR /&gt;SDA&amp;gt; eval @(@EXE$GPL_HWRPB_L+HWRPB$IL_CLOCK_INT_FREQ_L)/1000 ! scaled by 4096 decimal&lt;BR /&gt;Hex = 00000000.00000400   Decimal = 1024                ACB$M_NODUP&lt;BR /&gt;                                                        BUG$_UNEXPIOINT&lt;BR /&gt;                                                        CHPCTL$M_INTERNAL&lt;BR /&gt;                                                        CPU$C_MAX_CBB_CPUS&lt;BR /&gt;                                                        CPU$M_VIRTCONS&lt;BR /&gt;                                                          |&lt;BR /&gt;                                        (remaining symbols suppressed by default)&lt;BR /&gt;SDA&amp;gt;  Exit &lt;BR /&gt;OT$&lt;BR /&gt;&lt;BR /&gt;Jon</description>
      <pubDate>Thu, 20 Mar 2008 16:57:47 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/dst-time-drift/m-p/5098577#M89315</guid>
      <dc:creator>Jon Pinkley</dc:creator>
      <dc:date>2008-03-20T16:57:47Z</dc:date>
    </item>
    <item>
      <title>Re: DST Time Drift</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/dst-time-drift/m-p/5098578#M89316</link>
      <description>Keeping this thread as a reference until I get approval/authorization to get this drift working on Itanium too.</description>
      <pubDate>Mon, 07 Apr 2008 14:56:52 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/dst-time-drift/m-p/5098578#M89316</guid>
      <dc:creator>Peter Zeiszler</dc:creator>
      <dc:date>2008-04-07T14:56:52Z</dc:date>
    </item>
  </channel>
</rss>

