[OpenBIOS] [commit] r681 - in trunk/openbios-devel: arch/ppc/qemu drivers include/openbios

repository service svn at openbios.org
Mon Feb 22 19:52:31 CET 2010


Author: agraf
Date: Mon Feb 22 19:52:30 2010
New Revision: 681
URL: http://tracker.coreboot.org/trac/openbios/changeset/681

Log:
PPC: Add U3 based Mac machine

Linux on PPC64 knows only so many chipsets. One of the is the U3. So
we can use that when we're emulating a PPC64 machine, making Linux happy.

Signed-off-by: Alexander Graf <agraf at suse.de>

Modified:
   trunk/openbios-devel/arch/ppc/qemu/init.c
   trunk/openbios-devel/drivers/pci_database.c
   trunk/openbios-devel/include/openbios/pci.h

Modified: trunk/openbios-devel/arch/ppc/qemu/init.c
==============================================================================
--- trunk/openbios-devel/arch/ppc/qemu/init.c	Mon Feb 22 19:52:28 2010	(r680)
+++ trunk/openbios-devel/arch/ppc/qemu/init.c	Mon Feb 22 19:52:30 2010	(r681)
@@ -63,6 +63,7 @@
     ARCH_PREP = 0,
     ARCH_MAC99,
     ARCH_HEATHROW,
+    ARCH_MAC99_U3,
 };
 
 int is_apple(void)
@@ -77,7 +78,8 @@
 
 int is_newworld(void)
 {
-	return machine_id == ARCH_MAC99;
+	return (machine_id == ARCH_MAC99) ||
+               (machine_id == ARCH_MAC99_U3);
 }
 
 static const pci_arch_t known_arch[] = {
@@ -95,6 +97,13 @@
 			  0xf2000000, 0x00800000, 0x00000000, 0x01000000,
 			  { 8, 9, 10, 11 }
 		       },
+        [ARCH_MAC99_U3] = { "MAC99_U3", PCI_VENDOR_ID_APPLE,
+                            PCI_DEVICE_ID_APPLE_U3_AGP,
+                            0xf0800000, 0xf0c00000,
+                            0xf0000000, 0x02000000, 0x80000000, 0x10000000,
+                            0xf2000000, 0x00800000, 0x00000000, 0x01000000,
+                            { 0x1b, 0x1c, 0x1d, 0x1e }
+                          },
         [ARCH_HEATHROW] = { "HEATHROW", PCI_VENDOR_ID_MOTOROLA,
                             PCI_DEVICE_ID_MOTOROLA_MPC106,
                             0xfec00000, 0xfee00000,
@@ -557,6 +566,7 @@
 		break;
 
 	case ARCH_MAC99:
+	case ARCH_MAC99_U3:
 	case ARCH_PREP:
 	default:
 
@@ -597,17 +607,6 @@
 	push_str("system-id");
 	fword("property");
 
-	/* pci info */
-
-	if (machine_id == ARCH_MAC99) {
-		push_str("/pci");
-		fword("find-device");
-		push_str("u3-agp");
-		fword("encode-string");
-		push_str("compatible");
-		fword("property");
-	}
-
 	/* memory info */
 
 	push_str("/memory");

Modified: trunk/openbios-devel/drivers/pci_database.c
==============================================================================
--- trunk/openbios-devel/drivers/pci_database.c	Mon Feb 22 19:52:28 2010	(r680)
+++ trunk/openbios-devel/drivers/pci_database.c	Mon Feb 22 19:52:30 2010	(r681)
@@ -280,6 +280,12 @@
 
 static const pci_dev_t hbrg_devices[] = {
     {
+        PCI_VENDOR_ID_APPLE, PCI_DEVICE_ID_APPLE_U3_AGP, NULL,
+        "pci", "AAPL,UniNorth", "u3-agp\0",
+        3, 2, 1,
+        host_config_cb, NULL,
+    },
+    {
         PCI_VENDOR_ID_APPLE, PCI_DEVICE_ID_APPLE_UNI_N_AGP, NULL,
         "pci", "AAPL,UniNorth", "uni-north\0",
         3, 2, 1,
@@ -1084,7 +1090,7 @@
     {
         PCI_VENDOR_ID_APPLE, PCI_DEVICE_ID_APPLE_UNI_N_KEYL,
         "mac-io", "mac-io", "AAPL,Keylargo", "Keylargo\0",
-        1, 1, 2,
+        1, 1, 1,
         &macio_keylargo_config_cb, NULL,
     },
     {

Modified: trunk/openbios-devel/include/openbios/pci.h
==============================================================================
--- trunk/openbios-devel/include/openbios/pci.h	Mon Feb 22 19:52:28 2010	(r680)
+++ trunk/openbios-devel/include/openbios/pci.h	Mon Feb 22 19:52:30 2010	(r681)
@@ -187,6 +187,7 @@
 #define PCI_DEVICE_ID_APPLE_UNI_N_PCI    0x001f
 #define PCI_DEVICE_ID_APPLE_UNI_N_AGP    0x0020
 #define PCI_DEVICE_ID_APPLE_UNI_N_KEYL   0x0022
+#define PCI_DEVICE_ID_APPLE_U3_AGP       0x004b
 
 #define PCI_VENDOR_ID_SUN                0x108e
 #define PCI_DEVICE_ID_SUN_EBUS           0x1000



More information about the OpenBIOS mailing list