Pārlūkot izejas kodu

exec: Promote TARGET_PAGE_MASK to target_long

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: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Richard Henderson 5 gadi atpakaļ
vecāks
revīzija
f048b8a7ce
1 mainītis faili ar 1 papildinājumiem un 1 dzēšanām
  1. 1 1
      include/exec/cpu-all.h

+ 1 - 1
include/exec/cpu-all.h

@@ -229,7 +229,7 @@ extern TargetPageBits target_page;
 #endif
 #endif
 
 
 #define TARGET_PAGE_SIZE (1 << TARGET_PAGE_BITS)
 #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) ROUND_UP((addr), TARGET_PAGE_SIZE)
 #define TARGET_PAGE_ALIGN(addr) ROUND_UP((addr), TARGET_PAGE_SIZE)
 
 
 /* Using intptr_t ensures that qemu_*_page_mask is sign-extended even
 /* Using intptr_t ensures that qemu_*_page_mask is sign-extended even