Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

How does sys$pal_swasten work on Itanium.

9 views
Skip to first unread message

roger

unread,
Jul 28, 2005, 4:51:35 PM7/28/05
to
On alpha, sys$setast() calls the pal code routine PAL_SWASTEN. This
PAL code routine swaps the ast enable bit in the ASTEN register for the
current mode (and current process since it's currently in the CPU). If
enabled and ast's are pending, then SWASTEN caused an IPL 2 delivery
interrupt request. Since PAL code runs with interrupts turned off, and
I assume, ASTs are enabled/disabled for each kernel thread and since a
single CPU can be running only one thread, this is atomic. I would
also assume, the ASTEN bits are saved back to the thread data structure
if the currently running thread is context switched. So the
PHD$Q_ASTSR_ASTEN might not match the register for a while, but it will
be updated later.

OK. I think I understand this, but correct me if I'm wrong, or feel
free to add any other comments about this. But my main question is
trying to understand Itanium and this little example routine
sys$setast(). Since there is no PAL code routines on Itanium how does
the sys$pal_swasten() routine work. Does it turn off all interrupts?
or take out the sched spin lock to prevent scheduling (i guess it would
just have to raise IPL to sched), or some other method? I just don't
see it yet, so I'm sure I'm missing something, so any information in
this area might help me understand this...

John Reagan

unread,
Jul 29, 2005, 10:52:59 AM7/29/05
to

Just curious. Why do you want to know? Is there something wrong with
SYS$SETAST()?

Many of the SYS$PAL_xxx services do indeed have to turn off interrupts
and/or raise IPL to 31, etc. to do their work.

--
John Reagan
HP Pascal/{A|I}MACRO for OpenVMS Project Leader
Hewlett-Packard Company

roger

unread,
Jul 29, 2005, 12:47:31 PM7/29/05
to
Like most engineers, I like to learn and understand things.
Would love an Internals and Data structures book on openvms itanium.
or any other articles you might be aware of.
But I'm still curious exactly how this works as an example.

John Reagan

unread,
Jul 29, 2005, 2:26:12 PM7/29/05
to

OK, I sent your question off to the engineer who wrote the code for I64.
He's on vacation until sometime next week.

I suspect the SWIS code is on the I64 listings CDROMs but I don't know
for sure. The code is written in Itanium assembly for the most part.

Main, Kerry

unread,
Jul 30, 2005, 12:36:28 PM7/30/05
to

> -----Original Message-----
> From: roger [mailto:roger....@mci.com]
> Sent: July 29, 2005 12:48 PM
> To: Info...@Mvb.Saic.Com
> Subject: Re: How does sys$pal_swasten work on Itanium.
>
> Like most engineers, I like to learn and understand things.
> Would love an Internals and Data structures book on openvms itanium.
> or any other articles you might be aware of.
> But I'm still curious exactly how this works as an example.
>


Roger,

A few related articles and/or pointers that may be of interest:

Clare Grant article on porting to OpenVMS Integrity servers:
http://h71000.www7.hp.com/openvms/journal/index.html?jumpid=go/openvms/j
ournal#porting

Porting the OpenVMS macro32 compiler to Integrity servers:
http://h71000.www7.hp.com/openvms/journal/v5/portingmacrocompiler.pdf

http://h71000.www7.hp.com/openvms/integrity/index.html (Main
OpenVMS/Integrity site)
http://h71000.www7.hp.com/openvms/integrity/resources.html (VMS
Integrity resources)

Other misc:
http://h71000.www7.hp.com/doc/os82_index.html (Main VMS doc's site)
http://h71000.www7.hp.com/doc/archived.html (Archived VMS Doc's)

Regards

Kerry Main
Senior Consultant
HP Services Canada
Voice: 613-592-4660
Fax: 613-591-4477
kerryDOTmainAThpDOTcom
(remove the DOT's and AT)

OpenVMS - the secure, multi-site OS that just works.

Alan Greig

unread,
Jul 30, 2005, 3:06:58 PM7/30/05
to

Main, Kerry wrote:


>
> Clare Grant article on porting to OpenVMS Integrity servers:
> http://h71000.www7.hp.com/openvms/journal/index.html?jumpid=go/openvms/j
> ournal#porting

"One of the goals of the project was to make OpenVMS more portable. Who
knows, maybe someone will be doing this again!" - Clair Grant, June 2005
OpenVMS Technical Journal.

Any truth Clair's working on the PDP-10 port right now? ;-)

--
Alan Greig

Larry Kilgallen

unread,
Jul 30, 2005, 3:31:05 PM7/30/05
to
In article <mdQGe.41095$dN6....@fe1.news.blueyonder.co.uk>, Alan Greig <grei...@netscape.net> writes:

> "One of the goals of the project was to make OpenVMS more portable. Who
> knows, maybe someone will be doing this again!" - Clair Grant, June 2005
> OpenVMS Technical Journal.
>
> Any truth Clair's working on the PDP-10 port right now? ;-)

I thought his background was more Tops-20.

Alan Greig

unread,
Jul 30, 2005, 4:14:20 PM7/30/05
to

Larry Kilgallen wrote:

Err, which ran on a PDP-10. Although the name is perhaps more associated
with TOPS-10. TOPS-20 ran on the KL-10 model B and KS-10. It's parent
BBN-Tenex ran as far back as the first PDP-10 cpu the KA-10. The name
PDP-20 might have been used occasionally but just confused folks. Later
model DEC-10s and DEC-20s were just the same box painted different colours!
--
Alan Greig

David J Dachtera

unread,
Jul 31, 2005, 12:56:02 PM7/31/05
to

If they were smart, they'd be working on a port to x86-64 so they can
survive if Itanic ends up in Davy Jones's locker.

--
David J Dachtera
dba DJE Systems
http://www.djesys.com/

Unofficial OpenVMS Hobbyist Support Page:
http://www.djesys.com/vms/support/

Unofficial Affordable OpenVMS Home Page:
http://www.djesys.com/vms/soho/

Unofficial OpenVMS-IA32 Home Page:
http://www.djesys.com/vms/ia32/

Coming soon:
Unofficial OpenVMS Marketing Home Page

Bob Koehler

unread,
Aug 3, 2005, 8:06:17 PM8/3/05
to
In article <mdQGe.41095$dN6....@fe1.news.blueyonder.co.uk>, Alan Greig <grei...@netscape.net> writes:
>
>

Ah yes, that's what I need. INTEGER*4.5 in all my Fortran.
sizeof(char) = 0.25 in C (assuming we get 8 bit ASCII). And
sizeof(char*) == sizeof(short or just a little more than long).

0 new messages