From: Alon Levy <alevy@redhat.com>
To: qemu-devel@nongnu.org
Cc: kraxel@redhat.com
Subject: [Qemu-devel] [PATCH v2 2/2] qxl: change rom size to 8192
Date: Wed, 16 Jan 2013 19:59:30 +0200 [thread overview]
Message-ID: <1358359170-19271-3-git-send-email-alevy@redhat.com> (raw)
In-Reply-To: <1358359170-19271-1-git-send-email-alevy@redhat.com>
This is a simpler solution to 869981, where migration breaks since qxl's
rom bar size has changed. Instead of ignoring fields in QXLRom, which is what has
actually changed, we remove some of the modes, a mechanism already
accounted for by the guest.
Added assert so that rom size will fit the future QXLRom increases via
spice-protocol changes.
Signed-off-by: Alon Levy <alevy@redhat.com>
---
hw/qxl.c | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/hw/qxl.c b/hw/qxl.c
index 0d81816..0cd854a 100644
--- a/hw/qxl.c
+++ b/hw/qxl.c
@@ -79,10 +79,7 @@
QXL_MODE(x_res, y_res, 32, orientation)
#define QXL_MODE_EX(x_res, y_res) \
- QXL_MODE_16_32(x_res, y_res, 0), \
- QXL_MODE_16_32(y_res, x_res, 1), \
- QXL_MODE_16_32(x_res, y_res, 2), \
- QXL_MODE_16_32(y_res, x_res, 3)
+ QXL_MODE_16_32(x_res, y_res, 0)
static QXLMode qxl_modes[] = {
QXL_MODE_EX(640, 480),
@@ -306,10 +303,13 @@ static inline uint32_t msb_mask(uint32_t val)
static ram_addr_t qxl_rom_size(void)
{
- uint32_t rom_size = sizeof(QXLRom) + sizeof(QXLModes) + sizeof(qxl_modes);
+ uint32_t required_rom_size = sizeof(QXLRom) + sizeof(QXLModes) +
+ sizeof(qxl_modes);
+ uint32_t rom_size = 8192; /* two pages */
- rom_size = MAX(rom_size, TARGET_PAGE_SIZE);
- rom_size = msb_mask(rom_size * 2 - 1);
+ required_rom_size = MAX(required_rom_size, TARGET_PAGE_SIZE);
+ required_rom_size = msb_mask(required_rom_size * 2 - 1);
+ assert(required_rom_size <= rom_size);
return rom_size;
}
--
1.8.0.1
next prev parent reply other threads:[~2013-01-16 17:59 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-12-06 15:41 [Qemu-devel] [PATCH] qxl: use correct rom size for revision < 4 Alon Levy
2012-12-12 11:46 ` Gerd Hoffmann
2012-12-13 10:40 ` Alon Levy
2012-12-13 14:30 ` Yonit Halperin
2012-12-13 14:43 ` Gerd Hoffmann
2012-12-23 20:33 ` Alon Levy
2013-01-03 7:55 ` Gerd Hoffmann
2012-12-13 11:36 ` [Qemu-devel] [PATCH 1/2] qxl: stop using non revision 4 rom fields " Alon Levy
2012-12-13 11:36 ` [Qemu-devel] [PATCH 2/2] qxl: change rom so that 4096 < size < 8192 Alon Levy
2012-12-13 12:05 ` Gerd Hoffmann
2012-12-23 20:31 ` Alon Levy
2013-01-15 13:34 ` Alon Levy
2013-01-15 15:19 ` Gerd Hoffmann
2013-01-16 17:59 ` [Qemu-devel] [PATCH v2 0/2] fix two revision related errors Alon Levy
2013-01-16 17:59 ` [Qemu-devel] [PATCH v2 1/2] qxl: stop using non revision 4 rom fields for revision < 4 Alon Levy
2013-01-16 17:59 ` Alon Levy [this message]
2013-01-17 13:02 ` [Qemu-devel] [PATCH v2 0/2] fix two revision related errors Gerd Hoffmann
2013-01-17 13:28 ` Alon Levy
2013-01-17 13:44 ` Gerd Hoffmann
2013-01-20 16:30 ` Alon Levy
2013-01-21 6:26 ` Gerd Hoffmann
2013-01-21 12:47 ` Alon Levy
2013-01-21 12:48 ` [Qemu-devel] [PATCH v3 1/2] qxl: stop using non revision 4 rom fields for revision < 4 Alon Levy
2013-01-21 12:48 ` [Qemu-devel] [PATCH v3 2/2] qxl: change rom size to 8192 Alon Levy
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1358359170-19271-3-git-send-email-alevy@redhat.com \
--to=alevy@redhat.com \
--cc=kraxel@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).