* [Qemu-devel] [PATCH] Fix bug: SRS instructions would trap to EL3 in Secure EL1 even if specified mode was not monitor mode.
@ 2016-02-22 22:25 Ralf-Philipp Weinmann
2016-03-06 19:04 ` [Qemu-devel] [Qemu-arm] " Sergey Fedorov
0 siblings, 1 reply; 4+ messages in thread
From: Ralf-Philipp Weinmann @ 2016-02-22 22:25 UTC (permalink / raw)
To: qemu-arm; +Cc: qemu-devel
According to the ARMv8 Architecture reference manual [F6.1.203], ALL
of the following conditions need to be met for SRS to trap to EL3:
* It is executed at Secure PL1.
* The specified mode is monitor mode.
* EL3 is using AArch64.
---
target-arm/translate.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/target-arm/translate.c b/target-arm/translate.c
index c29c47f..a7688bb 100644
--- a/target-arm/translate.c
+++ b/target-arm/translate.c
@@ -7582,7 +7582,8 @@ static void gen_srs(DisasContext *s,
bool undef = false;
/* SRS is:
- * - trapped to EL3 if EL3 is AArch64 and we are at Secure EL1
+ * - trapped to EL3 if EL3 is AArch64 and we are at Secure EL1 and
+ * mode is monitor mode
* - UNDEFINED in Hyp mode
* - UNPREDICTABLE in User or System mode
* - UNPREDICTABLE if the specified mode is:
@@ -7592,7 +7593,7 @@ static void gen_srs(DisasContext *s,
* -- Monitor, if we are Non-secure
* For the UNPREDICTABLE cases we choose to UNDEF.
*/
- if (s->current_el == 1 && !s->ns) {
+ if (s->current_el == 1 && !s->ns && mode == ARM_CPU_MODE_MON) {
gen_exception_insn(s, 4, EXCP_UDEF, syn_uncategorized(), 3);
return;
}
--
2.5.4 (Apple Git-61)
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [Qemu-devel] [Qemu-arm] [PATCH] Fix bug: SRS instructions would trap to EL3 in Secure EL1 even if specified mode was not monitor mode.
2016-02-22 22:25 [Qemu-devel] [PATCH] Fix bug: SRS instructions would trap to EL3 in Secure EL1 even if specified mode was not monitor mode Ralf-Philipp Weinmann
@ 2016-03-06 19:04 ` Sergey Fedorov
2016-03-06 21:14 ` Peter Maydell
0 siblings, 1 reply; 4+ messages in thread
From: Sergey Fedorov @ 2016-03-06 19:04 UTC (permalink / raw)
To: Ralf-Philipp Weinmann, qemu-arm; +Cc: qemu-devel
On 23.02.2016 01:25, Ralf-Philipp Weinmann wrote:
> According to the ARMv8 Architecture reference manual [F6.1.203], ALL
> of the following conditions need to be met for SRS to trap to EL3:
> * It is executed at Secure PL1.
> * The specified mode is monitor mode.
> * EL3 is using AArch64.
The code changes in the patch looks good for me. But anyway, you should:
(1) tweak the commit message title according to the requirements [1] and
(2) add your "Singed-off-by:" line [2]
Actually, you'd better read the whole page [3] carefully.
[1]
http://wiki.qemu.org/Contribute/SubmitAPatch#Write_a_meaningful_commit_message
[2]
http://wiki.qemu.org/Contribute/SubmitAPatch#Patch_emails_must_include_a_Signed-off-by:_line
[3] http://wiki.qemu.org/Contribute/SubmitAPatch
Kind regards,
Sergey
> ---
> target-arm/translate.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/target-arm/translate.c b/target-arm/translate.c
> index c29c47f..a7688bb 100644
> --- a/target-arm/translate.c
> +++ b/target-arm/translate.c
> @@ -7582,7 +7582,8 @@ static void gen_srs(DisasContext *s,
> bool undef = false;
>
> /* SRS is:
> - * - trapped to EL3 if EL3 is AArch64 and we are at Secure EL1
> + * - trapped to EL3 if EL3 is AArch64 and we are at Secure EL1 and
> + * mode is monitor mode
> * - UNDEFINED in Hyp mode
> * - UNPREDICTABLE in User or System mode
> * - UNPREDICTABLE if the specified mode is:
> @@ -7592,7 +7593,7 @@ static void gen_srs(DisasContext *s,
> * -- Monitor, if we are Non-secure
> * For the UNPREDICTABLE cases we choose to UNDEF.
> */
> - if (s->current_el == 1 && !s->ns) {
> + if (s->current_el == 1 && !s->ns && mode == ARM_CPU_MODE_MON) {
> gen_exception_insn(s, 4, EXCP_UDEF, syn_uncategorized(), 3);
> return;
> }
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Qemu-devel] [Qemu-arm] [PATCH] Fix bug: SRS instructions would trap to EL3 in Secure EL1 even if specified mode was not monitor mode.
2016-03-06 19:04 ` [Qemu-devel] [Qemu-arm] " Sergey Fedorov
@ 2016-03-06 21:14 ` Peter Maydell
2016-03-07 9:57 ` Sergey Fedorov
0 siblings, 1 reply; 4+ messages in thread
From: Peter Maydell @ 2016-03-06 21:14 UTC (permalink / raw)
To: Sergey Fedorov; +Cc: qemu-arm, Ralf-Philipp Weinmann, QEMU Developers
On 7 March 2016 at 02:04, Sergey Fedorov <serge.fdrv@gmail.com> wrote:
> On 23.02.2016 01:25, Ralf-Philipp Weinmann wrote:
>>
>> According to the ARMv8 Architecture reference manual [F6.1.203], ALL
>> of the following conditions need to be met for SRS to trap to EL3:
>> * It is executed at Secure PL1.
>> * The specified mode is monitor mode.
>> * EL3 is using AArch64.
>
>
> The code changes in the patch looks good for me. But anyway, you should:
> (1) tweak the commit message title according to the requirements [1] and
> (2) add your "Singed-off-by:" line [2]
Ralf-Philipp sent a second version of this email which did
have the signed-off-by line, so this patch is already in
master (as commit ba63cf47a9304113); I did tweak the
commit message as I applied it.
thanks
-- PMM
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Qemu-devel] [Qemu-arm] [PATCH] Fix bug: SRS instructions would trap to EL3 in Secure EL1 even if specified mode was not monitor mode.
2016-03-06 21:14 ` Peter Maydell
@ 2016-03-07 9:57 ` Sergey Fedorov
0 siblings, 0 replies; 4+ messages in thread
From: Sergey Fedorov @ 2016-03-07 9:57 UTC (permalink / raw)
To: Peter Maydell; +Cc: qemu-arm, Ralf-Philipp Weinmann, QEMU Developers
On 07.03.2016 00:14, Peter Maydell wrote:
> On 7 March 2016 at 02:04, Sergey Fedorov <serge.fdrv@gmail.com> wrote:
>> On 23.02.2016 01:25, Ralf-Philipp Weinmann wrote:
>>> According to the ARMv8 Architecture reference manual [F6.1.203], ALL
>>> of the following conditions need to be met for SRS to trap to EL3:
>>> * It is executed at Secure PL1.
>>> * The specified mode is monitor mode.
>>> * EL3 is using AArch64.
>>
>> The code changes in the patch looks good for me. But anyway, you should:
>> (1) tweak the commit message title according to the requirements [1] and
>> (2) add your "Singed-off-by:" line [2]
> Ralf-Philipp sent a second version of this email which did
> have the signed-off-by line, so this patch is already in
> master (as commit ba63cf47a9304113); I did tweak the
> commit message as I applied it.
Really, not sure how I missed that :)
Regards,
Sergey
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2016-03-07 9:57 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-02-22 22:25 [Qemu-devel] [PATCH] Fix bug: SRS instructions would trap to EL3 in Secure EL1 even if specified mode was not monitor mode Ralf-Philipp Weinmann
2016-03-06 19:04 ` [Qemu-devel] [Qemu-arm] " Sergey Fedorov
2016-03-06 21:14 ` Peter Maydell
2016-03-07 9:57 ` Sergey Fedorov
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).