« Return to Thread: Addressing MVS control blocks from Hercules e.g. PSAAOLD/PSATOLD

Re: Addressing MVS control blocks from Hercules e.g. PSAAOLD/PSATOLD

by michealbutz2002 :: Rate this Message:

Reply to Author | View in Thread

I am trying to look at a private address space from whitin  Hercules
so I need to know what address space I am dealing with

A picture is worth a thousand word so I'll show you snipets of my code
in ESA390.H

typedef struct ASCB_a                 <--- MY CODE
{
char fillerc[36];                     <-- MY CODE  
/* asid of address space */ HWORD ascbasid;    <-- MY CODE
} ASCB;                             <-- MY CODE

typedef struct ASCB_a *PSAAOLD;    <-- MY CODE


/*1C0*/ FWORD  storecr[16];             /* Control register save area*/
BYTE resv0201[28];
/* current dispatched TCB  21C */ FWORD psatold; <-- MY CODE
BYTE resv0202[4];
 /* HOME ADDRESS SPACE */ PSAAOLD psaaold; <-- MY CODE
} PSA_3XX;

/*01F0*/ QWORD  iopnew;                 /* I/O new PSW               */
/* 0200 */  BYTE   resv0200[4096];         /* Reserved                  */
BYTE resv0201[28];
/* current dispatched TCB  21C */ FWORD psatold; <-- MY CODE
BYTE resv0202[4];
 /* HOME ADDRESS SPACE */ PSAAOLD psaaold;   <-- MY CODE
 BYTE resv0203[4056];
/*1200*/ FWORD  storefpr[32];           /* FP register save area     */
/*1280*/ DBLWRD storegpr[16];           /* General register save area*/
/*1300*/ QWORD  storepsw;               /* Store status PSW save area*/
/*1310*/ DBLWRD resv1310;               /* Reserved                  */
/*1318*/ FWORD  storepfx;               /* Prefix register save area */
/*131C*/ FWORD  storefpc;               /* FP control save area      */
/*1320*/ FWORD  resv1320;               /* Reserved                  */
/*1324*/ FWORD  storetpr;               /* TOD prog reg save area    */
/*1328*/ DBLWRD storeptmr;              /* CPU timer save area       */
/*1330*/ DBLWRD storeclkc;              /* Clock comparator save area*/
/*1338*/ DBLWRD resv1338;               /* Reserved                  */
/*1340*/ FWORD  storear[16];            /* Access register save area */
/*1380*/ DBLWRD storecr[16];            /* Control register save area*/
} PSA_900;





 In cpu.c

psa = (void*)(regs->mainstor + regs->PX);
myasid = ((U16) *psa->psaaold->ascbasid


 I am running this code under the Visual Studio debugger
when I reference myasid I blow up  



--- In hercules-390@..., "somitcw" <somitcw@...> wrote:

>
> --- In hercules-390@...,
>  "michealbutz2002" <bytemaster@> wrote:
> > Hi
> > is it possible to address MVS control blocks
> >from Hercules in ESA390.H
> > There are 2 definations for the PSA PSA_3XXX and
> >PSA_390 when I add to either on at offset hex
> >210/224 psatold/psaaold and try to view it via
> >MS Visual Studio debugger I get garbage  
> > Can I do this ???
>
>    Are you looking at the Prefix Storage Area real,
> virtual, or absolute address?
>
>    What commands are you using?
>
>    What responses did you get?
>
>    What does the Prefix Register for each CPU
> point to?
>


 « Return to Thread: Addressing MVS control blocks from Hercules e.g. PSAAOLD/PSATOLD