From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: qemu-arm@nongnu.org, qemu-devel@nongnu.org, patches@linaro.org
Subject: Re: [Qemu-arm] [PATCH 2/3] target/arm: Handle VIRQ and VFIQ in arm_cpu_do_interrupt_aarch32()
Date: Thu, 12 Jan 2017 22:41:52 +0100 [thread overview]
Message-ID: <20170112214152.GB9606@toto> (raw)
In-Reply-To: <1484073849-32666-3-git-send-email-peter.maydell@linaro.org>
On Tue, Jan 10, 2017 at 06:44:08PM +0000, Peter Maydell wrote:
> To run a VM in 32-bit EL1 our AArch32 interrupt handling code
> needs to be able to cope with VIRQ and VFIQ exceptions.
> These behave like IRQ and FIQ except that we don't need to try
> to route them to Monitor mode.
>
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
We could possibly avoid some duplication with EXCP_IRQ and _FIQ
but either way works:
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
> ---
> target/arm/helper.c | 14 ++++++++++++++
> 1 file changed, 14 insertions(+)
>
> diff --git a/target/arm/helper.c b/target/arm/helper.c
> index 8dcabbf..dc90986 100644
> --- a/target/arm/helper.c
> +++ b/target/arm/helper.c
> @@ -6403,6 +6403,20 @@ static void arm_cpu_do_interrupt_aarch32(CPUState *cs)
> }
> offset = 4;
> break;
> + case EXCP_VIRQ:
> + new_mode = ARM_CPU_MODE_IRQ;
> + addr = 0x18;
> + /* Disable IRQ and imprecise data aborts. */
> + mask = CPSR_A | CPSR_I;
> + offset = 4;
> + break;
> + case EXCP_VFIQ:
> + new_mode = ARM_CPU_MODE_FIQ;
> + addr = 0x1c;
> + /* Disable FIQ, IRQ and imprecise data aborts. */
> + mask = CPSR_A | CPSR_I | CPSR_F;
> + offset = 4;
> + break;
> case EXCP_SMC:
> new_mode = ARM_CPU_MODE_MON;
> addr = 0x08;
> --
> 2.7.4
>
WARNING: multiple messages have this Message-ID (diff)
From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: qemu-arm@nongnu.org, qemu-devel@nongnu.org, patches@linaro.org
Subject: Re: [Qemu-devel] [PATCH 2/3] target/arm: Handle VIRQ and VFIQ in arm_cpu_do_interrupt_aarch32()
Date: Thu, 12 Jan 2017 22:41:52 +0100 [thread overview]
Message-ID: <20170112214152.GB9606@toto> (raw)
In-Reply-To: <1484073849-32666-3-git-send-email-peter.maydell@linaro.org>
On Tue, Jan 10, 2017 at 06:44:08PM +0000, Peter Maydell wrote:
> To run a VM in 32-bit EL1 our AArch32 interrupt handling code
> needs to be able to cope with VIRQ and VFIQ exceptions.
> These behave like IRQ and FIQ except that we don't need to try
> to route them to Monitor mode.
>
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
We could possibly avoid some duplication with EXCP_IRQ and _FIQ
but either way works:
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
> ---
> target/arm/helper.c | 14 ++++++++++++++
> 1 file changed, 14 insertions(+)
>
> diff --git a/target/arm/helper.c b/target/arm/helper.c
> index 8dcabbf..dc90986 100644
> --- a/target/arm/helper.c
> +++ b/target/arm/helper.c
> @@ -6403,6 +6403,20 @@ static void arm_cpu_do_interrupt_aarch32(CPUState *cs)
> }
> offset = 4;
> break;
> + case EXCP_VIRQ:
> + new_mode = ARM_CPU_MODE_IRQ;
> + addr = 0x18;
> + /* Disable IRQ and imprecise data aborts. */
> + mask = CPSR_A | CPSR_I;
> + offset = 4;
> + break;
> + case EXCP_VFIQ:
> + new_mode = ARM_CPU_MODE_FIQ;
> + addr = 0x1c;
> + /* Disable FIQ, IRQ and imprecise data aborts. */
> + mask = CPSR_A | CPSR_I | CPSR_F;
> + offset = 4;
> + break;
> case EXCP_SMC:
> new_mode = ARM_CPU_MODE_MON;
> addr = 0x08;
> --
> 2.7.4
>
next prev parent reply other threads:[~2017-01-12 21:42 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-01-10 18:44 [Qemu-arm] [PATCH 0/3] target/arm: Support EL1 AArch32 guest under AArch64 EL2 Peter Maydell
2017-01-10 18:44 ` [Qemu-devel] " Peter Maydell
2017-01-10 18:44 ` [Qemu-arm] [PATCH 1/3] target/arm: A32, T32: Create Instruction Syndromes for Data Aborts Peter Maydell
2017-01-10 18:44 ` [Qemu-devel] " Peter Maydell
2017-01-12 20:41 ` [Qemu-arm] " Edgar E. Iglesias
2017-01-12 20:41 ` [Qemu-devel] " Edgar E. Iglesias
2017-01-12 21:50 ` [Qemu-arm] " Peter Maydell
2017-01-12 21:50 ` [Qemu-devel] " Peter Maydell
2017-01-10 18:44 ` [Qemu-arm] [PATCH 2/3] target/arm: Handle VIRQ and VFIQ in arm_cpu_do_interrupt_aarch32() Peter Maydell
2017-01-10 18:44 ` [Qemu-devel] " Peter Maydell
2017-01-12 21:41 ` Edgar E. Iglesias [this message]
2017-01-12 21:41 ` Edgar E. Iglesias
2017-01-10 18:44 ` [Qemu-arm] [PATCH 3/3] target/arm: Implement DBGVCR32_EL2 system register Peter Maydell
2017-01-10 18:44 ` [Qemu-devel] " Peter Maydell
2017-01-12 20:46 ` [Qemu-arm] " Edgar E. Iglesias
2017-01-12 20:46 ` [Qemu-devel] " Edgar E. Iglesias
2017-01-12 20:46 ` [Qemu-arm] [PATCH 0/3] target/arm: Support EL1 AArch32 guest under AArch64 EL2 Edgar E. Iglesias
2017-01-12 20:46 ` [Qemu-devel] " Edgar E. Iglesias
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=20170112214152.GB9606@toto \
--to=edgar.iglesias@gmail.com \
--cc=patches@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.