gnu-efi/gnu-efi-3.0e-route80h-add-c...

50 lines
1.3 KiB
Diff

From 628dbd2ecce3793850f7c7d789b0adcab6746809 Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones@redhat.com>
Date: Thu, 11 Nov 2010 16:42:16 -0500
Subject: [PATCH] Add CougarPoint support to route80h.c
CougarPoint is some other northbridge. Yay!
---
apps/route80h.c | 16 +++++++++++++++-
1 files changed, 15 insertions(+), 1 deletions(-)
diff --git a/apps/route80h.c b/apps/route80h.c
index 1a04b5a..30330ab 100644
--- a/apps/route80h.c
+++ b/apps/route80h.c
@@ -12,6 +12,7 @@
#define VENDOR_ID_INTEL 0x8086
#define DEVICE_ID_LPCIF 0x3a16
+#define DEVICE_ID_COUGARPOINT_LPCIF 0x1c56
static EFI_HANDLE ImageHandle;
@@ -96,9 +97,22 @@ efi_main (EFI_HANDLE image_handle, EFI_SYSTEM_TABLE *systab)
EFI_PCI_IO *pciio;
lpcif_t lpcif;
EFI_STATUS rc;
+ struct {
+ uint16_t vendor;
+ uint16_t device;
+ } devices[] = {
+ { VENDOR_ID_INTEL, DEVICE_ID_LPCIF },
+ { VENDOR_ID_INTEL, DEVICE_ID_COUGARPOINT_LPCIF },
+ { 0, 0 }
+ };
+ int i;
ImageHandle = image_handle;
- rc = find_pci_device(VENDOR_ID_INTEL, DEVICE_ID_LPCIF, &pciio);
+ for (i = 0; devices[i].vendor != 0; i++) {
+ rc = find_pci_device(devices[i].vendor, devices[i].device, &pciio);
+ if (EFI_ERROR(rc))
+ continue;
+ }
if (rc == EFI_NOT_FOUND) {
Print(L"Device not found.\n");
--
1.7.2.2