370 Guests of VM/ESA SEVERELY broken

View: New views
9 Messages — Rating Filter:   Alert me  

370 Guests of VM/ESA SEVERELY broken

by paoloG :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi all,
The IPL command in a 370 mode guest of VM/ESA 2.4 doesn't work.
Any kind of IPL (from dasd-tape-reader) gives the same message; for example IPL from an empty card reader:
                               
IPL 00C
HCPGIR453W CP entered; program interrupt loop.

from tape:

IPL 181
HCPGIR453W CP entered; program interrupt loop.

An I/O trace shows that IPL command fails without even trying to do any I/O on the IPL device.

I've noticed that in Hercules 3.05 the 370 mode guest IPL is working; so I've made some research and have discovered that the offending revision of Hercules is:

Author: ivan
Revision Date: Mon, 8 Dec 2008 20:38:20 UTC
Revision comments: Fix SIE DAT Issue with ESA/390 Guest on z/Arch host with >2GB of storage

In any CSV version before that date IPL in a 370 guest machine works fine; to do a simple test in any CMS guest you can IPL 00C with an empty card reader:

SET MACH 370
IPL 00C  

If IPL works you get this message:  
 
HCPVMJ232E IPL UNIT ERROR; CSW 00000000 02000000 SNS 40  
HCPGIR450W CP entered; disabled wait PSW 00060000 00000232

If IPL doesn't work you'll get this one:

HCPGIR453W CP entered; program interrupt loop.


Hoping that some Hercules developer can correct the error.

Regards.  
 



Re: 370 Guests of VM/ESA SEVERELY broken

by jsganino-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Paolo,

    I've seen this in z/VM when IPL'ing a VM/ESA guest on real hardware.  My circumstances were admittedly different, but could you check a couple things and let the group know?

1) What is your terminal CONMODE setting?   To IPL some operating systems, there is a requirement that the CONMODE be 3270.  

2) How much memory is defined in the 370 mode guest that you are trying to IPL?   Just in case there is some peculiar side effect, I'd recommend that you limit it to 16MB before trying to IPL.

As an aside, there was a bug in VM/ESA up to about 2.4 that prevented 2nd level VM's from manipulating tape drives.  (This created a real challenge for me in disaster recovery exercise several years ago.)  The details are fuzzy, but I remember we had to map the guest's disks to the first level directory and restore them at first level before we could IPL the restored system at second level.  

                                                                              One last tidbit:  the following comes from the help page for HCP453W:

Programmer Response:  To determine the reason for the loop, examine the        
program-check information in page zero of your virtual storage.  If this error
occurred immediately after the IPL command, the problem may be that you are    
trying to run a 370 guest in XA mode, or the reverse (issue the QUERY SET      
command to find out the current MACHINE setting).  In this case, issue the SET
MACHINE command to select the proper mode.                                    


That's all the light I can shed; I hope there's something useful in it.  Good Luck.

Jim

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

>
> Hi all,
> The IPL command in a 370 mode guest of VM/ESA 2.4 doesn't work.
> Any kind of IPL (from dasd-tape-reader) gives the same message; for example IPL from an empty card reader:
>                                
> IPL 00C
> HCPGIR453W CP entered; program interrupt loop.
>
> from tape:
>
> IPL 181
> HCPGIR453W CP entered; program interrupt loop.
>
> An I/O trace shows that IPL command fails without even trying to do any I/O on the IPL device.
>
> I've noticed that in Hercules 3.05 the 370 mode guest IPL is working; so I've made some research and have discovered that the offending revision of Hercules is:
>
> Author: ivan
> Revision Date: Mon, 8 Dec 2008 20:38:20 UTC
> Revision comments: Fix SIE DAT Issue with ESA/390 Guest on z/Arch host with >2GB of storage
>
> In any CSV version before that date IPL in a 370 guest machine works fine; to do a simple test in any CMS guest you can IPL 00C with an empty card reader:
>
> SET MACH 370
> IPL 00C  
>
> If IPL works you get this message:  
>  
> HCPVMJ232E IPL UNIT ERROR; CSW 00000000 02000000 SNS 40  
> HCPGIR450W CP entered; disabled wait PSW 00060000 00000232
>
> If IPL doesn't work you'll get this one:
>
> HCPGIR453W CP entered; program interrupt loop.
>
>
> Hoping that some Hercules developer can correct the error.
>
> Regards.
>



