[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-ppc] [PATCH for-1.4 02/19] target-ppc: Fix target_ulong vs. hw
From: |
Andreas Färber |
Subject: |
Re: [Qemu-ppc] [PATCH for-1.4 02/19] target-ppc: Fix target_ulong vs. hwaddr format mismatches |
Date: |
Wed, 30 Jan 2013 11:40:53 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130105 Thunderbird/17.0.2 |
Am 30.01.2013 11:15, schrieb Alexander Graf:
>
> On 27.01.2013, at 14:32, Andreas Färber wrote:
>
>> To keep log format backwards compatible, cast to target_ulong
>> rather than using HWADDR_PRIx.
>>
>> Signed-off-by: Andreas Färber <address@hidden>
>> ---
>> target-ppc/mmu_helper.c | 8 +++++---
>> 1 Datei geändert, 5 Zeilen hinzugefügt(+), 3 Zeilen entfernt(-)
>>
>> diff --git a/target-ppc/mmu_helper.c b/target-ppc/mmu_helper.c
>> index 0aee7a9..14fa25a 100644
>> --- a/target-ppc/mmu_helper.c
>> +++ b/target-ppc/mmu_helper.c
>> @@ -589,7 +589,8 @@ static inline int find_pte2(CPUPPCState *env, mmu_ctx_t
>> *ctx, int is_64b, int h,
>> r = pte64_check(ctx, pte0, pte1, h, rw, type);
>> LOG_MMU("Load pte from " TARGET_FMT_lx " => " TARGET_FMT_lx " "
>> TARGET_FMT_lx " %d %d %d " TARGET_FMT_lx "\n",
>> - pteg_off + (i * 16), pte0, pte1, (int)(pte0 & 1), h,
>> + (target_ulong)pteg_off + (i * 16), pte0, pte1,
>> + (int)(pte0 & 1), h,
>
> Please change the format string to reflect the variables' types instead of
> doing these casts please :). Same for the ones below.
Please specify how you would like the format string to look like then.
As indicated above, we only have HWADDR_PRIx, so we must hardcode the
amount of zeroes to use then. With TARGET_FMT_lx it uses %08 for
ppc[emb] and %016 for ppc64. An #ifdef TARGET_PPC64 seemed uglier. ;)
Andreas
>> (int)((pte0 >> 1) & 1), ctx->ptem);
>> } else
>> #endif
>> @@ -604,7 +605,8 @@ static inline int find_pte2(CPUPPCState *env, mmu_ctx_t
>> *ctx, int is_64b, int h,
>> r = pte32_check(ctx, pte0, pte1, h, rw, type);
>> LOG_MMU("Load pte from " TARGET_FMT_lx " => " TARGET_FMT_lx " "
>> TARGET_FMT_lx " %d %d %d " TARGET_FMT_lx "\n",
>> - pteg_off + (i * 8), pte0, pte1, (int)(pte0 >> 31), h,
>> + (target_ulong)pteg_off + (i * 8), pte0, pte1,
>> + (int)(pte0 >> 31), h,
>> (int)((pte0 >> 6) & 1), ctx->ptem);
>> }
>> switch (r) {
>> @@ -634,7 +636,7 @@ static inline int find_pte2(CPUPPCState *env, mmu_ctx_t
>> *ctx, int is_64b, int h,
>> if (good != -1) {
>> done:
>> LOG_MMU("found PTE at addr " TARGET_FMT_lx " prot=%01x ret=%d\n",
>> - ctx->raddr, ctx->prot, ret);
>> + (target_ulong)ctx->raddr, ctx->prot, ret);
>> /* Update page flags */
>> pte1 = ctx->raddr;
>> if (pte_update_flags(ctx, &pte1, ret, rw) == 1) {
>> --
>> 1.7.10.4
--
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg
[Qemu-ppc] [RFC 16/19] target-ppc: Refactor debug output macros, Andreas Färber, 2013/01/27
[Qemu-ppc] [PATCH for-1.4 04/19] target-ppc: Fix build for PPC_DEBUG_DISAS, Andreas Färber, 2013/01/27