> > I'm looking for advice on the use of IVSK / ISKE instructions, IVSK is a fine righteous thing to play with. ISKE is not.
> I have this program that loads (SVC 08) a couple of programs. > The program that load is running key9 , however SVC08 load them > in key8 with fetch protection... Contents supervision is only ever going to load the module in fetch protected storage in the job step key unless the module is reentrant and comes from an APF authorized library. Them's the rules. So in this case, there is no way for you to get what you want playing by the rules. That's usually a clue that what you think you want is not really what you want at all. > I'm trying to turn off the fetch protect bit with sske OOOOOOOHHHHHH... Tres bad idea. SSKE is one of those instructions that are reserved for use by the control program and in any case it only changes the real storage key. You would just break things if you ever got that to work. A key zero and sup state program can use the CHANGKEY macro to change the virtual storage key and fetch protection, but the area has to begin on a page boundary and contain an integral number of pages. Beware that contents uses subpool 251/252 for program loads and it just getmains as much as it needs for the module, so you have no control over alignment and number of pages unless you put the right directives in the bind for the module. You would have to get the origin and length of the module by calling CSVQUERY first. IMO even that is kind of dangerous, but if you have no other choice fire away. Its not my dog. > when I run IVSK and ISKE I get different key. The program > thats read the storage is a CICS program. I pass to ISKE the > real address which I obtain from LRA. Ignoring for a moment how you manage to issue an LRA from a normal unauthorized, problem state key 8/9 CICS program, there is no way to guarantee that the virtual to real mapping is the same between the LRA (which should be a LRAG anyway) and the ISKE. You would have to page fix the storage first which is a bit on the brutal side. In addition, ISKE is sensitive to the virtual addressing mode. If you are in 31 bit mode its only going to look at the 31 bit portion of the real address, even if there's non-zero data in the high half of the gpr. This is a place you really should not be treading. > It makes me wonder if CICS is turning on / off the > fetch protect bit because I trace with CEDF & I can browse the loaded > program but can't run the user program. AFAIK CICS doesn't do anything of the sort. The storage protection override control feature of the architecture allows any key 8 program to access key 8 or key 9 data, but not the reverse. CEDF is in key 8 so no harm no foul. Your application is (apparently) in key 9. Bzzzt. I'm not sure what you're trying to accomplish. Since you're talking about supervisor state instructions, you probably have the wherewithall to get more or less anythign you want. Figuring out what you want is going to be the hard part. CC ---------------------------------------------------------------------- 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