Re: 370 Guests of VM/ESA SEVERELY broken

by paoloG :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message











--- In hercules-390@..., "jsganino" <James.Ganino@...> wrote:
>
> Paolo,
>
>     I've seen this in z/VM when IPL'ing a VM/ESA guest on real hardware.  My circumstances were admittedly different, but could you check a couple things and let the group know?
>
> 1) What is your terminal CONMODE setting?   To IPL some operating systems, there is a requirement that the CONMODE be 3270.  

CONMODE 3270 or 3215 : the same error.

> 2) How much memory is defined in the 370 mode guest that you are trying to IPL?   Just in case there is some peculiar side effect, I'd recommend that you limit it to 16MB before trying to IPL.
>

16M, less than 16M, more than 16M : the same error.

>
> As an aside, there was a bug in VM/ESA up to about 2.4 that prevented 2nd level VM's from manipulating tape drives.  (This created a real challenge for me in disaster recovery exercise several years ago.)  The details are fuzzy, but I remember we had to map the guest's disks to the first level directory and restore them at first level before we could IPL the restored system at second level.  
>
>                                                                               One last tidbit:  the following comes from the help page for HCP453W:
>
> Programmer Response:  To determine the reason for the loop, examine the        
> program-check information in page zero of your virtual storage.  If this error
> occurred immediately after the IPL command, the problem may be that you are    
> trying to run a 370 guest in XA mode, or the reverse (issue the QUERY SET      
> command to find out the current MACHINE setting).  In this case, issue the SET
> MACHINE command to select the proper mode.                                    
>
>
> That's all the light I can shed; I hope there's something useful in it.  Good Luck.
>
> Jim
>

Jim, many thanks for your suggestions; but IMHO there's a bug in Hercules, because with Hercules 3.05 I can IPL quite a lot of 370 guests under VM/ESA 2.4 (DOS/360, DOS/VS, OS/MVT, OS/MFT, OS/VS1, VM/370, VM/SP, MVS, CMS of VM/SP).
Starting from Revision Date: Mon, 8 Dec 2008 20:38:20 UTC to the last CSV available when I try to IPL a 370 guest I get the error described.

I could try to modify the modified sources but I'm not too skilled in C++ ....;-(

Regards.

> --- In hercules-390@..., "paoloG" <crc@> wrote:
> >
> > Hi all,
> > The IPL command in a 370 mode guest of VM/ESA 2.4 doesn't work.
> > Any kind of IPL (from dasd-tape-reader) gives the same message; for example IPL from an empty card reader:
> >                                
> > IPL 00C
> > HCPGIR453W CP entered; program interrupt loop.
> >
> > from tape:
> >
> > IPL 181
> > HCPGIR453W CP entered; program interrupt loop.
> >
> > An I/O trace shows that IPL command fails without even trying to do any I/O on the IPL device.
> >
> > I've noticed that in Hercules 3.05 the 370 mode guest IPL is working; so I've made some research and have discovered that the offending revision of Hercules is:
> >
> > Author: ivan
> > Revision Date: Mon, 8 Dec 2008 20:38:20 UTC
> > Revision comments: Fix SIE DAT Issue with ESA/390 Guest on z/Arch host with >2GB of storage
> >
> > In any CSV version before that date IPL in a 370 guest machine works fine; to do a simple test in any CMS guest you can IPL 00C with an empty card reader:
> >
> > SET MACH 370
> > IPL 00C  
> >
> > If IPL works you get this message:  
> >  
> > HCPVMJ232E IPL UNIT ERROR; CSW 00000000 02000000 SNS 40  
> > HCPGIR450W CP entered; disabled wait PSW 00060000 00000232
> >
> > If IPL doesn't work you'll get this one:
> >
> > HCPGIR453W CP entered; program interrupt loop.
> >
> >
> > Hoping that some Hercules developer can correct the error.
> >
> > Regards.
> >
>



