[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 6/6] kvm: vga optimization.
From: |
Anthony Liguori |
Subject: |
Re: [Qemu-devel] [PATCH 6/6] kvm: vga optimization. |
Date: |
Wed, 19 Nov 2008 09:23:48 -0600 |
User-agent: |
Thunderbird 2.0.0.17 (X11/20080925) |
Glauber Costa wrote:
@@ -1383,6 +1400,7 @@ cirrus_hook_write_sr(CirrusVGAState * s, unsigned
reg_index, int reg_value)
reg_index, reg_value);
#endif
break;
+
case 0x17: // Configuration Readback and Extended Control
Please don't introduce stray whitespace.
s->sr[reg_index] = (s->sr[reg_index] & 0x38) | (reg_value & 0xc7);
cirrus_update_memory_access(s);
@@ -1528,12 +1546,13 @@ cirrus_hook_write_gr(CirrusVGAState * s, unsigned
reg_index, int reg_value)
s->gr[reg_index] = reg_value;
cirrus_update_bank_ptr(s, 0);
cirrus_update_bank_ptr(s, 1);
- break;
+ cirrus_update_memory_access(s);
+ break;
This formatting seems way off?
case 0x0B:
s->gr[reg_index] = reg_value;
cirrus_update_bank_ptr(s, 0);
cirrus_update_bank_ptr(s, 1);
- cirrus_update_memory_access(s);
+ cirrus_update_memory_access(s);
break;
And this is just a reformatting change. Please avoid these.
case 0x10: // BGCOLOR 0x0000ff00
case 0x11: // FGCOLOR 0x0000ff00
@@ -2618,6 +2637,48 @@ static CPUWriteMemoryFunc *cirrus_linear_bitblt_write[3]
= {
cirrus_linear_bitblt_writel,
};
+static void map_linear_vram(CirrusVGAState *s)
+{
+
+ 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);
+ }
+
+ if (!s->map_addr)
+ return;
+
+ if (cirrus_lfb_is_mapped(s)) {
+ cpu_register_physical_memory(isa_mem_base + 0xa0000, 0x8000,
+ (s->vram_offset + s->cirrus_bank_base[0])
| IO_MEM_RAM);
+ cpu_register_physical_memory(isa_mem_base + 0xa8000, 0x8000,
+ (s->vram_offset + s->cirrus_bank_base[1])
| IO_MEM_RAM);
Isn't necessary to reregister 0xa0000 too?
+ if (kvm_enabled()) {
+ kvm_log_start(0xa0000, 0x8000);
+ kvm_log_start(0xa8000, 0x8000);
+ }
Why would you enable logging on a different region from what you've
registered? Shouldn't you enable logging on both regions? If we're
going to enable logging based on target_phys_addr_t instead of
ram_addr_t (and I think we should), then we should enable it on all
target_phys_addr_ts.
+ }
+ else {
This is formatted incorrectly.
+
/*
* graphic modes
*/
More extra whitespace.
Regards,
Anthony Liguori
- [Qemu-devel] [PATCH 0/6] New shot at VGA optimization, Glauber Costa, 2008/11/19
- [Qemu-devel] [PATCH 1/6] kvm: memory aliasing support for kvm, Glauber Costa, 2008/11/19
- [Qemu-devel] [PATCH 2/6] better type checking for vga, Glauber Costa, 2008/11/19
- [Qemu-devel] [PATCH 3/6] move vga_io_address to VGA State, Glauber Costa, 2008/11/19
- [Qemu-devel] [PATCH 4/6] kvm: de-register mem region for MMIO., Glauber Costa, 2008/11/19
- [Qemu-devel] [PATCH 5/6] Introduce kvm logging interface., Glauber Costa, 2008/11/19
- [Qemu-devel] [PATCH 6/6] kvm: vga optimization., Glauber Costa, 2008/11/19
- Re: [Qemu-devel] [PATCH 6/6] kvm: vga optimization.,
Anthony Liguori <=
- Re: [Qemu-devel] [PATCH 6/6] kvm: vga optimization., Glauber Costa, 2008/11/19
- Re: [Qemu-devel] [PATCH 6/6] kvm: vga optimization., Anthony Liguori, 2008/11/19
- Re: [Qemu-devel] [PATCH 5/6] Introduce kvm logging interface., Anthony Liguori, 2008/11/19
- Re: [Qemu-devel] [PATCH 5/6] Introduce kvm logging interface., Glauber Costa, 2008/11/19
- Re: [Qemu-devel] [PATCH 5/6] Introduce kvm logging interface., Anthony Liguori, 2008/11/19
- Re: [Qemu-devel] [PATCH 4/6] kvm: de-register mem region for MMIO., Anthony Liguori, 2008/11/19
- Re: [Qemu-devel] [PATCH 2/6] better type checking for vga, Anthony Liguori, 2008/11/19
Re: [Qemu-devel] [PATCH 1/6] kvm: memory aliasing support for kvm, Anthony Liguori, 2008/11/19
Re: [Qemu-devel] [PATCH 0/6] New shot at VGA optimization, Avi Kivity, 2008/11/19