qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 5/5] vga optimization.


From: Anthony Liguori
Subject: Re: [Qemu-devel] [PATCH 5/5] vga optimization.
Date: Tue, 11 Nov 2008 08:44:32 -0600
User-agent: Thunderbird 2.0.0.17 (X11/20080925)

Glauber Costa wrote:
+static void map_linear_vram(CirrusVGAState *s)
+{
+    int phys_offset = s->vga_io_memory;
+
+    if (!s->map_addr && s->lfb_addr && s->lfb_end) {
+        s->map_addr = s->lfb_addr;
+        s->map_end = s->lfb_end;
+        cpu_register_physical_memory(s->map_addr, s->map_end - s->map_addr, 
s->vram_offset);
+        vga_dirty_log_start((VGAState *)s);

So you register this region and enable dirty tracking.

+    }
+
+    if(!(s->cirrus_srcptr != s->cirrus_srcptr_end)
+        && !((s->sr[0x07] & 0x01) == 0)
+        && !((s->gr[0x0B] & 0x14) == 0x14)
+        && !(s->gr[0x0B] & 0x02)) {
+        phys_offset = s->vram_offset | IO_MEM_RAM;
+    }
+    cpu_register_physical_memory(isa_mem_base + 0xa0000, 0x20000, phys_offset);

But also potentially change 0xa0000..0xc0000 to RAM, but you don't enable dirty tracking on this region. I think you either have to leave this region as MMIO or enable dirty tracking on it too.

Regards,

Anthony Liguori





reply via email to

[Prev in Thread] Current Thread [Next in Thread]