~dannf/qemu-linaro/qemu-highbank-ppa

« back to all changes in this revision

Viewing changes to hw/tcx.c

  • Committer: Steve Langasek
  • Date: 2012-03-15 21:13:19 UTC
  • mfrom: (0.1.15)
  • Revision ID: steve.langasek@canonical.com-20120315211319-f1j3ot1ihx30b2s9
New upstream release

Show diffs side-by-side

added added

removed removed

Lines of Context:
56
56
    uint8_t dac_index, dac_state;
57
57
} TCXState;
58
58
 
59
 
static void tcx_screen_dump(void *opaque, const char *filename);
60
 
static void tcx24_screen_dump(void *opaque, const char *filename);
 
59
static void tcx_screen_dump(void *opaque, const char *filename, bool cswitch);
 
60
static void tcx24_screen_dump(void *opaque, const char *filename, bool cswitch);
61
61
 
62
62
static void tcx_set_dirty(TCXState *s)
63
63
{
178
178
                              ram_addr_t cpage)
179
179
{
180
180
    int ret;
181
 
    unsigned int off;
182
181
 
183
 
    ret = memory_region_get_dirty(&s->vram_mem, page, DIRTY_MEMORY_VGA);
184
 
    for (off = 0; off < TARGET_PAGE_SIZE * 4; off += TARGET_PAGE_SIZE) {
185
 
        ret |= memory_region_get_dirty(&s->vram_mem, page24 + off,
186
 
                                       DIRTY_MEMORY_VGA);
187
 
        ret |= memory_region_get_dirty(&s->vram_mem, cpage + off,
188
 
                                       DIRTY_MEMORY_VGA);
189
 
    }
 
182
    ret = memory_region_get_dirty(&s->vram_mem, page, TARGET_PAGE_SIZE,
 
183
                                  DIRTY_MEMORY_VGA);
 
184
    ret |= memory_region_get_dirty(&s->vram_mem, page24, TARGET_PAGE_SIZE * 4,
 
185
                                   DIRTY_MEMORY_VGA);
 
186
    ret |= memory_region_get_dirty(&s->vram_mem, cpage, TARGET_PAGE_SIZE * 4,
 
187
                                   DIRTY_MEMORY_VGA);
190
188
    return ret;
191
189
}
192
190
 
245
243
    }
246
244
 
247
245
    for(y = 0; y < ts->height; y += 4, page += TARGET_PAGE_SIZE) {
248
 
        if (memory_region_get_dirty(&ts->vram_mem, page, DIRTY_MEMORY_VGA)) {
 
246
        if (memory_region_get_dirty(&ts->vram_mem, page, TARGET_PAGE_SIZE,
 
247
                                    DIRTY_MEMORY_VGA)) {
249
248
            if (y_start < 0)
250
249
                y_start = y;
251
250
            if (page < page_min)
575
574
    return 0;
576
575
}
577
576
 
578
 
static void tcx_screen_dump(void *opaque, const char *filename)
 
577
static void tcx_screen_dump(void *opaque, const char *filename, bool cswitch)
579
578
{
580
579
    TCXState *s = opaque;
581
580
    FILE *f;
602
601
    return;
603
602
}
604
603
 
605
 
static void tcx24_screen_dump(void *opaque, const char *filename)
 
604
static void tcx24_screen_dump(void *opaque, const char *filename, bool cswitch)
606
605
{
607
606
    TCXState *s = opaque;
608
607
    FILE *f;
649
648
 
650
649
static void tcx_class_init(ObjectClass *klass, void *data)
651
650
{
 
651
    DeviceClass *dc = DEVICE_CLASS(klass);
652
652
    SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass);
653
653
 
654
654
    k->init = tcx_init1;
 
655
    dc->reset = tcx_reset;
 
656
    dc->vmsd = &vmstate_tcx;
 
657
    dc->props = tcx_properties;
655
658
}
656
659
 
657
 
static DeviceInfo tcx_info = {
658
 
    .name = "SUNW,tcx",
659
 
    .size = sizeof(TCXState),
660
 
    .reset = tcx_reset,
661
 
    .vmsd = &vmstate_tcx,
662
 
    .props = tcx_properties,
663
 
    .class_init = tcx_class_init,
 
660
static TypeInfo tcx_info = {
 
661
    .name          = "SUNW,tcx",
 
662
    .parent        = TYPE_SYS_BUS_DEVICE,
 
663
    .instance_size = sizeof(TCXState),
 
664
    .class_init    = tcx_class_init,
664
665
};
665
666
 
666
 
static void tcx_register_devices(void)
 
667
static void tcx_register_types(void)
667
668
{
668
 
    sysbus_register_withprop(&tcx_info);
 
669
    type_register_static(&tcx_info);
669
670
}
670
671
 
671
 
device_init(tcx_register_devices)
 
672
type_init(tcx_register_types)