[OpenBIOS] OpenBIOS and ppc64?

Tarl Neustaedter tarl-b2 at tarl.net
Fri Oct 1 00:34:37 CEST 2010

  On 2010-9-30 6:25 PM, Alexander Graf wrote:
> So how does the firmware tell the OS that a device is on a 64 bit physical address if it only knows about 32 bit wide cells?

In general, the /memory node's "reg" and "available" properties tell you how 
big your physical memory addressing is. The root node's ("/") #address-cells 
and #size-cells tells you how to read those two properties.

If you have a 32-bit virtual addressing range, you'll obviously need some kind 
of MMU/IOMMU to address anything above ffff.ffff .

For IO, in particular PCI/PCIX/PCIE, you'll see that the root IO node has a 
ranges property indicating where the physical addressing of the IO chunks are 
(IO, mem32, mem64).

Oh, and one confusion I occasionally hear about - "cells" strictly speaking 
refers to the native size of values on the stack (and thus the size operated 
on with ! and @). The same term "cell" is used for items in a property, but 
1275 defines that property cells are explicitly 32-bits. A 64-bit address in a 
property is by definition two property-cells long.

More information about the OpenBIOS mailing list