qemu-s390x
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[qemu-s390x] [kvm-unit-tests PATCH 2/5] s390x: Switch to z/Arch if neede


From: Janosch Frank
Subject: [qemu-s390x] [kvm-unit-tests PATCH 2/5] s390x: Switch to z/Arch if needed
Date: Tue, 4 Dec 2018 14:48:35 +0100

LPAR and z/VM start in esam mode, so we need to switch to z/Arch and
set 64 bit addressing.

Under Qemu/KVM we already start out with both when being run with the
Qemu --kernel argument or we lack only 64 bit when booting from disk.

Signed-off-by: Janosch Frank <address@hidden>
---
 s390x/cstart64.S | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/s390x/cstart64.S b/s390x/cstart64.S
index abd6b58..80dbcba 100644
--- a/s390x/cstart64.S
+++ b/s390x/cstart64.S
@@ -20,6 +20,15 @@
  */
        .globl start
 start:
+       tam                             # Test for 64 bit addressing (KVM IPL)
+       brc     1, start64              # If cc = 3 (64 bit), we have z/Arch
+       /* Switch to z/Architecture mode (64-bit) */
+       slr     %r0, %r0                # set cpuid to zero
+       lhi     %r1, 2                  # mode 2 = esame
+       sigp    %r1, %r0, 0x12          # sigp set arch
+       bras    %r13,0f
+       .fill   16,4,0x0
+0:     lmh     %r0,%r15,0(%r13)        # clear high-order half of gprs
        sam64                           # Set addressing mode to 64 bit
 start64:
        /* setup stack */
-- 
2.14.3




reply via email to

[Prev in Thread] Current Thread [Next in Thread]