Discussion:
[hercules-390] ESA/390 Facilities
'\'Fish\' (David B. Trout)' david.b.trout@gmail.com [hercules-390]
2017-12-08 04:33:35 UTC
Permalink
Question mostly for the developers but others are free to reply with their opinion/thoughts as well.

I've been working on overhauling Hercules's facilities support(*) and I noticed something that doesn't seem right to me.

In source file feat390.h there are more than a few z/Architecture facilities being enabled that, *technically* (if I'm reading the SA22-7201-08 (June 2003) ESA/390 Principles of Operation manual correctly), should not be enabled.

Page 10-91 describes the behavior of the STFL (Store Facility List) instruction and only documents facility bits 0-5 and 16-20. It further states:

"Bits 6-15 and 21-31 are reserved for indication
of new facilities. The bits are currently stored
as zeros but may be stored as ones in the future."

Yet, in header feat390.h, I'm seeing the following facilities being enabled:

FEATURE_ETF2_ENHANCEMENT_FACILITY
FEATURE_ETF3_ENHANCEMENT_FACILITY
FEATURE_EXTENDED_TRANSLATION_FACILITY_3
FEATURE_FPS_ENHANCEMENT
FEATURE_FPS_EXTENSIONS
INTERLOCKED_ACCESS_FACILITY_2
FEATURE_MESSAGE_SECURITY_ASSIST_EXTENSION_3
FEATURE_MESSAGE_SECURITY_ASSIST_EXTENSION_4
FEATURE_STORE_FACILITY_LIST_EXTENDED_FACILITY

which correspond to facility list bits 24, 30, 22, 41, 37, 52, 76, 77 and 7, respectively.

The enabling of the FEATURE_STORE_FACILITY_LIST_EXTENDED_FACILITY facility (bit 7) is especially puzzling (highly questionable IMHO) since the ESA/390 Principles of Operation doesn't even list the STFLE instruction as being a valid instruction for the architecture (and as demonstrated doesn't consider facility list bit 7 to be valid).

Can someone please explain to me why these facilities are being enabled for ESA/390 when there's every indication that, according to available documentation, they *shouldn't* be?

Is there something I'm missing or not understanding correctly about Hercules that for some reason requires them to be enabled? Would something I'm unaware of break horribly if I removed (commented out) those statements?

Thanks!
--
"Fish" (David B. Trout)
Software Development Laboratories
http://www.softdevlabs.com
mail: ***@softdevlabs.com

(*) Issue #71 "Facilities support needs auditing / improved" of my repository (https://github.com/Fish-Git/hyperion/issues/71)
'\'Fish\' (David B. Trout)' david.b.trout@gmail.com [hercules-390]
2017-12-08 04:37:10 UTC
Permalink
[...]
Post by '\'Fish\' (David B. Trout)' ***@gmail.com [hercules-390]
(if I'm reading the SA22-7201-08 (June 2003) ESA/390
Principles of Operation manual correctly),
https://www-05.ibm.com/e-business/linkweb/publications/servlet/pbi.wss?PAG=C11&SSN=17LHE0006164548724&TRL=TXT&WRD=&PBL=sa22-7201-08&LST=ALL&RPP=10&submit=Start+search
Harold Grovesteen h.grovsteen@tx.rr.com [hercules-390]
2017-12-09 16:33:36 UTC
Permalink
You are absolutely correct with one exception.
 FEATURE_STORE_FACILITY_LIST_EXTENDED_FACILITY was backported to
ESA/390 without updating of the ESA/390 PoO.

Harold Grovesteen

On Thu, 2017-12-07 at 20:33 -0800, ''Fish' (David B. Trout)'
Post by '\'Fish\' (David B. Trout)' ***@gmail.com [hercules-390]
Question mostly for the developers but others are free to reply with
their opinion/thoughts as well.
I've been working on overhauling Hercules's facilities support(*) and
I noticed something that doesn't seem right to me.
In source file feat390.h there are more than a few z/Architecture
facilities being enabled that, *technically* (if I'm reading the
SA22-7201-08 (June 2003) ESA/390 Principles of Operation manual
correctly), should not be enabled.
Page 10-91 describes the behavior of the STFL (Store Facility List)
instruction and only documents facility bits 0-5 and 16-20.  It
   "Bits 6-15 and 21-31 are reserved for indication
    of new facilities.  The bits are currently stored
    as zeros but may be stored as ones in the future."
   FEATURE_ETF2_ENHANCEMENT_FACILITY
   FEATURE_ETF3_ENHANCEMENT_FACILITY
   FEATURE_EXTENDED_TRANSLATION_FACILITY_3
   FEATURE_FPS_ENHANCEMENT
   FEATURE_FPS_EXTENSIONS
   INTERLOCKED_ACCESS_FACILITY_2
   FEATURE_MESSAGE_SECURITY_ASSIST_EXTENSION_3
   FEATURE_MESSAGE_SECURITY_ASSIST_EXTENSION_4
   FEATURE_STORE_FACILITY_LIST_EXTENDED_FACILITY
