Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
| Newsgroups | comp.os.vms |
|---|---|
| Subject | Re: Pointless Nostalgia: System Service Dispatching |
| References | (2 earlier) <11185428-ecac-4acc-814e-b3a1063a4bf4@googlegroups.com> <nl3491$rou$1@Iltempo.Update.UU.SE> <00B0B657.24DF3378@SendSpamHere.ORG> <nl3r1k$f2f$1@Iltempo.Update.UU.SE> <00B0B66F.E33DC123@SendSpamHere.ORG> |
| From | VAXman- @SendSpamHere.ORG |
| Message-ID | <00B0B6FD.93802360@SendSpamHere.ORG> (permalink) |
| Organization | c.2016 Brian Schenkenberger. Prior employers of copyright holder and their agents must first obtain written permission to copy this posting. |
| Date | 2016-07-01 12:46 +0000 |
In article <nl5mlr$1ou$1@Iltempo.Update.UU.SE>, Johnny Billquist <bqt@softjar.se> writes:
>On 2016-06-30 21:52, VAXman-@SendSpamHere.ORG wrote:
>> In article <nl3r1k$f2f$1@Iltempo.Update.UU.SE>, Johnny Billquist <bqt@softjar.se> writes:
>>> On 2016-06-30 18:55, VAXman-@SendSpamHere.ORG wrote:
>>>> In article <nl3491$rou$1@Iltempo.Update.UU.SE>, Johnny Billquist <bqt@softjar.se> writes:
>>>>> On 2016-06-30 01:05, lawrencedo99@gmail.com wrote:
>>>>>> On Wednesday, June 29, 2016 at 11:36:10 PM UTC+12, Johnny Billquist wrote:
>>>>>>> Consider a $QIOW for example. If you get an AST, you do not want the $QIOW
>>>>>>> to be reexecuted.
>>>>>>
>>>>>> That’s not a problem, because there is no actual $QIOW system call.
>>>>>
>>>>> There isn't? Did I place the $ on the wrong side or something now? Or
>>>>> what are you suggesting?
>>>>
>>>> SYS$QIOW => SYS$QIO+SYS$SYNCH
>>>
>>> Functionally, yes. But does it actually put two different syscalls in
>>> your instruction stream, one after the other?
>>
>> In *your* instruction stream meaning the code YOU'VE written? No. There's
>> a vector you'd call that maintains the 2 system calls.
>
>I was meaning in my instruction stream as in the userland code. If that
>is code I wrote, or code in a library makes no difference. As the
>question was if the system call is restarted, we're talking about the
>system call that happens from userland, in my instruction stream.
>
>>> On RSX, QIO$ and QIOW$ are two different DICs, even though QIOW$ really
>>> is the same as a QIO$ followed by a WTEF$
>>>
>>> Looking on a VMS system, it's a bit unclear. The $QIO_S and $QIOW_S
>>> calls different functions. But what those functions do, in turn, I don't
>>> know. (SYS$QIO and SYS$QIOW)
>>
>
>[...]
>
>Already told you I knew what the macros did... :-)
>
>> But that SYS$QIOW looks something like:
>>
>> .ENTRY SYS$QIOW,0
>> $QIOWDEF
>> $SYNCHDEF
>> CALLG (AP),G^SYS$QIO
>> BLBC R0,ERROR
>> PUSHL QIOW$_IOSB(AP)
>> PUSHL QIOW$_EFN(AP)
>> CALLS #SYNCH$_NARGS,G^SYS$SYNCH
>> ERROR: RET
>>
>>
>> It's actually a bit more elaborate today due to threads but nothing to write
>> home about.
>
>Ok, so it would be two separate system calls under VMS then.
Yes, there's both a SYS$QIO and a SYS$QQIOW.
>Like I said, in RSX, QIO and QIOW are two different system calls.
>Even though QIOW is actually a combination of a QIO and a WTEF.
>So redoing the system call would be a bad thing. At exit from whatever,
>the system call is never backed up and reexecuted.
Why sh/would it be? CHMx (x: K, E, S ,U) pushes the PC/PSL on the target mode
stack where an REI can find it. The PC is that of the instruction following the
CHMx. The CHMx also pushes the argument on the stack. There's an exception
mode handler whick will dispatch to the appropriate system service handler in
the target mode. Sanity checks, access probes, etc. are performed to validate
that everything is on the up-and-up before execution.
>So could you confirm that VMS backs up the PC and re-execute the system
>call sometimes?
I don't believe that's so. The only way back home, so to speak, is via the
REI instruction. That pops the saved PC/PSL from the stack, restoring the
original mode and execution resumes at the next instruction after the CHMx.
REI, on VAX, does a number of other things too but that's beyond what you've
asked.
--
VAXman- A Bored Certified VMS Kernel Mode Hacker VAXman(at)TMESIS(dot)ORG
I speak to machines with the voice of humanity.
Back to comp.os.vms | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Pointless Nostalgia: System Service Dispatching lawrencedo99@gmail.com - 2016-06-29 02:53 -0700
Re: Pointless Nostalgia: System Service Dispatching Johnny Billquist <bqt@softjar.se> - 2016-06-29 13:36 +0200
Re: Pointless Nostalgia: System Service Dispatching lawrencedo99@gmail.com - 2016-06-29 16:05 -0700
Re: Pointless Nostalgia: System Service Dispatching Johnny Billquist <bqt@softjar.se> - 2016-06-30 14:45 +0200
Re: Pointless Nostalgia: System Service Dispatching moroney@world.std.spaamtrap.com (Michael Moroney) - 2016-06-30 16:53 +0000
Re: Pointless Nostalgia: System Service Dispatching lawrencedo99@gmail.com - 2016-06-30 15:32 -0700
Re: Pointless Nostalgia: System Service Dispatching VAXman- @SendSpamHere.ORG - 2016-06-30 16:55 +0000
Re: Pointless Nostalgia: System Service Dispatching Johnny Billquist <bqt@softjar.se> - 2016-06-30 21:13 +0200
Re: Pointless Nostalgia: System Service Dispatching VAXman- @SendSpamHere.ORG - 2016-06-30 19:52 +0000
Re: Pointless Nostalgia: System Service Dispatching Johnny Billquist <bqt@softjar.se> - 2016-07-01 14:11 +0200
Re: Pointless Nostalgia: System Service Dispatching VAXman- @SendSpamHere.ORG - 2016-07-01 12:46 +0000
Re: Pointless Nostalgia: System Service Dispatching Johnny Billquist <bqt@softjar.se> - 2016-07-01 17:40 +0200
Re: Pointless Nostalgia: System Service Dispatching VAXman- @SendSpamHere.ORG - 2016-07-01 16:59 +0000
Re: Pointless Nostalgia: System Service Dispatching Johnny Billquist <bqt@softjar.se> - 2016-07-01 19:45 +0200
Re: Pointless Nostalgia: System Service Dispatching VAXman- @SendSpamHere.ORG - 2016-07-01 20:01 +0000
Re: Pointless Nostalgia: System Service Dispatching Johnny Billquist <bqt@softjar.se> - 2016-07-04 12:35 +0200
Re: Pointless Nostalgia: System Service Dispatching lawrencedo99@gmail.com - 2016-07-01 15:18 -0700
Re: Pointless Nostalgia: System Service Dispatching VAXman- @SendSpamHere.ORG - 2016-07-02 20:02 +0000
Re: Pointless Nostalgia: System Service Dispatching lawrencedo99@gmail.com - 2016-07-03 14:10 -0700
Re: Pointless Nostalgia: System Service Dispatching lawrencedo99@gmail.com - 2016-07-04 14:56 -0700
Re: Pointless Nostalgia: System Service Dispatching VAXman- @SendSpamHere.ORG - 2016-07-04 13:25 +0000
Re: Pointless Nostalgia: System Service Dispatching VAXman- @SendSpamHere.ORG - 2016-07-05 00:46 +0000
Re: Pointless Nostalgia: System Service Dispatching David Froble <davef@tsoft-inc.com> - 2016-07-05 08:43 -0400
Re: Pointless Nostalgia: System Service Dispatching lawrencedo99@gmail.com - 2016-07-05 15:40 -0700
Re: Pointless Nostalgia: System Service Dispatching Paul Sture <nospam@sture.ch> - 2016-07-06 07:33 +0200
Re: Pointless Nostalgia: System Service Dispatching VAXman- @SendSpamHere.ORG - 2016-07-06 00:08 +0000
Re: Pointless Nostalgia: System Service Dispatching David Froble <davef@tsoft-inc.com> - 2016-07-05 22:57 -0400
Re: Pointless Nostalgia: System Service Dispatching VAXman- @SendSpamHere.ORG - 2016-07-06 10:43 +0000
Re: Pointless Nostalgia: System Service Dispatching Paul Sture <nospam@sture.ch> - 2016-07-05 12:30 +0200
Re: Pointless Nostalgia: System Service Dispatching VAXman- @SendSpamHere.ORG - 2016-07-05 13:00 +0000
Re: Pointless Nostalgia: System Service Dispatching Simon Clubley <clubley@remove_me.eisner.decus.org-Earth.UFP> - 2016-07-06 15:12 +0000
Re: Pointless Nostalgia: System Service Dispatching Paul Sture <nospam@sture.ch> - 2016-07-06 21:50 +0200
[OT] Real Genius, was: Re: Pointless Nostalgia: System Service Dispatching Simon Clubley <clubley@remove_me.eisner.decus.org-Earth.UFP> - 2016-07-07 19:55 +0000
Re: [OT] Real Genius, was: Re: Pointless Nostalgia: System Service Dispatching Paul Sture <nospam@sture.ch> - 2016-07-07 22:27 +0200
Re: Pointless Nostalgia: System Service Dispatching VAXman- @SendSpamHere.ORG - 2016-07-06 15:42 +0000
csiph-web