OSDN Git Service

exec: Don't reuse unassigned_mem_ops for io_mem_rom
authorPeter Maydell <peter.maydell@linaro.org>
Wed, 13 Dec 2017 17:52:28 +0000 (17:52 +0000)
committerPaolo Bonzini <pbonzini@redhat.com>
Thu, 21 Dec 2017 08:30:32 +0000 (09:30 +0100)
commit8af36743c26372789b1c92606dd181b2a6d2ad53
treee4da7dc33687c0aaacc576ae0263b50a59e522ba
parente38bc23454ef763deb4405ebdee6a1081aa00bc8
exec: Don't reuse unassigned_mem_ops for io_mem_rom

We set up the io_mem_rom special memory region using the
unassigned_mem_ops structure; this is then used when a guest tries to
write to ROM.  This is incorrect, because the behaviour of unassigned
memory may be different from that of ROM for writes.  In particular,
on some architectures writing to unassigned memory generates a guest
exception, whereas writing to ROM is generally ignored.  Use a
special readonly_mem_ops for this purpose instead, so writes to
ROM are ignored for all guest CPUs.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Message-Id: <1513187549-2435-2-git-send-email-peter.maydell@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
exec.c