[PATCH v3 05/20] exec: Promote TARGET_PAGE_MASK to target_long

Richard Henderson posted 20 patches 6 years, 4 months ago
Maintainers: Stefan Hajnoczi <stefanha@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>, Richard Henderson <rth@twiddle.net>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>, Eduardo Habkost <ehabkost@redhat.com>
There is a newer version of this series
[PATCH v3 05/20] exec: Promote TARGET_PAGE_MASK to target_long
Posted by Richard Henderson 6 years, 4 months ago
There are some uint64_t uses that expect TARGET_PAGE_MASK to
extend for a 32-bit, so this must continue to be a signed type.
Define based on TARGET_PAGE_BITS not TARGET_PAGE_SIZE; this
will make a following patch more clear.

This should not have a functional effect so far.

Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
 include/exec/cpu-all.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/exec/cpu-all.h b/include/exec/cpu-all.h
index b11ee1f711..34d36cebca 100644
--- a/include/exec/cpu-all.h
+++ b/include/exec/cpu-all.h
@@ -225,7 +225,7 @@ extern const TargetPageBits target_page;
 #endif
 
 #define TARGET_PAGE_SIZE (1 << TARGET_PAGE_BITS)
-#define TARGET_PAGE_MASK ~(TARGET_PAGE_SIZE - 1)
+#define TARGET_PAGE_MASK ((target_long)-1 << TARGET_PAGE_BITS)
 #define TARGET_PAGE_ALIGN(addr) (((addr) + TARGET_PAGE_SIZE - 1) & TARGET_PAGE_MASK)
 
 /* Using intptr_t ensures that qemu_*_page_mask is sign-extended even
-- 
2.17.1


Re: [PATCH v3 05/20] exec: Promote TARGET_PAGE_MASK to target_long
Posted by David Hildenbrand 6 years, 4 months ago
On 22.09.19 05:54, Richard Henderson wrote:
> There are some uint64_t uses that expect TARGET_PAGE_MASK to
> extend for a 32-bit, so this must continue to be a signed type.
> Define based on TARGET_PAGE_BITS not TARGET_PAGE_SIZE; this
> will make a following patch more clear.
> 
> This should not have a functional effect so far.
> 
> Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
> ---
>  include/exec/cpu-all.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/include/exec/cpu-all.h b/include/exec/cpu-all.h
> index b11ee1f711..34d36cebca 100644
> --- a/include/exec/cpu-all.h
> +++ b/include/exec/cpu-all.h
> @@ -225,7 +225,7 @@ extern const TargetPageBits target_page;
>  #endif
>  
>  #define TARGET_PAGE_SIZE (1 << TARGET_PAGE_BITS)
> -#define TARGET_PAGE_MASK ~(TARGET_PAGE_SIZE - 1)
> +#define TARGET_PAGE_MASK ((target_long)-1 << TARGET_PAGE_BITS)
>  #define TARGET_PAGE_ALIGN(addr) (((addr) + TARGET_PAGE_SIZE - 1) & TARGET_PAGE_MASK)
>  
>  /* Using intptr_t ensures that qemu_*_page_mask is sign-extended even
> 

Reviewed-by: David Hildenbrand <david@redhat.com>

-- 

Thanks,

David / dhildenb