[Qemu-devel] [PATCH 0/2] Don't abort on writes to ROMs

Peter Maydell posted 2 patches 7 years, 10 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/1513187549-2435-1-git-send-email-peter.maydell@linaro.org
Test checkpatch passed
Test docker passed
Test ppc passed
Test s390x passed
exec.c           | 34 +++++++++++++++++++++++++++++++++-
hw/mips/boston.c | 14 ++------------
2 files changed, 35 insertions(+), 13 deletions(-)
[Qemu-devel] [PATCH 0/2] Don't abort on writes to ROMs
Posted by Peter Maydell 7 years, 10 months ago
Currently 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.

This patchset creates a separate readonly_mem_ops for handling the
writes to readonly memory, which just ignores them.

Patch 2 removes a workaround in the MIPS boston board which
is no longer needed once the core memory system is fixed.

Disclaimer: I haven't tested the mips change beyond 'make check'
(I tested the exec patch with a temporary hack to the Arm
virt board), but I believe it to be correct...

thanks
-- PMM


Peter Maydell (2):
  exec: Don't reuse unassigned_mem_ops for io_mem_rom
  hw/mips/boston: Remove workaround for writes to ROM aborting

 exec.c           | 34 +++++++++++++++++++++++++++++++++-
 hw/mips/boston.c | 14 ++------------
 2 files changed, 35 insertions(+), 13 deletions(-)

-- 
2.7.4


Re: [Qemu-devel] [PATCH 0/2] Don't abort on writes to ROMs
Posted by Paolo Bonzini 7 years, 10 months ago
On 13/12/2017 18:52, Peter Maydell wrote:
> Currently 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.
> 
> This patchset creates a separate readonly_mem_ops for handling the
> writes to readonly memory, which just ignores them.
> 
> Patch 2 removes a workaround in the MIPS boston board which
> is no longer needed once the core memory system is fixed.
> 
> Disclaimer: I haven't tested the mips change beyond 'make check'
> (I tested the exec patch with a temporary hack to the Arm
> virt board), but I believe it to be correct...
> 
> thanks
> -- PMM
> 
> 
> Peter Maydell (2):
>   exec: Don't reuse unassigned_mem_ops for io_mem_rom
>   hw/mips/boston: Remove workaround for writes to ROM aborting
> 
>  exec.c           | 34 +++++++++++++++++++++++++++++++++-
>  hw/mips/boston.c | 14 ++------------
>  2 files changed, 35 insertions(+), 13 deletions(-)
> 

Queued for 2.12, thanks.

Paolo