Re: I do not understand S0C6 on CDSG

2013-03-01 Thread Peter Relson
z/OS 2.1 will provide Generalized Alignment Support in the binder. That is true and does not conflict with what I wrote (although the binder support might round up 1, 2, and 4-byte boundary requests to 8, I can't remember). The support is in the binder (and assembler). And it remains true that

Re: I do not understand S0C6 on CDSG

2013-02-28 Thread Peter Relson
the ONLY alignment values actually supported by contents supervision were doubleword and page, regardless of what the binder doc claimed. Of course the artist formerly known as CC is correct The binder doc really does not claim otherwise. The binder (and assembler) primarily support alignment

Re: I do not understand S0C6 on CDSG

2013-02-28 Thread Tom Marchant
On Wed, 27 Feb 2013 09:55:50 -0500, John Eells wrote: IIRC (always a dangerous assumption), the page size changed from 2K to 4K in MVS 3.8 SE2. I don't think so. IIRC, MVS never supported 2K pages. OS/VS1 did

Re: I do not understand S0C6 on CDSG

2013-02-28 Thread Ed Jaffe
On 2/28/2013 4:28 AM, Peter Relson wrote: the ONLY alignment values actually supported by contents supervision were doubleword and page, regardless of what the binder doc claimed. Of course the artist formerly known as CC is correct The binder doc really does not claim otherwise. The binder

Re: I do not understand S0C6 on CDSG

2013-02-28 Thread Shmuel Metz (Seymour J.)
In 5457404732659672.wa.paulgboulderaim@listserv.ua.edu, on 02/26/2013 at 08:39 PM, Paul Gilmartin paulgboul...@aim.com said: What I was more thinking of was that on the 3350 an optimum block size was 6KiB, 3 times the 2KiB page size supported on the S/360 (370?) The S/370 supported both 2

Re: I do not understand S0C6 on CDSG

2013-02-28 Thread Shmuel Metz (Seymour J.)
In 512e1e76@us.ibm.com, on 02/27/2013 at 09:55 AM, John Eells ee...@us.ibm.com said: IIRC (always a dangerous assumption), the page size changed from 2K to 4K in MVS 3.8 SE2. No, MVS always used 4 KiB page frames. Perhaps you are thinking of storage keys; I don't recall which processor

Re: I do not understand S0C6 on CDSG

2013-02-28 Thread Anne Lynn Wheeler
shmuel+...@patriot.net (Shmuel Metz , Seymour J.) writes: The S/370 supported both 2 KiB and 4 KiB pages; the 360/67 only supported 4 KiB. As I recall, DOS/VS and OS/VS1 used 2 KiB, while OS/VS2 used 4 KiB. I don't recall what page sizes Virtual Machine Facility/370 supported. 360/67

Re: I do not understand S0C6 on CDSG

2013-02-28 Thread Anne Lynn Wheeler
approach ... but mapped to 370 hardware tables instead of mapped to 360/67 hardware tables. re: http://www.garlic.com/~lynn/2013c.html#13 I do not understand S0C6 on CDSG 2kbyte versus 4kbyte virtual pages were trade-off between efficiency between being able to pack a program into small real storage

Re: I do not understand S0C6 on CDSG

2013-02-28 Thread Anne Lynn Wheeler
re: http://www.garlic.com/~lynn/2013c.html#13 I do not understand S0C6 on CDSG http://www.garlic.com/~lynn/2013c.html#15 I do not understand S0C6 on CDSG with regard to offline email regarding page replacement algorithms When I was starting work on paging stuff as undergraduate circa 1968

Re: I do not understand S0C6 on CDSG

2013-02-27 Thread David Stokes
To return a bit to reality it is important to be able to allocate storage at runtime on a 16 byte (quadword) boundary if one is using instructions such as CDSG or LPQ which require 16 byte alignment of the storage operand. That ability is fortunately and conveniently provided by the

Re: I do not understand S0C6 on CDSG

2013-02-26 Thread David Stokes
John McKown wrote: If you got this from a STORAGE OBTAIN or GETMAIN, then the alignment is only guaranteed to be double word aligned, unless you ask for it to be page aligned. In fact STORAGE and GETMAIN macros support quadword alignment or other powers of 2 from 3-31 with the STARTBDY

Re: I do not understand S0C6 on CDSG

2013-02-26 Thread John McKown
New one on me. Thanks. Been programming in Linux for too long, and gotten stale on z/OS. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Re: I do not understand S0C6 on CDSG

2013-02-26 Thread Peter Relson
For a location within dynamically obtained storage Paul Gilmartin's scheme of using execution-time modulo (congruence) arithmetic is inescapable.. Unless the GETMAIN or STORAGE OBTAIN specifies BNDRY=PAGE. In that case the quadword can be defined with DS LQ within your DSECT. Fortunately, it

Re: I do not understand S0C6 on CDSG

2013-02-26 Thread John Gilmore
If I code SECTALGN(16) for a Binder invocation I get alignment on a doubleword boundary, at an address A such that A = 0 mod(16). If instead I code STARTBDY=16 in a STORAGE GET macro I get alignment on a 2^16 = 65536-byte boundary, at an address A such that A = 0 mod(2^16), i.e., A = 0

Re: I do not understand S0C6 on CDSG

2013-02-26 Thread John Gilmore
I should of course have written STORAGE OBTAIN and not STORAGE GET. I have also verified that Edward Jaffe's clarification is entirely correct. I am now more than a little curious to discover how this particular bug was discovered. It is clear that one can specify GOFF and quadword alignment

Re: I do not understand S0C6 on CDSG

2013-02-26 Thread Paul Gilmartin
On Tue, 26 Feb 2013 07:27:33 -0500, John Gilmore wrote: If I code SECTALGN(16) for a Binder invocation I get alignment on a doubleword boundary, at an address A such that A = 0 mod(16). If instead I code STARTBDY=16 in a STORAGE GET macro I get alignment on a 2^16 = 65536-byte boundary, at an

Re: I do not understand S0C6 on CDSG

2013-02-26 Thread Tom Marchant
On Tue, 26 Feb 2013 08:11:50 -0600, Paul Gilmartin wrote: And, of course, the SECTALGN convention is to be preferred despite being more verbose because it allows extension at some time in the unforseeable future when a boundary not a power of 2 might become useful. You lost me with that. More

Re: I do not understand S0C6 on CDSG

2013-02-26 Thread Paul Gilmartin
On Tue, 26 Feb 2013 09:06:54 -0600, Tom Marchant wrote: On Tue, 26 Feb 2013 08:11:50 -0600, Paul Gilmartin wrote: And, of course, the SECTALGN convention is to be preferred despite being more verbose because it allows extension at some time in the unforseeable future when a boundary not a power

Re: I do not understand S0C6 on CDSG

2013-02-26 Thread John Gilmore
I complained not so much about the inconsistency as about the confusions it gives rise to. For SECTALGN(I) the integer I must BE a power of 2. For STARTBDY(I) the integer I specifies the power of 2 the value of which is the alignment specified. Now the integer 0 is not a power of 2. (2^-2 =

Re: I do not understand S0C6 on CDSG

2013-02-26 Thread Don Williams
invented it, and Gauss improved it. Don -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of John Gilmore Sent: Tuesday, February 26, 2013 8:07 AM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: I do not understand S0C6 on CDSG I should

Re: I do not understand S0C6 on CDSG

2013-02-26 Thread Bill Godfrey
On Mon, 25 Feb 2013 12:09:24 -0600, Paul Gilmartin paulgboul...@aim.com wrote: On Mon, 25 Feb 2013 11:49:59 -0600, John McKown wrote: Depends on the contents of register 11. B040 will be quad word aligned only if register 11 is itself quad word aligned. If you got this from a STORAGE OBTAIN or

Re: I do not understand S0C6 on CDSG

2013-02-26 Thread Tom Marchant
On Tue, 26 Feb 2013 09:36:02 -0600, Paul Gilmartin wrote: On Tue, 26 Feb 2013 09:06:54 -0600, Tom Marchant wrote: The value specified for SECTALGN is an integer that is used as a power of 2 to specify the alignment required. Not as I read it:

Re: I do not understand S0C6 on CDSG

2013-02-26 Thread Tom Marchant
On Tue, 26 Feb 2013 12:46:13 -0600, Bill Godfrey wrote: N R15,=A(X'FFF0') This is a case where my preference would be to use a newer instruction. NILL R15,X'FFF0' It is part of the Relative-and-Immediate facility that was required for OS/390 2.10. -- Tom Marchant

Re: I do not understand S0C6 on CDSG

2013-02-26 Thread Bill Godfrey
On Tue, 26 Feb 2013 13:02:22 -0600, Tom Marchant m42tom-ibmm...@yahoo.com wrote: On Tue, 26 Feb 2013 12:46:13 -0600, Bill Godfrey wrote: N R15,=A(X'FFF0') This is a case where my preference would be to use a newer instruction. NILL R15,X'FFF0' It is part of the

Re: I do not understand S0C6 on CDSG

2013-02-26 Thread Shmuel Metz (Seymour J.)
In 4208449059345095.wa.dlikensinfosecinc@listserv.ua.edu, on 02/25/2013 at 11:40 AM, Donald Likens dlik...@infosecinc.com said: Am I correct is saying B040 is a quadword boundary? Not unless the address in R11 is quadword aligned. -- Shmuel (Seymour J.) Metz, SysProg and JOAT

Re: I do not understand S0C6 on CDSG

2013-02-26 Thread Paul Gilmartin
On Tue, 26 Feb 2013 12:46:13 -0600, Bill Godfrey wrote: If the address is guaranteed to be double word aligned, you only need to obtain 8 more bytes than needed. I was thinking of another 8 bytes to save the address originally returned by OBTAIN. -- gil

AMASPZAP SECTALGN Bug (Was: I do not understand S0C6 on CDSG)

2013-02-26 Thread Ed Jaffe
On 2/26/2013 5:06 AM, John Gilmore wrote: I have also verified that Edward Jaffe's clarification is entirely correct. I am now more than a little curious to discover how this particular bug was discovered. It is clear that one can specify GOFF and quadword alignment and then, avoiding with

Re: I do not understand S0C6 on CDSG

2013-02-26 Thread John Gilmore
When J. P. Morgan was queried about how much the maintenance of the steam yacht he used to commute between Manhattan and New Jersey cost him, his legendary reply was, 'If you have to ask, you can't afford it. Analogously, if you have to look up the history of congruences in a Wikipedia article,

Re: I do not understand S0C6 on CDSG

2013-02-26 Thread Don Williams
-MAIN@LISTSERV.UA.EDU] On Behalf Of John Gilmore Sent: Tuesday, February 26, 2013 3:47 PM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: I do not understand S0C6 on CDSG When J. P. Morgan was queried about how much the maintenance of the steam yacht he used to commute between Manhattan and New

Re: AMASPZAP SECTALGN Bug (Was: I do not understand S0C6 on CDSG)

2013-02-26 Thread John Gilmore
My point about 'blind luck' was different, it was that many things doable once GOFF is in effect are supported only for inclusion in program objects. Many GOFF 'object modules' cannot, that is, be link edited into a load module. The situation is complicated; many program objects can, for

Re: I do not understand S0C6 on CDSG

2013-02-26 Thread Robert A. Rosenberg
At 09:06 -0600 on 02/26/2013, Tom Marchant wrote about Re: I do not understand S0C6 on CDSG: I suppose someone might find it useful to (for example) align a CSECT to a doubleword boundary that is not a quadword boundary. I don't know why someone would want to do that. You want Quadword

Re: I do not understand S0C6 on CDSG

2013-02-26 Thread Paul Gilmartin
On Tue, 26 Feb 2013 18:59:01 -0500, Robert A. Rosenberg wrote: You want Quadword alignment of something in the CSECT without any gas preceding it due to it being Quadword aligned. IOW: It has an offset of an odd number DWs from the start of the CSECT. What I was more thinking of was that on the

Re: I do not understand S0C6 on CDSG

2013-02-26 Thread Chris Craddock
On Behalf Of John Gilmore Sent: Tuesday, February 26, 2013 8:07 AM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: I do not understand S0C6 on CDSG I have also verified that Edward Jaffe's clarification is entirely correct. I am now more than a little curious to discover how

I do not understand S0C6 on CDSG

2013-02-25 Thread Donald Likens
I am missing something: The Principles of Operations states: COMPARE DOUBLE AND SWAP (CDSG) must be designated on a quadword boundary. The R1 and R2 fields for COMPARE DOUBLE AND SWAP must each designate an even-numbered register. Otherwise, a specification exception is recognized. I think

Re: I do not understand S0C6 on CDSG

2013-02-25 Thread Farley, Peter x23353
- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of Donald Likens Sent: Monday, February 25, 2013 12:40 PM To: IBM-MAIN@LISTSERV.UA.EDU Subject: I do not understand S0C6 on CDSG I am missing something: The Principles of Operations states: COMPARE DOUBLE AND SWAP

Re: I do not understand S0C6 on CDSG

2013-02-25 Thread John McKown
Depends on the contents of register 11. B040 will be quad word aligned only if register 11 is itself quad word aligned. If you got this from a STORAGE OBTAIN or GETMAIN, then the alignment is only guaranteed to be double word aligned, unless you ask for it to be page aligned. There is no way to

Re: I do not understand S0C6 on CDSG

2013-02-25 Thread Paul Gilmartin
On Mon, 25 Feb 2013 11:40:08 -0600, Donald Likens wrote: Is there a good way in assembler to insure a double word starts on a quadword boundary? DS((*+15-CSECT)/16*16)C o There may be an easier way. o This presumes CSECT is on a quadword boundary. There may be ways to force

Re: I do not understand S0C6 on CDSG

2013-02-25 Thread Paul Gilmartin
On Mon, 25 Feb 2013 11:49:59 -0600, John McKown wrote: Depends on the contents of register 11. B040 will be quad word aligned only if register 11 is itself quad word aligned. If you got this from a STORAGE OBTAIN or GETMAIN, then the alignment is only guaranteed to be double word aligned, unless

Re: I do not understand S0C6 on CDSG

2013-02-25 Thread John Gilmore
You can of course force assembly-time, zero-origin quadword alignment within a program object using | CNOP byte,16 which fills n bytes, 0 = n =15, with no operation instructions Then asking the Binder to page-align your program object will do the job [4096 = 0 mod(16)]. For a

Re: I do not understand S0C6 on CDSG

2013-02-25 Thread Tom Marchant
On Mon, 25 Feb 2013 15:07:31 -0500, John Gilmore wrote: You can of course force assembly-time, zero-origin quadword alignment within a program object using | CNOP byte,16 or with DS 0LQ And either of these of course requires that SECTALGN(16) and GOFF be specified in the

Re: I do not understand S0C6 on CDSG

2013-02-25 Thread Wayne Driscoll
=== From: Tom Marchant m42tom-ibmm...@yahoo.com To: IBM-MAIN@listserv.ua.edu, Date: 02/25/2013 04:13 PM Subject:Re: [IBM-MAIN] I do not understand S0C6 on CDSG Sent by:IBM Mainframe Discussion List IBM-MAIN@listserv.ua.edu On Mon, 25 Feb 2013 15

Re: I do not understand S0C6 on CDSG

2013-02-25 Thread John Gilmore
Tom Marchant wrote: begin extract And either of these of course requires that SECTALGN(16) and GOFF be specified in the assembly options. /end extract and this is of course correct.GOFF is required for any value of SECTALGN greater than SECTALGN(8). There are some further issues that I was

Re: I do not understand S0C6 on CDSG

2013-02-25 Thread Ed Jaffe
On 2/25/2013 5:23 PM, John Gilmore wrote: APAR OA41232 of 17 January 2013 notes that AMASPZAP cannot|could not be used on a program object for which SECTALGN(16) was specified. Just to clarify. This bug exists for PDS load modules created with SECTALGN(16) only and _not_ for program objects