This patch improves G364 video card emulation (used in MIPS Magnum machine): - Use memory dirty tracking to not refresh whole screen each time - Use macros for debugging messages - Add support for hardware cursor - Handle Y-panning - Raise irq at each screen redraw - Support retrieving of some registers - Add load/save support The emulation has been tested in Linux 2.1 and Windows NT 3.5, in 640x480, 800x600, 1024x768 and 1280x1024 resolutions. Signed-off-by: Hervé Poussineau <hpoussin@reactos.org> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6356 c046a42c-6fe2-441c-8c8c-71466251a162
38 lines
1.1 KiB
C
38 lines
1.1 KiB
C
#ifndef HW_MIPS_H
|
|
#define HW_MIPS_H
|
|
/* Definitions for mips board emulation. */
|
|
|
|
/* gt64xxx.c */
|
|
PCIBus *pci_gt64120_init(qemu_irq *pic);
|
|
|
|
/* ds1225y.c */
|
|
void *ds1225y_init(target_phys_addr_t mem_base, const char *filename);
|
|
void ds1225y_set_protection(void *opaque, int protection);
|
|
|
|
/* g364fb.c */
|
|
int g364fb_mm_init(uint8_t *vram, ram_addr_t vram_offset,
|
|
int vram_size, target_phys_addr_t vram_base,
|
|
target_phys_addr_t ctrl_base, int it_shift,
|
|
qemu_irq irq);
|
|
|
|
/* mipsnet.c */
|
|
void mipsnet_init(int base, qemu_irq irq, NICInfo *nd);
|
|
|
|
/* jazz_led.c */
|
|
extern void jazz_led_init(target_phys_addr_t base);
|
|
|
|
/* mips_int.c */
|
|
extern void cpu_mips_irq_init_cpu(CPUState *env);
|
|
|
|
/* mips_timer.c */
|
|
extern void cpu_mips_clock_init(CPUState *);
|
|
|
|
/* rc4030.c */
|
|
typedef struct rc4030DMAState *rc4030_dma;
|
|
typedef void (*rc4030_dma_function)(void *dma, uint8_t *buf, int len);
|
|
qemu_irq *rc4030_init(qemu_irq timer, qemu_irq jazz_bus,
|
|
rc4030_dma **dmas,
|
|
rc4030_dma_function *dma_read, rc4030_dma_function *dma_write);
|
|
|
|
#endif
|