Various cross-platform fixes
Improve compilation with libpayload (compiling flashrom.c and
linking is still broken):
- disable Ponyprog (which enforced serial.c compilation)
- make errno available where it is needed
Fix internal.c for non-x86 and enable cb parsing on ARM.
Fix mingw builds by using its __USE_MINGW_ANSI_STDIO macro
and gnu_printf definition for printf format style checking.
See http://sourceforge.net/apps/trac/mingw-w64/wiki/gnu%20printf
This requires inclusion of stdio.h in flash.h.
Fix order of libraries in the Makefile:
FEATURE_LIBS needs to come *after* PCILIBS in case ZLIB is needed by it.
Corresponding to flashrom svn r1697.
Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
diff --git a/physmap.c b/physmap.c
index 3c3f27b..6e3d646 100644
--- a/physmap.c
+++ b/physmap.c
@@ -24,14 +24,14 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+#include <errno.h>
#include "flash.h"
#include "hwaccess.h"
-/* Do we need any file access or ioctl for physmap or MSR? */
#if !defined(__DJGPP__) && !defined(__LIBPAYLOAD__)
+/* No file access needed/possible to get mmap access permissions or access MSR. */
#include <sys/stat.h>
#include <fcntl.h>
-#include <errno.h>
#endif
#ifdef __DJGPP__
@@ -120,15 +120,6 @@
void physunmap(void *virt_addr, size_t len)
{
}
-
-int setup_cpu_msr(int cpu)
-{
- return 0;
-}
-
-void cleanup_cpu_msr(void)
-{
-}
#elif defined(__MACH__) && defined(__APPLE__)
#define MEM_DEV "DirectHW"
@@ -569,6 +560,15 @@
_wrmsr(addr, msr.lo | ((unsigned long long)msr.hi << 32));
return 0;
}
+
+int setup_cpu_msr(int cpu)
+{
+ return 0;
+}
+
+void cleanup_cpu_msr(void)
+{
+}
#else
/* default MSR implementation */
msr_t rdmsr(int addr)