this is a total hack of a patch to let me force specific vids for a
processor which the bios doesn't have the right table for.

-dean

Index: linux/arch/i386/kernel/cpu/cpufreq/powernow-k8.c
===================================================================
--- linux.orig/arch/i386/kernel/cpu/cpufreq/powernow-k8.c	2006-09-02 15:50:34.000000000 -0700
+++ linux/arch/i386/kernel/cpu/cpufreq/powernow-k8.c	2006-09-02 16:05:24.000000000 -0700
@@ -49,6 +49,15 @@
 #define VERSION "version 1.60.2"
 #include "powernow-k8.h"
 
+#define MAX_OVERRIDE (16)
+static int override_fid[MAX_OVERRIDE] = { [0 ... MAX_OVERRIDE-1] = -1 };;
+static int override_vid[MAX_OVERRIDE] = { [0 ... MAX_OVERRIDE-1] = -1 };;
+module_param_array(override_fid, int, NULL, 0);
+module_param_array(override_vid, int, NULL, 0);
+MODULE_PARM_DESC(override_fid, "override FID table");
+MODULE_PARM_DESC(override_vid, "override VID table");
+
+
 /* serialize freq changes  */
 static DEFINE_MUTEX(fidvid_mutex);
 
@@ -758,6 +767,13 @@
 			vid = (data->acpi_data.states[i].control >> VID_SHIFT) & VID_MASK;
 		}
 
+		if (i < MAX_OVERRIDE && override_fid[i] != -1) {
+			fid = override_fid[i];
+		}
+		if (i < MAX_OVERRIDE && override_vid[i] != -1) {
+			vid = override_vid[i];
+		}
+
 		dprintk("   %d : fid 0x%x, vid 0x%x\n", i, fid, vid);
 
 		powernow_table[i].index = fid; /* lower 8 bits */
