Author: stepan
Date: Mon Mar 14 03:41:03 2011
New Revision: 2
URL: https://tracker.coreboot.org/trac/directhw/changeset/2

Log:
new upstream patch for dmidecode 2.11

Signed-off-by: Stefan Reinauer <[email protected]>

Added:
   trunk/macosx/patches/dmidecode-2.11.diff
Deleted:
   trunk/macosx/patches/dmidecode-2.9.diff

Added: trunk/macosx/patches/dmidecode-2.11.diff
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ trunk/macosx/patches/dmidecode-2.11.diff    Mon Mar 14 03:41:03 2011        
(r2)
@@ -0,0 +1,207 @@
+Index: dmidecode-2.11/biosdecode.c
+===================================================================
+--- dmidecode-2.11/biosdecode.c
++++ dmidecode-2.11/biosdecode.c
+@@ -560,9 +560,15 @@
+ static int parse_command_line(int argc, char * const argv[])
+ {
+       int option;
++#ifndef __APPLE__
+       const char *optstring = "d:hV";
++#else
++      const char *optstring = "hV";
++#endif
+       struct option longopts[] = {
++#ifndef __APPLE__
+               { "dev-mem", required_argument, NULL, 'd' },
++#endif
+               { "help", no_argument, NULL, 'h' },
+               { "version", no_argument, NULL, 'V' },
+               { 0, 0, 0, 0 }
+@@ -571,9 +577,11 @@
+       while ((option = getopt_long(argc, argv, optstring, longopts, NULL)) != 
-1)
+               switch (option)
+               {
++#ifndef __APPLE__
+                       case 'd':
+                               opt.devmem = optarg;
+                               break;
++#endif
+                       case 'h':
+                               opt.flags |= FLAG_HELP;
+                               break;
+@@ -592,7 +600,9 @@
+       static const char *help =
+               "Usage: biosdecode [OPTIONS]\n"
+               "Options are:\n"
++#ifndef __APPLE__
+               " -d, --dev-mem FILE     Read memory from device FILE (default: 
" DEFAULT_MEM_DEV ")\n"
++#endif
+               " -h, --help             Display this help text and exit\n"
+               " -V, --version          Display the version and exit\n";
+ 
+Index: dmidecode-2.11/config.h
+===================================================================
+--- dmidecode-2.11/config.h
++++ dmidecode-2.11/config.h
+@@ -12,9 +12,13 @@
+ #ifdef __sun
+ #define DEFAULT_MEM_DEV "/dev/xsvc"
+ #else
++#ifdef __APPLE__
++#define DEFAULT_MEM_DEV "DirectHW"
++#else
+ #define DEFAULT_MEM_DEV "/dev/mem"
+ #endif
+ #endif
++#endif
+ 
+ /* Use mmap or not */
+ #ifndef __BEOS__
+Index: dmidecode-2.11/vpdopt.c
+===================================================================
+--- dmidecode-2.11/vpdopt.c
++++ dmidecode-2.11/vpdopt.c
+@@ -92,9 +92,15 @@
+ int parse_command_line(int argc, char * const argv[])
+ {
+       int option;
++#ifndef __APPLE__
+       const char *optstring = "d:hs:uV";
++#else
++      const char *optstring = "hs:uV";
++#endif
+       struct option longopts[] = {
++#ifndef __APPLE__
+               { "dev-mem", required_argument, NULL, 'd' },
++#endif
+               { "help", no_argument, NULL, 'h' },
+               { "string", required_argument, NULL, 's' },
+               { "dump", no_argument, NULL, 'u' },
+@@ -105,9 +111,11 @@
+       while ((option = getopt_long(argc, argv, optstring, longopts, NULL)) != 
-1)
+               switch (option)
+               {
++#ifndef __APPLE__
+                       case 'd':
+                               opt.devmem = optarg;
+                               break;
++#endif
+                       case 'h':
+                               opt.flags |= FLAG_HELP;
+                               break;
+@@ -147,7 +155,9 @@
+       static const char *help =
+               "Usage: vpddecode [OPTIONS]\n"
+               "Options are:\n"
++#ifndef __APPLE__
+               " -d, --dev-mem FILE     Read memory from device FILE (default: 
" DEFAULT_MEM_DEV ")\n"
++#endif
+               " -h, --help             Display this help text and exit\n"
+               " -s, --string KEYWORD   Only display the value of the given 
VPD string\n"
+               " -u, --dump             Do not decode the VPD records\n"
+Index: dmidecode-2.11/util.c
+===================================================================
+--- dmidecode-2.11/util.c
++++ dmidecode-2.11/util.c
+@@ -47,6 +47,10 @@
+ #include "types.h"
+ #include "util.h"
+ 
++#ifdef __APPLE__
++#include <DirectHW/DirectHW.h>
++#endif
++
+ static int myread(int fd, u8 *buf, size_t count, const char *prefix)
+ {
+       ssize_t r = 1;
+@@ -95,6 +99,7 @@
+ void *mem_chunk(size_t base, size_t len, const char *devmem)
+ {
+       void *p;
++#ifndef __APPLE__
+       int fd;
+ #ifdef USE_MMAP
+       size_t mmoffset;
+@@ -158,7 +163,23 @@
+ out:
+       if (close(fd) == -1)
+               perror(devmem);
++#else
++      void *v;
++      iopl(3);
++      if((v=map_physical(base, len))==NULL)
++      {
++              perror("map_physical");
++              return NULL;
++      }
+ 
++      if((p=malloc(len))==NULL)
++      {
++              perror("malloc");
++              return NULL;
++      }
++      memcpy(p, v, len);
++      unmap_physical(v, len);
++#endif
+       return p;
+ }
+ 
+Index: dmidecode-2.11/ownership.c
+===================================================================
+--- dmidecode-2.11/ownership.c
++++ dmidecode-2.11/ownership.c
+@@ -114,9 +114,15 @@
+ static int parse_command_line(int argc, char * const argv[])
+ {
+       int option;
++#ifndef __APPLE__
+       const char *optstring = "d:hV";
++#else
++      const char *optstring = "hV";
++#endif
+       struct option longopts[] = {
++#ifndef __APPLE__
+               { "dev-mem", required_argument, NULL, 'd' },
++#endif
+               { "help", no_argument, NULL, 'h' },
+               { "version", no_argument, NULL, 'V' },
+               { 0, 0, 0, 0 }
+@@ -125,9 +131,11 @@
+       while ((option = getopt_long(argc, argv, optstring, longopts, NULL)) != 
-1)
+               switch (option)
+               {
++#ifndef __APPLE__
+                       case 'd':
+                               opt.devmem = optarg;
+                               break;
++#endif
+                       case 'h':
+                               opt.flags |= FLAG_HELP;
+                               break;
+@@ -146,7 +154,9 @@
+       static const char *help =
+               "Usage: ownership [OPTIONS]\n"
+               "Options are:\n"
++#ifndef __APPLE__
+               " -d, --dev-mem FILE     Read memory from device FILE (default: 
" DEFAULT_MEM_DEV ")\n"
++#endif
+               " -h, --help             Display this help text and exit\n"
+               " -V, --version          Display the version and exit\n";
+ 
+Index: dmidecode-2.11/Makefile
+===================================================================
+--- dmidecode-2.11/Makefile
++++ dmidecode-2.11/Makefile
+@@ -25,6 +25,11 @@
+ # Pass linker flags here
+ LDFLAGS =
+ 
++OS_ARCH = $(shell uname)
++ifeq ($(OS_ARCH), Darwin)
++LDFLAGS += -framework IOKit -framework DirectHW
++endif
++
+ DESTDIR =
+ prefix  = /usr/local
+ sbindir = $(prefix)/sbin

-- 
coreboot mailing list: [email protected]
http://www.coreboot.org/mailman/listinfo/coreboot

Reply via email to