qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v1 0/6] s390x/tcg: fix some accesses using low address
@ 2017-09-26 18:33 David Hildenbrand
  2017-09-26 18:33 ` [Qemu-devel] [PATCH v1 1/6] s390x/tcg: fix checking for invalid memory check David Hildenbrand
                   ` (7 more replies)
  0 siblings, 8 replies; 11+ messages in thread
From: David Hildenbrand @ 2017-09-26 18:33 UTC (permalink / raw)
  To: qemu-devel
  Cc: thuth, cohuck, Christian Borntraeger, Alexander Graf,
	Richard Henderson

Conny reported that a guest Linux currently spits out:
  "The s390-virtio transport is deprecated. Please switch to a modern host
  providing virtio-ccw."

This is strange, because we have no legacy virtio transport in QEMU :)

Main problem is, that a page is tested for acccess, and the test does not
fail. All memory access variants like stb_phys() will never fail. On
invalid memory, they simply do nothing.

Linux uses lura for this check. Let's introduce a _real MMU that handles
prefixing and can later be used for things like low address protection.

The other BUG is that a check for invalid memory is wrong. Therefore,
Patch 1 alone makes the guest crash when trying to initialize the
virtio transport. Crazy stuff.

David Hildenbrand (6):
  s390x/tcg: fix checking for invalid memory check
  s390x/tcg: add MMU for real addresses
  s390x/tcg: make lura(g) use the new _real mmu.
  s390x/tcg: make stora(g) use the new _real mmu
  s390x/tcg: make testblock use the new _real mmu
  s390x/tcg: make idte/ipte use the new _real mmu

 target/s390x/cpu.h         |  4 +++-
 target/s390x/excp_helper.c | 29 +++++++++++++++++++----------
 target/s390x/internal.h    |  2 ++
 target/s390x/mem_helper.c  | 36 +++++++++++-------------------------
 target/s390x/mmu_helper.c  | 19 +++++++++++++++++++
 target/s390x/translate.c   |  4 ----
 6 files changed, 54 insertions(+), 40 deletions(-)

-- 
2.13.5

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

end of thread, other threads:[~2017-09-27 12:20 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-09-26 18:33 [Qemu-devel] [PATCH v1 0/6] s390x/tcg: fix some accesses using low address David Hildenbrand
2017-09-26 18:33 ` [Qemu-devel] [PATCH v1 1/6] s390x/tcg: fix checking for invalid memory check David Hildenbrand
2017-09-26 18:33 ` [Qemu-devel] [PATCH v1 2/6] s390x/tcg: add MMU for real addresses David Hildenbrand
2017-09-27 12:20   ` David Hildenbrand
2017-09-26 18:33 ` [Qemu-devel] [PATCH v1 3/6] s390x/tcg: make lura(g) use the new _real mmu David Hildenbrand
2017-09-26 18:33 ` [Qemu-devel] [PATCH v1 4/6] s390x/tcg: make stora(g) " David Hildenbrand
2017-09-26 18:33 ` [Qemu-devel] [PATCH v1 5/6] s390x/tcg: make testblock " David Hildenbrand
2017-09-26 18:33 ` [Qemu-devel] [PATCH v1 6/6] s390x/tcg: make idte/ipte " David Hildenbrand
2017-09-26 23:10 ` [Qemu-devel] [PATCH v1 0/6] s390x/tcg: fix some accesses using low address Richard Henderson
2017-09-27  7:38   ` Thomas Huth
2017-09-27 11:49 ` Cornelia Huck

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