[PATCH v2] hw/display/qxl: Set pci rom address aligned with page size

Bibo Mao posted 1 patch 2 years, 11 months ago
Test checkpatch passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/1621340448-31617-1-git-send-email-maobibo@loongson.cn
Maintainers: Gerd Hoffmann <kraxel@redhat.com>
hw/display/qxl.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH v2] hw/display/qxl: Set pci rom address aligned with page size
Posted by Bibo Mao 2 years, 11 months ago
From: maobibo <maobibo@loongson.cn>

On some MIPS system, page size is 16K, and qxl vga device can
be used for VM in kvm mode. Qxl pci rom size is set 8K fixed,
smaller than 16K page size on host system, it fails to be
added into memslots in kvm mode where memory_size and GPA
are required to align with page size.

This patch fixes this issue.

Signed-off-by: Bibo Mao <maobibo@loongson.cn>
---
 hw/display/qxl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hw/display/qxl.c b/hw/display/qxl.c
index 2ba7563..6e1f8ff 100644
--- a/hw/display/qxl.c
+++ b/hw/display/qxl.c
@@ -321,7 +321,7 @@ static ram_addr_t qxl_rom_size(void)
 #define QXL_ROM_SZ 8192
 
     QEMU_BUILD_BUG_ON(QXL_REQUIRED_SZ > QXL_ROM_SZ);
-    return QXL_ROM_SZ;
+    return QEMU_ALIGN_UP(QXL_REQUIRED_SZ, qemu_real_host_page_size);
 }
 
 static void init_qxl_rom(PCIQXLDevice *d)
-- 
1.8.3.1


Re: [PATCH v2] hw/display/qxl: Set pci rom address aligned with page size
Posted by maobibo 2 years, 11 months ago
ping.

or there is other suggestion so that qxl can be used on system
with 16K pagesize.


regards
bibo, mao

在 2021年05月18日 20:20, Bibo Mao 写道:
> From: maobibo <maobibo@loongson.cn>
> 
> On some MIPS system, page size is 16K, and qxl vga device can
> be used for VM in kvm mode. Qxl pci rom size is set 8K fixed,
> smaller than 16K page size on host system, it fails to be
> added into memslots in kvm mode where memory_size and GPA
> are required to align with page size.
> 
> This patch fixes this issue.
> 
> Signed-off-by: Bibo Mao <maobibo@loongson.cn>
> ---
>  hw/display/qxl.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/hw/display/qxl.c b/hw/display/qxl.c
> index 2ba7563..6e1f8ff 100644
> --- a/hw/display/qxl.c
> +++ b/hw/display/qxl.c
> @@ -321,7 +321,7 @@ static ram_addr_t qxl_rom_size(void)
>  #define QXL_ROM_SZ 8192
>  
>      QEMU_BUILD_BUG_ON(QXL_REQUIRED_SZ > QXL_ROM_SZ);
> -    return QXL_ROM_SZ;
> +    return QEMU_ALIGN_UP(QXL_REQUIRED_SZ, qemu_real_host_page_size);
>  }
>  
>  static void init_qxl_rom(PCIQXLDevice *d)
>