[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v3 07/29] framebuffer: check memory_region_is_lo
From: |
Fam Zheng |
Subject: |
Re: [Qemu-devel] [PATCH v3 07/29] framebuffer: check memory_region_is_logging |
Date: |
Wed, 27 May 2015 15:51:01 +0800 |
User-agent: |
Mutt/1.5.23 (2014-03-12) |
On Tue, 05/26 18:54, Paolo Bonzini wrote:
> framebuffer.c expects DIRTY_MEMORY_VGA logging to be always on, but that
> will not be the case soon. Because framebuffer.c computes the memory
> region on the fly for every update (with memory_region_find), it cannot
> enable/disable logging by itself.
>
> Instead, always treat updates as invalidations if dirty logging is
> not enabled, assuming that the board will enable logging on the
> RAM region that includes the framebuffer.
>
> Signed-off-by: Paolo Bonzini <address@hidden>
Reviewed-by: Fam Zheng <address@hidden>
> ---
> hw/display/framebuffer.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/hw/display/framebuffer.c b/hw/display/framebuffer.c
> index 4546e42..2cabced 100644
> --- a/hw/display/framebuffer.c
> +++ b/hw/display/framebuffer.c
> @@ -63,6 +63,10 @@ void framebuffer_update_display(
> assert(mem_section.offset_within_address_space == base);
>
> memory_region_sync_dirty_bitmap(mem);
> + if (!memory_region_is_logging(mem, DIRTY_MEMORY_VGA)) {
> + invalidate = true;
> + }
> +
> src_base = cpu_physical_memory_map(base, &src_len, 0);
> /* If we can't map the framebuffer then bail. We could try harder,
> but it's not really worth it as dirty flag tracking will probably
> --
> 1.8.3.1
>
>
>
- [Qemu-devel] [PATCH v3 09/29] memory: track DIRTY_MEMORY_CODE in mr->dirty_log_mask, (continued)
- [Qemu-devel] [PATCH v3 09/29] memory: track DIRTY_MEMORY_CODE in mr->dirty_log_mask, Paolo Bonzini, 2015/05/26
- [Qemu-devel] [PATCH v3 22/29] memory: do not touch code dirty bitmap unless TCG is enabled, Paolo Bonzini, 2015/05/26
- [Qemu-devel] [PATCH v3 05/29] memory: differentiate memory_region_is_logging and memory_region_get_dirty_log_mask, Paolo Bonzini, 2015/05/26
- [Qemu-devel] [PATCH v3 04/29] display: add memory_region_sync_dirty_bitmap calls, Paolo Bonzini, 2015/05/26
- [Qemu-devel] [PATCH v3 15/29] exec: move functions to translate-all.h, Paolo Bonzini, 2015/05/26
- [Qemu-devel] [PATCH v3 23/29] bitmap: add atomic set functions, Paolo Bonzini, 2015/05/26
- [Qemu-devel] [PATCH v3 19/29] exec: pass client mask to cpu_physical_memory_set_dirty_range, Paolo Bonzini, 2015/05/26
- [Qemu-devel] [PATCH v3 07/29] framebuffer: check memory_region_is_logging, Paolo Bonzini, 2015/05/26
- Re: [Qemu-devel] [PATCH v3 07/29] framebuffer: check memory_region_is_logging,
Fam Zheng <=
- [Qemu-devel] [PATCH v3 11/29] memory: include DIRTY_MEMORY_MIGRATION in the dirty log mask, Paolo Bonzini, 2015/05/26
- [Qemu-devel] [PATCH v3 16/29] translate-all: remove unnecessary argument to tb_invalidate_phys_range, Paolo Bonzini, 2015/05/26
- [Qemu-devel] [PATCH v3 21/29] exec: only check relevant bitmaps for cleanliness, Paolo Bonzini, 2015/05/26
- [Qemu-devel] [PATCH v3 24/29] bitmap: add atomic test and clear, Paolo Bonzini, 2015/05/26
- [Qemu-devel] [PATCH v3 14/29] exec: use memory_region_get_dirty_log_mask to optimize dirty tracking, Paolo Bonzini, 2015/05/26
- [Qemu-devel] [PATCH v3 25/29] memory: use atomic ops for setting dirty memory bits, Paolo Bonzini, 2015/05/26
- [Qemu-devel] [PATCH v3 06/29] memory: prepare for multiple bits in the dirty log mask, Paolo Bonzini, 2015/05/26
- [Qemu-devel] [PATCH v3 17/29] cputlb: remove useless arguments to tlb_unprotect_code_phys, rename, Paolo Bonzini, 2015/05/26