It really only plays with the dispatchers, so the parameter list does
not need that complexity. This helps for readability at least.
Signed-off-by: Peter Xu <peterx@redhat.com>
---
exec.c | 13 ++++++-------
1 file changed, 6 insertions(+), 7 deletions(-)
diff --git a/exec.c b/exec.c
index eac6085..1d76c63 100644
--- a/exec.c
+++ b/exec.c
@@ -371,10 +371,11 @@ static inline bool section_covers_addr(const MemoryRegionSection *section,
int128_getlo(section->size), addr);
}
-static MemoryRegionSection *phys_page_find(PhysPageEntry lp, hwaddr addr,
- Node *nodes, MemoryRegionSection *sections)
+static MemoryRegionSection *phys_page_find(AddressSpaceDispatch *d, hwaddr addr)
{
- PhysPageEntry *p;
+ PhysPageEntry lp = d->phys_map, *p;
+ Node *nodes = d->map.nodes;
+ MemoryRegionSection *sections = d->map.sections;
hwaddr index = addr >> TARGET_PAGE_BITS;
int i;
@@ -412,8 +413,7 @@ static MemoryRegionSection *address_space_lookup_region(AddressSpaceDispatch *d,
section_covers_addr(section, addr)) {
update = false;
} else {
- section = phys_page_find(d->phys_map, addr, d->map.nodes,
- d->map.sections);
+ section = phys_page_find(d, addr);
update = true;
}
if (resolve_subpage && section->mr->subpage) {
@@ -1246,8 +1246,7 @@ static void register_subpage(AddressSpaceDispatch *d, MemoryRegionSection *secti
subpage_t *subpage;
hwaddr base = section->offset_within_address_space
& TARGET_PAGE_MASK;
- MemoryRegionSection *existing = phys_page_find(d->phys_map, base,
- d->map.nodes, d->map.sections);
+ MemoryRegionSection *existing = phys_page_find(d, base);
MemoryRegionSection subsection = {
.offset_within_address_space = base,
.size = int128_make64(TARGET_PAGE_SIZE),
--
2.7.4
On Mon, May 15, 2017 at 04:50:57PM +0800, Peter Xu wrote:
> It really only plays with the dispatchers, so the parameter list does
> not need that complexity. This helps for readability at least.
>
> Signed-off-by: Peter Xu <peterx@redhat.com>
Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
> ---
> exec.c | 13 ++++++-------
> 1 file changed, 6 insertions(+), 7 deletions(-)
>
> diff --git a/exec.c b/exec.c
> index eac6085..1d76c63 100644
> --- a/exec.c
> +++ b/exec.c
> @@ -371,10 +371,11 @@ static inline bool section_covers_addr(const MemoryRegionSection *section,
> int128_getlo(section->size), addr);
> }
>
> -static MemoryRegionSection *phys_page_find(PhysPageEntry lp, hwaddr addr,
> - Node *nodes, MemoryRegionSection *sections)
> +static MemoryRegionSection *phys_page_find(AddressSpaceDispatch *d, hwaddr addr)
> {
> - PhysPageEntry *p;
> + PhysPageEntry lp = d->phys_map, *p;
> + Node *nodes = d->map.nodes;
> + MemoryRegionSection *sections = d->map.sections;
> hwaddr index = addr >> TARGET_PAGE_BITS;
> int i;
>
> @@ -412,8 +413,7 @@ static MemoryRegionSection *address_space_lookup_region(AddressSpaceDispatch *d,
> section_covers_addr(section, addr)) {
> update = false;
> } else {
> - section = phys_page_find(d->phys_map, addr, d->map.nodes,
> - d->map.sections);
> + section = phys_page_find(d, addr);
> update = true;
> }
> if (resolve_subpage && section->mr->subpage) {
> @@ -1246,8 +1246,7 @@ static void register_subpage(AddressSpaceDispatch *d, MemoryRegionSection *secti
> subpage_t *subpage;
> hwaddr base = section->offset_within_address_space
> & TARGET_PAGE_MASK;
> - MemoryRegionSection *existing = phys_page_find(d->phys_map, base,
> - d->map.nodes, d->map.sections);
> + MemoryRegionSection *existing = phys_page_find(d, base);
> MemoryRegionSection subsection = {
> .offset_within_address_space = base,
> .size = int128_make64(TARGET_PAGE_SIZE),
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
On 16/05/2017 04:53, David Gibson wrote:
> On Mon, May 15, 2017 at 04:50:57PM +0800, Peter Xu wrote:
>> It really only plays with the dispatchers, so the parameter list does
>> not need that complexity. This helps for readability at least.
>>
>> Signed-off-by: Peter Xu <peterx@redhat.com>
>
> Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
Queued, thanks.
Paolo
>
>> ---
>> exec.c | 13 ++++++-------
>> 1 file changed, 6 insertions(+), 7 deletions(-)
>>
>> diff --git a/exec.c b/exec.c
>> index eac6085..1d76c63 100644
>> --- a/exec.c
>> +++ b/exec.c
>> @@ -371,10 +371,11 @@ static inline bool section_covers_addr(const MemoryRegionSection *section,
>> int128_getlo(section->size), addr);
>> }
>>
>> -static MemoryRegionSection *phys_page_find(PhysPageEntry lp, hwaddr addr,
>> - Node *nodes, MemoryRegionSection *sections)
>> +static MemoryRegionSection *phys_page_find(AddressSpaceDispatch *d, hwaddr addr)
>> {
>> - PhysPageEntry *p;
>> + PhysPageEntry lp = d->phys_map, *p;
>> + Node *nodes = d->map.nodes;
>> + MemoryRegionSection *sections = d->map.sections;
>> hwaddr index = addr >> TARGET_PAGE_BITS;
>> int i;
>>
>> @@ -412,8 +413,7 @@ static MemoryRegionSection *address_space_lookup_region(AddressSpaceDispatch *d,
>> section_covers_addr(section, addr)) {
>> update = false;
>> } else {
>> - section = phys_page_find(d->phys_map, addr, d->map.nodes,
>> - d->map.sections);
>> + section = phys_page_find(d, addr);
>> update = true;
>> }
>> if (resolve_subpage && section->mr->subpage) {
>> @@ -1246,8 +1246,7 @@ static void register_subpage(AddressSpaceDispatch *d, MemoryRegionSection *secti
>> subpage_t *subpage;
>> hwaddr base = section->offset_within_address_space
>> & TARGET_PAGE_MASK;
>> - MemoryRegionSection *existing = phys_page_find(d->phys_map, base,
>> - d->map.nodes, d->map.sections);
>> + MemoryRegionSection *existing = phys_page_find(d, base);
>> MemoryRegionSection subsection = {
>> .offset_within_address_space = base,
>> .size = int128_make64(TARGET_PAGE_SIZE),
>
© 2016 - 2026 Red Hat, Inc.