[haiku-commits] Re: r37281 - in haiku/trunk: headers/private/kernel/arch/ppc src/system/kernel/arch/ppc

  • From: Andreas Färber <andreas.faerber@xxxxxx>
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Sun, 27 Jun 2010 23:19:14 +0200

Am 27.06.2010 um 23:04 schrieb Rene Gollent:

On Sun, Jun 27, 2010 at 5:00 PM, Andreas Färber <andreas.faerber@xxxxxx > wrote:
Perhaps I misunderstand, but it's dependent on the virtual, not the physical
address.
And the current frame pointer code uses addr_t. So I tried to avoid uint32,
which is used for EBP on x86.

Ah ok, I mistook your commit message as meaning GPR1 is always 64 bits
wide on a 64-bit PPC CPU regardless of being in 32 or 64-bit
addressing mode.

"ppc64" usually refers to userland, sorry.

I haven't looked deeper at Ingo's x64 work yet, so I'm a little puzzled how it's supposed to work... On OpenFirmware/ppc 64-bitness is indicated by a property of the CPU. Does that mean we'd have to use uint64_t as phys_addr_t of a ppc32 executable even on a 32-bit system? In that case we'll need to use explicitly sized types for properties like the memory translations rather than void*, phys_addr_t and addr_t.

Andreas

Other related posts: