diff options
author | bellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162> | 2003-08-10 21:52:11 +0000 |
---|---|---|
committer | bellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162> | 2003-08-10 21:52:11 +0000 |
commit | 313aa567104a63fbe84d6ec2eeff5b5c81cb3524 (patch) | |
tree | 26c1f2fc04f0d722cf9147510c3b98a4b8704ec8 /vl.h | |
parent | 4cbf74b6b8097ca4c2396449babff639dab601cf (diff) |
added VGA emulation - added PS/2 mouse and keyboard emulation - use SDL for VGA display
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@356 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'vl.h')
-rw-r--r-- | vl.h | 45 |
1 files changed, 45 insertions, 0 deletions
@@ -25,7 +25,22 @@ #define VL_H /* vl.c */ +struct CPUX86State; +extern int reset_requested; + +typedef void (IOPortWriteFunc)(struct CPUX86State *env, uint32_t address, uint32_t data); +typedef uint32_t (IOPortReadFunc)(struct CPUX86State *env, uint32_t address); + void *get_mmap_addr(unsigned long size); +int register_ioport_read(int start, int length, IOPortReadFunc *func, int size); +int register_ioport_write(int start, int length, IOPortWriteFunc *func, int size); + +void kbd_put_keycode(int keycode); + +#define MOUSE_EVENT_LBUTTON 0x01 +#define MOUSE_EVENT_RBUTTON 0x02 +#define MOUSE_EVENT_MBUTTON 0x04 +void kbd_mouse_event(int dx, int dy, int dz, int buttons_state); /* block.c */ typedef struct BlockDriverState BlockDriverState; @@ -52,4 +67,34 @@ struct cow_header_v2 { uint32_t sectorsize; }; +/* vga.c */ + +#define VGA_RAM_SIZE (8192 * 1024) + +typedef struct DisplayState { + uint8_t *data; + int linesize; + int depth; + void (*dpy_update)(struct DisplayState *s, int x, int y, int w, int h); + void (*dpy_resize)(struct DisplayState *s, int w, int h); + void (*dpy_refresh)(struct DisplayState *s); +} DisplayState; + +static inline void dpy_update(DisplayState *s, int x, int y, int w, int h) +{ + s->dpy_update(s, x, y, w, h); +} + +static inline void dpy_resize(DisplayState *s, int w, int h) +{ + s->dpy_resize(s, w, h); +} + +int vga_init(DisplayState *ds, uint8_t *vga_ram_base, + unsigned long vga_ram_offset, int vga_ram_size); +void vga_update_display(void); + +/* sdl.c */ +void sdl_display_init(DisplayState *ds); + #endif /* VL_H */ |