Message ID | 20230703155801.179167-2-iii@linux.ibm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | target/s390x: Miscellaneous TCG fixes | expand |
On 03.07.23 17:50, Ilya Leoshkevich wrote: > 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. What's the purpose of this then? Required for follow-up patches? > > Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com> > --- > linux-user/elfload.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/linux-user/elfload.c b/linux-user/elfload.c > index 6900974c373..7935110bff4 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; > } >
On Tue, 2023-07-04 at 09:32 +0200, David Hildenbrand wrote: > On 03.07.23 17:50, Ilya Leoshkevich wrote: > > 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. > > What's the purpose of this then? Required for follow-up patches? That's required for the EPSW test. I could, of course, mask out the bits that are not emulated in the test, but I thought it was better to make the emulation closer to reality, if only for cosmetic purposes. [...]
On 04.07.23 09:40, Ilya Leoshkevich wrote: > On Tue, 2023-07-04 at 09:32 +0200, David Hildenbrand wrote: >> On 03.07.23 17:50, Ilya Leoshkevich wrote: >>> 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. >> >> What's the purpose of this then? Required for follow-up patches? > > That's required for the EPSW test. > I could, of course, mask out the bits that are not emulated in the > test, but I thought it was better to make the emulation closer to > reality, if only for cosmetic purposes. Thanks Reviewed-by: David Hildenbrand <david@redhat.com>
diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 6900974c373..7935110bff4 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; }
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> --- linux-user/elfload.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)