diff --git a/util/inteltool/pcie.c b/util/inteltool/pcie.c
index a7429a0..e454f44 100644
--- a/util/inteltool/pcie.c
+++ b/util/inteltool/pcie.c
@@ -94,22 +94,22 @@
 	case PCI_DEVICE_ID_INTEL_82975X:
 		epbar_phys = pci_read_long(nb, 0x40) & 0xfffffffe;
 		break;
- 	case PCI_DEVICE_ID_INTEL_PM965:
- 	case PCI_DEVICE_ID_INTEL_Q965:
- 	case PCI_DEVICE_ID_INTEL_82Q35:
- 	case PCI_DEVICE_ID_INTEL_82G33:
- 	case PCI_DEVICE_ID_INTEL_82Q33:
-	case PCI_DEVICE_ID_INTEL_X44:
+	case PCI_DEVICE_ID_INTEL_82965PM:
+	case PCI_DEVICE_ID_INTEL_82Q965:
+	case PCI_DEVICE_ID_INTEL_82Q35:
+	case PCI_DEVICE_ID_INTEL_82G33:
+	case PCI_DEVICE_ID_INTEL_82Q33:
+	case PCI_DEVICE_ID_INTEL_82X38:
 	case PCI_DEVICE_ID_INTEL_32X0:
-	case PCI_DEVICE_ID_INTEL_GS45:
+	case PCI_DEVICE_ID_INTEL_82X4X:
 	case PCI_DEVICE_ID_INTEL_ATOM_DXXX:
 	case PCI_DEVICE_ID_INTEL_ATOM_NXXX:
- 		epbar_phys = pci_read_long(nb, 0x40) & 0xfffffffe;
- 		epbar_phys |= ((uint64_t)pci_read_long(nb, 0x44)) << 32;
- 		break;
+		epbar_phys = pci_read_long(nb, 0x40) & 0xfffffffe;
+		epbar_phys |= ((uint64_t)pci_read_long(nb, 0x44)) << 32;
+		break;
 	case PCI_DEVICE_ID_INTEL_82810:
-	case PCI_DEVICE_ID_INTEL_82810DC:
-	case PCI_DEVICE_ID_INTEL_82810E_MC:
+	case PCI_DEVICE_ID_INTEL_82810_DC:
+	case PCI_DEVICE_ID_INTEL_82810E_DC:
 	case PCI_DEVICE_ID_INTEL_82830M:
 	case PCI_DEVICE_ID_INTEL_82865:
 		printf("This northbridge does not have EPBAR.\n");
@@ -156,32 +156,41 @@
 	case PCI_DEVICE_ID_INTEL_82975X:
 		dmibar_phys = pci_read_long(nb, 0x4c) & 0xfffffffe;
 		break;
-	case PCI_DEVICE_ID_INTEL_PM965:
-	case PCI_DEVICE_ID_INTEL_Q965:
+	case PCI_DEVICE_ID_INTEL_82965PM:
+	case PCI_DEVICE_ID_INTEL_82Q965:
 	case PCI_DEVICE_ID_INTEL_82Q35:
 	case PCI_DEVICE_ID_INTEL_82G33:
 	case PCI_DEVICE_ID_INTEL_82Q33:
-	case PCI_DEVICE_ID_INTEL_X44:
+	case PCI_DEVICE_ID_INTEL_82X38:
 	case PCI_DEVICE_ID_INTEL_32X0:
-	case PCI_DEVICE_ID_INTEL_GS45:
+	case PCI_DEVICE_ID_INTEL_82X4X:
 	case PCI_DEVICE_ID_INTEL_ATOM_DXXX:
 	case PCI_DEVICE_ID_INTEL_ATOM_NXXX:
 		dmibar_phys = pci_read_long(nb, 0x68) & 0xfffffffe;
 		dmibar_phys |= ((uint64_t)pci_read_long(nb, 0x6c)) << 32;
 		break;
 	case PCI_DEVICE_ID_INTEL_82810:
