Message ID | 1369793469-30883-2-git-send-email-qemulist@gmail.com |
---|---|
State | New |
Headers | show |
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) >
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)