msrtool: added support for Intel CPUs
[coreboot.git] / util / msrtool / msrtool.h
index fa37c8507ad41fd8138122bcb1d2a6c351bc4340..e6cea468635e92bd831ae98bbdca5bb8c0b1ff2a 100644 (file)
 #include <stdio.h>
 #include <stdint.h>
 #if (defined(__MACH__) && defined(__APPLE__))
-/* DirectIO is available here: http://www.coresystems.de/en/directio */
+/* DirectHW is available here: http://www.coreboot.org/DirectHW */
 #define __DARWIN__
-#include <DirectIO/darwinio.h>
+#include <DirectHW/DirectHW.h>
+#endif
+#if defined(__FreeBSD__)
+#include <sys/ioctl.h>
+#include <sys/cpuctl.h>
 #endif
 #include <pci/pci.h>
 
@@ -166,7 +170,7 @@ const struct msrdef *findmsrdef(const uint32_t addr);
 uint32_t msraddrbyname(const char *name);
 void dumpmsrdefs(const struct targetdef *t);
 int dumpmsrdefsvals(FILE *f, const struct targetdef *t, const uint8_t cpu);
-uint8_t str2msr(char *str, struct msr *msr);
+uint8_t str2msr(char *str, struct msr *msr, char **endptr);
 void decodemsr(const uint8_t cpu, const uint32_t addr, const struct msr val);
 uint8_t diff_msr(FILE *fout, const uint32_t addr, const struct msr a, const struct msr b);
 
@@ -186,8 +190,18 @@ extern int darwin_open(uint8_t cpu, enum SysModes mode);
 extern int darwin_close(uint8_t cpu);
 extern int darwin_rdmsr(uint8_t cpu, uint32_t addr, struct msr *val);
 
+/* freebsd.c */
+extern int freebsd_probe(const struct sysdef *system);
+extern int freebsd_open(uint8_t cpu, enum SysModes mode);
+extern int freebsd_close(uint8_t cpu);
+extern int freebsd_rdmsr(uint8_t cpu, uint32_t addr, struct msr *val);
+
 /** target externs **/
 
+/* geodegx2.c */
+extern int geodegx2_probe(const struct targetdef *t);
+extern const struct msrdef geodegx2_msrs[];
+
 /* geodelx.c */
 extern int geodelx_probe(const struct targetdef *t);
 extern const struct msrdef geodelx_msrs[];
@@ -200,4 +214,32 @@ extern const struct msrdef cs5536_msrs[];
 extern int k8_probe(const struct targetdef *t);
 extern const struct msrdef k8_msrs[];
 
+/* intel_pentium3_early.c */
+extern int intel_pentium3_early_probe(const struct targetdef *t);
+extern const struct msrdef intel_pentium3_early_msrs[];
+
+/* intel_pentium3.c */
+extern int intel_pentium3_probe(const struct targetdef *t);
+extern const struct msrdef intel_pentium3_msrs[];
+
+/* intel_core1.c */
+extern int intel_core1_probe(const struct targetdef *t);
+extern const struct msrdef intel_core1_msrs[];
+
+/* intel_core2_early.c */
+extern int intel_core2_early_probe(const struct targetdef *t);
+extern const struct msrdef intel_core2_early_msrs[];
+
+/* intel_core2_later.c */
+extern int intel_core2_later_probe(const struct targetdef *t);
+extern const struct msrdef intel_core2_later_msrs[];
+
+/* intel_pentium4_early.c */
+extern int intel_pentium4_early_probe(const struct targetdef *t);
+extern const struct msrdef intel_pentium4_early_msrs[];
+
+/* intel_pentium4_later.c */
+extern int intel_pentium4_later_probe(const struct targetdef *t);
+extern const struct msrdef intel_pentium4_later_msrs[];
+
 #endif /* MSRTOOL_H */