Commit c60e08d9c6bbace33c04dab2b5cacbc42e2e3d47
1 parent
ea334207
Implement resolution switching in common console code.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4812 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
20 changed files
with
109 additions
and
91 deletions
console.c
@@ -28,6 +28,7 @@ | @@ -28,6 +28,7 @@ | ||
28 | //#define DEBUG_CONSOLE | 28 | //#define DEBUG_CONSOLE |
29 | #define DEFAULT_BACKSCROLL 512 | 29 | #define DEFAULT_BACKSCROLL 512 |
30 | #define MAX_CONSOLES 12 | 30 | #define MAX_CONSOLES 12 |
31 | +#define DEFAULT_MONITOR_SIZE "800x600" | ||
31 | 32 | ||
32 | #define QEMU_RGBA(r, g, b, a) (((a) << 24) | ((r) << 16) | ((g) << 8) | (b)) | 33 | #define QEMU_RGBA(r, g, b, a) (((a) << 24) | ((r) << 16) | ((g) << 8) | (b)) |
33 | #define QEMU_RGB(r, g, b) QEMU_RGBA(r, g, b, 0xff) | 34 | #define QEMU_RGB(r, g, b) QEMU_RGBA(r, g, b, 0xff) |
@@ -108,8 +109,7 @@ static int qemu_fifo_read(QEMUFIFO *f, uint8_t *buf, int len1) | @@ -108,8 +109,7 @@ static int qemu_fifo_read(QEMUFIFO *f, uint8_t *buf, int len1) | ||
108 | 109 | ||
109 | typedef enum { | 110 | typedef enum { |
110 | GRAPHIC_CONSOLE, | 111 | GRAPHIC_CONSOLE, |
111 | - TEXT_CONSOLE, | ||
112 | - TEXT_CONSOLE_FIXED_SIZE | 112 | + TEXT_CONSOLE |
113 | } console_type_t; | 113 | } console_type_t; |
114 | 114 | ||
115 | /* ??? This is mis-named. | 115 | /* ??? This is mis-named. |
@@ -1041,6 +1041,9 @@ void console_select(unsigned int index) | @@ -1041,6 +1041,9 @@ void console_select(unsigned int index) | ||
1041 | s = consoles[index]; | 1041 | s = consoles[index]; |
1042 | if (s) { | 1042 | if (s) { |
1043 | active_console = s; | 1043 | active_console = s; |
1044 | + if (s->g_width && s->g_height | ||
1045 | + && (s->g_width != s->ds->width || s->g_height != s->ds->height)) | ||
1046 | + dpy_resize(s->ds, s->g_width, s->g_height); | ||
1044 | vga_hw_invalidate(); | 1047 | vga_hw_invalidate(); |
1045 | } | 1048 | } |
1046 | } | 1049 | } |
@@ -1149,18 +1152,6 @@ static void text_console_invalidate(void *opaque) | @@ -1149,18 +1152,6 @@ static void text_console_invalidate(void *opaque) | ||
1149 | { | 1152 | { |
1150 | TextConsole *s = (TextConsole *) opaque; | 1153 | TextConsole *s = (TextConsole *) opaque; |
1151 | 1154 | ||
1152 | - if (s->console_type != GRAPHIC_CONSOLE) { | ||
1153 | - if (s->g_width != s->ds->width || | ||
1154 | - s->g_height != s->ds->height) { | ||
1155 | - if (s->console_type == TEXT_CONSOLE_FIXED_SIZE) | ||
1156 | - dpy_resize(s->ds, s->g_width, s->g_height); | ||
1157 | - else { | ||
1158 | - s->g_width = s->ds->width; | ||
1159 | - s->g_height = s->ds->height; | ||
1160 | - text_console_resize(s); | ||
1161 | - } | ||
1162 | - } | ||
1163 | - } | ||
1164 | console_refresh(s); | 1155 | console_refresh(s); |
1165 | } | 1156 | } |
1166 | 1157 | ||
@@ -1268,11 +1259,14 @@ CharDriverState *text_console_init(DisplayState *ds, const char *p) | @@ -1268,11 +1259,14 @@ CharDriverState *text_console_init(DisplayState *ds, const char *p) | ||
1268 | chr = qemu_mallocz(sizeof(CharDriverState)); | 1259 | chr = qemu_mallocz(sizeof(CharDriverState)); |
1269 | if (!chr) | 1260 | if (!chr) |
1270 | return NULL; | 1261 | return NULL; |
1271 | - s = new_console(ds, (p == 0) ? TEXT_CONSOLE : TEXT_CONSOLE_FIXED_SIZE); | 1262 | + s = new_console(ds, TEXT_CONSOLE); |
1272 | if (!s) { | 1263 | if (!s) { |
1273 | free(chr); | 1264 | free(chr); |
1274 | return NULL; | 1265 | return NULL; |
1275 | } | 1266 | } |
1267 | + if (!p) | ||
1268 | + p = DEFAULT_MONITOR_SIZE; | ||
1269 | + | ||
1276 | chr->opaque = s; | 1270 | chr->opaque = s; |
1277 | chr->chr_write = console_puts; | 1271 | chr->chr_write = console_puts; |
1278 | chr->chr_send_event = console_send_event; | 1272 | chr->chr_send_event = console_send_event; |
@@ -1332,3 +1326,14 @@ CharDriverState *text_console_init(DisplayState *ds, const char *p) | @@ -1332,3 +1326,14 @@ CharDriverState *text_console_init(DisplayState *ds, const char *p) | ||
1332 | 1326 | ||
1333 | return chr; | 1327 | return chr; |
1334 | } | 1328 | } |
1329 | + | ||
1330 | +void qemu_console_resize(QEMUConsole *console, int width, int height) | ||
1331 | +{ | ||
1332 | + if (console->g_width != width || console->g_height != height) { | ||
1333 | + console->g_width = width; | ||
1334 | + console->g_height = height; | ||
1335 | + if (active_console == console) { | ||
1336 | + dpy_resize(console->ds, width, height); | ||
1337 | + } | ||
1338 | + } | ||
1339 | +} |
console.h
@@ -135,6 +135,7 @@ int is_graphic_console(void); | @@ -135,6 +135,7 @@ int is_graphic_console(void); | ||
135 | CharDriverState *text_console_init(DisplayState *ds, const char *p); | 135 | CharDriverState *text_console_init(DisplayState *ds, const char *p); |
136 | void console_select(unsigned int index); | 136 | void console_select(unsigned int index); |
137 | void console_color_init(DisplayState *ds); | 137 | void console_color_init(DisplayState *ds); |
138 | +void qemu_console_resize(QEMUConsole *console, int width, int height); | ||
138 | 139 | ||
139 | /* sdl.c */ | 140 | /* sdl.c */ |
140 | void sdl_display_init(DisplayState *ds, int full_screen, int no_frame); | 141 | void sdl_display_init(DisplayState *ds, int full_screen, int no_frame); |
hw/blizzard.c
@@ -73,6 +73,7 @@ struct blizzard_s { | @@ -73,6 +73,7 @@ struct blizzard_s { | ||
73 | uint8_t iformat; | 73 | uint8_t iformat; |
74 | uint8_t source; | 74 | uint8_t source; |
75 | DisplayState *state; | 75 | DisplayState *state; |
76 | + QEMUConsole *console; | ||
76 | blizzard_fn_t *line_fn_tab[2]; | 77 | blizzard_fn_t *line_fn_tab[2]; |
77 | void *fb; | 78 | void *fb; |
78 | 79 | ||
@@ -896,7 +897,7 @@ static void blizzard_update_display(void *opaque) | @@ -896,7 +897,7 @@ static void blizzard_update_display(void *opaque) | ||
896 | 897 | ||
897 | if (s->x != s->state->width || s->y != s->state->height) { | 898 | if (s->x != s->state->width || s->y != s->state->height) { |
898 | s->invalidate = 1; | 899 | s->invalidate = 1; |
899 | - dpy_resize(s->state, s->x, s->y); | 900 | + qemu_console_resize(s->console, s->x, s->y); |
900 | } | 901 | } |
901 | 902 | ||
902 | if (s->invalidate) { | 903 | if (s->invalidate) { |
@@ -993,9 +994,9 @@ void *s1d13745_init(qemu_irq gpio_int, DisplayState *ds) | @@ -993,9 +994,9 @@ void *s1d13745_init(qemu_irq gpio_int, DisplayState *ds) | ||
993 | 994 | ||
994 | blizzard_reset(s); | 995 | blizzard_reset(s); |
995 | 996 | ||
996 | - graphic_console_init(s->state, blizzard_update_display, | ||
997 | - blizzard_invalidate_display, blizzard_screen_dump, | ||
998 | - NULL, s); | 997 | + s->console = graphic_console_init(s->state, blizzard_update_display, |
998 | + blizzard_invalidate_display, | ||
999 | + blizzard_screen_dump, NULL, s); | ||
999 | 1000 | ||
1000 | return s; | 1001 | return s; |
1001 | } | 1002 | } |
hw/cirrus_vga.c
@@ -3288,8 +3288,8 @@ void pci_cirrus_vga_init(PCIBus *bus, DisplayState *ds, uint8_t *vga_ram_base, | @@ -3288,8 +3288,8 @@ void pci_cirrus_vga_init(PCIBus *bus, DisplayState *ds, uint8_t *vga_ram_base, | ||
3288 | ds, vga_ram_base, vga_ram_offset, vga_ram_size); | 3288 | ds, vga_ram_base, vga_ram_offset, vga_ram_size); |
3289 | cirrus_init_common(s, device_id, 1); | 3289 | cirrus_init_common(s, device_id, 1); |
3290 | 3290 | ||
3291 | - graphic_console_init(s->ds, s->update, s->invalidate, s->screen_dump, | ||
3292 | - s->text_update, s); | 3291 | + s->console = graphic_console_init(s->ds, s->update, s->invalidate, |
3292 | + s->screen_dump, s->text_update, s); | ||
3293 | 3293 | ||
3294 | s->pci_dev = (PCIDevice *)d; | 3294 | s->pci_dev = (PCIDevice *)d; |
3295 | 3295 |
hw/g364fb.c
@@ -33,6 +33,7 @@ typedef struct G364State { | @@ -33,6 +33,7 @@ typedef struct G364State { | ||
33 | uint8_t palette[256][3]; | 33 | uint8_t palette[256][3]; |
34 | /* display refresh support */ | 34 | /* display refresh support */ |
35 | DisplayState *ds; | 35 | DisplayState *ds; |
36 | + QEMUConsole *console; | ||
36 | int graphic_mode; | 37 | int graphic_mode; |
37 | uint32_t scr_width, scr_height; /* in pixels */ | 38 | uint32_t scr_width, scr_height; /* in pixels */ |
38 | uint32_t last_scr_width, last_scr_height; /* in pixels */ | 39 | uint32_t last_scr_width, last_scr_height; /* in pixels */ |
@@ -74,13 +75,6 @@ static void g364fb_draw_graphic(G364State *s, int full_update) | @@ -74,13 +75,6 @@ static void g364fb_draw_graphic(G364State *s, int full_update) | ||
74 | { | 75 | { |
75 | if (s->scr_width == 0 || s->scr_height == 0) | 76 | if (s->scr_width == 0 || s->scr_height == 0) |
76 | return; | 77 | return; |
77 | - if (s->scr_width != s->last_scr_width | ||
78 | - || s->scr_height != s->last_scr_height) { | ||
79 | - s->last_scr_width = s->scr_width; | ||
80 | - s->last_scr_height = s->scr_height; | ||
81 | - dpy_resize(s->ds, s->last_scr_width, s->last_scr_height); | ||
82 | - full_update = 1; | ||
83 | - } | ||
84 | 78 | ||
85 | switch (s->ds->depth) { | 79 | switch (s->ds->depth) { |
86 | case 8: | 80 | case 8: |
@@ -272,7 +266,10 @@ static void g364fb_ctrl_writeb(void *opaque, target_phys_addr_t addr, uint32_t v | @@ -272,7 +266,10 @@ static void g364fb_ctrl_writeb(void *opaque, target_phys_addr_t addr, uint32_t v | ||
272 | #endif | 266 | #endif |
273 | break; | 267 | break; |
274 | } | 268 | } |
269 | + if (s->scr_width && s->scr_height) | ||
270 | + qemu_console_resize(s->console, s->scr_width, s->scr_height); | ||
275 | } | 271 | } |
272 | + s->graphic_mode = -1; /* force full update */ | ||
276 | } | 273 | } |
277 | 274 | ||
278 | static void g364fb_ctrl_writew(void *opaque, target_phys_addr_t addr, uint32_t val) | 275 | static void g364fb_ctrl_writew(void *opaque, target_phys_addr_t addr, uint32_t val) |
@@ -382,9 +379,9 @@ int g364fb_mm_init(DisplayState *ds, | @@ -382,9 +379,9 @@ int g364fb_mm_init(DisplayState *ds, | ||
382 | s->ds = ds; | 379 | s->ds = ds; |
383 | s->vram_base = vram_base; | 380 | s->vram_base = vram_base; |
384 | 381 | ||
385 | - graphic_console_init(ds, g364fb_update_display, | ||
386 | - g364fb_invalidate_display, g364fb_screen_dump, | ||
387 | - NULL, s); | 382 | + s->console = graphic_console_init(ds, g364fb_update_display, |
383 | + g364fb_invalidate_display, | ||
384 | + g364fb_screen_dump, NULL, s); | ||
388 | 385 | ||
389 | io_vram = cpu_register_io_memory(0, g364fb_mem_read, g364fb_mem_write, s); | 386 | io_vram = cpu_register_io_memory(0, g364fb_mem_read, g364fb_mem_write, s); |
390 | cpu_register_physical_memory(s->vram_base, vram_size, io_vram); | 387 | cpu_register_physical_memory(s->vram_base, vram_size, io_vram); |
hw/jazz_led.c
@@ -37,6 +37,7 @@ typedef struct LedState { | @@ -37,6 +37,7 @@ typedef struct LedState { | ||
37 | target_phys_addr_t base; | 37 | target_phys_addr_t base; |
38 | uint8_t segments; | 38 | uint8_t segments; |
39 | DisplayState *ds; | 39 | DisplayState *ds; |
40 | + QEMUConsole *console; | ||
40 | screen_state_t state; | 41 | screen_state_t state; |
41 | } LedState; | 42 | } LedState; |
42 | 43 | ||
@@ -291,7 +292,7 @@ static void jazz_led_text_update(void *opaque, console_ch_t *chardata) | @@ -291,7 +292,7 @@ static void jazz_led_text_update(void *opaque, console_ch_t *chardata) | ||
291 | char buf[2]; | 292 | char buf[2]; |
292 | 293 | ||
293 | dpy_cursor(s->ds, -1, -1); | 294 | dpy_cursor(s->ds, -1, -1); |
294 | - dpy_resize(s->ds, 2, 1); | 295 | + qemu_console_resize(s->console, 2, 1); |
295 | 296 | ||
296 | /* TODO: draw the segments */ | 297 | /* TODO: draw the segments */ |
297 | snprintf(buf, 2, "%02hhx\n", s->segments); | 298 | snprintf(buf, 2, "%02hhx\n", s->segments); |
@@ -317,7 +318,9 @@ void jazz_led_init(DisplayState *ds, target_phys_addr_t base) | @@ -317,7 +318,9 @@ void jazz_led_init(DisplayState *ds, target_phys_addr_t base) | ||
317 | io = cpu_register_io_memory(0, led_read, led_write, s); | 318 | io = cpu_register_io_memory(0, led_read, led_write, s); |
318 | cpu_register_physical_memory(s->base, 1, io); | 319 | cpu_register_physical_memory(s->base, 1, io); |
319 | 320 | ||
320 | - graphic_console_init(ds, jazz_led_update_display, | ||
321 | - jazz_led_invalidate_display, jazz_led_screen_dump, | ||
322 | - jazz_led_text_update, s); | 321 | + s->console = graphic_console_init(ds, jazz_led_update_display, |
322 | + jazz_led_invalidate_display, | ||
323 | + jazz_led_screen_dump, | ||
324 | + jazz_led_text_update, s); | ||
325 | + qemu_console_resize(s->console, 60, 80); | ||
323 | } | 326 | } |
hw/musicpal.c
@@ -758,8 +758,8 @@ typedef struct musicpal_lcd_state { | @@ -758,8 +758,8 @@ typedef struct musicpal_lcd_state { | ||
758 | int page; | 758 | int page; |
759 | int page_off; | 759 | int page_off; |
760 | DisplayState *ds; | 760 | DisplayState *ds; |
761 | + QEMUConsole *console; | ||
761 | uint8_t video_ram[128*64/8]; | 762 | uint8_t video_ram[128*64/8]; |
762 | - int invalidate; | ||
763 | } musicpal_lcd_state; | 763 | } musicpal_lcd_state; |
764 | 764 | ||
765 | static uint32_t lcd_brightness; | 765 | static uint32_t lcd_brightness; |
@@ -818,11 +818,6 @@ static void lcd_refresh(void *opaque) | @@ -818,11 +818,6 @@ static void lcd_refresh(void *opaque) | ||
818 | musicpal_lcd_state *s = opaque; | 818 | musicpal_lcd_state *s = opaque; |
819 | int x, y, col; | 819 | int x, y, col; |
820 | 820 | ||
821 | - if (s->invalidate && (s->ds->width != 128*3 || s->ds->height != 64*3)) { | ||
822 | - dpy_resize(s->ds, 128*3, 64*3); | ||
823 | - s->invalidate = 0; | ||
824 | - } | ||
825 | - | ||
826 | switch (s->ds->depth) { | 821 | switch (s->ds->depth) { |
827 | case 0: | 822 | case 0: |
828 | return; | 823 | return; |
@@ -851,9 +846,6 @@ static void lcd_refresh(void *opaque) | @@ -851,9 +846,6 @@ static void lcd_refresh(void *opaque) | ||
851 | 846 | ||
852 | static void lcd_invalidate(void *opaque) | 847 | static void lcd_invalidate(void *opaque) |
853 | { | 848 | { |
854 | - musicpal_lcd_state *s = opaque; | ||
855 | - | ||
856 | - s->invalidate = 1; | ||
857 | } | 849 | } |
858 | 850 | ||
859 | static uint32_t musicpal_lcd_read(void *opaque, target_phys_addr_t offset) | 851 | static uint32_t musicpal_lcd_read(void *opaque, target_phys_addr_t offset) |
@@ -932,12 +924,13 @@ static void musicpal_lcd_init(DisplayState *ds, uint32_t base) | @@ -932,12 +924,13 @@ static void musicpal_lcd_init(DisplayState *ds, uint32_t base) | ||
932 | return; | 924 | return; |
933 | s->base = base; | 925 | s->base = base; |
934 | s->ds = ds; | 926 | s->ds = ds; |
935 | - s->invalidate = 1; | ||
936 | iomemtype = cpu_register_io_memory(0, musicpal_lcd_readfn, | 927 | iomemtype = cpu_register_io_memory(0, musicpal_lcd_readfn, |
937 | musicpal_lcd_writefn, s); | 928 | musicpal_lcd_writefn, s); |
938 | cpu_register_physical_memory(base, MP_LCD_SIZE, iomemtype); | 929 | cpu_register_physical_memory(base, MP_LCD_SIZE, iomemtype); |
939 | 930 | ||
940 | - graphic_console_init(ds, lcd_refresh, lcd_invalidate, NULL, NULL, s); | 931 | + s->console = graphic_console_init(ds, lcd_refresh, lcd_invalidate, |
932 | + NULL, NULL, s); | ||
933 | + qemu_console_resize(s->console, 128*3, 64*3); | ||
941 | } | 934 | } |
942 | 935 | ||
943 | /* PIC register offsets */ | 936 | /* PIC register offsets */ |
hw/nseries.c
@@ -1307,7 +1307,9 @@ static void n8x0_init(ram_addr_t ram_size, const char *boot_device, | @@ -1307,7 +1307,9 @@ static void n8x0_init(ram_addr_t ram_size, const char *boot_device, | ||
1307 | 1307 | ||
1308 | n800_setup_nolo_tags(phys_ram_base + sdram_size); | 1308 | n800_setup_nolo_tags(phys_ram_base + sdram_size); |
1309 | } | 1309 | } |
1310 | - | 1310 | + /* FIXME: We shouldn't really be doing this here. The LCD controller |
1311 | + will set the size once configured, so this just sets an initial | ||
1312 | + size until the guest activates the display. */ | ||
1311 | dpy_resize(ds, 800, 480); | 1313 | dpy_resize(ds, 800, 480); |
1312 | } | 1314 | } |
1313 | 1315 |
hw/omap_lcdc.c
@@ -26,6 +26,7 @@ struct omap_lcd_panel_s { | @@ -26,6 +26,7 @@ struct omap_lcd_panel_s { | ||
26 | target_phys_addr_t base; | 26 | target_phys_addr_t base; |
27 | qemu_irq irq; | 27 | qemu_irq irq; |
28 | DisplayState *state; | 28 | DisplayState *state; |
29 | + QEMUConsole *console; | ||
29 | ram_addr_t imif_base; | 30 | ram_addr_t imif_base; |
30 | ram_addr_t emiff_base; | 31 | ram_addr_t emiff_base; |
31 | 32 | ||
@@ -175,8 +176,8 @@ static void omap_update_display(void *opaque) | @@ -175,8 +176,8 @@ static void omap_update_display(void *opaque) | ||
175 | width = omap_lcd->width; | 176 | width = omap_lcd->width; |
176 | if (width != omap_lcd->state->width || | 177 | if (width != omap_lcd->state->width || |
177 | omap_lcd->height != omap_lcd->state->height) { | 178 | omap_lcd->height != omap_lcd->state->height) { |
178 | - dpy_resize(omap_lcd->state, | ||
179 | - omap_lcd->width, omap_lcd->height); | 179 | + qemu_console_resize(omap_lcd->console, |
180 | + omap_lcd->width, omap_lcd->height); | ||
180 | omap_lcd->invalidate = 1; | 181 | omap_lcd->invalidate = 1; |
181 | } | 182 | } |
182 | 183 | ||
@@ -494,8 +495,9 @@ struct omap_lcd_panel_s *omap_lcdc_init(target_phys_addr_t base, qemu_irq irq, | @@ -494,8 +495,9 @@ struct omap_lcd_panel_s *omap_lcdc_init(target_phys_addr_t base, qemu_irq irq, | ||
494 | omap_lcdc_writefn, s); | 495 | omap_lcdc_writefn, s); |
495 | cpu_register_physical_memory(s->base, 0x100, iomemtype); | 496 | cpu_register_physical_memory(s->base, 0x100, iomemtype); |
496 | 497 | ||
497 | - graphic_console_init(ds, omap_update_display, | ||
498 | - omap_invalidate_display, omap_screen_dump, NULL, s); | 498 | + s->console = graphic_console_init(ds, omap_update_display, |
499 | + omap_invalidate_display, | ||
500 | + omap_screen_dump, NULL, s); | ||
499 | 501 | ||
500 | return s; | 502 | return s; |
501 | } | 503 | } |
hw/palm.c
@@ -275,6 +275,9 @@ static void palmte_init(ram_addr_t ram_size, int vga_ram_size, | @@ -275,6 +275,9 @@ static void palmte_init(ram_addr_t ram_size, int vga_ram_size, | ||
275 | arm_load_kernel(cpu->env, &palmte_binfo); | 275 | arm_load_kernel(cpu->env, &palmte_binfo); |
276 | } | 276 | } |
277 | 277 | ||
278 | + /* FIXME: We shouldn't really be doing this here. The LCD controller | ||
279 | + will set the size once configured, so this just sets an initial | ||
280 | + size until the guest activates the display. */ | ||
278 | dpy_resize(ds, 320, 320); | 281 | dpy_resize(ds, 320, 320); |
279 | } | 282 | } |
280 | 283 |
hw/pl110.c
@@ -30,6 +30,8 @@ enum pl110_bppmode | @@ -30,6 +30,8 @@ enum pl110_bppmode | ||
30 | typedef struct { | 30 | typedef struct { |
31 | uint32_t base; | 31 | uint32_t base; |
32 | DisplayState *ds; | 32 | DisplayState *ds; |
33 | + QEMUConsole *console; | ||
34 | + | ||
33 | /* The Versatile/PB uses a slightly modified PL110 controller. */ | 35 | /* The Versatile/PB uses a slightly modified PL110 controller. */ |
34 | int versatile; | 36 | int versatile; |
35 | uint32_t timing[4]; | 37 | uint32_t timing[4]; |
@@ -270,7 +272,7 @@ static void pl110_resize(pl110_state *s, int width, int height) | @@ -270,7 +272,7 @@ static void pl110_resize(pl110_state *s, int width, int height) | ||
270 | { | 272 | { |
271 | if (width != s->cols || height != s->rows) { | 273 | if (width != s->cols || height != s->rows) { |
272 | if (pl110_enabled(s)) { | 274 | if (pl110_enabled(s)) { |
273 | - dpy_resize(s->ds, width, height); | 275 | + qemu_console_resize(s->console, width, height); |
274 | } | 276 | } |
275 | } | 277 | } |
276 | s->cols = width; | 278 | s->cols = width; |
@@ -387,7 +389,7 @@ static void pl110_write(void *opaque, target_phys_addr_t offset, | @@ -387,7 +389,7 @@ static void pl110_write(void *opaque, target_phys_addr_t offset, | ||
387 | s->cr = val; | 389 | s->cr = val; |
388 | s->bpp = (val >> 1) & 7; | 390 | s->bpp = (val >> 1) & 7; |
389 | if (pl110_enabled(s)) { | 391 | if (pl110_enabled(s)) { |
390 | - dpy_resize(s->ds, s->cols, s->rows); | 392 | + qemu_console_resize(s->console, s->cols, s->rows); |
391 | } | 393 | } |
392 | break; | 394 | break; |
393 | case 10: /* LCDICR */ | 395 | case 10: /* LCDICR */ |
@@ -425,8 +427,9 @@ void *pl110_init(DisplayState *ds, uint32_t base, qemu_irq irq, | @@ -425,8 +427,9 @@ void *pl110_init(DisplayState *ds, uint32_t base, qemu_irq irq, | ||
425 | s->ds = ds; | 427 | s->ds = ds; |
426 | s->versatile = versatile; | 428 | s->versatile = versatile; |
427 | s->irq = irq; | 429 | s->irq = irq; |
428 | - graphic_console_init(ds, pl110_update_display, pl110_invalidate_display, | ||
429 | - NULL, NULL, s); | 430 | + s->console = graphic_console_init(ds, pl110_update_display, |
431 | + pl110_invalidate_display, | ||
432 | + NULL, NULL, s); | ||
430 | /* ??? Save/restore. */ | 433 | /* ??? Save/restore. */ |
431 | return s; | 434 | return s; |
432 | } | 435 | } |
hw/pxa2xx_lcd.c
@@ -23,6 +23,7 @@ struct pxa2xx_lcdc_s { | @@ -23,6 +23,7 @@ struct pxa2xx_lcdc_s { | ||
23 | 23 | ||
24 | int invalidated; | 24 | int invalidated; |
25 | DisplayState *ds; | 25 | DisplayState *ds; |
26 | + QEMUConsole *console; | ||
26 | drawfn *line_fn[2]; | 27 | drawfn *line_fn[2]; |
27 | int dest_width; | 28 | int dest_width; |
28 | int xres, yres; | 29 | int xres, yres; |
@@ -794,9 +795,9 @@ static void pxa2xx_lcdc_resize(struct pxa2xx_lcdc_s *s) | @@ -794,9 +795,9 @@ static void pxa2xx_lcdc_resize(struct pxa2xx_lcdc_s *s) | ||
794 | 795 | ||
795 | if (width != s->xres || height != s->yres) { | 796 | if (width != s->xres || height != s->yres) { |
796 | if (s->orientation) | 797 | if (s->orientation) |
797 | - dpy_resize(s->ds, height, width); | 798 | + qemu_console_resize(s->console, height, width); |
798 | else | 799 | else |
799 | - dpy_resize(s->ds, width, height); | 800 | + qemu_console_resize(s->console, width, height); |
800 | s->invalidated = 1; | 801 | s->invalidated = 1; |
801 | s->xres = width; | 802 | s->xres = width; |
802 | s->yres = height; | 803 | s->yres = height; |
@@ -1001,8 +1002,9 @@ struct pxa2xx_lcdc_s *pxa2xx_lcdc_init(target_phys_addr_t base, qemu_irq irq, | @@ -1001,8 +1002,9 @@ struct pxa2xx_lcdc_s *pxa2xx_lcdc_init(target_phys_addr_t base, qemu_irq irq, | ||
1001 | pxa2xx_lcdc_writefn, s); | 1002 | pxa2xx_lcdc_writefn, s); |
1002 | cpu_register_physical_memory(base, 0x00100000, iomemtype); | 1003 | cpu_register_physical_memory(base, 0x00100000, iomemtype); |
1003 | 1004 | ||
1004 | - graphic_console_init(ds, pxa2xx_update_display, | ||
1005 | - pxa2xx_invalidate_display, pxa2xx_screen_dump, NULL, s); | 1005 | + s->console = graphic_console_init(ds, pxa2xx_update_display, |
1006 | + pxa2xx_invalidate_display, | ||
1007 | + pxa2xx_screen_dump, NULL, s); | ||
1006 | 1008 | ||
1007 | switch (s->ds->depth) { | 1009 | switch (s->ds->depth) { |
1008 | case 0: | 1010 | case 0: |
hw/ssd0303.c
@@ -45,6 +45,7 @@ enum ssd0303_cmd { | @@ -45,6 +45,7 @@ enum ssd0303_cmd { | ||
45 | typedef struct { | 45 | typedef struct { |
46 | i2c_slave i2c; | 46 | i2c_slave i2c; |
47 | DisplayState *ds; | 47 | DisplayState *ds; |
48 | + QEMUConsole *console; | ||
48 | int row; | 49 | int row; |
49 | int col; | 50 | int col; |
50 | int start_line; | 51 | int start_line; |
@@ -269,7 +270,8 @@ void ssd0303_init(DisplayState *ds, i2c_bus *bus, int address) | @@ -269,7 +270,8 @@ void ssd0303_init(DisplayState *ds, i2c_bus *bus, int address) | ||
269 | s->i2c.event = ssd0303_event; | 270 | s->i2c.event = ssd0303_event; |
270 | s->i2c.recv = ssd0303_recv; | 271 | s->i2c.recv = ssd0303_recv; |
271 | s->i2c.send = ssd0303_send; | 272 | s->i2c.send = ssd0303_send; |
272 | - graphic_console_init(ds, ssd0303_update_display, ssd0303_invalidate_display, | ||
273 | - NULL, NULL, s); | ||
274 | - dpy_resize(s->ds, 96 * MAGNIFY, 16 * MAGNIFY); | 273 | + s->console = graphic_console_init(ds, ssd0303_update_display, |
274 | + ssd0303_invalidate_display, | ||
275 | + NULL, NULL, s); | ||
276 | + qemu_console_resize(s->console, 96 * MAGNIFY, 16 * MAGNIFY); | ||
275 | } | 277 | } |
hw/ssd0323.c
@@ -44,6 +44,7 @@ enum ssd0323_mode | @@ -44,6 +44,7 @@ enum ssd0323_mode | ||
44 | 44 | ||
45 | typedef struct { | 45 | typedef struct { |
46 | DisplayState *ds; | 46 | DisplayState *ds; |
47 | + QEMUConsole *console; | ||
47 | 48 | ||
48 | int cmd_len; | 49 | int cmd_len; |
49 | int cmd; | 50 | int cmd; |
@@ -278,12 +279,13 @@ void *ssd0323_init(DisplayState *ds, qemu_irq *cmd_p) | @@ -278,12 +279,13 @@ void *ssd0323_init(DisplayState *ds, qemu_irq *cmd_p) | ||
278 | qemu_irq *cmd; | 279 | qemu_irq *cmd; |
279 | 280 | ||
280 | s = (ssd0323_state *)qemu_mallocz(sizeof(ssd0323_state)); | 281 | s = (ssd0323_state *)qemu_mallocz(sizeof(ssd0323_state)); |
281 | - s->ds = ds; | ||
282 | - graphic_console_init(ds, ssd0323_update_display, ssd0323_invalidate_display, | ||
283 | - NULL, NULL, s); | ||
284 | - dpy_resize(s->ds, 128 * MAGNIFY, 64 * MAGNIFY); | ||
285 | s->col_end = 63; | 282 | s->col_end = 63; |
286 | s->row_end = 79; | 283 | s->row_end = 79; |
284 | + s->ds = ds; | ||
285 | + s->console = graphic_console_init(ds, ssd0323_update_display, | ||
286 | + ssd0323_invalidate_display, | ||
287 | + NULL, NULL, s); | ||
288 | + qemu_console_resize(s->console, 128 * MAGNIFY, 64 * MAGNIFY); | ||
287 | 289 | ||
288 | cmd = qemu_allocate_irqs(ssd0323_cd, s, 1); | 290 | cmd = qemu_allocate_irqs(ssd0323_cd, s, 1); |
289 | *cmd_p = *cmd; | 291 | *cmd_p = *cmd; |
hw/tcx.c
@@ -36,6 +36,7 @@ | @@ -36,6 +36,7 @@ | ||
36 | typedef struct TCXState { | 36 | typedef struct TCXState { |
37 | target_phys_addr_t addr; | 37 | target_phys_addr_t addr; |
38 | DisplayState *ds; | 38 | DisplayState *ds; |
39 | + QEMUConsole *console; | ||
39 | uint8_t *vram; | 40 | uint8_t *vram; |
40 | uint32_t *vram24, *cplane; | 41 | uint32_t *vram24, *cplane; |
41 | ram_addr_t vram_offset, vram24_offset, cplane_offset; | 42 | ram_addr_t vram_offset, vram24_offset, cplane_offset; |
@@ -186,8 +187,6 @@ static void tcx_update_display(void *opaque) | @@ -186,8 +187,6 @@ static void tcx_update_display(void *opaque) | ||
186 | 187 | ||
187 | if (ts->ds->depth == 0) | 188 | if (ts->ds->depth == 0) |
188 | return; | 189 | return; |
189 | - if (ts->ds->width != ts->width || ts->ds->height != ts->height) | ||
190 | - dpy_resize(ts->ds, ts->width, ts->height); | ||
191 | page = ts->vram_offset; | 190 | page = ts->vram_offset; |
192 | y_start = -1; | 191 | y_start = -1; |
193 | page_min = 0xffffffff; | 192 | page_min = 0xffffffff; |
@@ -266,8 +265,6 @@ static void tcx24_update_display(void *opaque) | @@ -266,8 +265,6 @@ static void tcx24_update_display(void *opaque) | ||
266 | 265 | ||
267 | if (ts->ds->depth != 32) | 266 | if (ts->ds->depth != 32) |
268 | return; | 267 | return; |
269 | - if (ts->ds->width != ts->width || ts->ds->height != ts->height) | ||
270 | - dpy_resize(ts->ds, ts->width, ts->height); | ||
271 | page = ts->vram_offset; | 268 | page = ts->vram_offset; |
272 | page24 = ts->vram24_offset; | 269 | page24 = ts->vram24_offset; |
273 | cpage = ts->cplane_offset; | 270 | cpage = ts->cplane_offset; |
@@ -541,14 +538,15 @@ void tcx_init(DisplayState *ds, target_phys_addr_t addr, uint8_t *vram_base, | @@ -541,14 +538,15 @@ void tcx_init(DisplayState *ds, target_phys_addr_t addr, uint8_t *vram_base, | ||
541 | s->cplane = (uint32_t *)vram_base; | 538 | s->cplane = (uint32_t *)vram_base; |
542 | s->cplane_offset = vram_offset; | 539 | s->cplane_offset = vram_offset; |
543 | cpu_register_physical_memory(addr + 0x0a000000ULL, size, vram_offset); | 540 | cpu_register_physical_memory(addr + 0x0a000000ULL, size, vram_offset); |
544 | - graphic_console_init(s->ds, tcx24_update_display, | ||
545 | - tcx24_invalidate_display, | ||
546 | - tcx24_screen_dump, NULL, s); | 541 | + s->console = graphic_console_init(s->ds, tcx24_update_display, |
542 | + tcx24_invalidate_display, | ||
543 | + tcx24_screen_dump, NULL, s); | ||
547 | } else { | 544 | } else { |
548 | cpu_register_physical_memory(addr + 0x00300000ULL, TCX_THC_NREGS_8, | 545 | cpu_register_physical_memory(addr + 0x00300000ULL, TCX_THC_NREGS_8, |
549 | dummy_memory); | 546 | dummy_memory); |
550 | - graphic_console_init(s->ds, tcx_update_display, tcx_invalidate_display, | ||
551 | - tcx_screen_dump, NULL, s); | 547 | + s->console = graphic_console_init(s->ds, tcx_update_display, |
548 | + tcx_invalidate_display, | ||
549 | + tcx_screen_dump, NULL, s); | ||
552 | } | 550 | } |
553 | // NetBSD writes here even with 8-bit display | 551 | // NetBSD writes here even with 8-bit display |
554 | cpu_register_physical_memory(addr + 0x00301000ULL, TCX_THC_NREGS_24, | 552 | cpu_register_physical_memory(addr + 0x00301000ULL, TCX_THC_NREGS_24, |
@@ -557,7 +555,7 @@ void tcx_init(DisplayState *ds, target_phys_addr_t addr, uint8_t *vram_base, | @@ -557,7 +555,7 @@ void tcx_init(DisplayState *ds, target_phys_addr_t addr, uint8_t *vram_base, | ||
557 | register_savevm("tcx", addr, 4, tcx_save, tcx_load, s); | 555 | register_savevm("tcx", addr, 4, tcx_save, tcx_load, s); |
558 | qemu_register_reset(tcx_reset, s); | 556 | qemu_register_reset(tcx_reset, s); |
559 | tcx_reset(s); | 557 | tcx_reset(s); |
560 | - dpy_resize(s->ds, width, height); | 558 | + qemu_console_resize(s->console, width, height); |
561 | } | 559 | } |
562 | 560 | ||
563 | static void tcx_screen_dump(void *opaque, const char *filename) | 561 | static void tcx_screen_dump(void *opaque, const char *filename) |
hw/vga.c
@@ -1155,7 +1155,7 @@ static void vga_draw_text(VGAState *s, int full_update) | @@ -1155,7 +1155,7 @@ static void vga_draw_text(VGAState *s, int full_update) | ||
1155 | cw != s->last_cw || cheight != s->last_ch) { | 1155 | cw != s->last_cw || cheight != s->last_ch) { |
1156 | s->last_scr_width = width * cw; | 1156 | s->last_scr_width = width * cw; |
1157 | s->last_scr_height = height * cheight; | 1157 | s->last_scr_height = height * cheight; |
1158 | - dpy_resize(s->ds, s->last_scr_width, s->last_scr_height); | 1158 | + qemu_console_resize(s->console, s->last_scr_width, s->last_scr_height); |
1159 | s->last_width = width; | 1159 | s->last_width = width; |
1160 | s->last_height = height; | 1160 | s->last_height = height; |
1161 | s->last_ch = cheight; | 1161 | s->last_ch = cheight; |
@@ -1499,7 +1499,7 @@ static void vga_draw_graphic(VGAState *s, int full_update) | @@ -1499,7 +1499,7 @@ static void vga_draw_graphic(VGAState *s, int full_update) | ||
1499 | 1499 | ||
1500 | if (disp_width != s->last_width || | 1500 | if (disp_width != s->last_width || |
1501 | height != s->last_height) { | 1501 | height != s->last_height) { |
1502 | - dpy_resize(s->ds, disp_width, height); | 1502 | + qemu_console_resize(s->console, disp_width, height); |
1503 | s->last_scr_width = disp_width; | 1503 | s->last_scr_width = disp_width; |
1504 | s->last_scr_height = height; | 1504 | s->last_scr_height = height; |
1505 | s->last_width = disp_width; | 1505 | s->last_width = disp_width; |
@@ -1734,7 +1734,7 @@ static void vga_update_text(void *opaque, console_ch_t *chardata) | @@ -1734,7 +1734,7 @@ static void vga_update_text(void *opaque, console_ch_t *chardata) | ||
1734 | cw != s->last_cw || cheight != s->last_ch) { | 1734 | cw != s->last_cw || cheight != s->last_ch) { |
1735 | s->last_scr_width = width * cw; | 1735 | s->last_scr_width = width * cw; |
1736 | s->last_scr_height = height * cheight; | 1736 | s->last_scr_height = height * cheight; |
1737 | - dpy_resize(s->ds, width, height); | 1737 | + qemu_console_resize(s->console, width, height); |
1738 | s->last_width = width; | 1738 | s->last_width = width; |
1739 | s->last_height = height; | 1739 | s->last_height = height; |
1740 | s->last_ch = cheight; | 1740 | s->last_ch = cheight; |
@@ -1814,7 +1814,7 @@ static void vga_update_text(void *opaque, console_ch_t *chardata) | @@ -1814,7 +1814,7 @@ static void vga_update_text(void *opaque, console_ch_t *chardata) | ||
1814 | s->last_width = 60; | 1814 | s->last_width = 60; |
1815 | s->last_height = height = 3; | 1815 | s->last_height = height = 3; |
1816 | dpy_cursor(s->ds, -1, -1); | 1816 | dpy_cursor(s->ds, -1, -1); |
1817 | - dpy_resize(s->ds, s->last_width, height); | 1817 | + qemu_console_resize(s->console, s->last_width, height); |
1818 | 1818 | ||
1819 | for (dst = chardata, i = 0; i < s->last_width * height; i ++) | 1819 | for (dst = chardata, i = 0; i < s->last_width * height; i ++) |
1820 | console_write_ch(dst ++, ' '); | 1820 | console_write_ch(dst ++, ' '); |
@@ -2140,8 +2140,8 @@ int isa_vga_init(DisplayState *ds, uint8_t *vga_ram_base, | @@ -2140,8 +2140,8 @@ int isa_vga_init(DisplayState *ds, uint8_t *vga_ram_base, | ||
2140 | vga_common_init(s, ds, vga_ram_base, vga_ram_offset, vga_ram_size); | 2140 | vga_common_init(s, ds, vga_ram_base, vga_ram_offset, vga_ram_size); |
2141 | vga_init(s); | 2141 | vga_init(s); |
2142 | 2142 | ||
2143 | - graphic_console_init(s->ds, s->update, s->invalidate, s->screen_dump, | ||
2144 | - s->text_update, s); | 2143 | + s->console = graphic_console_init(s->ds, s->update, s->invalidate, |
2144 | + s->screen_dump, s->text_update, s); | ||
2145 | 2145 | ||
2146 | #ifdef CONFIG_BOCHS_VBE | 2146 | #ifdef CONFIG_BOCHS_VBE |
2147 | /* XXX: use optimized standard vga accesses */ | 2147 | /* XXX: use optimized standard vga accesses */ |
@@ -2165,8 +2165,8 @@ int isa_vga_mm_init(DisplayState *ds, uint8_t *vga_ram_base, | @@ -2165,8 +2165,8 @@ int isa_vga_mm_init(DisplayState *ds, uint8_t *vga_ram_base, | ||
2165 | vga_common_init(s, ds, vga_ram_base, vga_ram_offset, vga_ram_size); | 2165 | vga_common_init(s, ds, vga_ram_base, vga_ram_offset, vga_ram_size); |
2166 | vga_mm_init(s, vram_base, ctrl_base, it_shift); | 2166 | vga_mm_init(s, vram_base, ctrl_base, it_shift); |
2167 | 2167 | ||
2168 | - graphic_console_init(s->ds, s->update, s->invalidate, s->screen_dump, | ||
2169 | - s->text_update, s); | 2168 | + s->console = graphic_console_init(s->ds, s->update, s->invalidate, |
2169 | + s->screen_dump, s->text_update, s); | ||
2170 | 2170 | ||
2171 | #ifdef CONFIG_BOCHS_VBE | 2171 | #ifdef CONFIG_BOCHS_VBE |
2172 | /* XXX: use optimized standard vga accesses */ | 2172 | /* XXX: use optimized standard vga accesses */ |
@@ -2194,8 +2194,8 @@ int pci_vga_init(PCIBus *bus, DisplayState *ds, uint8_t *vga_ram_base, | @@ -2194,8 +2194,8 @@ int pci_vga_init(PCIBus *bus, DisplayState *ds, uint8_t *vga_ram_base, | ||
2194 | vga_common_init(s, ds, vga_ram_base, vga_ram_offset, vga_ram_size); | 2194 | vga_common_init(s, ds, vga_ram_base, vga_ram_offset, vga_ram_size); |
2195 | vga_init(s); | 2195 | vga_init(s); |
2196 | 2196 | ||
2197 | - graphic_console_init(s->ds, s->update, s->invalidate, s->screen_dump, | ||
2198 | - s->text_update, s); | 2197 | + s->console = graphic_console_init(s->ds, s->update, s->invalidate, |
2198 | + s->screen_dump, s->text_update, s); | ||
2199 | 2199 | ||
2200 | s->pci_dev = &d->dev; | 2200 | s->pci_dev = &d->dev; |
2201 | 2201 |
hw/vga_int.h
@@ -121,6 +121,7 @@ | @@ -121,6 +121,7 @@ | ||
121 | VGA_STATE_COMMON_BOCHS_VBE \ | 121 | VGA_STATE_COMMON_BOCHS_VBE \ |
122 | /* display refresh support */ \ | 122 | /* display refresh support */ \ |
123 | DisplayState *ds; \ | 123 | DisplayState *ds; \ |
124 | + QEMUConsole *console; \ | ||
124 | uint32_t font_offsets[2]; \ | 125 | uint32_t font_offsets[2]; \ |
125 | int graphic_mode; \ | 126 | int graphic_mode; \ |
126 | uint8_t shift_control; \ | 127 | uint8_t shift_control; \ |
hw/vmware_vga.c
@@ -57,6 +57,7 @@ struct vmsvga_state_s { | @@ -57,6 +57,7 @@ struct vmsvga_state_s { | ||
57 | 57 | ||
58 | #ifndef EMBED_STDVGA | 58 | #ifndef EMBED_STDVGA |
59 | DisplayState *ds; | 59 | DisplayState *ds; |
60 | + QEMUConsole *console; | ||
60 | int vram_size; | 61 | int vram_size; |
61 | ram_addr_t vram_offset; | 62 | ram_addr_t vram_offset; |
62 | #endif | 63 | #endif |
@@ -869,7 +870,7 @@ static inline void vmsvga_size(struct vmsvga_state_s *s) | @@ -869,7 +870,7 @@ static inline void vmsvga_size(struct vmsvga_state_s *s) | ||
869 | if (s->new_width != s->width || s->new_height != s->height) { | 870 | if (s->new_width != s->width || s->new_height != s->height) { |
870 | s->width = s->new_width; | 871 | s->width = s->new_width; |
871 | s->height = s->new_height; | 872 | s->height = s->new_height; |
872 | - dpy_resize(s->ds, s->width, s->height); | 873 | + qemu_console_resize(s->console, s->width, s->height); |
873 | s->invalidated = 1; | 874 | s->invalidated = 1; |
874 | } | 875 | } |
875 | } | 876 | } |
@@ -1122,9 +1123,10 @@ static void vmsvga_init(struct vmsvga_state_s *s, DisplayState *ds, | @@ -1122,9 +1123,10 @@ static void vmsvga_init(struct vmsvga_state_s *s, DisplayState *ds, | ||
1122 | 1123 | ||
1123 | vmsvga_reset(s); | 1124 | vmsvga_reset(s); |
1124 | 1125 | ||
1125 | - graphic_console_init(ds, vmsvga_update_display, | ||
1126 | - vmsvga_invalidate_display, vmsvga_screen_dump, | ||
1127 | - vmsvga_text_update, s); | 1126 | + s->console = graphic_console_init(ds, vmsvga_update_display, |
1127 | + vmsvga_invalidate_display, | ||
1128 | + vmsvga_screen_dump, | ||
1129 | + vmsvga_text_update, s); | ||
1128 | 1130 | ||
1129 | #ifdef EMBED_STDVGA | 1131 | #ifdef EMBED_STDVGA |
1130 | vga_common_init((VGAState *) s, ds, | 1132 | vga_common_init((VGAState *) s, ds, |
qemu-common.h
@@ -119,6 +119,7 @@ typedef struct AudioState AudioState; | @@ -119,6 +119,7 @@ typedef struct AudioState AudioState; | ||
119 | typedef struct BlockDriverState BlockDriverState; | 119 | typedef struct BlockDriverState BlockDriverState; |
120 | typedef struct DisplayState DisplayState; | 120 | typedef struct DisplayState DisplayState; |
121 | typedef struct TextConsole TextConsole; | 121 | typedef struct TextConsole TextConsole; |
122 | +typedef TextConsole QEMUConsole; | ||
122 | typedef struct CharDriverState CharDriverState; | 123 | typedef struct CharDriverState CharDriverState; |
123 | typedef struct VLANState VLANState; | 124 | typedef struct VLANState VLANState; |
124 | typedef struct QEMUFile QEMUFile; | 125 | typedef struct QEMUFile QEMUFile; |
vl.c
@@ -7935,7 +7935,7 @@ int main(int argc, char **argv) | @@ -7935,7 +7935,7 @@ int main(int argc, char **argv) | ||
7935 | kernel_cmdline = ""; | 7935 | kernel_cmdline = ""; |
7936 | cyls = heads = secs = 0; | 7936 | cyls = heads = secs = 0; |
7937 | translation = BIOS_ATA_TRANSLATION_AUTO; | 7937 | translation = BIOS_ATA_TRANSLATION_AUTO; |
7938 | - monitor_device = "vc:800x600"; | 7938 | + monitor_device = "vc"; |
7939 | 7939 | ||
7940 | serial_devices[0] = "vc:80Cx24C"; | 7940 | serial_devices[0] = "vc:80Cx24C"; |
7941 | for(i = 1; i < MAX_SERIAL_PORTS; i++) | 7941 | for(i = 1; i < MAX_SERIAL_PORTS; i++) |