aboutsummaryrefslogtreecommitdiff
path: root/linux-user
diff options
context:
space:
mode:
authorIlya Leoshkevich <iii@linux.ibm.com>2023-07-04 10:12:25 +0200
committerThomas Huth <thuth@redhat.com>2023-07-10 15:34:23 +0200
commit78a1e153f93e7bbec5d7efefa5f89fd011e9220f (patch)
tree648fe5821b2d5e1161fac5b25c37617ec831a2f0 /linux-user
parentf5f9c6ea11bc807664fdeb9354915c2c9cdcbd89 (diff)
downloadqemu-78a1e153f93e7bbec5d7efefa5f89fd011e9220f.zip
qemu-78a1e153f93e7bbec5d7efefa5f89fd011e9220f.tar.gz
qemu-78a1e153f93e7bbec5d7efefa5f89fd011e9220f.tar.bz2
linux-user: elfload: Add more initial s390x PSW bits
Make the PSW look more similar to the real s390x userspace PSW. Except for being there, the newly added bits should not affect the userspace code execution. Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com> Reviewed-by: David Hildenbrand <david@redhat.com> Message-Id: <20230704081506.276055-2-iii@linux.ibm.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
Diffstat (limited to 'linux-user')
-rw-r--r--linux-user/elfload.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/linux-user/elfload.c b/linux-user/elfload.c
index 9a2ec56..d3d1352 100644
--- a/linux-user/elfload.c
+++ b/linux-user/elfload.c
@@ -1635,7 +1635,9 @@ const char *elf_hwcap_str(uint32_t bit)
static inline void init_thread(struct target_pt_regs *regs, struct image_info *infop)
{
regs->psw.addr = infop->entry;
- regs->psw.mask = PSW_MASK_64 | PSW_MASK_32;
+ regs->psw.mask = PSW_MASK_DAT | PSW_MASK_IO | PSW_MASK_EXT | \
+ PSW_MASK_MCHECK | PSW_MASK_PSTATE | PSW_MASK_64 | \
+ PSW_MASK_32;
regs->gprs[15] = infop->start_stack;
}