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 using
two 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 Linux
wants to see all 64 bits or it breaks.
Good catch! However, I think this patch it's not fully complete
and can
be 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 have
an implicit cast from 64-bit to 32-bit on qemu-system-powerpc (GCC
may
warn on that with some flags or in future versions).