On Mon, 17 Oct 2016 12:12:38 +0200, Christian Borntraeger wrote: > >As you already guessed, the memory you get is virtual, so the pages are not >consecutive. The LRA will give you the address of the first page, but the 2nd, >3rd and so on will be somewhere else. Please note that your code will even >cause random memory overwrites in your z/OS as the diag8 will write to the >real address of your LRA, the real address of your LRA+4096 and so on. > Ouch! But can't physical pages nowadays be much larger than 4096 bytes? Might the real address be above the bar? Does DIAG 8 support buffers above the bar? Otherwise it would be prudent design for DIAG 8 to reject requests when the reply buffer might cross physical page boundaries?
Do some OSes support allocation of contiguous pages? I suppose V=R is obsolete nowadays. Hmmm... What happens if AMODE 31 code issues LRA and the real address is above the bar? Program check? Or does LRA simply (always?) load a 64-bit register? Is there an LRAG instruction? -- gil ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN