Patchwork [v1,1/6] mem: change variable to macro

login
register
mail settings
Submitter pingfan liu
Date May 29, 2013, 2:11 a.m.
Message ID <1369793469-30883-2-git-send-email-qemulist@gmail.com>
Download mbox | patch
Permalink /patch/247095/
State New
Headers show

Comments

pingfan liu - May 29, 2013, 2:11 a.m.
From: Liu Ping Fan <pingfank@linux.vnet.ibm.com>

The secions like phys_section_unassigned always has fixed address
in phys_sections, make them declared as macro, so we can use them
when having more than one phys_sections, ie, more than one dispatch
context.

Signed-off-by: Liu Ping Fan <pingfank@linux.vnet.ibm.com>
---
 exec.c |   22 ++++++++++++++--------
 1 files changed, 14 insertions(+), 8 deletions(-)
Paolo Bonzini - May 29, 2013, 9:06 a.m.
Il 29/05/2013 04:11, Liu Ping Fan ha scritto:
> From: Liu Ping Fan <pingfank@linux.vnet.ibm.com>
> 
> The secions like phys_section_unassigned always has fixed address
> in phys_sections, make them declared as macro, so we can use them
> when having more than one phys_sections, ie, more than one dispatch
> context.
> 
> Signed-off-by: Liu Ping Fan <pingfank@linux.vnet.ibm.com>
> ---
>  exec.c |   22 ++++++++++++++--------
>  1 files changed, 14 insertions(+), 8 deletions(-)
> 
> diff --git a/exec.c b/exec.c
> index 281c007..6934c2d 100644
> --- a/exec.c
> +++ b/exec.c
> @@ -82,10 +82,10 @@ int use_icount;
>  
>  static MemoryRegionSection *phys_sections;
>  static unsigned phys_sections_nb, phys_sections_nb_alloc;
> -static uint16_t phys_section_unassigned;
> -static uint16_t phys_section_notdirty;
> -static uint16_t phys_section_rom;
> -static uint16_t phys_section_watch;
> +#define phys_section_unassigned 0
> +#define phys_section_notdirty 1
> +#define phys_section_rom 2
> +#define phys_section_watch 3

Please make these uppercase.  Otherwise,

Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>

>  /* Simple allocator for PhysPageEntry nodes */
>  static PhysPageEntry (*phys_map_nodes)[L2_SIZE];
> @@ -1747,11 +1747,17 @@ static void mem_begin(MemoryListener *listener)
>  
>  static void core_begin(MemoryListener *listener)
>  {
> +    uint16_t n;
> +
>      phys_sections_clear();
> -    phys_section_unassigned = dummy_section(&io_mem_unassigned);
> -    phys_section_notdirty = dummy_section(&io_mem_notdirty);
> -    phys_section_rom = dummy_section(&io_mem_rom);
> -    phys_section_watch = dummy_section(&io_mem_watch);
> +    n = dummy_section(&io_mem_unassigned);
> +    assert(phys_section_unassigned == n);
> +    n = dummy_section(&io_mem_notdirty);
> +    assert(phys_section_notdirty == n);
> +    n = dummy_section(&io_mem_rom);
> +    assert(phys_section_rom == n);
> +    n = dummy_section(&io_mem_watch);
> +    assert(phys_section_watch == n);
>  }
>  
>  static void tcg_commit(MemoryListener *listener)
>

Patch

diff --git a/exec.c b/exec.c
index 281c007..6934c2d 100644
--- a/exec.c
+++ b/exec.c
@@ -82,10 +82,10 @@  int use_icount;
 
 static MemoryRegionSection *phys_sections;
 static unsigned phys_sections_nb, phys_sections_nb_alloc;
-static uint16_t phys_section_unassigned;
-static uint16_t phys_section_notdirty;
-static uint16_t phys_section_rom;
-static uint16_t phys_section_watch;
+#define phys_section_unassigned 0
+#define phys_section_notdirty 1
+#define phys_section_rom 2
+#define phys_section_watch 3
 
 /* Simple allocator for PhysPageEntry nodes */
 static PhysPageEntry (*phys_map_nodes)[L2_SIZE];
@@ -1747,11 +1747,17 @@  static void mem_begin(MemoryListener *listener)
 
 static void core_begin(MemoryListener *listener)
 {
+    uint16_t n;
+
     phys_sections_clear();
-    phys_section_unassigned = dummy_section(&io_mem_unassigned);
-    phys_section_notdirty = dummy_section(&io_mem_notdirty);
-    phys_section_rom = dummy_section(&io_mem_rom);
-    phys_section_watch = dummy_section(&io_mem_watch);
+    n = dummy_section(&io_mem_unassigned);
+    assert(phys_section_unassigned == n);
+    n = dummy_section(&io_mem_notdirty);
+    assert(phys_section_notdirty == n);
+    n = dummy_section(&io_mem_rom);
+    assert(phys_section_rom == n);
+    n = dummy_section(&io_mem_watch);
+    assert(phys_section_watch == n);
 }
 
 static void tcg_commit(MemoryListener *listener)