diff options
author | Philippe Mathieu-Daudé <philmd@linaro.org> | 2022-11-28 21:27:38 +0100 |
---|---|---|
committer | Stefan Hajnoczi <stefanha@redhat.com> | 2022-11-29 18:15:26 -0500 |
commit | b1901de83a9456cde26fc755f71ca2b7b3ef50fc (patch) | |
tree | ad7eb140209c48144ba61bb1ffc2d65008648eac /hw/display | |
parent | 61c34fc194b776ecadc39fb26b061331107e5599 (diff) | |
download | qemu-b1901de83a9456cde26fc755f71ca2b7b3ef50fc.zip qemu-b1901de83a9456cde26fc755f71ca2b7b3ef50fc.tar.gz qemu-b1901de83a9456cde26fc755f71ca2b7b3ef50fc.tar.bz2 |
hw/display/qxl: Document qxl_phys2virt()
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-Id: <20221128202741.4945-3-philmd@linaro.org>
Diffstat (limited to 'hw/display')
-rw-r--r-- | hw/display/qxl.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/hw/display/qxl.h b/hw/display/qxl.h index e74de95..78b3a6c 100644 --- a/hw/display/qxl.h +++ b/hw/display/qxl.h @@ -147,6 +147,25 @@ OBJECT_DECLARE_SIMPLE_TYPE(PCIQXLDevice, PCI_QXL) #define QXL_DEFAULT_REVISION (QXL_REVISION_STABLE_V12 + 1) /* qxl.c */ +/** + * qxl_phys2virt: Get a pointer within a PCI VRAM memory region. + * + * @qxl: QXL device + * @phys: physical offset of buffer within the VRAM + * @group_id: memory slot group + * + * Returns a host pointer to a buffer placed at offset @phys within the + * active slot @group_id of the PCI VGA RAM memory region associated with + * the @qxl device. If the slot is inactive, or the offset is out + * of the memory region, returns NULL. + * + * Use with care; by the time this function returns, the returned pointer is + * not protected by RCU anymore. If the caller is not within an RCU critical + * section and does not hold the iothread lock, it must have other means of + * protecting the pointer, such as a reference to the region that includes + * the incoming ram_addr_t. + * + */ void *qxl_phys2virt(PCIQXLDevice *qxl, QXLPHYSICAL phys, int group_id); void qxl_set_guest_bug(PCIQXLDevice *qxl, const char *msg, ...) G_GNUC_PRINTF(2, 3); |