Re: Are there instructions in VM/CE ti connect
toggle quoted message
Show quoted text
Hello,
I like reading printouts of listing and source code.? Is there a method (and what is it) to:
1) Connect a VM system to my Brother laser printer?
2) Rotate to landscape listing printouts?
3) Print source code in portrait mode?
4) On the source code is there a method to update the source code with update files?
Thank you.
|
Are there instructions in VM/CE ti connect
Hello,
I like reading printouts of listing and source code.? Is there a method (and what is it) to:
1) Connect a VM system to my Brother laser printer?
2) Rotate to landscape listing printouts?
3) Print source code in portrait mode?
4) On the source code is there a method to update the source code with update files?
Thank you.
|
Re: What is the proper way to look at ...
I copied the VMFASM exec into two other commands, VMFVIEW and
VMFEDIT. Basically replacing the assemble command with Edit or
read-only viewer. The edit was a little harder to do because of
preparing the 'UPDATE' control files with a new update number to
create.
/Tom Kern
On 12/5/2022 11:43 PM, Bertram Moshier
wrote:
toggle quoted message
Show quoted text
Hello,
What is the command (or proper method) to look
at the VM/CE source?? I mean the based code with the updates??
How do I save changes I make in base delta form?
(Base new update?)
Is the a method for rebuilding VM/CE from
scratch (without using the supplied TEX files)?
I apologize for missing this information.
Thank you.
|
Re: What is the proper way to look at ...
On Tue, Dec 6, 2022 at 01:48 AM, Joe Monk wrote:
All of that should be detailed in MAINT MEMO which should be on MAINTs A disk.
If you are using CE 1.1.2, then look here.
L MAINTENTER PASSWORD:?DASD 19D LINKED R/W; R/O BY 003 USERSDASD 19E LINKED R/W; R/O BY 005 USERSDASD 190 LINKED R/W; R/O BY 005 USERSDASD 5E5 LINKED R/W; R/O BY XMASDASD 194 LINKED R/W; R/O BY CPWATCHFILES: 003 RDR,? NO PRT,? NO PUNLOGON AT 18:26:59 GMT TUESDAY 12/06/22VM Community Edition V1 R1.2?Y (19E) R/OU (19D) R/OB (5E5) R/OReady; T=0.01/0.01 18:27:00l maint memo * ( dateFilename Filetype Fm? Format??? Recs Blocks???? Date??? TimeMAINT??? MEMO???? B1? V??? 80??? 490???? 24? 03/03/21??? 9:06Ready; T=0.01/0.01 18:27:11q disk bLabel? CUU M? Stat? Cyl Type Blksize?? Files? Blks Used-(%) Blks Left? Blk TotalMNT5E5 5E5 B/B R/O?? 30 3350? 800???????? 11??????? 119-01????? 16981????? 17100Ready; T=0.01/0.01 18:27:33
I Hope This Helps
?... Mark S.
|
Re: What is the proper way to look at ...
Bertram, If you run UPDATE as below, to generate an file ?with the current source. Then edit Edit the updated file but save it somewhere new. You can use XCOMPARE to generate a new update. You then need to give your update name generate a new AUXLCL file. If you put all this on MAINTs 595 (CP) or 594 (CMS) disk these are reserved for local modifications. Dave (you might also want to read the file ¡°what mother never told you¡¡± in the groups file section) ? ?
toggle quoted message
Show quoted text
From: [email protected] <[email protected]> On Behalf Of Bertram Moshier Sent: 06 December 2022 10:58 To: [email protected] Subject: Re: [h390-vm] What is the proper way to look at ...? Hello, Does the EE editor perform the update and saving of changes?? If no, are there plans for EE to do updates and saving of changes? ? Bertram, I guess what you are asking needed a weeks training course followed by lots of practice on return. I remember a very frustrating week in the IBM training Center in ST. Johns Wood, London building CP and CMS in a second level machine on a very underpowered 43xx. Very slow. ? Well many many reasons the updated source isn¡¯t stored anywhere so to view current source you need to apply the updates. => don¡¯t ask for this to change as my answer will be rude and offensive => just live with it. ? For CP ¡°VMSETUP CP¡± access the disks with the source. Then apply the updates e.g. ? update dmkcfc assemble * dmkhrc (ctl??????????????????????????????????????????????????????????????????????????????????????????????? UPDATING 'DMKCFC ASSEMBLE I1'.?????????????????? ??????????????????????????????????????????????????????????????????????????????????? APPLYING 'DMKCFC R08928DK H1'.????????????????????????????????????????????????????????????????????????????????????????????????????? APPLYING 'DMKCFC R09413DK H1'.?????????? ??????????????????????????????????????????????????????????????????????????????????????????? APPLYING 'DMKCFC R10076DK H1'.????????????????????????????????????????????????????????????????????????????????????????????????????? APPLYING 'DMKCFC R10847DK H1'.?? ??????????????????????????????????????????????????????????????????????????????????????????????????? APPLYING 'DMKCFC R12101DK H1'.????????????????????????????????????????????????????????????????????????????????????????????????????? APPLYING 'DMKCFC R12794DK H1'.????????????????????????????????????????????????????????????????????????????????????????????????????? APPLYING 'DMKCFC R13360DK H1'.????????????????????????????????????????????????????????????????????????????????????????????????????? APPLYING 'DMKCFC R13648DK H1'.????????????????????????????????????????????????????????????????????????????????????????????????????? APPLYING 'DMKCFC R13704DK H1'.????????????????????????????????????????????????????????????????????????????????????????????????????? APPLYING 'DMKCFC R12658DK H1'.????????????????????????????????????????????????????????????????????????????????????????????????????? APPLYING 'DMKCFC HRC010DK F1'.????????????????????????????????????????????????????????????????????????????????????????????????????? APPLYING 'DMKCFC HRC013DK F1'.????????????????????????????????????????????????????????????????????????????????????????????????????? APPLYING 'DMKCFC HRC018DK F1'.?????????????????????????????????????????????????????????????????????????????????????????????? ??????? APPLYING 'DMKCFC HRC019DK F1'.????????????????????????????????????????????????????????????????????????????????????????????????????? APPLYING 'DMKCFC HRC021DK F1'.?????????????????????????????????????????????????????????????????????????????????????? ??????????????? APPLYING 'DMKCFC HRC026DK F1'.????????????????????????????????????????????????????????????????????????????????????????????????????? APPLYING 'DMKCFC HRC030DK F1'.?????????????????????????????????????????????????????????????????????????????? ??????????????????????? APPLYING 'DMKCFC HRC043DK F1'.????????????????????????????????????????????????????????????????????????????????????????????????????? APPLYING 'DMKCFC HRC107DK F1'.?????????????????????????????????????????????????????????????????????? ??????????????????????????????? APPLYING 'DMKCFC HRC068DK F1'.????????????????????????????????????????????????????????????????????????????????????????????????????? Ready; T=0.06/0.15 08:23:43??????????????????????????? ? Which leaves us with a $DMKCFC ASSEMBLE on our ¡°A¡± disk containing the modified source. This also has comments with the module name in inserted/modified likes. So searching for ¡°HRC010DK will show the lines modified. How did I know DMKCFC was one of the modules patched for HCP, well HRCMODS MEMO F contains a list of modifications. It tells me HCP is modification HRC010DK and the HRC010DK MEMO F has the details. I could also just do ¡°LIST * HRC010DK *¡± and it would show the change files for HCP. As I knew HCP was all new code I didn¡¯t bother updating the source I simply looked at the updates. ? To save changes -? I¡¯ll answer separately. ? When you say ¡°build without TEX what¡± are you asking. All the original TEXT files are on the disks. You can build a base VM system by releasing the disks with the mods and rebuilding CMS and CP with the IBM control files. Its not terribly useful to do this as most things simply won¡¯t work. ? As Joe says there is a lot of detail in MAINT MEMO. In fact memo files contain much of the docs so doing ? VMSETUP CP (or CMS) FSLIST * MEMO * ? May help. ? Dave ? ? ? Hello, What is the command (or proper method) to look at the VM/CE source?? I mean the based code with the updates?? How do I save changes I make in base delta form? (Base new update?) Is the a method for rebuilding VM/CE from scratch (without using the supplied TEX files)? I apologize for missing this information.
|
Re: What is the proper way to look at ...
Hello,
Does the EE editor perform the update and saving of changes?? If no, are there plans for EE to do updates and saving of changes?
Thank you.
toggle quoted message
Show quoted text
Bertram, I guess what you are asking needed a weeks training course followed by lots of practice on return. I remember a very frustrating week in the IBM training Center in ST. Johns Wood, London building CP and CMS in a second level machine on a very underpowered 43xx. Very slow. ? Well many many reasons the updated source isn¡¯t stored anywhere so to view current source you need to apply the updates. => don¡¯t ask for this to change as my answer will be rude and offensive => just live with it. ? For CP ¡°VMSETUP CP¡± access the disks with the source. Then apply the updates e.g. ? update dmkcfc assemble * dmkhrc (ctl??????????????????????????????????????????????????????????????????????????????????????????????? UPDATING 'DMKCFC ASSEMBLE I1'.?????????????????? ??????????????????????????????????????????????????????????????????????????????????? APPLYING 'DMKCFC R08928DK H1'.????????????????????????????????????????????????????????????????????????????????????????????????????? APPLYING 'DMKCFC R09413DK H1'.?????????? ??????????????????????????????????????????????????????????????????????????????????????????? APPLYING 'DMKCFC R10076DK H1'.????????????????????????????????????????????????????????????????????????????????????????????????????? APPLYING 'DMKCFC R10847DK H1'.?? ??????????????????????????????????????????????????????????????????????????????????????????????????? APPLYING 'DMKCFC R12101DK H1'.????????????????????????????????????????????????????????????????????????????????????????????????????? APPLYING 'DMKCFC R12794DK H1'.????????????????????????????????????????????????????????????????????????????????????????????????????? APPLYING 'DMKCFC R13360DK H1'.????????????????????????????????????????????????????????????????????????????????????????????????????? APPLYING 'DMKCFC R13648DK H1'.????????????????????????????????????????????????????????????????????????????????????????????????????? APPLYING 'DMKCFC R13704DK H1'.????????????????????????????????????????????????????????????????????????????????????????????????????? APPLYING 'DMKCFC R12658DK H1'.????????????????????????????????????????????????????????????????????????????????????????????????????? APPLYING 'DMKCFC HRC010DK F1'.????????????????????????????????????????????????????????????????????????????????????????????????????? APPLYING 'DMKCFC HRC013DK F1'.????????????????????????????????????????????????????????????????????????????????????????????????????? APPLYING 'DMKCFC HRC018DK F1'.?????????????????????????????????????????????????????????????????????????????????????????????? ??????? APPLYING 'DMKCFC HRC019DK F1'.????????????????????????????????????????????????????????????????????????????????????????????????????? APPLYING 'DMKCFC HRC021DK F1'.?????????????????????????????????????????????????????????????????????????????????????? ??????????????? APPLYING 'DMKCFC HRC026DK F1'.????????????????????????????????????????????????????????????????????????????????????????????????????? APPLYING 'DMKCFC HRC030DK F1'.?????????????????????????????????????????????????????????????????????????????? ??????????????????????? APPLYING 'DMKCFC HRC043DK F1'.????????????????????????????????????????????????????????????????????????????????????????????????????? APPLYING 'DMKCFC HRC107DK F1'.?????????????????????????????????????????????????????????????????????? ??????????????????????????????? APPLYING 'DMKCFC HRC068DK F1'.????????????????????????????????????????????????????????????????????????????????????????????????????? Ready; T=0.06/0.15 08:23:43??????????????????????????? ? Which leaves us with a $DMKCFC ASSEMBLE on our ¡°A¡± disk containing the modified source. This also has comments with the module name in inserted/modified likes. So searching for ¡°HRC010DK will show the lines modified. How did I know DMKCFC was one of the modules patched for HCP, well HRCMODS MEMO F contains a list of modifications. It tells me HCP is modification HRC010DK and the HRC010DK MEMO F has the details. I could also just do ¡°LIST * HRC010DK *¡± and it would show the change files for HCP. As I knew HCP was all new code I didn¡¯t bother updating the source I simply looked at the updates. ? To save changes -? I¡¯ll answer separately. ? When you say ¡°build without TEX what¡± are you asking. All the original TEXT files are on the disks. You can build a base VM system by releasing the disks with the mods and rebuilding CMS and CP with the IBM control files. Its not terribly useful to do this as most things simply won¡¯t work. ? As Joe says there is a lot of detail in MAINT MEMO. In fact memo files contain much of the docs so doing ? VMSETUP CP (or CMS) FSLIST * MEMO * ? May help. ? Dave ? ? ? Hello, What is the command (or proper method) to look at the VM/CE source?? I mean the based code with the updates?? How do I save changes I make in base delta form? (Base new update?) Is the a method for rebuilding VM/CE from scratch (without using the supplied TEX files)? I apologize for missing this information.
|
Re: What is the proper way to look at ...
Bertram, I guess what you are asking needed a weeks training course followed by lots of practice on return. I remember a very frustrating week in the IBM training Center in ST. Johns Wood, London building CP and CMS in a second level machine on a very underpowered 43xx. Very slow. ? Well many many reasons the updated source isn¡¯t stored anywhere so to view current source you need to apply the updates. => don¡¯t ask for this to change as my answer will be rude and offensive => just live with it. ? For CP ¡°VMSETUP CP¡± access the disks with the source. Then apply the updates e.g. ? update dmkcfc assemble * dmkhrc (ctl??????????????????????????????????????????????????????????????????????????????????????????????? UPDATING 'DMKCFC ASSEMBLE I1'.?????????????????? ??????????????????????????????????????????????????????????????????????????????????? APPLYING 'DMKCFC R08928DK H1'.????????????????????????????????????????????????????????????????????????????????????????????????????? APPLYING 'DMKCFC R09413DK H1'.?????????? ??????????????????????????????????????????????????????????????????????????????????????????? APPLYING 'DMKCFC R10076DK H1'.????????????????????????????????????????????????????????????????????????????????????????????????????? APPLYING 'DMKCFC R10847DK H1'.?? ??????????????????????????????????????????????????????????????????????????????????????????????????? APPLYING 'DMKCFC R12101DK H1'.????????????????????????????????????????????????????????????????????????????????????????????????????? APPLYING 'DMKCFC R12794DK H1'.????????????????????????????????????????????????????????????????????????????????????????????????????? APPLYING 'DMKCFC R13360DK H1'.????????????????????????????????????????????????????????????????????????????????????????????????????? APPLYING 'DMKCFC R13648DK H1'.????????????????????????????????????????????????????????????????????????????????????????????????????? APPLYING 'DMKCFC R13704DK H1'.????????????????????????????????????????????????????????????????????????????????????????????????????? APPLYING 'DMKCFC R12658DK H1'.????????????????????????????????????????????????????????????????????????????????????????????????????? APPLYING 'DMKCFC HRC010DK F1'.????????????????????????????????????????????????????????????????????????????????????????????????????? APPLYING 'DMKCFC HRC013DK F1'.????????????????????????????????????????????????????????????????????????????????????????????????????? APPLYING 'DMKCFC HRC018DK F1'.?????????????????????????????????????????????????????????????????????????????????????????????? ??????? APPLYING 'DMKCFC HRC019DK F1'.????????????????????????????????????????????????????????????????????????????????????????????????????? APPLYING 'DMKCFC HRC021DK F1'.?????????????????????????????????????????????????????????????????????????????????????? ??????????????? APPLYING 'DMKCFC HRC026DK F1'.????????????????????????????????????????????????????????????????????????????????????????????????????? APPLYING 'DMKCFC HRC030DK F1'.?????????????????????????????????????????????????????????????????????????????? ??????????????????????? APPLYING 'DMKCFC HRC043DK F1'.????????????????????????????????????????????????????????????????????????????????????????????????????? APPLYING 'DMKCFC HRC107DK F1'.?????????????????????????????????????????????????????????????????????? ??????????????????????????????? APPLYING 'DMKCFC HRC068DK F1'.????????????????????????????????????????????????????????????????????????????????????????????????????? Ready; T=0.06/0.15 08:23:43??????????????????????????? ? Which leaves us with a $DMKCFC ASSEMBLE on our ¡°A¡± disk containing the modified source. This also has comments with the module name in inserted/modified likes. So searching for ¡°HRC010DK will show the lines modified. How did I know DMKCFC was one of the modules patched for HCP, well HRCMODS MEMO F contains a list of modifications. It tells me HCP is modification HRC010DK and the HRC010DK MEMO F has the details. I could also just do ¡°LIST * HRC010DK *¡± and it would show the change files for HCP. As I knew HCP was all new code I didn¡¯t bother updating the source I simply looked at the updates. ? To save changes -? I¡¯ll answer separately. ? When you say ¡°build without TEX what¡± are you asking. All the original TEXT files are on the disks. You can build a base VM system by releasing the disks with the mods and rebuilding CMS and CP with the IBM control files. Its not terribly useful to do this as most things simply won¡¯t work. ? As Joe says there is a lot of detail in MAINT MEMO. In fact memo files contain much of the docs so doing ? VMSETUP CP (or CMS) FSLIST * MEMO * ? May help. ? Dave ? ?
toggle quoted message
Show quoted text
From: [email protected] <[email protected]> On Behalf Of Bertram Moshier Sent: 06 December 2022 04:44 To: [email protected] Subject: [h390-vm] What is the proper way to look at ...? Hello, What is the command (or proper method) to look at the VM/CE source?? I mean the based code with the updates?? How do I save changes I make in base delta form? (Base new update?) Is the a method for rebuilding VM/CE from scratch (without using the supplied TEX files)? I apologize for missing this information.
|
Re: What is the proper way to look at ...
All of that should be detailed in MAINT MEMO which should be on MAINTs A disk.
Joe
|
What is the proper way to look at ...
Hello,
What is the command (or proper method) to look at the VM/CE source?? I mean the based code with the updates??
How do I save changes I make in base delta form? (Base new update?)
Is the a method for rebuilding VM/CE from scratch (without using the supplied TEX files)?
I apologize for missing this information.
Thank you.
|
On Mon, Dec 5, 2022 at 07:30 PM, Mark A. Stevens wrote:
If you also looked at the source for HCP it already checks it's running under Hercules or as a level-2 VM.
Which for those of us a bit behind the know, see ...
Which as I read more of the code, realized I'm still NOT in the know :-( Sorry for the incorrect information. ?... Mark S.
|
On Sat, Dec 3, 2022 at 11:29 PM, Dave Wade wrote:
If you also looked at the source for HCP it already checks it's running under Hercules or as a level-2 VM.
Which for those of us a bit behind the know, see ... Run: vmsetup cp then: l DMKSCH * *DMKSCH?? AUXHRC?? F1DMKSCH?? HRC066DK F1DMKSCH?? TXTHRC?? F1DMKSCH?? TEXT???? G1DMKSCH?? AUXR60?? H1DMKSCH?? R08518DK H1DMKSCH?? R10074DK H1DMKSCH?? R10081DK H1DMKSCH?? R12052DK H1DMKSCH?? ASSEMBLE I1DMKSCH?? UPDTAP?? I1?... Mark S.
|
I think changes to Hercules should go the Hercules-30 list please¡ ? Dave ?
toggle quoted message
Show quoted text
From: [email protected] <[email protected]> On Behalf Of Aaron Finerman Sent: 04 December 2022 17:16 To: [email protected] Subject: Re: [h390-vm] Can a VM machine ...? Hercules should make better use of Diagnose 0, which it supports. At least, it should provide the correct release number. There are many bits available that could be mapped into Hercules features and configuration options.?? If you run under VM, the data could be easily accessed by the application if you provide an additional 40 bytes to the Diagnose 0 buffer length and set your CPU version code to FF in Hercules configuration.?? ? On Sat, 2022-12-03 at 15:10 -0800, David Durand wrote: ? Hi, IMHO, it isn't Hercules responsibility to handle the DIAG8CMD OFF beyond a program check. It is the responsibility of the OS issuing the DIAG to Hercules.? Why?? It is how it would work with real iron. The OS should capture the check and reflect it back to the user who attempted to issue the Hercules command. In the case of VM/CE the return would be an error message and return code stating Herclues has DIAG8CMD off.
I'm not going to push this much farther, as it's just an idea, but your description does not necessarily match what the real machines would do, because the state of a machine after a diagnose command is issued is dependent on the exact model (and even the field revision state) of that machine. This would be true even if though there are some "standard" diagnose functions some later models.
It's an operating system's responsibility to know?before issuing a diagnose, that it will not cause a problem. The 1987 version of the 370-XA Prince of Ops, and earlier 370 versions indicates that the Model and Version fields of the data returned by STIDP would be used to make that determination: DIAGNOSE, unlike other instructions, does not follow the rule that programming errors are distinguished from equipment errors. Improper use of DIAGNOSE may result in false machine-check indications or may cause actual?machine malfunctions to be ignored. It may also alter other aspects of system operation, including instruction execution and channel- program operation, to an extent that the operation does not comply with that specified in this publication. As a result of the improper use of DIAGNOSE, the system may be left in such a condition that the power-on reset or initial-microprogram-loading (IML) function must be performed. Since the function performed by DIAGNOSE may differ from model to model and between versions of a model, the program should avoid issuing DIAGNOSE unless the program recognizes both the model number and version code stored by STORE CPU 10.?
So handling the exception is Hercules-specific, and has nothing to do with a "real" 370. So whatever we do is an?
I took a look at the source, and it seems that the Hercules options defined in feat370.h includes FEATURE_HERCULES_DIAGCALLS. This means that it should generally be possible to check to check if DIAG 008 is enabled in the configuration by the use of other Hercules-specific diagnose calls. So it's certainly reasonable to argue that this crash can be handled in CP, and therefore should be.
There are no Hercules-specific diagnose calls that could be queried for this information. ? There are some Hercules-specific diagnose calls, but not a "query" mechanism, per se. ? I agree that a patch to the HCP command to check that it's running under Hercules would be a good idea. I also think there's an argument that a Hercules console message for illegal DIAGNOSE instructions could be helpful in the presumably rare case where an OS performs a DIAGNOSE instruction incorrectly, and it does seem easy to implement.
|
Hercules should make better use of Diagnose 0, which it supports. At least, it should provide the correct release number. There are many bits available that could be mapped into Hercules features and configuration options.?? If you run under VM, the data could be easily accessed by the application if you provide an additional 40 bytes to the Diagnose 0 buffer length and set your CPU version code to FF in Hercules configuration.?? Best regards, ?
toggle quoted message
Show quoted text
On Sat, 2022-12-03 at 15:10 -0800, David Durand wrote:
Hi,
?
IMHO, it isn't Hercules responsibility to handle the DIAG8CMD OFF beyond a program check.
?
It is the responsibility of the OS issuing the DIAG to Hercules.? Why?? It is how it would work with real iron.
?
The OS should capture the check and reflect it back to the user who attempted to issue the Hercules command.
?
In the case of VM/CE the return would be an error message and return code stating Herclues has DIAG8CMD off.
?
Thank you
I'm not going to push this much farther, as it's just an idea, but your description does not necessarily match what the real machines would do, because the state of a machine after a diagnose command is issued is dependent on the exact model (and even the field revision state) of that machine. This would be true even if though there are some "standard" diagnose functions some later models. It's an operating system's responsibility to know? before issuing a diagnose, that it will not cause a problem. The 1987 version of the 370-XA Prince of Ops, and earlier 370 versions indicates that the Model and Version fields of the data returned by STIDP would be used to make that determination:
DIAGNOSE, unlike other instructions, does not follow the rule that programming errors are distinguished from equipment errors. Improper use of DIAGNOSE may result in false machine-check indications or may cause actual?machine malfunctions to be ignored. It may also alter other aspects of system operation, including instruction execution and channel- program operation, to an extent that the operation does not comply with that specified in this publication. As a result of the improper use of DIAGNOSE, the system may be left in such a condition that the power-on reset or initial-microprogram-loading (IML) function must be performed. Since the function performed by DIAGNOSE may differ from model to model and between versions of a model, the program should avoid issuing DIAGNOSE unless the program recognizes both the model number and version code stored by STORE CPU 10.?
So handling the exception is Hercules-specific, and has nothing to do with a "real" 370. So whatever we do is an? I took a look at the source, and it seems that the Hercules options defined in feat370.h includes FEATURE_HERCULES_DIAGCALLS. This means that it should generally be possible to check to check if DIAG 008 is enabled in the configuration by the use of other Hercules-specific diagnose calls. So it's certainly reasonable to argue that this crash can be handled in CP, and therefore should be.
There are no Hercules-specific diagnose calls that could be queried for this information. ? There are some Hercules-specific diagnose calls, but not a "query" mechanism, per se. ?
I agree that a patch to the HCP command to check that it's running under Hercules would be a good idea. I also think there's an argument that a Hercules console message for illegal DIAGNOSE instructions could be helpful in the presumably rare case where an OS performs a DIAGNOSE instruction incorrectly, and it does seem easy to implement.
|
On Sat, 2022-12-03 at 15:10 -0800, David Durand wrote:
Hi,
?
IMHO, it isn't Hercules responsibility to handle the DIAG8CMD OFF beyond a program check.
?
It is the responsibility of the OS issuing the DIAG to Hercules.? Why?? It is how it would work with real iron.
?
The OS should capture the check and reflect it back to the user who attempted to issue the Hercules command.
?
In the case of VM/CE the return would be an error message and return code stating Herclues has DIAG8CMD off.
?
Thank you
I'm not going to push this much farther, as it's just an idea, but your description does not necessarily match what the real machines would do, because the state of a machine after a diagnose command is issued is dependent on the exact model (and even the field revision state) of that machine. This would be true even if though there are some "standard" diagnose functions some later models. It's an operating system's responsibility to know? before issuing a diagnose, that it will not cause a problem. The 1987 version of the 370-XA Prince of Ops, and earlier 370 versions indicates that the Model and Version fields of the data returned by STIDP would be used to make that determination:
DIAGNOSE, unlike other instructions, does not follow the rule that programming errors are distinguished from equipment errors. Improper use of DIAGNOSE may result in false machine-check indications or may cause actual?machine malfunctions to be ignored. It may also alter other aspects of system operation, including instruction execution and channel- program operation, to an extent that the operation does not comply with that specified in this publication. As a result of the improper use of DIAGNOSE, the system may be left in such a condition that the power-on reset or initial-microprogram-loading (IML) function must be performed. Since the function performed by DIAGNOSE may differ from model to model and between versions of a model, the program should avoid issuing DIAGNOSE unless the program recognizes both the model number and version code stored by STORE CPU 10.?
So handling the exception is Hercules-specific, and has nothing to do with a "real" 370. So whatever we do is an? I took a look at the source, and it seems that the Hercules options defined in feat370.h includes FEATURE_HERCULES_DIAGCALLS. This means that it should generally be possible to check to check if DIAG 008 is enabled in the configuration by the use of other Hercules-specific diagnose calls. So it's certainly reasonable to argue that this crash can be handled in CP, and therefore should be.
There are no Hercules-specific diagnose calls that could be queried for this information. ? There are some Hercules-specific diagnose calls, but not a "query" mechanism, per se. ?
I agree that a patch to the HCP command to check that it's running under Hercules would be a good idea. I also think there's an argument that a Hercules console message for illegal DIAGNOSE instructions could be helpful in the presumably rare case where an OS performs a DIAGNOSE instruction incorrectly, and it does seem easy to implement.
|
toggle quoted message
Show quoted text
-----Original Message----- From: [email protected] <[email protected]> On Behalf Of Fish Fish Sent: 04 December 2022 00:03 To: [email protected] Subject: Re: [h390-vm] Can a VM machine ...
David Durand wrote:
[...]
I agree that a patch to the HCP command to check that it's running under Hercules would be a good idea. FWIW, I agree. This is as expressed, a bad idea. The HCP command has existed for much longer than Hercules. Its original purpose was to allow a second level machine to issue commands at the first level. It checks its running under either Hercules or Level-2. When its running at Level-2 you can not get this problem as any command that¡¯s not permitted simply returns an error.
I also think there's an argument that a Hercules console message for illegal DIAGNOSE instructions could be helpful in the presumably rare case where an OS performs a DIAGNOSE instruction incorrectly, and it does seem easy to implement. We already have that:
HHC00801I Processor CP00: Specification exception interruption code 0006 ilc 4 HHC02269I GR00=00000000 GR01=00000000 GR02=00000280 GR03=00000000 HHC02269I GR04=00000008 GR05=00000000 GR06=00000000 GR07=00000000 HHC02269I GR08=00000000 GR09=00000000 GR10=00000000 GR11=00000000 HHC02269I GR12=00000000 GR13=00000000 GR14=00000000 GR15=00000000 HHC02324I PSW=000C000000000208 INST=83240008 DIAG 2,4,8(0) diagnose HHC02326I R:00000008:K:06=00000000 00000000 00000000 00000000 ................
If you're not seeing the above messages on your Hercules console, then it's probably because you're using the wrong OSTAILOR setting (such as the stupid and NOT recommended OSTAILOR QUIET setting, which we've discussed to death on this forum before).
-- "Fish" (David B. Trout) Software Development Laboratories
mail: fish@...
Dave
|
If you also looked at the source for HCP it already checks it's running under Hercules or as a level-2 VM.
Dave
toggle quoted message
Show quoted text
Hi,
?
IMHO, it isn't Hercules responsibility to handle the DIAG8CMD OFF beyond a program check.
?
It is the responsibility of the OS issuing the DIAG to Hercules.? Why?? It is how it would work with real iron.
?
The OS should capture the check and reflect it back to the user who attempted to issue the Hercules command.
?
In the case of VM/CE the return would be an error message and return code stating Herclues has DIAG8CMD off.
?
Thank you
I'm not going to push this much farther, as it's just an idea, but your description does not necessarily match what the real machines would do, because the state of a machine after a diagnose command is issued is dependent on the exact model (and even the field revision state) of that machine. This would be true even if though there are some "standard" diagnose functions some later models. It's an operating system's responsibility to know? before issuing a diagnose, that it will not cause a problem. The 1987 version of the 370-XA Prince of Ops, and earlier 370 versions indicates that the Model and Version fields of the data returned by STIDP would be used to make that determination:
DIAGNOSE, unlike other instructions, does not follow the rule that programming errors are distinguished from equipment errors. Improper use of DIAGNOSE may result in false machine-check indications or may cause actual?machine malfunctions to be ignored. It may also alter other aspects of system operation, including instruction execution and channel- program operation, to an extent that the operation does not comply with that specified in this publication. As a result of the improper use of DIAGNOSE, the system may be left in such a condition that the power-on reset or initial-microprogram-loading (IML) function must be performed. Since the function performed by DIAGNOSE may differ from model to model and between versions of a model, the program should avoid issuing DIAGNOSE unless the program recognizes both the model number and version code stored by STORE CPU 10.?
So handling the exception is Hercules-specific, and has nothing to do with a "real" 370. So whatever we do is an? I took a look at the source, and it seems that the Hercules options defined in feat370.h includes FEATURE_HERCULES_DIAGCALLS. This means that it should generally be possible to check to check if DIAG 008 is enabled in the configuration by the use of other Hercules-specific diagnose calls. So it's certainly reasonable to argue that this crash can be handled in CP, and therefore should be. I agree that a patch to the HCP command to check that it's running under Hercules would be a good idea. I also think there's an argument that a Hercules console message for illegal DIAGNOSE instructions could be helpful in the presumably rare case where an OS performs a DIAGNOSE instruction incorrectly, and it does seem easy to implement.
|
David Durand wrote: [...] I agree that a patch to the HCP command to check that it's running under Hercules would be a good idea. FWIW, I agree. I also think there's an argument that a Hercules console message for illegal DIAGNOSE instructions could be helpful in the presumably rare case where an OS performs a DIAGNOSE instruction incorrectly, and it does seem easy to implement. We already have that: HHC00801I Processor CP00: Specification exception interruption code 0006 ilc 4 HHC02269I GR00=00000000 GR01=00000000 GR02=00000280 GR03=00000000 HHC02269I GR04=00000008 GR05=00000000 GR06=00000000 GR07=00000000 HHC02269I GR08=00000000 GR09=00000000 GR10=00000000 GR11=00000000 HHC02269I GR12=00000000 GR13=00000000 GR14=00000000 GR15=00000000 HHC02324I PSW=000C000000000208 INST=83240008 DIAG 2,4,8(0) diagnose HHC02326I R:00000008:K:06=00000000 00000000 00000000 00000000 ................ If you're not seeing the above messages on your Hercules console, then it's probably because you're using the wrong OSTAILOR setting (such as the stupid and NOT recommended OSTAILOR QUIET setting, which we've discussed to death on this forum before). -- "Fish" (David B. Trout) Software Development Laboratories mail: fish@...
|
Hi,
?
IMHO, it isn't Hercules responsibility to handle the DIAG8CMD OFF beyond a program check.
?
It is the responsibility of the OS issuing the DIAG to Hercules.? Why?? It is how it would work with real iron.
?
The OS should capture the check and reflect it back to the user who attempted to issue the Hercules command.
?
In the case of VM/CE the return would be an error message and return code stating Herclues has DIAG8CMD off.
?
Thank you
I'm not going to push this much farther, as it's just an idea, but your description does not necessarily match what the real machines would do, because the state of a machine after a diagnose command is issued is dependent on the exact model (and even the field revision state) of that machine. This would be true even if though there are some "standard" diagnose functions some later models. It's an operating system's responsibility to know? before issuing a diagnose, that it will not cause a problem. The 1987 version of the 370-XA Prince of Ops, and earlier 370 versions indicates that the Model and Version fields of the data returned by STIDP would be used to make that determination:
DIAGNOSE, unlike other instructions, does not follow the rule that programming errors are distinguished from equipment errors. Improper use of DIAGNOSE may result in false machine-check indications or may cause actual?machine malfunctions to be ignored. It may also alter other aspects of system operation, including instruction execution and channel- program operation, to an extent that the operation does not comply with that specified in this publication. As a result of the improper use of DIAGNOSE, the system may be left in such a condition that the power-on reset or initial-microprogram-loading (IML) function must be performed. Since the function performed by DIAGNOSE may differ from model to model and between versions of a model, the program should avoid issuing DIAGNOSE unless the program recognizes both the model number and version code stored by STORE CPU 10.?
So handling the exception is Hercules-specific, and has nothing to do with a "real" 370. So whatever we do is an? I took a look at the source, and it seems that the Hercules options defined in feat370.h includes FEATURE_HERCULES_DIAGCALLS. This means that it should generally be possible to check to check if DIAG 008 is enabled in the configuration by the use of other Hercules-specific diagnose calls. So it's certainly reasonable to argue that this crash can be handled in CP, and therefore should be. I agree that a patch to the HCP command to check that it's running under Hercules would be a good idea. I also think there's an argument that a Hercules console message for illegal DIAGNOSE instructions could be helpful in the presumably rare case where an OS performs a DIAGNOSE instruction incorrectly, and it does seem easy to implement.
|
Re: How to clear EREP using CPEREP and sometimes I wish for printed manual again
On Fri, Oct 28, 2022 at 01:18 PM, Bertram Moshier wrote:
I think I got the clear of CPEREP working.? I did:
I wrote a simple EXEC to do steps 1-2B. See below. type cperep01 exec a ? &CONTROL CMSFILEDEF ACCDEV DISK CPEREP REPORT A&STACK CLEAR&STACKCPEREP&EXITI Hope This Helps ?... Mark S.
|
Bertram, Its not available to general users. There are lots of things non-general users can do to break VM. I normally assume some one logged into OPERATOR or MAIIN knows what they are doing. Dave ?
toggle quoted message
Show quoted text
From: [email protected] <[email protected]> On Behalf Of Bertram Moshier Sent: 02 December 2022 20:12 To: [email protected] Subject: Re: [h390-vm] Can a VM machine ...? Hi, IMHO, it isn't Hercules responsibility to handle the DIAG8CMD OFF beyond a program check. It is the responsibility of the OS issuing the DIAG to Hercules.? Why?? It is how it would work with real iron. The OS should capture the check and reflect it back to the user who attempted to issue the Hercules command. In the case of VM/CE the return would be an error message and return code stating Herclues has DIAG8CMD off. ? David Durand? wrote: > Fish wrote:
[...] > > I believe the DIAG8CMD option already covers that. > > But instead of a "request ignored" message, you get > > an Operation Exception Program Interrupt. (Or is it > > a Specification Exception? I forget!) > >? Previous thread indicates Operation Exception.
<nit> A program interrupt code 006 is a specification exception. </nit>
-- "Fish" (David B. Trout) Software Development Laboratories
mail: fish@...
|