unicorn/qemu/qom
Peter Maydell 2070ef1c37
boards.h: Define new flag ignore_memory_transaction_failures
Define a new MachineClass field ignore_memory_transaction_failures.
If this is flag is true then the CPU will ignore memory transaction
failures which should cause the CPU to take an exception due to an
access to an unassigned physical address; the transaction will
instead return zero (for a read) or be ignored (for a write). This
should be set only by legacy board models which rely on the old
RAZ/WI behaviour for handling devices that QEMU does not yet model.
New board models should instead use "unimplemented-device" for all
memory ranges where the guest will attempt to probe for a device that
QEMU doesn't implement and a stub device is required.

We need this for ARM boards, where we're about to implement support for
generating external aborts on memory transaction failures. Too many
of our legacy board models rely on the RAZ/WI behaviour and we
would break currently working guests when their "probe for device"
code provoked an external abort rather than a RAZ.

Backports commit ed860129acd3fcd0b1e47884e810212aaca4d21b from qemu
2018-03-04 21:27:15 -05:00
..
container.c qom: Allow properties to be registered against classes 2018-02-21 21:00:56 -05:00
cpu.c boards.h: Define new flag ignore_memory_transaction_failures 2018-03-04 21:27:15 -05:00
Makefile.objs import 2015-08-21 15:04:50 +08:00
object.c qom: Fix ambiguous path detection when ambiguous=NULL 2018-03-03 22:49:21 -05:00
qom-qobject.c qapi: Drop unused non-strict qobject input visitor 2018-03-02 12:14:52 -05:00