* [Bug 1867072] [NEW] ARM: tag bits cleared in FAR_EL1
@ 2020-03-12 0:56 Peter Collingbourne
2020-03-12 4:59 ` [Bug 1867072] " Richard Henderson
` (5 more replies)
0 siblings, 6 replies; 7+ messages in thread
From: Peter Collingbourne @ 2020-03-12 0:56 UTC (permalink / raw)
To: qemu-devel
Public bug reported:
The ARM Architecture Reference Manual provides the following for
FAR_EL1:
"For a Data Abort or Watchpoint exception, if address tagging is enabled
for the address accessed by the data access that caused the exception,
then this field includes the tag."
However, I have found that the tag bits in FAR_EL1 are always clear,
even if the tag bits were set in the original access.
I can reproduce the problem on both 4.1.1 and master
(6e8a73e911f066527e775e04b98f31ebd19db600).
** Affects: qemu
Importance: Undecided
Status: New
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1867072
Title:
ARM: tag bits cleared in FAR_EL1
Status in QEMU:
New
Bug description:
The ARM Architecture Reference Manual provides the following for
FAR_EL1:
"For a Data Abort or Watchpoint exception, if address tagging is
enabled for the address accessed by the data access that caused the
exception, then this field includes the tag."
However, I have found that the tag bits in FAR_EL1 are always clear,
even if the tag bits were set in the original access.
I can reproduce the problem on both 4.1.1 and master
(6e8a73e911f066527e775e04b98f31ebd19db600).
To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1867072/+subscriptions
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug 1867072] Re: ARM: tag bits cleared in FAR_EL1
2020-03-12 0:56 [Bug 1867072] [NEW] ARM: tag bits cleared in FAR_EL1 Peter Collingbourne
@ 2020-03-12 4:59 ` Richard Henderson
2020-03-12 5:03 ` Richard Henderson
` (4 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Richard Henderson @ 2020-03-12 4:59 UTC (permalink / raw)
To: qemu-devel
As it happens, I posted some cleanups for this last week:
https://patchew.org/QEMU/20200302175829.2183-1-richard.henderson@linaro.org/
Some of them have been queued to Peter's target-arm.next branch,
but that hasn't made it to master yet.
** Changed in: qemu
Status: New => In Progress
** Changed in: qemu
Assignee: (unassigned) => Richard Henderson (rth)
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1867072
Title:
ARM: tag bits cleared in FAR_EL1
Status in QEMU:
In Progress
Bug description:
The ARM Architecture Reference Manual provides the following for
FAR_EL1:
"For a Data Abort or Watchpoint exception, if address tagging is
enabled for the address accessed by the data access that caused the
exception, then this field includes the tag."
However, I have found that the tag bits in FAR_EL1 are always clear,
even if the tag bits were set in the original access.
I can reproduce the problem on both 4.1.1 and master
(6e8a73e911f066527e775e04b98f31ebd19db600).
To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1867072/+subscriptions
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug 1867072] Re: ARM: tag bits cleared in FAR_EL1
2020-03-12 0:56 [Bug 1867072] [NEW] ARM: tag bits cleared in FAR_EL1 Peter Collingbourne
2020-03-12 4:59 ` [Bug 1867072] " Richard Henderson
@ 2020-03-12 5:03 ` Richard Henderson
2020-03-12 16:04 ` Richard Henderson
` (3 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Richard Henderson @ 2020-03-12 5:03 UTC (permalink / raw)
To: qemu-devel
Actually, I take that back: Peter has merged my TBI patch set,
and is included in 6e8a73e911f066.
Do you have a test case?
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1867072
Title:
ARM: tag bits cleared in FAR_EL1
Status in QEMU:
In Progress
Bug description:
The ARM Architecture Reference Manual provides the following for
FAR_EL1:
"For a Data Abort or Watchpoint exception, if address tagging is
enabled for the address accessed by the data access that caused the
exception, then this field includes the tag."
However, I have found that the tag bits in FAR_EL1 are always clear,
even if the tag bits were set in the original access.
I can reproduce the problem on both 4.1.1 and master
(6e8a73e911f066527e775e04b98f31ebd19db600).
To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1867072/+subscriptions
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug 1867072] Re: ARM: tag bits cleared in FAR_EL1
2020-03-12 0:56 [Bug 1867072] [NEW] ARM: tag bits cleared in FAR_EL1 Peter Collingbourne
2020-03-12 4:59 ` [Bug 1867072] " Richard Henderson
2020-03-12 5:03 ` Richard Henderson
@ 2020-03-12 16:04 ` Richard Henderson
2020-03-12 17:26 ` Peter Collingbourne
` (2 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Richard Henderson @ 2020-03-12 16:04 UTC (permalink / raw)
To: qemu-devel
Ho hum, I must have been asleep last night.
Peter only merged 7 of 9 patches. The final 2 were re-posted:
https://patchew.org/QEMU/20200308012946.16303-1-richard.henderson@linaro.org/
which includes the critical change that affects FAR_ELx.
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1867072
Title:
ARM: tag bits cleared in FAR_EL1
Status in QEMU:
In Progress
Bug description:
The ARM Architecture Reference Manual provides the following for
FAR_EL1:
"For a Data Abort or Watchpoint exception, if address tagging is
enabled for the address accessed by the data access that caused the
exception, then this field includes the tag."
However, I have found that the tag bits in FAR_EL1 are always clear,
even if the tag bits were set in the original access.
I can reproduce the problem on both 4.1.1 and master
(6e8a73e911f066527e775e04b98f31ebd19db600).
To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1867072/+subscriptions
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug 1867072] Re: ARM: tag bits cleared in FAR_EL1
2020-03-12 0:56 [Bug 1867072] [NEW] ARM: tag bits cleared in FAR_EL1 Peter Collingbourne
` (2 preceding siblings ...)
2020-03-12 16:04 ` Richard Henderson
@ 2020-03-12 17:26 ` Peter Collingbourne
2020-03-15 23:21 ` Richard Henderson
2020-04-30 13:43 ` Laurent Vivier
5 siblings, 0 replies; 7+ messages in thread
From: Peter Collingbourne @ 2020-03-12 17:26 UTC (permalink / raw)
To: qemu-devel
With those two patches applied I can no longer reproduce the problem,
thanks!
For posterity, this is how I've been reproducing the problem:
1. Build a Linux kernel with this patch applied: https://patchwork.kernel.org/patch/11435077/
2. Run this program under the kernel:
#include <stdint.h>
#include <stdio.h>
#include <signal.h>
void handler(int signo, siginfo_t *siginfo, void *context) {
uint32_t *begin = (uint32_t *)context;
uint32_t *end = ((uint32_t *)context) + (sizeof(ucontext_t)/4);
for (uint32_t *i = begin; i != end; ++i) {
printf("%08p %08x\n", i, *i);
}
_exit(0);
}
int main() {
struct sigaction sa;
sa.sa_sigaction = handler;
sa.sa_flags = SA_SIGINFO;
sigaction(SIGSEGV, &sa, 0);
return *(int *)((1ULL << 56) + 0x123456);
}
I would expect this program's output to include something like the
following:
0xffffd5869bd0 46415201
0xffffd5869bd4 00000010
0xffffd5869bd8 00123456
0xffffd5869bdc 01000000
But the output that I was seeing with the bad qemu looked like this:
0xffffd5869bd0 46415201
0xffffd5869bd4 00000010
0xffffd5869bd8 00123456
0xffffd5869bdc 00000000
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1867072
Title:
ARM: tag bits cleared in FAR_EL1
Status in QEMU:
In Progress
Bug description:
The ARM Architecture Reference Manual provides the following for
FAR_EL1:
"For a Data Abort or Watchpoint exception, if address tagging is
enabled for the address accessed by the data access that caused the
exception, then this field includes the tag."
However, I have found that the tag bits in FAR_EL1 are always clear,
even if the tag bits were set in the original access.
I can reproduce the problem on both 4.1.1 and master
(6e8a73e911f066527e775e04b98f31ebd19db600).
To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1867072/+subscriptions
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug 1867072] Re: ARM: tag bits cleared in FAR_EL1
2020-03-12 0:56 [Bug 1867072] [NEW] ARM: tag bits cleared in FAR_EL1 Peter Collingbourne
` (3 preceding siblings ...)
2020-03-12 17:26 ` Peter Collingbourne
@ 2020-03-15 23:21 ` Richard Henderson
2020-04-30 13:43 ` Laurent Vivier
5 siblings, 0 replies; 7+ messages in thread
From: Richard Henderson @ 2020-03-15 23:21 UTC (permalink / raw)
To: qemu-devel
Fix now in master.
** Changed in: qemu
Status: In Progress => Fix Committed
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1867072
Title:
ARM: tag bits cleared in FAR_EL1
Status in QEMU:
Fix Committed
Bug description:
The ARM Architecture Reference Manual provides the following for
FAR_EL1:
"For a Data Abort or Watchpoint exception, if address tagging is
enabled for the address accessed by the data access that caused the
exception, then this field includes the tag."
However, I have found that the tag bits in FAR_EL1 are always clear,
even if the tag bits were set in the original access.
I can reproduce the problem on both 4.1.1 and master
(6e8a73e911f066527e775e04b98f31ebd19db600).
To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1867072/+subscriptions
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug 1867072] Re: ARM: tag bits cleared in FAR_EL1
2020-03-12 0:56 [Bug 1867072] [NEW] ARM: tag bits cleared in FAR_EL1 Peter Collingbourne
` (4 preceding siblings ...)
2020-03-15 23:21 ` Richard Henderson
@ 2020-04-30 13:43 ` Laurent Vivier
5 siblings, 0 replies; 7+ messages in thread
From: Laurent Vivier @ 2020-04-30 13:43 UTC (permalink / raw)
To: qemu-devel
Fixed here:
https://git.qemu.org/?p=qemu.git;a=commitdiff;h=38d931687fa1
** Changed in: qemu
Status: Fix Committed => Fix Released
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1867072
Title:
ARM: tag bits cleared in FAR_EL1
Status in QEMU:
Fix Released
Bug description:
The ARM Architecture Reference Manual provides the following for
FAR_EL1:
"For a Data Abort or Watchpoint exception, if address tagging is
enabled for the address accessed by the data access that caused the
exception, then this field includes the tag."
However, I have found that the tag bits in FAR_EL1 are always clear,
even if the tag bits were set in the original access.
I can reproduce the problem on both 4.1.1 and master
(6e8a73e911f066527e775e04b98f31ebd19db600).
To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1867072/+subscriptions
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2020-04-30 14:06 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-12 0:56 [Bug 1867072] [NEW] ARM: tag bits cleared in FAR_EL1 Peter Collingbourne
2020-03-12 4:59 ` [Bug 1867072] " Richard Henderson
2020-03-12 5:03 ` Richard Henderson
2020-03-12 16:04 ` Richard Henderson
2020-03-12 17:26 ` Peter Collingbourne
2020-03-15 23:21 ` Richard Henderson
2020-04-30 13:43 ` Laurent Vivier
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.