hw/display/artist: Verify artist screen resolution
Artist hardware is limited to 2048 x 2048 pixels. STI ROMs allow at minimum 640 x 480 pixels. Qemu users can adjust the screen size on the command line with: -global artist.width=800 -global artist.height=600 but we need to ensure that the screen size stays inside the given boundaries, otherwise print an error message and adjust. Signed-off-by: Helge Deller <deller@gmx.de> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
parent
3b65b74254
commit
95aad497d9
@ -1374,6 +1374,18 @@ static void artist_realizefn(DeviceState *dev, Error **errp)
|
|||||||
struct vram_buffer *buf;
|
struct vram_buffer *buf;
|
||||||
hwaddr offset = 0;
|
hwaddr offset = 0;
|
||||||
|
|
||||||
|
if (s->width > 2048 || s->height > 2048) {
|
||||||
|
error_report("artist: screen size can not exceed 2048 x 2048 pixel.");
|
||||||
|
s->width = MIN(s->width, 2048);
|
||||||
|
s->height = MIN(s->height, 2048);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (s->width < 640 || s->height < 480) {
|
||||||
|
error_report("artist: minimum screen size is 640 x 480 pixel.");
|
||||||
|
s->width = MAX(s->width, 640);
|
||||||
|
s->height = MAX(s->height, 480);
|
||||||
|
}
|
||||||
|
|
||||||
memory_region_init(&s->mem_as_root, OBJECT(dev), "artist", ~0ull);
|
memory_region_init(&s->mem_as_root, OBJECT(dev), "artist", ~0ull);
|
||||||
address_space_init(&s->as, &s->mem_as_root, "artist");
|
address_space_init(&s->as, &s->mem_as_root, "artist");
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user