[TestDays] s390x emulation error

Submitted by Alexander Graf on Nov. 18, 2011, 3:33 p.m.

Details

Message ID 89ADF73A-98C0-4FA3-8148-BEF774095A0A@suse.de
State New
Headers show

Commit Message

Alexander Graf Nov. 18, 2011, 3:33 p.m.
On 10.11.2011, at 10:32, Andreas Färber wrote:

> Am 09.11.2011 23:53, schrieb Andreas Färber:
>> I get the following error:
>> 
>> $ s390x-softmmu/qemu-system-s390x
>> qemu-system-s390x: Guest moved used index from 0 to 47802
> 
> Now with -kernel and -drive if=virtio on s390-next I got the following
> fatal error during installation of SLES 11 SP2 Beta8:
> 
> qemu: fatal: EXECUTE on instruction prefix 0xdc00 not implemented

Could you please try out the following patch and see if that fixes the issue for you?




Alex

Comments

Andreas Färber Nov. 21, 2011, 6:39 p.m.
Am 18.11.2011 16:33, schrieb Alexander Graf:
> 
> On 10.11.2011, at 10:32, Andreas Färber wrote:
> 
>> Am 09.11.2011 23:53, schrieb Andreas Färber:
>>> I get the following error:
>>>
>>> $ s390x-softmmu/qemu-system-s390x
>>> qemu-system-s390x: Guest moved used index from 0 to 47802
>>
>> Now with -kernel and -drive if=virtio on s390-next I got the following
>> fatal error during installation of SLES 11 SP2 Beta8:
>>
>> qemu: fatal: EXECUTE on instruction prefix 0xdc00 not implemented
> 
> Could you please try out the following patch and see if that fixes the issue for you?
> 
> 
> diff --git a/target-s390x/op_helper.c b/target-s390x/op_helper.c
> index 137bae7..5ddc7b9 100644
> --- a/target-s390x/op_helper.c
> +++ b/target-s390x/op_helper.c
> @@ -636,6 +636,9 @@ uint32_t HELPER(ex)(uint32_t cc, uint64_t v1, uint64_t addr, uint64_t ret)
>          case 0x700:
>              cc = helper_xc(l, get_address(0, b1, d1), get_address(0, b2, d2));
>              break;
> +        case 0xc00:
> +            helper_tr(l, get_address(0, b1, d1), get_address(0, b2, d2));
> +            break;
>          default:
>              goto abort;
>              break;

Tested-by: Andreas Färber <afaerber@suse.de>

Compiles and gets me further through the install.


Now for SLES 11 SP2 Beta9 I get:

 YaST2 - installation @ 10.0.2.15



 Switching to the installed system has failed

 More information can be found near the end of the
'/var/log/YaST2/y2log' file.
  ┌Checking the Installed
System...──────────────────────────────────────────┐
  │Checking whether RPM package gzip-1.3.12-69.19.1 is installed...
Passed   │
┬ │Checking whether RPM package initviocons-0.5-55.21 is installed...
Passed │
│ │Checking whether RPM package pciutils-3.0.1-2.26.10 is installed...
Passed┴
  │
     │
┬ │=== Running complex check on package yast2-packager... ===
     │
┬ │Checking whether RPM package yast2-packager is installed... Passed
     │
┬ │Checking what requires RPM package yast2-packager... Passed
     │
┬ │Checking whether RPM package coreutils-8.12-6.15.13 is installed...
Passed│
│ │Checking whether RPM package perl-base-5.10.0-64.55.1 is installed...
Pass┴
  │~ed
     │
  │
     │
┬ │=== Checking YaST log file /mnt//var/log/YaST2//y2log... ===
     │
│ │Opening file... Failed
     ┴
  │
     │
  │This is worth reporting a bug at http://bugzilla.novell.com/.
     ┬
  │Please, attach also all YaST logs stored in the '/var/log/YaST2/'
director┴

└──────────────────────────────────────────────────────────────────────────┘



 9 0 OK                              all


And after pressing F3, I got a screen saying zipl could not be installed.

Will try to re-check with Beta8 or to compare Beta9 on z/VM.

Andreas

Patch hide | download patch | download mbox

diff --git a/target-s390x/op_helper.c b/target-s390x/op_helper.c
index 137bae7..5ddc7b9 100644
--- a/target-s390x/op_helper.c
+++ b/target-s390x/op_helper.c
@@ -636,6 +636,9 @@  uint32_t HELPER(ex)(uint32_t cc, uint64_t v1, uint64_t addr, uint64_t ret)
         case 0x700:
             cc = helper_xc(l, get_address(0, b1, d1), get_address(0, b2, d2));
             break;
+        case 0xc00:
+            helper_tr(l, get_address(0, b1, d1), get_address(0, b2, d2));
+            break;
         default:
             goto abort;
             break;