Patchwork [TestDays] s390x emulation error

login
register
mail settings
Submitter Alexander Graf
Date Nov. 18, 2011, 3:33 p.m.
Message ID <89ADF73A-98C0-4FA3-8148-BEF774095A0A@suse.de>
Download mbox | patch
Permalink /patch/126434/
State New
Headers show

Comments

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
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

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;