[OpenBIOS] [PATCH] mac: Don't set APPL, address properties on NewWorld

Benjamin Herrenschmidt benh at kernel.crashing.org
Thu Aug 4 03:16:43 CEST 2016


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 at 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");
 }




More information about the OpenBIOS mailing list