¿ªÔÆÌåÓý


Re: Are there instructions in VM/CE ti connect

 



Joe

On Tue, Dec 6, 2022 at 8:20 PM Bertram Moshier <herc370390vm@...> wrote:
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:

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 MAINT

ENTER PASSWORD:
?
DASD 19D LINKED R/W; R/O BY 003 USERS
DASD 19E LINKED R/W; R/O BY 005 USERS
DASD 190 LINKED R/W; R/O BY 005 USERS
DASD 5E5 LINKED R/W; R/O BY XMAS
DASD 194 LINKED R/W; R/O BY CPWATCH
FILES: 003 RDR,? NO PRT,? NO PUN
LOGON AT 18:26:59 GMT TUESDAY 12/06/22
VM Community Edition V1 R1.2
?
Y (19E) R/O
U (19D) R/O
B (5E5) R/O
Ready; T=0.01/0.01 18:27:00
l maint memo * ( date
Filename Filetype Fm? Format??? Recs Blocks???? Date??? Time
MAINT??? MEMO???? B1? V??? 80??? 490???? 24? 03/03/21??? 9:06
Ready; T=0.01/0.01 18:27:11
q disk b
Label? CUU M? Stat? Cyl Type Blksize?? Files? Blks Used-(%) Blks Left? Blk Total
MNT5E5 5E5 B/B R/O?? 30 3350? 800???????? 11??????? 119-01????? 16981????? 17100
Ready; 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)

?

?

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?

?

Thank you.

?

On Tue, Dec 6, 2022, 02:58 Dave Wade <dave.g4ugm@...> wrote:

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

?

?

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.

?

Thank you.


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.

On Tue, Dec 6, 2022, 02:58 Dave Wade <dave.g4ugm@...> wrote:

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

?

?

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.

?

Thank you.


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

?

?

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.

?

Thank you.


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.


Re: Can a VM machine ...

 

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.


Re: Can a VM machine ...

 

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?? F1
DMKSCH?? HRC066DK F1
DMKSCH?? TXTHRC?? F1
DMKSCH?? TEXT???? G1
DMKSCH?? AUXR60?? H1
DMKSCH?? R08518DK H1
DMKSCH?? R10074DK H1
DMKSCH?? R10081DK H1
DMKSCH?? R12052DK H1
DMKSCH?? ASSEMBLE I1
DMKSCH?? UPDTAP?? I1

?... Mark S.


Re: Can a VM machine ...

 

¿ªÔÆÌåÓý

I think changes to Hercules should go the Hercules-30 list please¡­

?

Dave

?

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.??

Best regards,

?

?

On Sun, Dec 4, 2022 at 5:50 AM Harold Grovesteen <h.grovsteen@...> wrote:

On Sat, 2022-12-03 at 15:10 -0800, David Durand wrote:

From: Bertram Moshier

12:12pm???#4785??

?

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.


Re: 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.??
Best regards,
?

On Sun, Dec 4, 2022 at 5:50 AM Harold Grovesteen <h.grovsteen@...> wrote:
On Sat, 2022-12-03 at 15:10 -0800, David Durand wrote:
From: Bertram Moshier
12:12pm???#4785??

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.


Re: Can a VM machine ...

 

¿ªÔÆÌåÓý

On Sat, 2022-12-03 at 15:10 -0800, David Durand wrote:
From: Bertram Moshier
12:12pm???

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.


Re: Can a VM machine ...

 

-----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


Re: Can a VM machine ...

 

If you also looked at the source for HCP it already checks it's running under Hercules or as a level-2 VM.

Dave


On Sat, 3 Dec 2022, 23:10 David Durand, <david.durand@...> wrote:
From: Bertram Moshier
12:12pm???#4785??

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: 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.


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@...


Re: Can a VM machine ...

 

From: Bertram Moshier
12:12pm???

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 CMS
FILEDEF ACCDEV DISK CPEREP REPORT A
&STACK CLEAR
&STACK
CPEREP
&EXIT

I Hope This Helps

?... Mark S.


Re: Can a VM machine ...

 

¿ªÔÆÌåÓý

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

?

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.

?

Thank you.

?

On Fri, Dec 2, 2022, 14:05 Fish Fish <david.b.trout@...> wrote:

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@...