How would you handle CC 3 from TPROT? Does z/VSE have a facility to request a page-in without treating an invalid virtual address as an error?
-- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3 ________________________________________ From: IBM Mainframe Assembler List [[email protected]] on behalf of Tony Thigpen [[email protected]] Sent: Saturday, March 5, 2022 7:39 PM To: [email protected] Subject: Re: Testing address validity z/VSE and running on the callers TCB (for several z/VSE related reasons). Tony Thigpen Seymour J Metz wrote on 3/5/22 19:35: > As a subsystem, you should have your own recovery environment, so what you do > won't interfere with the caller's error recovery. Using a recovery routine, > whether to handle a program check or to handle the ABEND from an unhandled > program check, has two advantages: > > 1. It works when the data were paged out > > 2. It solves the time-of-check to time-of-use problem. > > > -- > Shmuel (Seymour J.) Metz > https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F%2Fmason.gmu.edu%2F~smetz3&data=04%7C01%7Csmetz3%40gmu.edu%7C5eb4f155d5e348a4f78008d9ff09d6ef%7C9e857255df574c47a0c00546460380cb%7C0%7C0%7C637821240001763574%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=Q3IlautNVBoE6qUYgjR%2FwOqI3QhfFhBJU6761VPOuSs%3D&reserved=0 > > ________________________________________ > From: IBM Mainframe Assembler List [[email protected]] on > behalf of Tony Thigpen [[email protected]] > Sent: Saturday, March 5, 2022 5:11 PM > To: [email protected] > Subject: Re: Testing address validity > > My thoughts. > > Since I support software that is called by any number of users, I would > like to validate that they provided valid parms. As a called subsystem, > I can't be messing with the callers error handling routines that may > already be handling SOC4s. I don't want to know if it's 'in storage', > just that it is accessible even if a page-fault is needed. > > I wish there was a simple: > TEST MEMORY AND BRANCH INVALID > operands R1 is a register pair with R1=address and R1+1=length to > validate. (Like an MVCL.) > > Instead of a SOC4, just branch to the address provided as the second > operand where I have placed an error handler. > > > > Tony Thigpen > > Paul Gilmartin wrote on 3/5/22 16:48: >> On Mar 5, 2022, at 05:44:41, João Reginato wrote: >>> >>> Which is the best instruction to test if a virtual address is still valid to >>> avoid an unexpected S0C4? >>> >> How is that information useful? >> >> Is its usefulness diminished by "an unexpected S0C4"? >> >> -- >> gil
