Re: The Hole Below the Bar

2007-11-12 Thread Paul Gilmartin
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

2007-11-09 Thread Mohammad Khan
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

2007-11-09 Thread Binyamin Dissen
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

2007-11-09 Thread Tony Harminc
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

2007-11-09 Thread Roland Schiradin
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