Re: Re: 370 Guests of VM/ESA SEVERELY broken

by Alexey Bozrikov :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


[skipped]

p> Jim, many thanks for your suggestions; but IMHO there's a bug in
p> Hercules, because with Hercules 3.05 I can IPL quite a lot of 370
p> guests under VM/ESA 2.4 (DOS/360, DOS/VS, OS/MVT, OS/MFT, OS/VS1,
p> VM/370, VM/SP, MVS, CMS of VM/SP).
p> Starting from Revision Date: Mon, 8 Dec 2008 20:38:20 UTC to the
p> last CSV available when I try to IPL a 370 guest I get the error described.

p> I could try to modify the modified sources but I'm not too skilled in C++ ....;-(

p> Regards.

My  apologies for breaking into the conversation. I had the impression
that  370  guests  could  only  IPL on VM/ESA 370 feature (which never
reached   version   2.4),   as  virtual  machine  provides  underlying
architecture  (that  is - ESA/390). What you are saying (or, at least,
what  I  understood)  is  that  you  can IPL VM/ESA 2.4 in Herc (using
ARCHMODE  ESA/390) and then IPL VM/370 in a 370 virtual machine? Is it
correct?


Alexey


** There are many intelligent species in the universe, and they all own cats.


Re: 370 Guests of VM/ESA SEVERELY broken

by paoloG :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message





--- In hercules-390@..., Alexey <bozy@...> wrote:

>
>
> [skipped]
>
> p> Jim, many thanks for your suggestions; but IMHO there's a bug in
> p> Hercules, because with Hercules 3.05 I can IPL quite a lot of 370
> p> guests under VM/ESA 2.4 (DOS/360, DOS/VS, OS/MVT, OS/MFT, OS/VS1,
> p> VM/370, VM/SP, MVS, CMS of VM/SP).
> p> Starting from Revision Date: Mon, 8 Dec 2008 20:38:20 UTC to the
> p> last CSV available when I try to IPL a 370 guest I get the error described.
>
> p> I could try to modify the modified sources but I'm not too skilled in C++ ....;-(
>
> p> Regards.
>
> My  apologies for breaking into the conversation. I had the impression
> that  370  guests  could  only  IPL on VM/ESA 370 feature (which never
> reached   version   2.4),   as  virtual  machine  provides  underlying
> architecture  (that  is - ESA/390). What you are saying (or, at least,
> what  I  understood)  is  that  you  can IPL VM/ESA 2.4 in Herc (using
> ARCHMODE  ESA/390) and then IPL VM/370 in a 370 virtual machine? Is it
> correct?

Alexey,
you can IPL VM/370 in a 370 virtual machine under VM/ESA 2.4 provided that:

1) Hercules works correctly (version 3.05 is OK; for actual version I'm waiting....:-( ).
2) You must give the command SET MACH 370 in the virtual machine, or define MACHINE 370 in directory.
3) VM/ESA 2.4 doesn't sense correctly 3350 dasds, so you have to define them in HCPRIO and regen CP nucleus.

VM/ESA 2.4 can be IPL'd only in ESA/390 mode.

Regards.

Paul
 
> Alexey
>
>
> ** There are many intelligent species in the universe, and they all own cats.
>



Re: Re: 370 Guests of VM/ESA SEVERELY broken

by Dave Wade :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message



Alexey wrote:

