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. To reach exactly two pages and not one, we remove two out of four orientations, the remaining are normal and right turn (chosen arbitrarily). Leaving only normal would result in a single page which would also break migration.
Added assertions to ensure changes in spice-protocol in the future causing increase or decrease of page size will result in failure at startup (could do this compile time also but not sure how). Signed-off-by: Alon Levy <al...@redhat.com> --- hw/qxl.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/hw/qxl.c b/hw/qxl.c index 8611ee9..99b354a 100644 --- a/hw/qxl.c +++ b/hw/qxl.c @@ -88,9 +88,7 @@ #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, 1) static QXLMode qxl_modes[] = { QXL_MODE_EX(640, 480), -- 1.8.0.1