-	case PCI_DEVICE_ID_INTEL_82810DC:
-	case PCI_DEVICE_ID_INTEL_82810E_MC:
+	case PCI_DEVICE_ID_INTEL_82810_DC:
+	case PCI_DEVICE_ID_INTEL_82810E_DC:
 	case PCI_DEVICE_ID_INTEL_82865:
 		printf("This northbridge does not have DMIBAR.\n");
 		return 1;
-	case PCI_DEVICE_ID_INTEL_X58:
+	case PCI_DEVICE_ID_INTEL_82X58:
 		dmibar_phys = pci_read_long(nb, 0x50) & 0xfffff000;
 		break;
-	case PCI_DEVICE_ID_INTEL_HM65E:
-		dmibar_phys = pci_read_long(nb, 0x68) & 0xfffff000;
+	case PCI_DEVICE_ID_INTEL_CORE_1ST_GEN:
+		dmibar_phys = pci_read_long(nb, 0x68);
+		dmibar_phys |= ((uint64_t)pci_read_long(nb, 0x6c)) << 32;
+		dmibar_phys &= 0x0000000ffffff000UL; /* 35:12 */
+		dmi_registers = NULL; /* No public documentation */
+		break;
+	case PCI_DEVICE_ID_INTEL_CORE_2ND_GEN:
 		dmi_registers = sandybridge_dmi_registers;
 		size = ARRAY_SIZE(sandybridge_dmi_registers);
+	case PCI_DEVICE_ID_INTEL_CORE_3RD_GEN: /* pretty printing not implemented yet */
+		dmibar_phys = pci_read_long(nb, 0x68);
+		dmibar_phys |= ((uint64_t)pci_read_long(nb, 0x6c)) << 32;
+		dmibar_phys &= 0x0000007ffffff000UL; /* 38:12 */
 		break;
 	default:
 		printf("Error: Dumping DMIBAR on this northbridge is not (yet) supported.\n");
@@ -251,22 +260,22 @@
 	case PCI_DEVICE_ID_INTEL_82975X:
 		pciexbar_reg = pci_read_long(nb, 0x48);
 		break;
- 	case PCI_DEVICE_ID_INTEL_PM965:
-	case PCI_DEVICE_ID_INTEL_Q965:
- 	case PCI_DEVICE_ID_INTEL_82Q35:
- 	case PCI_DEVICE_ID_INTEL_82G33:
- 	case PCI_DEVICE_ID_INTEL_82Q33:
-	case PCI_DEVICE_ID_INTEL_X44:
+	case PCI_DEVICE_ID_INTEL_82965PM:
+	case PCI_DEVICE_ID_INTEL_82Q965:
+	case PCI_DEVICE_ID_INTEL_82Q35:
+	case PCI_DEVICE_ID_INTEL_82G33:
+	case PCI_DEVICE_ID_INTEL_82Q33:
+	case PCI_DEVICE_ID_INTEL_82X38:
 	case PCI_DEVICE_ID_INTEL_32X0:
-	case PCI_DEVICE_ID_INTEL_GS45:
+	case PCI_DEVICE_ID_INTEL_82X4X:
 	case PCI_DEVICE_ID_INTEL_ATOM_DXXX:
 	case PCI_DEVICE_ID_INTEL_ATOM_NXXX:
- 		pciexbar_reg = pci_read_long(nb, 0x60);
- 		pciexbar_reg |= ((uint64_t)pci_read_long(nb, 0x64)) << 32;
- 		break;
+		pciexbar_reg = pci_read_long(nb, 0x60);
+		pciexbar_reg |= ((uint64_t)pci_read_long(nb, 0x64)) << 32;
+		break;
 	case PCI_DEVICE_ID_INTEL_82810:
-	case PCI_DEVICE_ID_INTEL_82810DC:
-	case PCI_DEVICE_ID_INTEL_82810E_MC:
+	case PCI_DEVICE_ID_INTEL_82810_DC:
+	case PCI_DEVICE_ID_INTEL_82810E_DC:
 	case PCI_DEVICE_ID_INTEL_82865:
 		printf("Error: This northbridge does not have PCIEXBAR.\n");
 		return 1;
