They are created by the MacOS ROM and in some cases MacOS X to contain the *virtual* addresses of the BARs as mapped by the kernel.
Having these already there with the wrong values causes the hangs with MacOS X 10.5 and the video driver.
The reason is that the IONDRVFramebuffer code in OS X 10.5 won't replace those properties if they already exist, so the driver ends up accessing the addresses put in there by OpenBIOS which aren't valid mapped virtual addresses under OS X.
Signed-off-by: Benjamin Herrenschmidt benh@kernel.crashing.org --- drivers/pci.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/drivers/pci.c b/drivers/pci.c index 0cdf0bf..9813086 100644 --- a/drivers/pci.c +++ b/drivers/pci.c @@ -1029,10 +1029,9 @@ static void ob_pci_add_properties(phandle_t phandle, }
pci_set_assigned_addresses(phandle, config, num_bars); - - if (is_apple()) { + + if (is_apple() && is_oldworld()) pci_set_AAPL_address(config); - }
PCI_DPRINTF("\n"); }