>>> On 10/17/2016 at 02:23 AM, Paul Schuster <[email protected]> wrote: > I am issuing DIAGNOSE 8 on my z/os image under VM (z/vm) to do a QUERY > VIRTUAL DASD. It works*up to a certain point: > > The QUERY VIRTUAL DASD command returns (for me) 38617 (decimal) bytes, > according to the CC=0 after the DIAGNOSE 8 command. My buffer is large > enough to accommodate this. I have tried several different sub-pools of > storage. I PGSER FIX the buffer pages. I do a SYSEVENT DONTSWAP. I do a > LRA of the virtual address of the start of the buffer. The DIAGNOSE > completes CC=0. But, in my buffer, I am only seeing the first page (4095) > bytes of the output. > > My question: I don*t see any documented restriction in the VM manuals that > limits the DIAGNOSE 8 output buffer to 4K (rather the limitation is the > architecture limit depending on your amode.) The z/vm manuals say the buffer > can cross page boundaries. So is there a way to force the real storage > addresses of the page-fixed pages to be consecutive? According to the > diagnose 8 doc., the buffer needs to be in guest-real storage, hence the LRA. > And it is working for the first 4k page. > > Thank you for any insight you can provide.
I have no idea how well the concepts will transfer, but Linux has had a command that issues DIAGNOSE 8 calls for a very long time now. That command was originally "hcp" by Neale Ferguson, but then IBM created a different version called "vmcp". Those commands work, so you might be able to figure out what they're doing and apply that to your program. Mark Post ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