which correspond to facility list bits 24, 30, 22, 41, 37, 52, 76, 77 and 7, respectively.
The enabling of the FEATURE_STORE_FACILITY_LIST_EXTENDED_FACILITY
facility (bit 7) is especially puzzling (highly questionable IMHO)
since the ESA/390 Principles of Operation doesn't even list the STFLE
instruction as being a valid instruction for the architecture (and as
demonstrated doesn't consider facility list bit 7 to be valid).
Can someone please explain to me why these facilities are being
enabled for ESA/390 when there's every indication that, according to
available documentation, they *shouldn't* be?
Is there something I'm missing or not understanding correctly about
Hercules that for some reason requires them to be enabled?  Would
something I'm unaware of break horribly if I removed (commented out)
those statements?
Thanks!
'\'Fish\' (David B. Trout)' david.b.trout@gmail.com [hercules-390]
2017-12-10 00:41:04 UTC
Permalink
Post by Harold Grovesteen ***@tx.rr.com [hercules-390]
You are absolutely correct with one exception.
FEATURE_STORE_FACILITY_LIST_EXTENDED_FACILITY
was backported to ESA/390 without updating of
the ESA/390 PoO.
Oh? And how do we know this? (*)

--------------
(*) Considering who I'm taking to I suspect you're probably right.

BUT...

I'm just naturally hesitant of accepting claims on based solely on someone's word, that's all. I prefer hard evidence. The harder the better.

I'm weird like that. :)
--
"Fish" (David B. Trout)
Software Development Laboratories
http://www.softdevlabs.com
mail: ***@softdevlabs.com
Harold Grovesteen h.grovsteen@tx.rr.com [hercules-390]
2017-12-12 16:32:01 UTC
Permalink
On Sat, 2017-12-09 at 16:41 -0800, ''Fish' (David B. Trout)'
Post by Harold Grovesteen ***@tx.rr.com [hercules-390]
You are absolutely correct with one exception.
FEATURE_STORE_FACILITY_LIST_EXTENDED_FACILITY
was backported to ESA/390 without updating of
the ESA/390 PoO.
Oh?  And how do we know this? (*)
I had email exchanges with John Hartmann on this when I was trying to
sort out the instructions for ESA/390.  As a result of that I updated
my ASMA instruction definitions.  I took a look at the assembler
instructions for ESA/390 vs. z.  It turns out that it was STFL that was
backported to ESA/390, not STFLE.

I looked for the email exchanges with John but could not find them.  He
had first hand knowledge of what occurred with the firmware on some of
the later ESA/390 machines.  Why the PoO was never updated who knows.

I keep getting reminded not to rely on my memory but the reminders seem
to fail too.

Sorry for any confusion.  STFLE does _not_ belong with ESA/390. Good
you asked.
--------------
(*) Considering who I'm taking to I suspect you're probably right.
Only sort of right.  Sigh.
BUT...
I'm just naturally hesitant of accepting claims on based solely on
someone's word, that's all.  I prefer hard evidence.  The harder the
better.
I'm weird like that.  :)
Ivan Warren ivan@vmfacility.fr [hercules-390]
2017-12-12 17:59:20 UTC
Permalink
Post by Harold Grovesteen ***@tx.rr.com [hercules-390]
Sorry for any confusion.  STFLE does _not_ belong with ESA/390. Good
you asked.
However... however...

Apparently, according to multiple reports - *problem state* instructions
which make sense on a z/Architecture capable machine, running in ESA/390
mode seem to always be available.

Note : Bit 7 clearly states : The store-facility-list-extended facility
is installed
note the VERY Specific ommision of : "in the z/Architecture
architectural mode."

So nothing forbids a machine running in ESA/390 mode to store bit 7 as 1
and have the STFLE instruction available in ESA/390 mode.

And my question is : What is it that is broken that requires fixing ?

--Ivan





[Non-text portions of this message have been removed]
Harold Grovesteen h.grovsteen@tx.rr.com [hercules-390]
2017-12-12 20:53:42 UTC
Permalink
Post by Ivan Warren ***@vmfacility.fr [hercules-390]
Post by Harold Grovesteen ***@tx.rr.com [hercules-390]
Sorry for any confusion.  STFLE does _not_ belong with ESA/390. Good
you asked.
However... however...
Apparently, according to multiple reports - *problem state*
instructions 
which make sense on a z/Architecture capable machine, running in
ESA/390 
mode seem to always be available.
Note : Bit 7 clearly states : The store-facility-list-extended
facility 
is installed
note the VERY Specific ommision of : "in the z/Architecture 
architectural mode."
So nothing forbids a machine running in ESA/390 mode to store bit 7
as 1 
and have the STFLE instruction available in ESA/390 mode.
And my question is : What is it that is broken that requires fixing ?
--Ivan
 
I don't think anything needs fixing with regards to STFL(E).  I don't
think Fish was actually saying anything needs fixing.  He was simply
wanting to understand which facilities are supported in ESA/390 mode. I
don't think looked exclusively to the PoO answers those questions.  You
must also look at the z PoO, as you point out.

Hercules has two cases with which to be concerned where ESA/390 is
concerned:

  1. ESA/390 not installed on a z system and
  2. ESA/390 installed on a z system.

Which is the case is determined by the ARCHMODE or ARCHLVL instruction
at run time.   And the feat390.h configured instructions included when
Hercules is compiled apply in both cases.

This puts the burden of the function executing the instruction to sort
out the cases and what exception it might need to throw when the
instruction is attempted by the running program.

If Fish is looking at this, the situation you identified needs to be
factored into an analysis of the instructions that must be configured
in esa390.h (the union of the two cases) and which must recognize that
the instruction is unavailable in the first scenario (ESA/390 not
installed on a z system) and throw an operation exception.

It would be much simpler if there were two architecture instruction
tables for each of the two cases.  But, Hercules was not implemented
that way.

Harold Grovesteen
Ivan Warren ivan@vmfacility.fr [hercules-390]
2017-12-13 09:21:22 UTC
Permalink
Post by Harold Grovesteen ***@tx.rr.com [hercules-390]
Hercules has two cases with which to be concerned where ESA/390 is
  1. ESA/390 not installed on a z system and
  2. ESA/390 installed on a z system.
I don't think, that *even* on a z14 (or with Version 11 of the z/Poo)
you can have a z machine without ESA/390. The only new stuff with -11 is
that you can start a system in z/Arch mode directly (without having to
resort to ESA/390 first and then switch to z/Arch with SIGP).

So I don't think case 1 is realistic in any case.

Furthermore, are there any ESA/390 facilities/instructions that are NOT
in z/Arch ?

--Ivan



[Non-text portions of this message have been removed]
Aaron Finerman arfinerman@gmail.com [hercules-390]
2017-12-13 12:39:45 UTC
Permalink
You can not switch to ESA/390 mode on a z14. Please see page 1-8 of PoO
under CZAM. I asked for a zNext mode in Hercules a year ago to emulate a
z14. Best regards
Post by Ivan Warren ***@vmfacility.fr [hercules-390]
Post by Harold Grovesteen ***@tx.rr.com [hercules-390]
Hercules has two cases with which to be concerned where ESA/390 is
1. ESA/390 not installed on a z system and
2. ESA/390 installed on a z system.
I don't think, that *even* on a z14 (or with Version 11 of the z/Poo)
you can have a z machine without ESA/390. The only new stuff with -11 is
that you can start a system in z/Arch mode directly (without having to
resort to ESA/390 first and then switch to z/Arch with SIGP).
So I don't think case 1 is realistic in any case.
Furthermore, are there any ESA/390 facilities/instructions that are NOT
in z/Arch ?
--Ivan
[Non-text portions of this message have been removed]
Ivan Warren ivan@vmfacility.fr [hercules-390]
2017-12-13 13:20:31 UTC
Permalink
Post by Aaron Finerman ***@gmail.com [hercules-390]
You can not switch to ESA/390 mode on a z14. Please see page 1-8 of
PoO under CZAM. I asked for a zNext mode in Hercules a year ago to
emulate a z14. Best regards
Wait wait..

You cannot switch to ESA/390 on a z/Architecture partition which has
CZAM activated... It doesn't mean you cannot switch to ESA/390 on a z14
system in a partition which does NOT have CZAM activated.

Eventually, CZAM will need to be enabled in hercules (in which case that
hercules instance won't be able to switch to ESA/390). However, my
assumpion is still that any ESA/390 facility (unless it is incompatible
with z/Architecture) are still available in z/Architecture mode.

Implementing CZAM under hercules shouldn't be too hard... It basically
means :

- Do not reset to ESA/390 mode when a System reset occurs (like prior to
IPL)
- Implement native z/Architecture IPL (haven't looked how it works yet
.. How does CCW IPL work (Like LPSW under z/Arch maybe) in this case or
is List Directed Ipl the only way to start a system ?
- Reject Switch to ESA/390 SIGP (trivial)
- SIE (That might be a bit tricky.. ESA/390 accomodation, CZAM in a non
CZAM host, etc..)

Anyway, z/Architecture+CZAM is still z/Architecture !

--Ivan


[Non-text portions of this message have been removed]
Aaron Finerman arfinerman@gmail.com [hercules-390]
2017-12-13 13:49:45 UTC
Permalink
CZAM is a facility that is either 'Installed' or not present. It can not be
Activated or Deactivated. IBM announced more than a year ago and the z13 is
the last processor to support ESA/390. Best regards
Post by Ivan Warren ***@vmfacility.fr [hercules-390]
Post by Aaron Finerman ***@gmail.com [hercules-390]
You can not switch to ESA/390 mode on a z14. Please see page 1-8 of
PoO under CZAM. I asked for a zNext mode in Hercules a year ago to
emulate a z14. Best regards
Wait wait..
You cannot switch to ESA/390 on a z/Architecture partition which has
CZAM activated... It doesn't mean you cannot switch to ESA/390 on a z14
system in a partition which does NOT have CZAM activated.
Eventually, CZAM will need to be enabled in hercules (in which case that
hercules instance won't be able to switch to ESA/390). However, my
assumpion is still that any ESA/390 facility (unless it is incompatible
with z/Architecture) are still available in z/Architecture mode.
Implementing CZAM under hercules shouldn't be too hard... It basically
- Do not reset to ESA/390 mode when a System reset occurs (like prior to
IPL)
- Implement native z/Architecture IPL (haven't looked how it works yet
.. How does CCW IPL work (Like LPSW under z/Arch maybe) in this case or
is List Directed Ipl the only way to start a system ?
- Reject Switch to ESA/390 SIGP (trivial)
- SIE (That might be a bit tricky.. ESA/390 accomodation, CZAM in a non
CZAM host, etc..)
Anyway, z/Architecture+CZAM is still z/Architecture !
--Ivan
[Non-text portions of this message have been removed]
Ivan Warren ivan@vmfacility.fr [hercules-390]
2017-12-13 13:58:17 UTC
Permalink
Post by Aaron Finerman ***@gmail.com [hercules-390]
CZAM is a facility that is either 'Installed' or not present. It can
not be Activated or Deactivated. IBM announced more than a year ago
and the z13 is the last processor to support ESA/390. Best regards
But.. The PoP says : (Page 1-8 in the CZAM chapter :)

The facility may be installed in a configuration operating
in a logical partition and in a configuration operating
as a guest of a logical partition.

--Ivan


[Non-text portions of this message have been removed]
Aaron Finerman arfinerman@gmail.com [hercules-390]
2017-12-13 14:13:04 UTC
Permalink
This is because the PoO is not specific for the z14 and still applies to
older processors as well. But what distinguishes the z14 from other
processors is the CZAM facility. Best regards,
Post by Ivan Warren ***@vmfacility.fr [hercules-390]
Post by Aaron Finerman ***@gmail.com [hercules-390]
CZAM is a facility that is either 'Installed' or not present. It can
not be Activated or Deactivated. IBM announced more than a year ago
and the z13 is the last processor to support ESA/390. Best regards
But.. The PoP says : (Page 1-8 in the CZAM chapter :)
The facility may be installed in a configuration operating
in a logical partition and in a configuration operating
as a guest of a logical partition.
--Ivan
[Non-text portions of this message have been removed]
Joe Monk joemonk64@gmail.com [hercules-390]
2017-12-13 22:35:44 UTC
Permalink
"As announced on January 14, 2015 with Announcement letter 115-001,
beginning with IBM z14, all IBM Z systems will only support operating
systems running in z/Architecture mode. This applies to operating systems
running native on PR/SM as well as operating systems running as
second-level guests. IBM operating systems that run in ESA/390 mode are
either no longer in service or only currently available with extended
service contracts, and they are not usable on systems beginning with IBM
z14. However, IBM z14 does provide ESA/390-compatibility mode, an
environment supporting a subset of DAT-off ESA/390 applications in a hybrid
architectural mode."

Joe
Post by Aaron Finerman ***@gmail.com [hercules-390]
This is because the PoO is not specific for the z14 and still applies to
older processors as well. But what distinguishes the z14 from other
processors is the CZAM facility. Best regards,
Post by Ivan Warren ***@vmfacility.fr [hercules-390]
Post by Aaron Finerman ***@gmail.com [hercules-390]
CZAM is a facility that is either 'Installed' or not present. It can
not be Activated or Deactivated. IBM announced more than a year ago
and the z13 is the last processor to support ESA/390. Best regards
But.. The PoP says : (Page 1-8 in the CZAM chapter :)
The facility may be installed in a configuration operating
in a logical partition and in a configuration operating
as a guest of a logical partition.
--Ivan
[Non-text portions of this message have been removed]
Joe Monk joemonk64@gmail.com [hercules-390]
2017-12-13 23:16:32 UTC
Permalink
"As announced on January 14, 2015 with Announcement letter 115-001,
beginning with IBM z14, all IBM Z systems will only support operating
systems running in z/Architecture mode. This applies to operating systems
running native on PR/SM as well as operating systems running as
second-level guests. IBM operating systems that run in ESA/390 mode are
either no longer in service or only currently available with extended
service contracts, and they are not usable on systems beginning with IBM
z14. However, IBM z14 does provide ESA/390-compatibility mode, an
environment supporting a subset of DAT-off ESA/390 applications in a hybrid
architectural mode."

"All 24-bit and 31-bit problem state application programs originally
written to run on the ESA/390 architecture will be unaffected by this
change."

http://www-01.ibm.com/common/ssi/ShowDoc.wss?docURL=/common/ssi/rep_sm/1/872/ENUS3906-_h01/index.html&lang=en&request_locale=en

Joe
Post by Aaron Finerman ***@gmail.com [hercules-390]
This is because the PoO is not specific for the z14 and still applies to
older processors as well. But what distinguishes the z14 from other
processors is the CZAM facility. Best regards,
Post by Ivan Warren ***@vmfacility.fr [hercules-390]
Post by Aaron Finerman ***@gmail.com [hercules-390]
CZAM is a facility that is either 'Installed' or not present. It can
not be Activated or Deactivated. IBM announced more than a year ago
and the z13 is the last processor to support ESA/390. Best regards
But.. The PoP says : (Page 1-8 in the CZAM chapter :)
The facility may be installed in a configuration operating
in a logical partition and in a configuration operating
as a guest of a logical partition.
--Ivan
[Non-text portions of this message have been removed]
Tony Harminc tharminc@gmail.com [hercules-390]
2017-12-13 23:43:27 UTC
Permalink
Post by Ivan Warren ***@vmfacility.fr [hercules-390]
But.. The PoP says : (Page 1-8 in the CZAM chapter :)
The facility may be installed in a configuration operating
in a logical partition and in a configuration operating
as a guest of a logical partition.
I too was not convinced. So I asked on IBM-MAIN about a year ago, and
IBM's Jim Mulder replied quite definitively.
Post by Ivan Warren ***@vmfacility.fr [hercules-390]
Why do you think that SIE would not continue to provide virtual
ESA/390 support? Today, when z/VM is running in zArch mode on the
metal on e.g. a z12, it can surely have an ESA/390 mode guest OS. I
see no reason that wouldn't continue just because the host processor
doesn't IPL in ESA/390 mode.
Well, for one thing, there won't be any ESA/390 mode Dynamic
Address Translation, either at SIE Guest 1 (in an LPAR)
or at Guest 2 (under VM). So you certainly will not be able to run any
operating system that uses ESA/390 virtual addressing, even under VM.
What Jim has now said clearly is that IBM will remove the ability to
perform ESA/390 DAT entirely at any SIE level in z14+. Presumably
issuing SIE with a SIE block indicating ESA/390 archmode will simply
fail, and it's game over.
The remaining question of interest is the fate of XC mode and a
putative zXC mode on these new machines.
Tony H.

'\'Fish\' (David B. Trout)' david.b.trout@gmail.com [hercules-390]
2017-12-09 22:22:58 UTC
Permalink
https://github.com/Fish-Git/hyperion/issues/74
--
"Fish" (David B. Trout)
Software Development Laboratories
http://www.softdevlabs.com
mail: ***@softdevlabs.com
Loading...