|
From: | Andreas Färber |
Subject: | Re: [Qemu-devel] [PATCH] PPC64: Fix timebase |
Date: | Mon, 21 Dec 2009 21:19:55 +0100 |
Am 21.12.2009 um 11:15 schrieb Aurelien Jarno:
On Mon, Dec 21, 2009 at 10:39:39AM +0100, Alexander Graf wrote:On 21.12.2009, at 10:24, Aurelien Jarno wrote:On Mon, Dec 21, 2009 at 01:22:12AM +0100, Alexander Graf wrote:On PPC we have a 64-bit time base. Usually (PPC32) this is accessed usingtwo separate 32 bit SPR accesses to SPR_TBU and SPR_TBL.On PPC64 the SPR_TBL register acts as 64 bit though, so we get the full 64 bits as return value. If we only take the lower ones, fine. But Linuxwants to see all 64 bits or it breaks.Good catch! However, I think this patch it's not fully complete and canbe improved a bit - it's probably better to return a target_ulong value from cpu_ppc_load_tbl() with an explicit cast here, so that we don't havean implicit cast from 64-bit to 32-bit on qemu-system-powerpc (GCC maywarn on that with some flags or in future versions).ppc.c is in hw, so I suspect it's in the target independent makefile part? Otherwise we should move all TB stuff to target-ppc.Correct.
No. Just like hw/ppc_newworld.c, it is target dependent and built from Makefile.target (obj-ppc-y).
Andreas
then let's return uint64_t for cpu_ppc_load_tbl(), but do the explicit cast in the helper. -- Aurelien Jarno GPG: 1024D/F1BCDB73 address@hidden http://www.aurel32.net
[Prev in Thread] | Current Thread | [Next in Thread] |