diff options
author | Jonathan Cameron <Jonathan.Cameron@huawei.com> | 2023-05-26 18:00:08 +0100 |
---|---|---|
committer | Michael S. Tsirkin <mst@redhat.com> | 2023-06-22 18:55:14 -0400 |
commit | 9547754f40ee5c5e3d1dbed0fbc972caacd075e8 (patch) | |
tree | 6c44903e40789c3c6215b788eb292b0766b14861 /scripts/undefsym.py | |
parent | 14180d6221502bd4b9d96fa5f1065e7cda4bcf00 (diff) | |
download | qemu-9547754f40ee5c5e3d1dbed0fbc972caacd075e8.zip qemu-9547754f40ee5c5e3d1dbed0fbc972caacd075e8.tar.gz qemu-9547754f40ee5c5e3d1dbed0fbc972caacd075e8.tar.bz2 |
hw/cxl: QMP based poison injection support
Inject poison using QMP command cxl-inject-poison to add an entry to the
poison list.
For now, the poison is not returned CXL.mem reads, but only via the
mailbox command Get Poison List. So a normal memory read to an address
that is on the poison list will not yet result in a synchronous exception
(and similar for partial cacheline writes).
That is left for a future patch.
See CXL rev 3.0, sec 8.2.9.8.4.1 Get Poison list (Opcode 4300h)
Kernel patches to use this interface here:
https://lore.kernel.org/linux-cxl/cover.1665606782.git.alison.schofield@intel.com/
To inject poison using QMP (telnet to the QMP port)
{ "execute": "qmp_capabilities" }
{ "execute": "cxl-inject-poison",
"arguments": {
"path": "/machine/peripheral/cxl-pmem0",
"start": 2048,
"length": 256
}
}
Adjusted to select a device on your machine.
Note that the poison list supported is kept short enough to avoid the
complexity of state machine that is needed to handle the MORE flag.
Reviewed-by: Fan Ni <fan.ni@samsung.com>
Reviewed-by: Ira Weiny <ira.weiny@intel.com>
Acked-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Message-Id: <20230526170010.574-3-Jonathan.Cameron@huawei.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Diffstat (limited to 'scripts/undefsym.py')
0 files changed, 0 insertions, 0 deletions