Re: The Hole Below the Bar
On Fri, 9 Nov 2007 10:54:53 -0600, Tony Harminc wrote: There is nothing in the C language definition to suggest that zero is not a valid pointer value. But be careful that you distinguish between zero cast to a pointer type and zero as the memory object representing a pointer. From ANSI X3.159-1989: 3.3.3.2 Address and Indirection Operators; footnote 42: ... Among the invalid values for dereferencing a pointer by the unary * operator are a null pointer, ... (I could hardly believe that the definers of the language could be so careless as you suggest.) In the 24-bit days, PL/I and TSO parse (IKJPARS) both used X'FF00' as their bad or end of chain value, IIRC. And in the 64-bit days, x' FF00 ' should likewise serve well for a bad or NULL value for PL/1 or C; for z/OS, but not for Linux. It would be good design to create another 1-byte hole at x' ' and use that (truncated on the left as suitable) as the memory representation of the bad or NULL pointer for all OSes. -- gil -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
The Hole Below the Bar
Interesting evolution of 24 - 31 - 64 bit addressing : - 16MB is a real euclidian line i.e. zero thickness. - 2GB line has a thickness of 4KB - Now the bar is 2GB wide. As for the need of a guaranteed bad address, is it something similar to a NULL pointer in C ? If I recall correctly, C implemets NULL pointers as X'0' which off course would run into issues with PSA access here. By the way how was this need satisfied in 24 bit days ? Or was it that the need hadn't arisen yet ? Just curious Mohammad On Thu, 8 Nov 2007 17:48:05 -0500, Jim Mulder [EMAIL PROTECTED] wrote: IBM Mainframe Discussion List IBM-MAIN@BAMA.UA.EDU wrote on 11/08/2007 12:24:52 PM: On Thu, 8 Nov 2007 08:43:03 -0800 Edward Jaffe [EMAIL PROTECTED] wrote: :There is also a one-page hole at 7000. (Another handy :implementation choice made by your friendly-neighborhood z/OS developers!) Interesting. Is that hole documented? I don't know if it is documented, but it has been that way since the beginning of MVS/XA, and isn't going to change. Is there any 24 bit virtual address which is never assigned a slot? No, there is no such 24 bit virtual address. With only 4,096 pages that are 24-bit addressable, I guess we didn't want to dedicate one of them for that purpose. Jim Mulder z/OS System Test IBM Corp. Poughkeepsie, NY -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: The Hole Below the Bar
On Fri, 9 Nov 2007 08:10:31 -0600 Mohammad Khan [EMAIL PROTECTED] wrote: :Interesting evolution of 24 - 31 - 64 bit addressing : : - 16MB is a real euclidian line i.e. zero thickness. : - 2GB line has a thickness of 4KB : - Now the bar is 2GB wide. :As for the need of a guaranteed bad address, is it something similar to a :NULL pointer in C ? If I recall correctly, C implemets NULL pointers as X'0' :which off course would run into issues with PSA access here. By the way how :was this need satisfied in 24 bit days ? Or was it that the need hadn't arisen :yet ? It is a need for a pointer with a bad value, one that guarantees a failure if not checked for validity. It is a safety net. 0 or X'8000' in 24/31 bit mode does not do the job, since location 0 can be freely fetched. -- Binyamin Dissen [EMAIL PROTECTED] http://www.dissensoftware.com Director, Dissen Software, Bar Grill - Israel Should you use the mailblocks package and expect a response from me, you should preauthorize the dissensoftware.com domain. I very rarely bother responding to challenge/response systems, especially those from irresponsible companies. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: The Hole Below the Bar
On Fri, 9 Nov 2007 08:10:31 -0600, Mohammad Khan [EMAIL PROTECTED] wrote: As for the need of a guaranteed bad address, is it something similar to a NULL pointer in C ? If I recall correctly, C implemets NULL pointers as X'0' which off course would run into issues with PSA access here. By the way how was this need satisfied in 24 bit days ? Or was it that the need hadn't arisen yet ? There is nothing in the C language definition to suggest that zero is not a valid pointer value. In the 24-bit days, PL/I and TSO parse (IKJPARS) both used X'FF00' as their bad or end of chain value, IIRC. Tony H. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: The Hole Below the Bar
In the 24-bit days, PL/I and TSO parse (IKJPARS) both used X'FF00' as their bad or end of chain value, IIRC. CICS does the same for Exec Cics Address. Roland -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html