> [skipped]
>
> p> Jim, many thanks for your suggestions; but IMHO there's a bug in
> p> Hercules, because with Hercules 3.05 I can IPL quite a lot of 370
> p> guests under VM/ESA 2.4 (DOS/360, DOS/VS, OS/MVT, OS/MFT, OS/VS1,
> p> VM/370, VM/SP, MVS, CMS of VM/SP).
> p> Starting from Revision Date: Mon, 8 Dec 2008 20:38:20 UTC to the
> p> last CSV available when I try to IPL a 370 guest I get the error described.
>
> p> I could try to modify the modified sources but I'm not too skilled in C++ ....;-(
>
> p> Regards.
>
> My  apologies for breaking into the conversation. I had the impression
> that  370  guests  could  only  IPL on VM/ESA 370 feature (which never
> reached   version   2.4),   as  virtual  machine  provides  underlying
> architecture  (that  is - ESA/390). What you are saying (or, at least,
> what  I  understood)  is  that  you  can IPL VM/ESA 2.4 in Herc (using
> ARCHMODE  ESA/390) and then IPL VM/370 in a 370 virtual machine? Is it
> correct?
>

That's right, but there are lots of "gotchas" I think ESA will object
unless the hardware type is set to a model that has 370 support in the
SIE. The VM should have issued a "SET MACHINE 370" or have an approriate
directory statement. It most be an old version of VM/ESA as support was
removed at some point. I don't remember when. Any way if all the above
caveats are true then the the combination of CP and SIE should allow 370
guests to IPL in VMs.

I suspect something is broken in SIE in Hercules but that probably needs
Ivan to look at it.



>
> Alexey
>

Re: Re: 370 Guests of VM/ESA SEVERELY broken

by Alexey Bozrikov :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

DW> Alexey wrote:

>> [skipped]
>>
>> p> Jim, many thanks for your suggestions; but IMHO there's a bug in
>> p> Hercules, because with Hercules 3.05 I can IPL quite a lot of 370
>> p> guests under VM/ESA 2.4 (DOS/360, DOS/VS, OS/MVT, OS/MFT, OS/VS1,
>> p> VM/370, VM/SP, MVS, CMS of VM/SP).
>> p> Starting from Revision Date: Mon, 8 Dec 2008 20:38:20 UTC to the
>> p> last CSV available when I try to IPL a 370 guest I get the error described.
>>
>> p> I could try to modify the modified sources but I'm not too skilled in C++ ....;-(
>>
>> p> Regards.
>>
>> My  apologies for breaking into the conversation. I had the impression
>> that  370  guests  could  only  IPL on VM/ESA 370 feature (which never
>> reached   version   2.4),   as  virtual  machine  provides  underlying
>> architecture  (that  is - ESA/390). What you are saying (or, at least,
>> what  I  understood)  is  that  you  can IPL VM/ESA 2.4 in Herc (using
>> ARCHMODE  ESA/390) and then IPL VM/370 in a 370 virtual machine? Is it
>> correct?
>>

DW> That's right, but there are lots of "gotchas" I think ESA will object
DW> unless the hardware type is set to a model that has 370 support in the
DW> SIE. The VM should have issued a "SET MACHINE 370" or have an approriate
DW> directory statement. It most be an old version of VM/ESA as support was
DW> removed at some point. I don't remember when. Any way if all the above
DW> caveats are true then the the combination of CP and SIE should allow 370
DW> guests to IPL in VMs.

Hmmm! Will try with Herc 3.05 then.. I failed few times, but all my
attempts were with 3.06

Alexey

DW> I suspect something is broken in SIE in Hercules but that probably needs
DW> Ivan to look at it.



** All intelligent species own cats.


Re: 370 Guests of VM/ESA SEVERELY broken

by paoloG :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message











--- In hercules-390@..., Dave Wade <g4ugm@...> wrote:

