Index: svn/northbridge/intel/i945/northbridge.c
===================================================================
--- svn.orig/northbridge/intel/i945/northbridge.c
+++ svn/northbridge/intel/i945/northbridge.c
@@ -51,8 +51,8 @@ static void I945_pci_domain_read_resourc
 	resource->align = 0;
 	resource->gran = 0;
 	resource->limit = 0xffffUL;
-	resource->flags =
-	    IORESOURCE_IO | IORESOURCE_SUBTRACTIVE | IORESOURCE_ASSIGNED;
+	resource->flags = IORESOURCE_IO | IORESOURCE_SUBTRACTIVE |
+			  IORESOURCE_ASSIGNED | IORESOURCE_BRIDGE;
 
 	/* Initialize the system wide memory resources constraints */
 	resource = new_resource(dev, IOINDEX_SUBTRACTIVE(1, 0));
@@ -60,9 +60,10 @@ static void I945_pci_domain_read_resourc
 	resource->size = 0;
 	resource->align = 0;
 	resource->gran = 0;
-	resource->limit = 0xffffffffUL;
-	resource->flags =
-	    IORESOURCE_MEM | IORESOURCE_SUBTRACTIVE | IORESOURCE_ASSIGNED;
+	/* This is a hack.  I don't know all the right reserved regions. */
+	resource->limit = 0xfeffffffUL;
+	resource->flags = IORESOURCE_MEM | IORESOURCE_SUBTRACTIVE |
+			  IORESOURCE_ASSIGNED | IORESOURCE_BRIDGE;
 }
 
 static void tolm_test(void *gp, struct device *dev, struct resource *new)
Index: svn/mainboard/kontron/986lcd-m/dts
===================================================================
--- svn.orig/mainboard/kontron/986lcd-m/dts
+++ svn/mainboard/kontron/986lcd-m/dts
@@ -145,55 +145,90 @@ end
 	};
 	domain@0 {
 		/config/("northbridge/intel/i945/northbridge.dts");
-		/* guesses; we need a real lspci */
-			pci@0,0 {
-				pci@1b,0 {
-					/config/("southbridge/intel/i82801gx/ac97audio.dts");
-				};
-				pci@1c,0 {
-					/config/("southbridge/intel/i82801gx/pcie1.dts");
-				};
-				pci@1c,1 {
-					/config/("southbridge/intel/i82801gx/pcie2.dts");
-				};
-				pci@1c,2{
-					/config/("southbridge/intel/i82801gx/pcie3.dts");
-				};
-				pci@1d,0{
-					/config/("southbridge/intel/i82801gx/usb1.dts");
-				};
-				pci@1d,1{
-					/config/("southbridge/intel/i82801gx/usb2.dts");
-				};
-				pci@1d,2{
-					/config/("southbridge/intel/i82801gx/usb3.dts");
-				};
-				pci@1d,3{
-					/config/("southbridge/intel/i82801gx/usb4.dts");
-				};
- 				pci@1d,7{
-					/config/("southbridge/intel/i82801gx/usb_ehci.dts");
-				};
-  				pci@1e,0{
-					/config/("southbridge/intel/i82801gx/pci.dts");
-				};
- 				pci@1f,0{/* which ich? */
-					/config/("southbridge/intel/i82801gx/ich7m_dh_lpc.dts");
-				};
-   				pci@1f,1{
-					/config/("southbridge/intel/i82801gx/ide.dts");
-				};
-   				pci@1f,2{
-					/config/("southbridge/intel/i82801gx/sata.dts");
-				};
-        				pci@1f,3{
-					/config/("southbridge/intel/i82801gx/smbus.dts");
-				};
-
-		};
-		ioport@2e {
-			/config/("superio/winbond/w83627thg/dts");
-			com1enable = "1";
+		pci@0,0 {
+			/config/("northbridge/intel/i945/mc.dts");
 		};
+		pci@1,0 { /* PCIe */
+			disabled;
+		};
+		pci@2,0 { /* Onboard VGA. */
+			rom_address = "0xfff00000"; /* Shouldn't this be a lar path? */
+		};
+		pci@2,1 { /* Display controller. */
+		};
+		pci@1b,0 {
+			/config/("southbridge/intel/i82801gx/ac97audio.dts");
+		};
+		pci@1c,0 {
+			/config/("southbridge/intel/i82801gx/pcie1.dts");
+		};
+		pci@1c,1 {
+			/config/("southbridge/intel/i82801gx/pcie2.dts");
+		};
+		pci@1c,2{
+			/config/("southbridge/intel/i82801gx/pcie3.dts");
+		};
+		pci@1c,3{ disabled; }; /* PCIe port 4 */
+		pci@1c,4{ disabled; }; /* PCIe port 5 */
+		pci@1c,5{ disabled; }; /* PCIe port 6 */
+		pci@1d,0{
+			/config/("southbridge/intel/i82801gx/usb1.dts");
+		};
+		pci@1d,1{
+			/config/("southbridge/intel/i82801gx/usb2.dts");
+		};
+		pci@1d,2{
+			/config/("southbridge/intel/i82801gx/usb3.dts");
+		};
+		pci@1d,3{
+			/config/("southbridge/intel/i82801gx/usb4.dts");
+		};
+		pci@1d,7{
+			/config/("southbridge/intel/i82801gx/usb_ehci.dts");
+		};
+		pci@1e,0{
+			/config/("southbridge/intel/i82801gx/pci.dts");
+		};
+		pci@1e,2{ disabled; }; /* AC'97 Audio */
+		pci@1e,3{ disabled; }; /* AC'97 Modem */
+		pci@1f,0{/* which ich? */
+			/config/("southbridge/intel/i82801gx/ich7m_dh_lpc.dts");
+			ioport@2e {
+				/config/("superio/winbond/w83627thg/dts");
+				com1enable = "1";
+				com2enable = "1";
+				kbenable = "1";
+				/* irq 0xf1 = 4 # set IRMODE 0 # XXX not an irq */
+				gameenable = "1";
+				gpio2enable = "1";
+				gpio34enable = "1";
+				hwmenable = "1";
+			};
+			ioport@4e {
+				/config/("superio/winbond/w83627thg/dts");
+				com1enable = "1";
+				com1io = "0x3e8";
+				com1irq = "11";
+				com2enable = "1";
+				com2io = "0x2e8";
+				com2irq = "10";
+			};
+		};
+		pci@1f,1{	/* Disabled and commented out in v2. */
+			/config/("southbridge/intel/i82801gx/ide.dts");
+			disabled;
+		};
+		pci@1f,2{
+			/config/("southbridge/intel/i82801gx/sata.dts");
+		};
+		pci@1f,3{
+			/config/("southbridge/intel/i82801gx/smbus.dts");
+		};
+	/* Disabled and commented out in v2.
+	 *	pci@1f,4{
+	 *		/config/("southbridge/intel/i82801gx/codec.dts");
+	 *		disabled;
+	 *	};
+	 */
 	};
 };
Index: svn/northbridge/intel/i945/northbridge.dts
===================================================================
--- svn.orig/northbridge/intel/i945/northbridge.dts
+++ svn/northbridge/intel/i945/northbridge.dts
@@ -19,4 +19,5 @@
  */
 {
 	device_operations	= "i945_pci_domain_ops";
+	bridge;
 };
