diff mbox series

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

Message ID 1621340448-31617-1-git-send-email-maobibo@loongson.cn (mailing list archive)
State New, archived
Headers show
Series [v2] hw/display/qxl: Set pci rom address aligned with page size | expand

Commit Message

maobibo May 18, 2021, 12:20 p.m. UTC
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(-)

Comments

maobibo May 21, 2021, 3:30 a.m. UTC | #1
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)
>
diff mbox series

Patch

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)