>
>
>
> Alexey wrote:
> > [skipped]
> >
> > p> Jim, many thanks for your suggestions; but IMHO there's a bug in
> > p> Hercules, because with Hercules 3.05 I can IPL quite a lot of 370
> > p> guests under VM/ESA 2.4 (DOS/360, DOS/VS, OS/MVT, OS/MFT, OS/VS1,
> > p> VM/370, VM/SP, MVS, CMS of VM/SP).
> > p> Starting from Revision Date: Mon, 8 Dec 2008 20:38:20 UTC to the
> > p> last CSV available when I try to IPL a 370 guest I get the error described.
> >
> > p> I could try to modify the modified sources but I'm not too skilled in C++ ....;-(
> >
> > p> Regards.
> >
>
> That's right, but there are lots of "gotchas" I think ESA will object
> unless the hardware type is set to a model that has 370 support in the
> SIE. The VM should have issued a "SET MACHINE 370" or have an approriate
> directory statement. It most be an old version of VM/ESA as support was
> removed at some point. I don't remember when. Any way if all the above
> caveats are true then the the combination of CP and SIE should allow 370
> guests to IPL in VMs.
>
> I suspect something is broken in SIE in Hercules but that probably needs
> Ivan to look at it.

Dave,
as usual you're right.
If I IPL VM/ESA under z/VM 5.3 Evaluation (or 4.4 as well), SET MACHINE 370 fails (SIE for ESAME doesn't support 370 mode).
Your suspect of a broken Hercules is right; I took one of the last snaphots and modified the following modules:

opcode.h

old code: (line 988)
+ (uintptr_t)(_aaddr)) \

new code:
+ (uintptr_t)((_aaddr) & PAGEFRAME_PAGEMASK)) \

dat.h

old code: (lines 2238-2263)
regs->tlb.main[ix]       = NEW_MAINADDR (regs, addr, apfra);
regs->tlb.main[ix]    = NEW_MAINADDR (regs, addr, apfra);

new code:
regs->tlb.main[ix]       = NEW_MAINADDR (regs, addr, aaddr);
regs->tlb.main[ix]    = NEW_MAINADDR (regs, addr, aaddr);

and now IPL of VM/SP under VM/ESA works like a charm.
Not sure if something other is no more working .. ;-)

Let's hope that our great experts may fix officially the bug.

Regards.

Paul




Re: Re: 370 Guests of VM/ESA SEVERELY broken

by Ivan Warren :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

paoloG wrote:

>
> opcode.h
>
> old code: (line 988)
> + (uintptr_t)(_aaddr)) \
>
> new code:
> + (uintptr_t)((_aaddr) & PAGEFRAME_PAGEMASK)) \
>
> dat.h
>
> old code: (lines 2238-2263)
> regs->tlb.main[ix]       = NEW_MAINADDR (regs, addr, apfra);
> regs->tlb.main[ix]    = NEW_MAINADDR (regs, addr, apfra);
>
> new code:
> regs->tlb.main[ix]       = NEW_MAINADDR (regs, addr, aaddr);
> regs->tlb.main[ix]    = NEW_MAINADDR (regs, addr, aaddr);
>

Please don't do that (I mean.. please no-one apply this to SVN !)

This will very likely break any ESA/390 guest running ZSIE if there is
more than 2GB of storage. The problem is that the page mask is being
applied at the WRONG time. The *absolute* page frame can very well lie
beyond the addressable limit of the guest. Therefore calling
'NEW_MAINADDR' in ESA/390 mode in SIE mode and masking it with the
*guest* page frame mask is going to give you the wrong page frame if the
page frame is above 2GB.

The reason for the 'apfra' trick is that we are using regs->dat.rpfra
which is computed during SIE translation (that is, when the DAT
translation is performed on the HOST side of SIE).. That's what

     apfra=APPLY_PREFIXING(regs->dat.rpfra,regs->PX);

is all about.. (regs->dat.rpfra is the real page frame with the *HOST*
page frame mask applied - not the guest page frame mask !)

Now, why this is NOT working for a S/370 guest running on a ESA/390 host
is still something I have to figure out..

--Ivan

(Sorry not being more active here.. Some "Real Life" issue I am trying
to sort out)


[Non-text portions of this message have been removed]