From: "Alex Bennée" <alex.bennee@linaro.org>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: QEMU Developers <qemu-devel@nongnu.org>, qemu-arm <qemu-arm@nongnu.org>
Subject: Re: [PATCH v4 0/4] semihosting at translate time fixes
Date: Wed, 11 Sep 2019 14:14:56 +0100 [thread overview]
Message-ID: <871rwn0yb3.fsf@linaro.org> (raw)
In-Reply-To: <CAFEAcA-DQ0Zq40Xnw5wkA6ojOUCf67xfX83nMEoKW_UrysJhjQ@mail.gmail.com>
Peter Maydell <peter.maydell@linaro.org> writes:
> On Fri, 6 Sep 2019 at 21:26, Alex Bennée <alex.bennee@linaro.org> wrote:
>>
>> Hi Peter,
>>
>> Hopefully this is the final version of the semihosting at translate
>> time patches. I've applied Richard's IS_USER changes and gated the SVN
>> for !M profile.
>>
>> Alex Bennée (3):
>> target/arm: handle M-profile semihosting at translate time
>> target/arm: handle A-profile semihosting at translate time
>> target/arm: remove run time semihosting checks
>
> Hi. I've just been looking at these, and I noticed that
> they seem to accidentally extend the "no semihosting
> in user mode" check that is currently for softmmu only
> to also cover linux-user mode (where it would amount
> to "never provide semihosting").
I misread Richard's comments - he only actually said to drop the #ifndef
CONFIG_USER while using !IS_USER for M profile. I'll return the #ifndef
CONFIG_USER for A-profile.
It does seem a bit weird that userspace linux-user does do semihosting
whereas EL0 in softmmu doesn't. Is that because we are effectively
short-circuiting what a real ARM kernel would be doing for EL0?
> This is because we used
> to do the check in the helper.c code which is only used
> by softmmu, and not in the linux-user/arm/cpu_loop.c
> equivalent that linux-user uses. But now we do the check
> in translate.c, which is common to both.
>
> There's also some missed cleanup in that the linux-user
> code can also have the "maybe EXCP_BKPT/EXCP_SWI is a semihosting
> call" checks deleted.
I'll have a look at that.
>
>> Emilio G. Cota (1):
>> atomic_template: fix indentation in GEN_ATOMIC_HELPER
>
> I've taken the atomic_template fix into target-arm.next,
> since it's unrelated.
>
> thanks
> -- PMM
--
Alex Bennée
WARNING: multiple messages have this Message-ID (diff)
From: "Alex Bennée" <alex.bennee@linaro.org>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: qemu-arm <qemu-arm@nongnu.org>, QEMU Developers <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] [PATCH v4 0/4] semihosting at translate time fixes
Date: Wed, 11 Sep 2019 14:14:56 +0100 [thread overview]
Message-ID: <871rwn0yb3.fsf@linaro.org> (raw)
In-Reply-To: <CAFEAcA-DQ0Zq40Xnw5wkA6ojOUCf67xfX83nMEoKW_UrysJhjQ@mail.gmail.com>
Peter Maydell <peter.maydell@linaro.org> writes:
> On Fri, 6 Sep 2019 at 21:26, Alex Bennée <alex.bennee@linaro.org> wrote:
>>
>> Hi Peter,
>>
>> Hopefully this is the final version of the semihosting at translate
>> time patches. I've applied Richard's IS_USER changes and gated the SVN
>> for !M profile.
>>
>> Alex Bennée (3):
>> target/arm: handle M-profile semihosting at translate time
>> target/arm: handle A-profile semihosting at translate time
>> target/arm: remove run time semihosting checks
>
> Hi. I've just been looking at these, and I noticed that
> they seem to accidentally extend the "no semihosting
> in user mode" check that is currently for softmmu only
> to also cover linux-user mode (where it would amount
> to "never provide semihosting").
I misread Richard's comments - he only actually said to drop the #ifndef
CONFIG_USER while using !IS_USER for M profile. I'll return the #ifndef
CONFIG_USER for A-profile.
It does seem a bit weird that userspace linux-user does do semihosting
whereas EL0 in softmmu doesn't. Is that because we are effectively
short-circuiting what a real ARM kernel would be doing for EL0?
> This is because we used
> to do the check in the helper.c code which is only used
> by softmmu, and not in the linux-user/arm/cpu_loop.c
> equivalent that linux-user uses. But now we do the check
> in translate.c, which is common to both.
>
> There's also some missed cleanup in that the linux-user
> code can also have the "maybe EXCP_BKPT/EXCP_SWI is a semihosting
> call" checks deleted.
I'll have a look at that.
>
>> Emilio G. Cota (1):
>> atomic_template: fix indentation in GEN_ATOMIC_HELPER
>
> I've taken the atomic_template fix into target-arm.next,
> since it's unrelated.
>
> thanks
> -- PMM
--
Alex Bennée
next prev parent reply other threads:[~2019-09-11 13:14 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-09-06 20:26 [PATCH v4 0/4] semihosting at translate time fixes Alex Bennée
2019-09-06 20:26 ` [Qemu-devel] " Alex Bennée
2019-09-06 20:26 ` [PATCH v4 1/4] target/arm: handle M-profile semihosting at translate time Alex Bennée
2019-09-06 20:26 ` [Qemu-devel] " Alex Bennée
2019-09-06 20:26 ` [PATCH v4 2/4] target/arm: handle A-profile " Alex Bennée
2019-09-06 20:26 ` [Qemu-devel] " Alex Bennée
2019-09-06 20:26 ` [PATCH v4 3/4] target/arm: remove run time semihosting checks Alex Bennée
2019-09-06 20:26 ` [Qemu-devel] " Alex Bennée
2019-09-06 20:26 ` [PATCH v4 4/4] atomic_template: fix indentation in GEN_ATOMIC_HELPER Alex Bennée
2019-09-06 20:26 ` [Qemu-devel] " Alex Bennée
2019-09-11 12:00 ` [PATCH v4 0/4] semihosting at translate time fixes Peter Maydell
2019-09-11 12:00 ` [Qemu-devel] " Peter Maydell
2019-09-11 13:14 ` Alex Bennée [this message]
2019-09-11 13:14 ` Alex Bennée
2019-09-12 8:35 ` Peter Maydell
2019-09-12 8:35 ` [Qemu-devel] " Peter Maydell
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=871rwn0yb3.fsf@linaro.org \
--to=alex.bennee@linaro.org \
--cc=peter.maydell@linaro.org \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.