qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [RFC] [PATCH 0/5] ARMv8.5-MemTag disassembly
@ 2020-03-13 13:59 Rémi Denis-Courmont
  2020-03-13 14:00 ` Rémi Denis-Courmont
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Rémi Denis-Courmont @ 2020-03-13 13:59 UTC (permalink / raw)
  To: qemu-arm; +Cc: qemu-devel

	Hello,

The following changes since commit d4f7d56759f7c75270c13d5f3f5f736a9558929c:

  Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20200312' into staging (2020-03-12 17:34:34 +0000)

adds support for the ARM MTE compatibility subset (which does not seem to have
an official name) to QEMU user mode and system mode on "max" CPU. This
corresponds to MTE == 1 in the instruction set feature field, and allows
running code with MTE instructions without actual tag storage.

Similar to the SP alignment checks, it also adds stubs for memory tag checks
that don't actually do anything at this point and would be optimized out by
the compiler.

For proper storage and checking of memory tags, MTE == 2 would be
necessary. I have some code (on top of this RFC but not included) to add the
tag allocation logic. But I have no clue how to actually store the tags in QEMU
system mode at this point, so it's mostly dead code.

In user mode, it seems impossible anyway, as tags are indexed by physical, not
virtual address and QEMU cannot know which virtual memory address may
physically alias another within the user process.

----------------------------------------------------------------
Rémi Denis-Courmont (5):
      target/arm: MTE processor state
      target/arm: MTE user mode disassembly
      target/arm: MTE unprivileged system mode disassembly
      target/arm: MTE privileged system mode assembly
      target/arm: MTE tag check stubs

 target/arm/cpu.h           |  17 +++
 target/arm/cpu64.c         |   5 +
 target/arm/helper-a64.c    |   2 +
 target/arm/helper.c        | 118 +++++++++++++++
 target/arm/translate-a64.c | 370 ++++++++++++++++++++++++++++++++++++++++++---
 5 files changed, 494 insertions(+), 18 deletions(-)

-- 
Реми Дёни-Курмон
http://www.remlab.net/





^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2020-03-13 16:06 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-03-13 13:59 [RFC] [PATCH 0/5] ARMv8.5-MemTag disassembly Rémi Denis-Courmont
2020-03-13 14:00 ` Rémi Denis-Courmont
2020-03-13 14:03 ` Peter Maydell
2020-03-13 15:16   ` Rémi Denis-Courmont
2020-03-13 15:19     ` Peter Maydell
2020-03-13 15:49 ` Richard Henderson
2020-03-13 16:05   ` Rémi Denis-Courmont

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).