From: Blue Swirl <blauwirbel@gmail.com>
To: "Igor V. Kovalenko" <igor.v.kovalenko@gmail.com>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 3/9] sparc64: use helper_wrpil to check pending irq on write
Date: Wed, 6 Jan 2010 15:41:58 +0000 [thread overview]
Message-ID: <f43fc5581001060741p1eaab873r680efb6080f0be3@mail.gmail.com> (raw)
In-Reply-To: <20100105231918.6526.19467.stgit@skyserv>
On Tue, Jan 5, 2010 at 11:19 PM, Igor V. Kovalenko
<igor.v.kovalenko@gmail.com> wrote:
> From: Igor V. Kovalenko <igor.v.kovalenko@gmail.com>
>
> Signed-off-by: Igor V. Kovalenko <igor.v.kovalenko@gmail.com>
> ---
> target-sparc/helper.h | 1 +
> target-sparc/op_helper.c | 14 ++++++++++++++
> target-sparc/translate.c | 5 +----
> 3 files changed, 16 insertions(+), 4 deletions(-)
>
> diff --git a/target-sparc/helper.h b/target-sparc/helper.h
> index 4002b9e..6f103e7 100644
> --- a/target-sparc/helper.h
> +++ b/target-sparc/helper.h
> @@ -5,6 +5,7 @@ DEF_HELPER_0(rett, void)
> DEF_HELPER_1(wrpsr, void, tl)
> DEF_HELPER_0(rdpsr, tl)
> #else
> +DEF_HELPER_1(wrpil, void, tl)
> DEF_HELPER_1(wrpstate, void, tl)
> DEF_HELPER_0(done, void)
> DEF_HELPER_0(retry, void)
> diff --git a/target-sparc/op_helper.c b/target-sparc/op_helper.c
> index 26092e5..a7da0e4 100644
> --- a/target-sparc/op_helper.c
> +++ b/target-sparc/op_helper.c
> @@ -3303,6 +3303,20 @@ void helper_wrpstate(target_ulong new_state)
> change_pstate(new_state & 0xf3f);
> }
>
> +void helper_wrpil(target_ulong new_pil)
> +{
> + DPRINTF_PSTATE("helper_wrpil old=%X new=%X\n",
> + env->psrpil, (uint32_t)new_pil);
> +
> + env->psrpil = new_pil;
> +
> +#if !defined(CONFIG_USER_ONLY)
> + if (env->pstate & PS_IE) {
> + cpu_check_irqs(env);
> + }
> +#endif
> +}
It's not possible to write to PIL in user mode, so the whole code
inside the function should be surrounded by #if
!defined(CONFIG_USER_ONLY)/#endif. Please use lowercase hex.
I'm wondering about using target_ulong instead of uint32_t (type of
env->psrpil). TL makes the generated code shorter, uint32_t would
decrease TCG register pressure on 32 bit hosts. This is not
performance critical, so either way should be OK.
next prev parent reply other threads:[~2010-01-06 15:42 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-01-05 23:19 [Qemu-devel] [PATCH 0/9] sparc64: tick timers Igor V. Kovalenko
2010-01-05 23:19 ` [Qemu-devel] [PATCH 1/9] sparc64: trace pstate and global register set changes Igor V. Kovalenko
2010-01-06 15:24 ` Blue Swirl
2010-01-05 23:19 ` [Qemu-devel] [PATCH 2/9] sparc64: add PSR and PIL to cpu state dump Igor V. Kovalenko
2010-01-06 15:31 ` Blue Swirl
2010-01-05 23:19 ` [Qemu-devel] [PATCH 3/9] sparc64: use helper_wrpil to check pending irq on write Igor V. Kovalenko
2010-01-06 15:41 ` Blue Swirl [this message]
2010-01-05 23:19 ` [Qemu-devel] [PATCH 4/9] sparc64: check for pending irq when pil, pstate or softint is changed Igor V. Kovalenko
2010-01-06 15:54 ` Blue Swirl
2010-01-05 23:19 ` [Qemu-devel] [PATCH 5/9] sparc64: add macros to deal with softint and timer interrupt Igor V. Kovalenko
2010-01-06 15:58 ` Blue Swirl
2010-01-05 23:19 ` [Qemu-devel] [PATCH 6/9] sparc64: clear exception_index with -1 value Igor V. Kovalenko
2010-01-06 17:36 ` Blue Swirl
2010-01-06 23:29 ` Artyom Tarasenko
2010-01-06 23:57 ` Igor Kovalenko
2010-01-07 20:05 ` Blue Swirl
2010-01-05 23:19 ` [Qemu-devel] [PATCH 7/9] sparc64: move cpu_interrupts_enabled to cpu.h Igor V. Kovalenko
2010-01-05 23:19 ` [Qemu-devel] [PATCH 8/9] sparc64: interrupt trap handling Igor V. Kovalenko
2010-01-06 17:00 ` Blue Swirl
2010-01-07 17:24 ` Igor Kovalenko
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=f43fc5581001060741p1eaab873r680efb6080f0be3@mail.gmail.com \
--to=blauwirbel@gmail.com \
--cc=igor.v.kovalenko@gmail.com \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).