summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGraydon, Tracy <tracy.graydon@intel.com>2013-03-27 17:39:39 -0700
committerGraydon, Tracy <tracy.graydon@intel.com>2013-03-27 17:39:39 -0700
commit6b9dfcfcd49a63b5243bef8296260a4f18e3208a (patch)
tree22062628b32efca641a6a65263df7f223f581ac2
parent1b8e75cd56372800ec0005d2387022992f2961e3 (diff)
downloaddmidecode-2.0.tar.gz
dmidecode-2.0.tar.bz2
dmidecode-2.0.zip
-rw-r--r--AUTHORS83
-rw-r--r--CHANGELOG1335
-rw-r--r--LICENSE340
-rw-r--r--README116
-rw-r--r--packaging/dmidecode-2.11-chassis_fix.patch42
-rw-r--r--packaging/dmidecode-2.11-dmidecode_fix.patch24
-rw-r--r--packaging/dmidecode-2.11-dmioem_hp_fix.patch32
-rw-r--r--packaging/dmidecode-2.11-manpage_update.patch55
-rw-r--r--packaging/dmidecode-2.11-smbios-271.patch119
-rw-r--r--packaging/dmidecode-2.11-type16-fix.patch30
-rw-r--r--packaging/dmidecode.spec13
11 files changed, 2189 insertions, 0 deletions
diff --git a/AUTHORS b/AUTHORS
new file mode 100644
index 0000000..7ec5a51
--- /dev/null
+++ b/AUTHORS
@@ -0,0 +1,83 @@
+DEVELOPER AND MAINTAINER
+Anton Arapov <anton@redhat.com>
+
+ORIGINAL AUTHORS
+Alan Cox <alan@redhat.com>
+Jean Delvare <khali@linux-fr.org>
+
+CODE CONTRIBUTORS (IN CHRONOLOGICAL ORDER)
+Matt Domsch <Matt_Domsch@dell.com>
+Arjan van de Ven <arjanv@redhat.com>
+Mark D. Studebaker <mds@paradyne.com>
+Larry Lile <llile@dreamworks.com>
+Dave Johnson <ddj@cascv.brown.edu>
+Petter Reinholdtsen <pere@hungry.com>
+Roberto Nibali <ratz@tac.ch>
+John Cagle <jcagle@kernel.org>
+Jens Elkner <elkner@linofee.org>
+Jarod Wilson <jarod@redhat.com>
+
+MANY THANKS TO (IN CHRONOLOGICAL ORDER)
+Werner Heuser
+Alexandre Duret-Lutz
+Xavier Roche
+Pamela Huntley
+Gael Stephan
+Sebastian Henschel
+Richard Sharpe
+David Wilson
+Glen Foster
+Chad Smith
+Joshua Goldenhar
+Luc Van de Velde
+Mario Lang
+Hugues Lepesant
+Sergey Leonovich
+Mike Cooper
+Marc Rieffel
+Jeff Moyer
+Josef Moellers
+Zing Zing Shishak
+Rafael Avila de Espindola
+Roger Koot
+Martin Pool
+Doug Brenner
+Alex Williamson
+Durval Menezes
+Raphael Raimbault
+Raul Nunez de Arenas Coronado
+Francois Revol
+Dominik Klein
+Erwan Velu
+Don Howard
+Frans Pop
+Tomek Mateja
+Myke Olson
+Torsten Seemann
+Garry Belka
+Klaus Muth
+Antoine Fuselier
+Matthew Garrett
+Landry Breuil
+Luke Suchocki
+Attila Nagy
+Alex Iribarren
+Sebastien Douche
+William Lallemand
+Olivier Guerrier
+Pascal Terjan
+Stuart Hayes
+Sofian Brabez
+Vincent Pelletier
+Andreas Gruenbacher
+Lin Li
+Thomas Hiller
+Paul Flo Williams
+Olof Johansson
+Alexandre Lissy
+Michal Svec
+Vojtech Pavlik
+Murlin Wenzel
+Harald Mueller-Ney
+Lars Mueller
+Thomas Mingarelli
diff --git a/CHANGELOG b/CHANGELOG
new file mode 100644
index 0000000..0545f8a
--- /dev/null
+++ b/CHANGELOG
@@ -0,0 +1,1335 @@
+2010-11-24 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.c: Assume that the max power capacity is expressed in
+ Watts, not milliWatts (DMI type 39). The specification isn't
+ clear about the actual unit, but the only implementation I've
+ seen (HP Proliant G7) clearly uses Watts. Also, using milliWatts
+ would limit the max value that can be stored to 32 W, which
+ doesn't make much sense.
+ * dmidecode.c: Fix offset of partition width (DMI type 19).
+ * dmidecode.c: Decode BIOS language information flags
+ (DMI type 13).
+ * dmidecode.c: Fix CPU flags mask (DMI type 4).
+ * dmidecode.c: Reword "PCI Express Gen 2" to just "PCI Express 2"
+ (DMI type 9).
+ * dmidecode.c: Decode the slot ID for all PCI Express and PCI
+ Express 2 slots (DMI type 9).
+
+2010-11-24 Jean Delvare <khali@linux-fr.org>
+
+ Update to support SMBIOS specification version 2.7.0.
+
+ * dmidecode.c: Update all references to the SMBIOS specification
+ to match the new numbering.
+ * dmidecode.c: Add UEFI support and virtual machine flags to BIOS
+ characteristics (DMI type 0).
+ * dmideocde.c: Add SKU number field to system enclosure or chassis
+ (DMI type 3).
+ * dmidecode.c: Add many Intel, AMD and VIA CPU family names
+ (DMI type 4).
+ * dmidecode.c: Add many socket formats (DMI type 4).
+ * dmidecode.c: Add processor characteristics flags (DMI type 4).
+ * util.c, util.h: Add utility function u64_range, which computes
+ the range between two u64 values.
+ * dmidecode.c: Add support for memory arrays of 2 TB and more
+ (DMI types 16, 19 and 20).
+ * dmidecode.c: Add support for memory devices of 32 GB and more
+ (DMI type 17).
+ * dmidecode.c: Add description of cooling device (DMI type 27).
+ * dmidecode.c: Add limited support for new DMI type 42 (Management
+ Controller Host Interface).
+
+2010-11-16 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.c: Handle ambiguous processor family value 0x30
+ (DMI type 4).
+ * dmidecode.c: Prevent unlikely array overrun when decoding
+ processor family value 0xBE (DMI type 4).
+ * dmidecode.c: Handle DMI type 2 record of size 0x0E.
+
+2010-11-11 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.c: Fix decoding of IPMI base address LSB.
+
+2010-11-09 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.c: Drop redundant/obsolete references to
+ CIM_Processor.Family.
+
+2010-10-26 Jean Delvare <khali@linux-fr.org>
+
+ Update to support Intel AP-485 (CPUID) revision 36 (was 32).
+
+ * dmidecode.c: Update the link to the AP-485 document, the revision
+ and the table number.
+ * dmidecode.c: Update two CPU flag descriptions (FXSR and HTT).
+ Drop CPU flag IA64.
+ * dmidecode.c: Update the list of processors for which we decode the
+ CPUID flags.
+
+2010-10-11 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.c: One more SMBIOS version fix-up case.
+ * Makefile: Rework BSD make compatibility trick. The previous
+ trick would break GNU make 3.82.
+
+2010-09-29 Anton Arapov <anton@redhat.com>
+
+ * util.c: makes dmidecode fall back to regular reads if the mmap
+ fails. Patch from Olof Johansson.
+
+2010-09-21 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.c: Fix Xeon 7xxx entries in CPU name lookup table
+ (DMI type 4). Patch from Paul Flo Williams.
+
+2009-08-28 Jarod Wilson <jarod@redhat.com>
+
+ Update to support SMBIOS specification version 2.6.1.
+
+ * dmidecode.c: Add processor types "Dual-Core Xeon 5200",
+ "Dual-Core Xeon 7200", "Quad-Core Xeon 7300", "QuadCore Xeon 7400",
+ "Multi-Core Xeon 7400", "Core i7", "Dual-Core Celeron",
+ "Multi-Core Xeon", "Dual-Core Xeon 3xxx", "Quad-Core Xeon 3xxx",
+ "Dual-Core Xeon 5xxx", "Quad-Core Xeon 5xxx", "Dual-Core Xeon 7xxx",
+ "Quad-Core Xeon 7xxx" and "Multi-Core Xeon 7xxx" (DMI type 4).
+ * dmidecode.c: Add slot types "PCI Express Gen 2 x1",
+ "PCI Express Gen 2 x2", "PCI Express Gen 2 x4",
+ "PCI Express Gen 2 x8" and "PCI Express Gen 2 x16" (DMI type 9).
+ * dmidecode.c: Add memory device types "DDR3" and "FB-DIMM"
+ (DMI type 17).
+ * dmidecode.c: Add cache associativity types "12-way Set-associative",
+ "24-way Set-associative", "32-way Set-associative",
+ "48-way Set-associative" and "64-way Set-associative" (DMI type 7).
+
+2009-07-27 Jean Delvare <khali@linux-fr.org>
+
+ * dmioem.c: Recognize "Hewlett-Packard" as a possible DMI vendor
+ string for HP. Orginal patch from Thomas Hiller (HP).
+ * dmidecode.c: Add processor upgrade type "Socket LGA1366"
+ (DMI type 4).
+
+2009-06-19 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.c: Fix decoding of memory array capacity. A maximum
+ capacity of 128 GB would erroneously be reported as Unknown,
+ while a unknown capacity would be erroneously reported as 2048
+ GB. Bug reported by Lin Li (HP).
+
+2009-04-30 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.c: Warn if decoding an SMBIOS implementation which is
+ newer than what we support.
+
+2009-04-04 Jean Delvare <khali@linux-fr.org>
+
+ * Makefile: Clarify license.
+
+2008-11-23 Jean Delvare <khali@linux-fr.org>
+
+ * biosdecode.c: Stop using the inline keyword. It causes more
+ portability issues than is worth given how little we care about
+ performance in this tool, and recent versions of gcc know when
+ to inline functions anyway.
+ * version.h: Set version to 2.10.
+
+2008-11-14 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.c: Handle chassis information records of size 19
+ (DMI type 3).
+
+2008-11-10 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.c: Claim to support revision 32 of Intel AP-485
+ (CPUID). No relevant change since revision 31.
+ * dmidecode.c: Update reference to AMD CPUID document.
+
+2008-11-09 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.c: Decode the CPUID of more Intel, VIA and AMD
+ processors (DMI type 4).
+ * dmidecode.c: More CPUID exceptions based on the version string
+ (DMI type 4).
+ * README: Drop reference to the Linux kernel.
+ * README: Drop "model-specific issues" common problem entry, it is
+ no longer relevant.
+ * README: Simplify "IA-64" common problem entry, most of the
+ issues are solved by now.
+
+2008-11-08 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.c: Add many processor types taken from the CIM Schema.
+ * dmidecode.c: Drop all references to the DMTF Master MIF
+ document. This document hasn't been updated in years, so the
+ additions it may contain are no longer relevant.
+
+2008-11-07 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.c: Handle base board information records of size 9
+ (DMI type 2).
+ * dmidecode.c: Don't display access time equivalent of memory
+ device speed (DMI type 17). The access time didn't add much
+ value, and rounding effects made it look bad at times.
+
+2008-11-07 Jean Delvare <khali@linux-fr.org>
+
+ Update to support SMBIOS specification version 2.6, fourth round.
+
+ * dmidecode.c: Initial support for additional information entries
+ (DMI type 40). Proper support of this new entry type would
+ require redesigning a large part of the code, so I am waiting
+ to see actual implementations of it to decide whether it's worth
+ the effort.
+ * dmidecode.c, dmidecode.8: Update reference SMBIOS document.
+ * dmiopt.c, dmidecode.8: Include entry type 41 in --type baseboard.
+
+2008-11-05 Jean Delvare <khali@linux-fr.org>
+
+ Update to support SMBIOS specification version 2.6, third round.
+
+ * dmidecode.c: Decode the group number, bus number and
+ device/function number of system slots (DMI type 9).
+ Based on a preliminary patch by Matt Domsch.
+ * dmidecode.c: Decode onboard devices extended information
+ entries (DMI type 41). Based on a preliminary patch by Matt
+ Domsch.
+ * dmidecode.c: Add slot types "PCI Express x1", "PCI Express x2",
+ "PCI Express x4", "PCI Express x8" and "PCI Express x16"
+ (DMI type 9).
+ * dmidecode.c: Decode the memory device rank (DMI type 17).
+
+2008-11-02 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.c: Use binary search for dmi_processor_family, it's
+ faster than linear search (DMI type 4).
+ * dmidecode.c: Decode boot integrity services entry point entries
+ (DMI type 31).
+
+2008-10-31 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.c: The compiler knows how to reuse strings, it doesn't
+ need our help, and actually it does a better job without it. So,
+ turn out_of_spec into a define.
+ * dmidecode.c: Optimize functions dmi_processor_status(),
+ dmi_cache_location(), dmi_system_reset_boot_option() and
+ dmi_ipmi_register_spacing().
+
+2008-10-30 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.c, dmiopt.c, dmidecode.8: Option --dump is only a
+ modifier as --quiet is, so it's not actually mutually exclusive
+ with the output format options.
+ * dmidecode.c: Make options --dump-bin and --quiet work together.
+ * dmidecode.c: Delay string filtering when option --dump is used.
+ * dmidecode.c: Refactor dmi_processor_family function to avoid
+ code duplication.
+ * dmidecode.c: Fix up invalid SMBIOS version 2.51.
+
+2008-10-29 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.c: Handle special case of processor family code 0xBE,
+ which can be both Core 2 or K7. We use the processor
+ manufacturer string as a hint (DMI type 4).
+
+2008-10-28 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.c, dmidecode.h, dmiopt.c, dmiopt.h: Don't use function
+ pointers for special string cases. Each special case is itself
+ special and needs to call a function with its own prototype, so
+ better have dedicated code to handle it all.
+ * dmidecode.c, dmidecode.h, dmioem.c, dmioem.h: Mark a few
+ pointers const.
+ * dmidecode.c, util.c, util.h: When dumping the DMI table to a
+ binary file, truncate the file first.
+ * dmidecode.c: Support Processor Family 2 field also when queried
+ with option --string.
+
+2008-10-27 Jean Delvare <khali@linux-fr.org>
+
+ Update to support SMBIOS specification version 2.6, second round.
+
+ * dmidecode.c: Add support for Processor Family 2 field
+ (DMI type 4).
+ * dmidecode.c: Add processor types "Turion 64 X2", "Core Solo",
+ "Core 2 Duo", "ESA/390 G6", "z/Architectur", "C7-M", "C7-D",
+ "C7" and "Eden" (DMI type 4).
+ * dmidecode.c: Fix typo in processor type "AMD29000" (DMI type 4).
+ * dmidecode.c: Add processor upgrade types "Socket S1",
+ "Socket AM2" and "Socket F (1207)" (DMI type 4).
+
+2008-10-26 Jean Delvare <khali@linux-fr.org>
+
+ Update to support SMBIOS specification version 2.6, first round.
+
+ * dmidecode.c: Byte-swap the first 3 fields of the UUID
+ (DMI type 1).
+ * dmidecode.c: Add chassis types "Blade" and "Blade Enclosure"
+ (DMI type 3).
+
+2008-10-26 Jean Delvare <khali@linux-fr.org>
+
+ * dmiopt.c, dmidecode.8: Simplify the handling and documentation
+ of mutually exclusive output format options.
+ * dmidecode.8: Document the binary dump file format.
+ * dmidecode.c: Don't display the source dump file name in quiet
+ mode.
+ * biosdecode.c, dmidecode.c, dmioem.c, dmiopt.c, dmiopt.h,
+ ownership.c, types.h, util.c, vpddecode.c, vpdopt.c, vpdopt.h:
+ Mass coding-style change: add spaces around operators.
+ * vpddecode.c: Fix --quiet option.
+ * dmidecode.h, dmiopt.h: Pass version information to print
+ callback functions.
+ * dmidecode.c: Fix up invalid SMBIOS version.
+ * dmidecode.c: Handle base board information records of size 10
+ (DMI type 2).
+
+2008-10-25 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.c: Limit indentation in smbios_decode and
+ legacy_decode.
+ * dmidecode.c, dmiopt.c: Write binary dump to a compact file
+ rather than a sparse file.
+ * dmidecode.c, dmiopt.c, dmiopt.h: New option --from-dump, read
+ the DMI data from a binary file.
+ * dmidecode.8: Update the option --dump-bin, document the new
+ option --from-dump.
+
+2008-08-28 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.c: Add missing colon to temperature probe label.
+ Patch from Alex Iribarren.
+
+2008-02-16 Jean Delvare <khali@linux-fr.org>
+
+ * util.c, util.h: New helper function write_dump.
+ * dmidecode.c, dmiopt.c, dmiopt.h: New option --dump-bin, dump
+ the DMI data to a sparse binary file.
+ * dmidecode.8: Document the new option --dump-bin.
+ * Makefile, biosdecode.c, dmidecode.c, dmidecode.h, dmioem.c,
+ dmioem.h, dmiopt.c, dmiopt.h, ownership.c, util.c, util.h,
+ vpddecode.c, vpdopt.c, vpdopt.h: Update copyright statements.
+ * dmidecode.c: Adjust the error message which is displayed when
+ the table is unreachable.
+
+2007-06-30 Jean Delvare <khali@linux-fr.org>
+
+ * config.h: Add support for Solaris (x86 only, of course). Based
+ on a patch by Sun's Dan Mick, brought to my knowledge by
+ Attila Nagy.
+
+2007-06-27 Jean Delvare <khali@linux-fr.org>
+
+ * Makefile: Fix the uninstall-man target.
+
+2007-06-07 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.c: If the SMBIOS entry point decoding fails (for
+ example due to a bad checksum), still try decoding the
+ encapsulated DMI entry point. Suggested by Luke Suchocki.
+ * dmidecode.c: Replace all occurrences of "KB" by the more
+ correct "kB".
+
+2007-03-16 Jean Delvare <khali@linux-fr.org>
+
+ * vpddecode.c: Stop asking the user to report bad checksums,
+ unaligned records and the like. Such machines exist, too bad,
+ we have to live with it.
+
+2007-02-27 Jean Delvare <khali@linux-fr.org>
+
+ * biosdecode.c: Fix a compilation error with non-C99 compilers.
+ Patch from Francois Revol.
+
+2007-02-26 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.c: Fix an array overrun while decoding the system
+ event log status (DMI type 15).
+ * biosdecode.c: Use printf instead of fwrite.
+ * dmidecode.8: Some OEM-specific types can be decoded now.
+ * biosdecode.8: List the FJKEYINF entry point type.
+ * vpddecode.8: The product name is no longer displayed.
+ * version.h: Set version to 2.9.
+
+2007-02-16 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.c: Do not print the BIOS base address and runtime size
+ if the base address is 0. This happens on IA-64 because there's
+ no BIOS.
+ * Makefile, README: Do not build biosdecode, ownership and
+ vpddecode on IA-64, as IA-64 systems have no BIOS. This was
+ quite tricky to keep both GNU make and BSD make happy, but it
+ seems that I finally succeeded.
+
+2007-02-13 Jean Delvare <khali@linux-fr.org>
+
+ Update to support SMBIOS specification version 2.5, second round.
+
+ * dmidecode.c: Decode new processor characteristics (multi-core,
+ multi-thread, 64-bit) (DMI type 4).
+ * dmidecode.c: Decode slot ID of AGP 8x and PCI Express slots (DMI
+ type 9).
+
+ * dmidecode.c: Fix the mask of 3 bitfield tests. This will let
+ the memory type of some systems be properly reported as SDRAM.
+ * dmidecode.c: Fix the AMD processors signature decoding.
+ * README: Minor edits.
+
+2007-02-12 Jens Elkner <elkner@linofee.org>
+
+ Update to support SMBIOS specification version 2.5, first round.
+
+ * dmidecode.c: Add chassis types "CompactPCI" and "AdvancedTCA"
+ (DMI type 3).
+ * dmidecode.c: Add processor types "Turion 64",
+ "Dual-Core Opteron", "Athlon 64 X2", "Celeron D", "Pentium D"
+ and "Pentium EE" (DMI type 4).
+ * dmidecode.c: Add processor upgrade types "Socket mPGA604",
+ "Socket LGA771" and "Socket LGA775" (DMI type 4).
+ * dmidecode.c: Add connector type "SAS/SATA Plug Receptacle" and
+ port types "SATA" and "SAS" (DMI type 8).
+ * dmidecode.c: Add on-board device types "PATA Controller",
+ "SATA Controller" and "SAS Controller" (DMI type 10).
+ * dmidecode.c: Add memory device form factor "FB-DIMM" and memory
+ device type "DDR2 FB-DIMM" (DMI type 17).
+
+2007-02-12 Jean Delvare <khali@linux-fr.org>
+
+ * dmioem.c: Share the code between HP-specific types 209 and 221.
+ Both types are really the same, only the title is different.
+ * dmioem.c: Make the HP-specific types 209 and 221 output a bit
+ more verbose.
+ * dmidecode.c: Let --type decode OEM-specific entries when
+ possible.
+ * dmidecode.c: Include decoded OEM-specific entries in quiet mode
+ output (--quiet).
+ * dmidecode.c: Do not complain about truncated entries in quiet
+ mode.
+ * dmioem.c: Decode HP-specific type 204 entries in a safer way:
+ check the length before decoding, and don't assume that all
+ strings are provided in the same order as they are used.
+
+ Update to support Intel AP-485 (CPUID) revision 31 (was 28).
+
+ * dmidecode.c: New CPUID flag IA64.
+ * dmidecode.c: Fix the decoding of Intel extended family.
+
+2007-02-11 Jean Delvare <khali@linux-fr.org>
+
+ * dmioem.c, dmioem.h: New.
+ * Makefile, dmidecode.c, dmidecode.h, dmioem.c, dmioem.h: Move the
+ decoding of OEM-specific entries to a separate source file.
+ * dmidecode.c: DMI type 38 is tested by now.
+ * dmioem.c: The PCI function is typically represented as a single
+ digit.
+ * Makefile, dmiopt.c, vpdopt.c, util.h: Define an ARRAY_SIZE macro
+ which computes the size of a static array, and use it where
+ relevant.
+
+2007-02-11 John Cagle <jcagle@kernel.org>
+
+ * dmidecode.c: Add support for 3 HP-specific entries: system/rack
+ locator (type 204), NIC MAC information (type 209) and NIC iSCSI
+ MAC information (type 221).
+
+2007-01-14 Jean Delvare <khali@linux-fr.org>
+
+ * vpddecode.c: Fix a rare warning.
+ * biosdecode.c: Add support for the FJKEYINF entry point, which
+ contains data related to the "application panel" on Fujitsu
+ laptops.
+
+2006-05-23 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.c: Fix a recently introduced compilation error with
+ non-C99 compilers.
+ * dmidecode.c: Check for short entries (less than 4 bytes), stop
+ with an error when one is encountered.
+
+2006-05-13 Jean Delvare <khali@linux-fr.org>
+
+ * vpddecode.c, README: Drop the product name lookup table. It
+ was reported to be unreliable too many times, and was also
+ difficult to maintain.
+
+2006-05-10 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.c: Don't cast from u8* to dmi_header*, else
+ architectures which do not support unaligned memory accesses
+ may break. Instead, copy the members individually. That's a
+ bit slower, but that's also safer and we only need to do it
+ once per DMI entry, so it's not time critical. So far, we
+ were using a trick to later work around the unaligned memory
+ access, but the compiler would still warn about the risk,
+ which is always confusing.
+ * config.h, types.h, README: Automatically enable the unaligned
+ memory access workaround on ia64.
+ * types.h: Inline U64. It makes sense per se and also lets us
+ get rid of a warning about U64 being unused.
+ * dmidecode.c: Detect EFI at run-time rather than compilation-
+ time. Based on an original patch from Matthew Garrett. This
+ will make x86 binaries work for both PC systems with BIOS and
+ Macintosh systems with EFI. Also prevent a possible, though
+ unlikely, NULL-pointer dereference in the EFI code.
+
+2006-02-25 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.c: Fix typo reported by David Wilson (DMI case 3).
+
+2006-02-04 Jean Delvare <khali@linux-fr.org>
+
+ * vpddecode.c: Update lookup table from revision 2006-01-31 of IBM
+ reference document (add product ID "7B").
+ * version.h: Set version to 2.8.
+
+2006-01-21 Jean Delvare <khali@linux-fr.org>
+
+ * vpddecode.c: The mysterious last character of xSeries records
+ may be a BIOS revision. Display it as such when present and
+ non zero, and ask users to report.
+ * vpddecode.c: Adjust an error message.
+ * dmidecode.8: Update the sample entry to match the new output
+ format.
+ * README: Improve the IA-64 specific section and the vpddecode
+ tool description.
+ * vpdopt.h: Add missing system header file include.
+
+2006-01-20 Jean Delvare <khali@linux-fr.org>
+
+ * vpddecode.c: Assume a constant length of 12 characters for the
+ "Default Flash Image File Name" entry. The 13th character never
+ contained anything useful, so it probably has a different
+ meaning (unknown for now).
+
+2005-12-24 Jean Delvare <khali@linux-fr.org>
+
+ * vpddecode.c: Scan for VPD records on 4-byte boundaries instead
+ of 16-byte boundaries. This is needed for some eServer xSeries
+ 206. Still emit a warning if a VPD record is found not on a
+ 16-byte boundary.
+
+2005-10-26 Jean Delvare <khali@linux-fr.org>
+
+ * vpddecode.c: Add product ID "NR". Reported by Klaus Muth.
+ * vpddecode.c: Update lookup table from revision 2005-10-06 of IBM
+ reference document (add product IDs "77" and "78").
+
+2005-10-05 Jean Delvare <khali@linux-fr.org>
+
+ Update to support IPMI specification version 2.0 (was 1.5).
+
+ * dmidecode.c: Support IPMI interface type SSIF. Original patch
+ by Garry Belka.
+
+2005-10-04 Jean Delvare <khali@linux-fr.org>
+
+ * vpdopt.c: Display the list of all valid string keywords when
+ --string is used without an argument.
+ * vpddecode.8: Document the new -s, --string option.
+ * dmidecode.8: List the four new string keywords.
+ * vpddecode.c: Keep quiet when --string is used, even when no VPD
+ record is found.
+
+2005-10-03 Jean Delvare <khali@linux-fr.org>
+
+ * biosdecode.c: Fix a potential (but highly improbable) buffer
+ overrun in the VPD record decoding.
+ * biosdecode.c: Change the xSeries checksumming method to
+ accommodate a strange xSeries 440 VPD record, as was done in
+ vpddecode.c some weeks ago. Do not display the default flash
+ image file name anymore, it's not so useful and the field length
+ is now uncertain.
+ * vpdopt.c, vpdopt.h: New.
+ * Makefile, vpddecode.c, vpdopt.c, vpdopt.h: Move the command line
+ handling of vpddecode to a separate source file.
+ * vpddecode.c, vpdopt.c, vpdopt.h: Add option -s, --string. It
+ prints one selected VPD string instead of the regular output.
+
+2005-09-24 Jean Delvare <khali@linux-fr.org>
+
+ * dmiopt.c: Fix incorrect header include. The strcasecmp function
+ is defined in <strings.h>, not <string.h>. Reported by Petter
+ Reinholdtsen.
+
+2005-09-14 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.h: New.
+ * dmidecode.c, dmidecode.h, Makefile: Export four specific
+ decoding functions, make them suitable for external call.
+ * dmidecode.c, dmiopt.c, dmiopt.h, Makefile: Make it possible
+ for --string to print decoded binary data rather than only
+ DMI strings. Add four such string keywords.
+ * dmidecode.c, dmiopt.c, dmiopt.h: Modify the opt structure
+ to handle the string option more efficiently.
+
+2005-09-13 Jean Delvare <khali@linux-fr.org>
+
+ * vpddecode.c: Slightly change the xSeries checksumming method to
+ accommodate a strange xSeries 440 VPD record. Also tweak the
+ decoding of the "Default Flash Image File Name" entry. Thanks
+ to Torsten Seemann for providing a test VPD record.
+
+2005-09-05 Jean Delvare <khali@linux-fr.org>
+
+ * Makefile: Use -Wundef.
+
+2005-08-31 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.c: Drop trailing dot from handle description line.
+
+2005-08-29 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.c: Reword a comment about CPUID.
+ * dmidecode.c: Claim to support revision 28 of Intel AP-485
+ (CPUID). No relevant change since revision 27.
+
+2005-08-25 Jean Delvare <khali@linux-fr.org>
+
+ * vpddecode.c: Add product ID "VI". Reported by Torsten Seemann.
+ * vpddecode.c: Update lookup table from revision 2005-06-24 of IBM
+ reference document (add product IDs "1U", "1X", "70", "74", "75"
+ and "76", update product ID "1Y").
+ * dmiopt.c: Complain about unknown options again.
+ * biosdecode.c, ownership.c, vpddecode.c: getopt_long() will never
+ return ':'.
+
+2005-08-04 Jean Delvare <khali@linux-fr.org>
+
+ * README: Manual pages document the command line interface.
+ A discussion list exists for developers. Mmap is used on
+ most systems, not just Linux.
+ * version.h: Set version to 2.7.
+
+2005-08-02 Jean Delvare <khali@linux-fr.org>
+
+ * dmiopt.c, dmidecode.8: Options --dump and --quiet are mutually
+ exclusive.
+
+2005-06-23 Jean Delvare <khali@linux-fr.org>
+
+ * dmiopt.c, dmidecode.8: Options --dump and --string are mutually
+ exclusive.
+
+2005-06-22 Jean Delvare <khali@linux-fr.org>
+
+ * dmiopt.c: Display the list of all valid type or string keywords
+ when --type or --string, respectively, is used without an
+ argument or with an invalid one.
+ * dmidecode.8: Document the new -s, --string option. Update the
+ -t, --type option documentation.
+ * dmiopt.c, dmidecode.8: Add string keyword "bios-release-date",
+ the Linux kernel uses it.
+ * dmidecode.c, dmidecode.8: Fix typo ("Controler" becomes
+ "Controller").
+
+2005-06-21 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.c, dmiopt.c, dmiopt.h: Add option -s, --string. It
+ prints one selected DMI string instead of the regular output.
+
+2005-06-18 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.c: Hide handle references and entries of unknown
+ type when --quiet is used.
+ * dmidecode.8: Document the new -q, --quiet option.
+ * dmidecode.c: Stop decoding at end of table entry when --quiet
+ is used. Also don't warn about incorrect table length or entries
+ count when --quiet is used.
+
+2005-06-17 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.c, dmiopt.c, dmiopt.h: Add option -q, --quiet. It
+ makes the output less verbose.
+ * dmidecode.c: Suppress one level of indentation in the output,
+ insert blank lines between records. This will hopefully make
+ the output easier to read.
+ * dmidecode.c: Hide table address and size when --type is used.
+
+2005-06-16 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.8: Document the new -t, --type option.
+
+2005-06-15 Jean Delvare <khali@linux-fr.org>
+
+ * dmiopt.c, dmiopt.h: New.
+ * Makefile, dmidecode.c, dmiopt.c, dmiopt.h: Move the command line
+ handling of dmidecode to a separate source file.
+ * dmiopt.c: Define keywords to be used with --type (instead of
+ numeric values).
+
+2005-06-14 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.c: Centralize the main exit point. This allows fixing
+ a minor, recently introduced memory leak which was happening on
+ error conditions.
+
+2005-06-13 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.c: Add option -t, --type. It limits the output to
+ the given type(s) of DMI entries.
+
+2005-05-25 Jean Delvare <khali@linux-fr.org>
+
+ * vpddecode.c: Add product IDs "KE", "NT" and "ZR". Reported by
+ Bernd Krumboeck.
+
+2005-05-15 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.8, vpddecode.8: Document the new -u, --dump option.
+
+ Update to support SMBIOS specification version 2.4 (was 2.4
+ preliminary). There is actually no difference between 2.4
+ preliminary and 2.4 final.
+
+ * dmidecode.c: Update the "System Management BIOS Reference
+ Specification" version.
+
+2005-04-26 Jean Delvare <khali@linux-fr.org>
+
+ * vpddecode.c: Add product ID "M1". Reported by Myke Olson.
+ * vpddecode.c: Add option -u, --dump. It disables decoding of the
+ VPD records, a raw dump is displayed instead. This option is
+ mainly intended for debugging.
+
+2005-04-03 Jean Delvare <khali@linux-fr.org>
+
+ * Makefile: Use variables for install and rm commands, so that these
+ can be overridden by the caller.
+
+2005-03-25 Jean Delvare <khali@linux-fr.org>
+
+ * Makefile: Install some documentation files (README, CHANGELOG,
+ AUTHORS).
+
+ Update to support SMBIOS specification version 2.4 preliminary
+ [11/18/2004] (was 2.3.4).
+
+ * dmidecode.c: Add BIOS characteristics (DMI type 0).
+ * dmidecode.c: Display BIOS and firmware revisions where available
+ (DMI type 0).
+ * dmidecode.c: Display system SKU number and family where available
+ (DMI type 1).
+ * dmidecode.c: Add system slot types and widths (DMI type 9).
+ * dmidecode.c: Add memory device type "DDR2" (DMI type 17).
+
+2005-03-20 Jean Delvare <khali@linux-fr.org>
+
+ * Makefile: Install manual pages under $(prefix)/share/man by
+ default, instead of $(prefix)/man, so as to comply with the FHS.
+
+2005-03-08 Jean Delvare <khali@linux-fr.org>
+
+ * vpddecode.c: Update lookup table from revision 2005-03-08 of IBM
+ reference document (add product ID "1V", update product ID "1R").
+ Thanks to Ingo van Lil for reporting about product ID "1V".
+
+2005-03-06 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.c: Add option -u, --dump. It disables decoding of the
+ entries, raw dumps are displayed instead. This option is mainly
+ intended for debugging.
+ * Makefile: Use -Winline.
+ * dmidecode.c: Make ASCII filtering of strings faster.
+
+2005-02-28 Jean Delvare <khali@linux-fr.org>
+
+ * version.h: Set version to 2.6.
+ * Makefile: ownership.o depends on version.h.
+
+2005-02-24 Jean Delvare <khali@linux-fr.org>
+
+ * vpddecode.c: Add product ID "2C". Reported by Tomek Mateja.
+
+2005-02-17 Jean Delvare <khali@linux-fr.org>
+
+ * vpddecode.c: Add product IDs "OP" and "PN". Reported by Scott
+ Denham.
+ * vpddecode.c: Fix typo in one product name (560E improperly
+ spelled 650E).
+ * vpddecode.c: Add product IDs "IW" and "IY", as added recently
+ on IBM's reference web page. Update reference.
+ * config.h: Use mmap on all but BeOS, instead of only Linux.
+
+2005-02-12 Jean Delvare <khali@linux-fr.org>
+
+ * util.c: Fix incorrect length in munmap call.
+ * Makefile: Use -Wmissing-prototypes.
+ * dmidecode.c: Fix maximum battery error value.
+
+2005-02-11 Jean Delvare <khali@linux-fr.org>
+
+ * Makefile: Discard -pedantic, we don't really need this.
+ * util.c: Display an error message on memory shortage. Suggested
+ by Don Howard.
+
+ Fix a bug causing dmidecode to crash on some systems with more than
+ 2 GB of memory. This is a signed vs unsigned issue, which existed
+ up to version 2.2, was fixed in 2.3 but reintroduced in a different
+ form in 2.5 as part of a code clean up and refactoring.
+ https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=112355
+ Thanks to Petter Reinholdtsen for reporting. Thanks to Don Howard
+ for additional insight.
+
+ * dmidecode.c, util.c, util.h: Use size_t instead of off_t when
+ handling memory addresses.
+
+2005-02-10 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.c: Add option -h, --help, display a usage summary.
+ * biosdecode.c, ownership.c, vpddecode.c: Copy command-line handling
+ from dmidecode.c.
+ * biosdecode.8, dmidecode.8, ownership.8, vpddecode.8: Document
+ the new command-line interface.
+
+2005-02-06 Jean Delvare <khali@linux-fr.org>
+
+ * Makefile: Everything depends on config.h.
+ * dmidecode.c: Add basic command-line handling. This was suggested
+ a long time ago by Erwan Velu.
+
+2005-02-01 Jean Delvare <khali@linux-fr.org>
+
+ * vpddecode.c: Add product IDs "AP", "KP" and "RD". Reported by
+ David Rosala.
+
+2005-01-17 Jean Delvare <khali@linux-fr.org>
+
+ * README: Add a note about Cygwin. Thanks to Dominik Klein for
+ reporting success.
+
+2004-12-10 Jean Delvare <khali@linux-fr.org>
+
+ Increase portability and configurability to in order to support BeOS.
+
+ * config.h: New.
+ * config.h: Define a default memory device.
+ * biosdecode.c, dmidecode.c, ownership.c, vpddecide.c: Include
+ config.h and use the defined default memory device.
+ * Makefile, config.h, util.c, README: Move USE_MMAP to config.h,
+ use mmap on Linux only.
+
+2004-11-22 Jean Delvare <khali@linux-fr.org>
+
+ * biosdecode.c: Avoid size_t in printf. Should remove a warning on
+ ia64. Thanks to Petter Reinholdtsen for reporting.
+ * util.c: Use sysconf(_SC_PAGESIZE) instead of getpagesize() where
+ available. This may remove a warning on ia64 as a side effect.
+ Thanks to Petter Reinholdtsen for reporting.
+
+2004-11-21 Jean Delvare <khali@linux-fr.org>
+
+ * util.c, util.h: Function myread has no more user outside of util.c.
+ * biosdecode.c: Speed improvements.
+
+2004-11-20 Jean Delvare <khali@linux-fr.org>
+
+ * biosdecode.c, ownership.c, vpddecode.c: Make use of the mem_chunk
+ function.
+ * vpddecode.c: Simplify the memory loop code a bit.
+
+2004-11-12 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.c: Hide bank connection type for non-installed memory
+ modules.
+ * dmidecode.c: Reference comment fix.
+ * dmidecode.c: Hide watchdog timer details when no watchdog is
+ present. Change label for no watchdog.
+ * README: Match case change for PREFIX (now prefix) in the Makefile
+ file. Reported by Raul Nunez de Arenas Coronado.
+
+2004-11-12 Jean Delvare <khali@linux-fr.org>
+
+ Update to support DMTF Master MIF version 040707 (was 030621).
+
+ * dmidecode.c: One additional processor type (Sempron).
+ * dmidecode.c: One additional processor type (Efficeon TM8800).
+ * dmidecode.c: One additional processor upgrade type (Socket 939).
+ * dmidecode.c: Add the AMD Sempron to the list of x86-class
+ processors.
+
+ Update to support Intel AP-485 (CPUID) revision 27 (was 25).
+
+ * dmidecode.c: Rename SBF flag to PBE.
+
+2004-11-11 Jean Delvare <khali@linux-fr.org>
+
+ * util.c: More helpful error messages.
+ * util.c: Use MAP_SHARED instead of MAP_PRIVATE in mmap.
+ * version.h: Set version to 2.5.
+
+2004-11-10 Jean Delvare <khali@linux-fr.org>
+
+ * README: Update dmidecode presentation (copied from the web page).
+ Move the list of supported systems from the documentation section
+ to the installation section.
+
+2004-11-09 Jean Delvare <khali@linux-fr.org>
+
+ * vpddecode.c: Update product ID "1R". Reported by Marco Wertejuk.
+
+2004-10-24 Jean Delvare <khali@linux-fr.org>
+
+ * util.c: Workaround missing MAP_FAILED definition, needed on
+ old systems. Original patch from Durval Menezes.
+
+2004-10-14 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.c: Search for EFI systab at /sys/firmware/efi/systab.
+ Original patch from Alex Williamson.
+ * dmidecode.c: Remove warning about legacy_decode not being used
+ when USE_EFI is defined.
+ * dmidecode.c: Detect missing SMBIOS entry point in efi/systab.
+ * dmidecode.c: Fix fatal typo in USE_EFI-specific code.
+
+2004-10-01 Roberto Nibali <ratz@tac.ch>
+
+ * Makefile: Be LDFLAGS aware.
+
+2004-07-24 Jean Delvare <khali@linux-fr.org>
+
+ * util.c: Add missing header include.
+
+2004-06-11 Jean Delvare <khali@linux-fr.org>
+
+ * vpddecode.c: Add product IDs "GE" and "T2". Reported by Doug Brenner.
+
+2004-05-02 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.c: Move legacy DMI entry point decoding to a separate
+ function.
+ * dmidecode.c: Use a 64 kB buffer for searching entry points,
+ instead of repeated 16-byte reads.
+ * util.c, util.h: New mem_chunk function. It returns a buffer
+ containing a copy of a given chunk of the physical memory.
+ * dmidecode.c: Make use of the new mem_chunk function.
+
+2004-04-30 Jean Delvare <khali@linux-fr.org>
+
+ * vpddecode.c: Add product ID "JP". Reported by Bernd Krumboeck.
+
+2004-04-22 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.c, biosdecode.c, ownership.c, types.h: Move common
+ WORD-like macros to types.h.
+
+2004-04-21 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.c, biosdecode.c: Fix my contact information.
+ * dmidecode.c: Update copyright year.
+
+2004-04-20 Jean Delvare <khali@linux-fr.org>
+
+ * README: Correct Chad Smith's name. Reported by Martin Pool.
+
+2004-04-15 Jean Delvare <khali@linux-fr.org>
+
+ * vpddecode.c: Add product ID "PL". Reported by Mark Syms.
+
+2004-04-14 Jean Delvare <khali@linux-fr.org>
+
+ * vpddecode.c: Add product ID "PD". Reported by Roger Koot.
+
+2004-04-11 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.c, Makefile, README: Drop TABLE_LITTLEENDIAN.
+ * README: Update manual pages information.
+
+2004-04-02 Jean Delvare <khali@linux-fr.org>
+
+ * vpddecode.c: Add product ID "NV". Reported by Shawn Starr.
+
+2004-03-27 Jean Delvare <khali@linux-fr.org>
+
+ * vpddecode.c: Add product ID "24". Reported by Paul Sturm.
+ * dmidecode.c: Fix two missing comas in string enumerations. Thanks to
+ Joshua Goldenhar for reporting the first one.
+
+2004-03-24 Jean Delvare <khali@linux-fr.org>
+
+ * vpddecode.c: Add product ID "PJ". Reported by Roger Koot.
+ * vpddecode.c: Rename two Netvista systems to use their real name
+ instead of machine type.
+
+2004-03-20 Petter Reinholdtsen <pere@hungry.com>
+
+ * Makefile: Make it easier to select where to install the binaries
+ and manual pages, and to use different paths when building and
+ installing.
+
+2004-03-19 Jean Delvare <khali@linux-fr.org>
+
+ * vpddecode.c: Add product ID "2A". Reported by Rafael Avila
+ de Espindola.
+ * version.h: Set version to 2.4.
+
+2004-03-07 Jean Delvare <khali@linux-fr.org>
+
+ * biosdecode.c, vpddecode.c: Add a third checksumming method for
+ VPD records.
+ * vpddecode.c: Add product ID "PI", update "20". Reported by
+ Zing Zing Shishak.
+
+2004-03-05 Jean Delvare <khali@linux-fr.org>
+
+ * README: Update.
+
+2004-02-25 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.c: Support CPUID document revision 25 (no change).
+ * dmidecode.c: Shorten the EOF error message.
+
+2004-02-23 Jean Delvare <khali@linux-fr.org>
+
+ * man/biosdecode.8, man/dmidecode.8, man/ownership.8,
+ man/vpddecode.8: New.
+ * Makefile: Handle new manual pages.
+
+2003-12-28 Jean Delvare <khali@linux-fr.org>
+
+ * vpddecode.c: Add product ID "PT". Reported by Ramiro Barreiro.
+
+2003-12-17 Jean Delvare <khali@linux-fr.org>
+
+ * vpddecode.c: Add product ID "RE". Reported by Josef Moellers.
+ * vpddecode.c, biosdecode.c: Handle longer VPD records as seen on
+ xSeries. These have a different checksumming method.
+
+2003-12-03 Jean Delvare <khali@linux-fr.org>
+
+ * vpddecode.c: Add product ID "TT". Reported by Hugues Lepesant.
+ * vpddecode.c, biosdecode.c: Fix typo ("Bios" becomes "BIOS").
+ * dmidecode.c: Add another exception to the CPUID-supporting CPU list
+ ("Pentium III MMX").
+ * dmidecode.c: Number devices in multi-device on board device
+ information structures (DMI case 10).
+
+2003-11-13 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.c: Automatically detect architectures on which to use EFI
+ (ia64 for now). Suggested by Jeff Moyer.
+
+2003-11-11 Jean Delvare <khali@linux-fr.org>
+
+ * vpddecode.c: Add product ID "KX". Reported by Klaus Ade Johnstad,
+ confirmed by Pamela Huntley.
+ * dmidecode.c: Display CPUID values as decimal, not hexadecimal.
+ This is a reversal of the 2003-07-18 change to be consistent with
+ /proc/cpuinfo under Linux.
+ * dmidecode.c: Fix processor ID decoding for older 80486. Not very
+ important since such systems are unlikely to support SMBIOS.
+ * dmidecode.c: Modify CPU signature display for AMD processors.
+ * vpddecode.c, biosdecode.c: Fix incorrect VPD checksumming.
+
+2003-10-24 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.c: Add another exception to the CPUID-supporting CPU list.
+
+2003-10-19 Jean Delvare <khali@linux-fr.org>
+
+ * README: Clarify why mmap is used. Fix typo.
+ * Makefile: Add deleting core to the clean target.
+ * version.h: Set version to 2.3.
+
+2003-10-17 Jean Delvare <khali@linux-fr.org>
+
+ * biosdecode.c: Use (void) instead of __attribute__ ((unused)) to
+ declare that a function parameter isn't used. According to Alexandre
+ Duret-Lutz, this is the portable way do to it. Fix typo in comment.
+ * dmidecode.c: Fix typo.
+
+2003-10-16 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.c: Remove useless comparison in dmi_system_boot_status.
+ Thanks to Alexandre Duret-Lutz for pointing this out.
+ * biosdecode.c: Add a missing length check in acpi_decode. Found
+ using Valgrind.
+ * biosdecode.c: Fix buffer overrun in main. Found using Valgrind.
+
+2003-10-14 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.c: Update DMTF reference addresses.
+ * dmidecode.c: List two more processors (Athlon64 and Pentium M)
+ as x86-class (i.e. supporting CPUID).
+
+2003-10-11 Jean Delvare <khali@linux-fr.org>
+
+ Update to support DMTF Master MIF version 030621 (was 021205).
+
+ * dmidecode.c: Handle unknown processor voltage.
+ * dmidecode.c: Fix typo in event log method.
+ * dmidecode.c: One additional processor type (Pentium M).
+ * dmidecode.c: Add the AMD Opteron to the list of x86-class
+ processors. Thanks to Mike Cooper for providing information.
+ * vpddecode.c: New program for decoding a machine's VPD structure
+ (only found in IBM machines).
+ * Makefile: Update accordingly.
+ * Makefile: Fix dependencies for ownership. Add strip target. Various
+ cleanups (reordering, comments, optimization and debug flags).
+ * README: Update to reflect the addition of the strip target and the
+ vpddecode program. Some additional changes and fixes.
+
+2003-10-10 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.c: Change mmap options to prevent dmidecode from being
+ killed by the Linux kernel in some rare cases. Reported by
+ Mike Cooper.
+ * dmidecode.c: Various code cleanups and optimizations.
+
+2003-10-09 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.c: Fix a bug that prevented dmidecode to reach DMI tables
+ beyond the 2GB memory limit. Reported by Mike Cooper.
+ * ownership.c: Add one reference. Code cleanups.
+ * CHANGELOG: Fix typo.
+
+2003-10-08 Jean Delvare <khali@linux-fr.org>
+
+ * biosdecode.c: Fix potentially wrong checksum on Sony-specific entry.
+ * biosdecode.c: Unimportant changes (comment, typo...) in
+ Compaq-specific section.
+ * biosdecode.c: Add support for VPD (vital product data, IBM-specific).
+ * CHANGELOG: Various updates.
+
+2003-10-07 Jean Delvare <khali@linux-fr.org>
+
+ * ownership.c: Fix a harmless warning on x86_64. Reported by Mike
+ Cooper.
+
+2003-09-19 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.c: Explicitly say when no SMBIOS nor DMI entry point
+ was found. Implicitly suggested by Sergey Leonovich.
+
+2003-09-11 Jean Delvare <khali@linux-fr.org>
+
+ * Makefile: Don't use $^ since it isn't supported by BSD make.
+ Reported by Hugues Lepesant.
+
+2003-09-05 Jean Delvare <khali@linux-fr.org>
+
+ * Makefile: Fix missing ownership dependency for install target.
+ Reported by Mario Lang.
+
+2003-08-08 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.c: Update the README file (mainly the now solved laptop
+ and IA-64 issues, and add a section for biosdecode and ownership).
+ * version.h: Set version to 2.2.
+
+2003-07-18 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.c: Display CPUID values as hexadecimal, not decimal.
+ * dmidecode.c: Shift the I2C slave address by one bit to the right
+ (DMI case 38).
+
+2003-06-27 Jean Delvare <khali@linux-fr.org>
+
+ * biosdecode.c: Better display of Compaq-specific entries (thank to
+ some documentation).
+
+2003-06-25 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.c: Remove fp_last (not useful anymore). Reworded the "table
+ is unreachable" message to mention the -DUSE_MMAP solution.
+
+2003-06-19 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.c: Add support for IA-64.
+ * Makefile: Add new option CFLAGS modifier lines for IA-64.
+
+2003-06-17 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.c, biosdecode.c: Move common "util" functions to util.c.
+ * util.c, util.h: New.
+ * types.h: New.
+ * Makefile: Update accordingly.
+ * biosdecode.c: Add detection of Compaq-specific entries.
+ * ownership.c: New program for finding a machine's ownership tag
+ (only found in Compaq machines). Requested by Luc Van de Velde.
+ * Makefile: Update again.
+
+2003-06-10 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.c: Fix typo in IPMI register spacing table.
+ * version.h: Set version to 2.1.
+
+2003-06-04 Jean Delvare <khali@linux-fr.org>
+
+ * Makefile: Restore optional CFLAGS modifier lines.
+ * README: New.
+
+2003-05-30 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.c: Cleaner handling of unreachable table.
+
+2003-05-27 Jean Delvare <khali@linux-fr.org>
+
+ Update to support Intel AP-485 specification (CPUID) revision 023
+ (was 021).
+
+ * dmidecode.c: Add SBF flag to processor ID (DMI case 4). Add comment
+ about new flags returned in ECX.
+
+2003-05-26 Jean Delvare <khali@linux-fr.org>
+
+ Update to support SMBIOS specification version 2.3.4 (was 2.3.3).
+
+ * dmidecode.c: Add processor and processor upgrade names (DMI case 4).
+ * dmidecode.c: Add slot names (DMI case 9).
+
+2003-05-22 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.c: Fix typo reported by David Wilson (DMI case 6).
+
+2003-03-08 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.c: Decode more fields according to the IPMI specification
+ (DMI case 38).
+
+2003-03-07 Jean Delvare <khali@linux-fr.org>
+
+ Fixed IPMI device information (DMI case 38). Thanks to Richard Sharpe
+ for pointing the bugs out.
+
+ * dmidecode.c: Fix IPMI interface type being shifted by one.
+ * dmidecode.c: Fix NV storage device being improperly displayed.
+ * dmidecode.c: Reword IPMI specification revision into specification
+ version, as suggested in the IPMI specification itself.
+ * dmidecode.c: Add a reference to the IPMI specification.
+ * dmidecode.c: Show I2C address as hexadecimal.
+ * dmidecode.c: Base address is a QWORD, not DWORD.
+ * dmidecode.c: Decode some extra fields according to the IPMI
+ specification.
+
+2003-03-06 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.c, biosdecode.c: Move all changelog entries to CHANGELOG.
+ * CHANGELOG: New. Format inspired by Heroes' ChangeLog file.
+ * dmidecode.c, biosdecode.c, Makefile: Update copyright years.
+ * dmidecode.c, biosdecode.c, Makefile: Move version definition to
+ version.h. Update dependencies accordingly.
+ * version.h: New.
+
+2002-10-21 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.c: Change supported log type descriptors display.
+ * dmidecode.c: Code optimization in event log status.
+ * dmidecode.c: Remove extra newline in voltage probe accuracy.
+ * dmidecode.c: Display "OEM-specific" if type is 128 or more.
+ * dmidecode.c: Do not display Strings on dump if there are no strings.
+ * dmidecode.c: Add ASCII-filtering to dmi_string.
+ * dmidecode.c: Convert all dates to ISO 8601.
+
+2002-10-18 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.c: Complete rewrite.
+ * dmidecode.c: Now complies with SMBIOS specification 2.3.3.
+ * dmidecode.c: Move all non-DMI stuff to biosdecode.c.
+ * biosdecode.c: New.
+
+2002-10-15 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.c: Fix bad index in DMI case 27 (cooling device).
+
+2002-10-14 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.c: Fix typo in dmi_memory_array_location.
+ * dmidecode.c: Replace Kbyte by kB in DMI case 16.
+ * dmidecode.c: Add DDR entry in dmi_memory_device_type.
+ * dmidecode.c: Fix extra s in SYSID.
+
+2002-10-12 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.c: Fix maximum cache size and installed size being
+ inverted.
+ * dmidecode.c: Fix typos in port types.
+
+2002-10-10 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.c: Remove extra semicolon at the end of
+ dmi_memory_array_use.
+ * dmidecode.c: Fix compilation warnings.
+ * dmidecode.c: Add missing backslash in DMI case 37.
+ * dmidecode.c: Fix BIOS ROM size (DMI case 0).
+
+2002-10-05 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.c: More ACPI decoded.
+ * dmidecode.c: More PNP decoded.
+ * dmidecode.c: More SYSID decoded.
+ * dmidecode.c: PCI Interrupt Routing decoded.
+ * dmidecode.c: BIOS32 Service Directory decoded.
+ * dmidecode.c: Sony system detection (unconfirmed).
+ * dmidecode.c: Checksums verified whenever possible.
+ * dmidecode.c: Better checks on file read and close.
+ * dmidecode.c: Define VERSION and display version at beginning.
+ * dmidecode.c: More secure decoding (won't run off the table in any
+ case).
+ * dmidecode.c: Do not try to decode more structures than announced.
+ * dmidecode.c: Fix an off-by-one error that caused the last address
+ being scanned to be 0x100000, not 0xFFFF0 as it should.
+
+2002-09-28 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.c: Fix missing coma in dmi_bus_name.
+ * dmidecode.c: Remove unwanted bitmaskings in dmi_mgmt_dev_type,
+ dmi_mgmt_addr_type, dmi_fan_type, dmi_volt_loc, dmi_temp_loc and
+ dmi_status.
+ * dmidecode.c: Fix DMI table read bug ("dmi: read: Success").
+ * dmidecode.c: Make the code pass -W again.
+ * dmidecode.c: Fix return value of dmi_card_size.
+
+2002-09-20 Dave Johnson <ddj@cascv.brown.edu>
+
+ * dmidecode.c: Fix comparisons in dmi_bus_name.
+ * dmidecode.c: Fix comparison in dmi_processor_type.
+ * dmidecode.c: Fix bitmasking in dmi_onboard_type.
+ * dmidecode.c: Fix return value of dmi_temp_loc.
+
+2002-09-17 Larry Lile <llile@dreamworks.com>
+
+ * dmidecode.c: Type 16 & 17 structures displayed per SMBIOS 2.3.1 spec.
+
+2002-08-23 Alan Cox <alan@redhat.com>
+
+ * dmidecode.c: Make the code pass -Wall -pedantic by fixing a few
+ harmless sign of pointer mismatches.
+ * dmidecode.c: Correct main() prototype.
+ * dmidecode.c: Check for compilers with wrong type sizes.
+
+2002-08-09 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.c: Better DMI struct count/size error display.
+ * dmidecode.c: More careful memory access in dmi_table.
+ * dmidecode.c: DMI case 13 (Language) decoded.
+ * dmidecode.c: C++ style comments removed. Commented out code removed.
+ * dmidecode.c: DMI 0.0 case handled.
+ * dmideocde.c: Fix return value of dmi_port_type and
+ dmi_port_connector_type.
+
+2002-08-06 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.c: Reposition file pointer after DMI table display.
+ * dmidecode.c: Disable first RSD PTR checksum (was not correct anyway).
+ * dmidecode.c: Show actual DMI struct count and occupied size.
+ * dmidecode.c: Check for NULL after malloc.
+ * dmidecode.c: Use SEEK_* constants instead of numeric values.
+ * dmidecode.c: Code optimization (and warning fix) in DMI cases 10 and
+ 14.
+ * dmidecode.c: Add else's to avoid unneeded cascaded if's in main loop.
+ * dmidecode.c: Code optimization in DMI information display.
+ * dmidecode.c: Fix all compilation warnings.
+
+2002-08-03 Mark D. Studebaker <mds@paradyne.com>
+
+ * dmidecode.c: Better indent in dump_raw_data.
+ * dmidecode.c: Fix return value of dmi_bus_name.
+ * dmidecode.c: Additional sensor fields decoded.
+ * dmidecode.c: Fix compilation warnings.
+
+2001-12-13 Arjan van de Ven <arjanv@redhat.com>
+
+ * dmidecode.c: Fix memory bank type (DMI case 6).
+
+2001-07-02 Matt Domsch <Matt_Domsch@dell.com>
+
+ * dmidecode.c: Additional structures displayed per SMBIOS 2.3.1 spec.
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..5b6e7c6
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,340 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) year name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ <signature of Ty Coon>, 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Library General
+Public License instead of this License.
diff --git a/README b/README
new file mode 100644
index 0000000..391a5cb
--- /dev/null
+++ b/README
@@ -0,0 +1,116 @@
+** INTRODUCTION **
+
+Dmidecode reports information about your system's hardware as described in
+your system BIOS according to the SMBIOS/DMI standard. This information
+typically includes system manufacturer, model name, serial number, BIOS
+version, asset tag as well as a lot of other details of varying level of
+interest and reliability depending on the manufacturer. This will often
+include usage status for the CPU sockets, expansion slots (e.g. AGP, PCI,
+ISA) and memory module slots, and the list of I/O ports (e.g. serial,
+parallel, USB).
+
+DMI data can be used to enable or disable specific portions of kernel code
+depending on the specific hardware. Thus, one use of dmidecode is for kernel
+developers to detect system "signatures" and add them to the kernel source
+code when needed.
+
+Beware that DMI data have proven to be too unreliable to be blindly trusted.
+Dmidecode does not scan your hardware, it only reports what the BIOS told it
+to.
+
+
+** INSTALLATION **
+
+The home web page for dmidecode is hosted on Savannah:
+ http://www.nongnu.org/dmidecode/
+You will find the latest version (including CVS) there, as well as fresh news
+and other interesting material, such as a list of related projects and
+articles.
+
+This program was first written for Linux, and has since been reported to work
+on FreeBSD, NetBSD, OpenBSD, BeOS, Cygwin and Solaris as well.
+
+There's no configure script, so simply run "make" to build dmidecode, and
+"make install" to install it. You also can use "make uninstall" to remove
+all the files you installed. By default, files are installed in /usr/local
+but you can change this behavior by editing the Makefile file and setting
+prefix to wherever you want. You may change the C compiler and the
+compilation flags as well.
+
+Optionally, you can run "make strip" prior to "make install" if you want
+smaller binaries. However, be aware that this will prevent any further
+attempt to debug the programs.
+
+Two parameters can be set in the Makefile file to make dmidecode work on
+non-i386 systems. They should be used if your system uses the big endian
+byte ordering (Motorola) or doesn't support unaligned memory accesses,
+respectively. For example, compiling for a SPARC processor would require
+both (but I am not aware of SPARC-based systems implementing SMBIOS).
+Compiling for an IA64 processor requires the memory alignment workaround,
+and it is enabled automatically.
+
+
+** DOCUMENTATION **
+
+Each tool has a manual page, found in the "man" subdirectory. Manual pages
+are installed by "make install". See these manual pages for command line
+interface details and tool specific information.
+
+For an history of the changes made to dmidecode, see the CHANGELOG file.
+
+If you need help, your best chances are to visit the web page (see the
+INSTALLATION section above) or to get in touch with the developers directly.
+Have a look at the AUTHORS file and contact one of the maintainers.
+
+If you want to help with the development of dmidecode, please consider
+joining the dmidecode-devel discussion list:
+ http://lists.nongnu.org/mailman/listinfo/dmidecode-devel
+
+
+** COMMON PROBLEMS **
+
+IA-64
+
+Non-Linux systems are not yet supported.
+
+MMAP
+
+Note that mmap() is now used by default wherever possible, since this seems
+to solve a number of problems. This default behavior can be changed in
+config.h. Just to make sure this is clear, mmap() is not used for performance
+reasons but to increase the number of systems on which dmidecode can be
+successfully run.
+
+CYGWIN
+
+Dmidecode was reported to work under Cygwin. It seems that /dev/mem doesn't
+work properly before version 1.5.10 though, so you will need to use at least
+this version.
+
+
+** MISCELLANEOUS TOOLS **
+
+Three other tools come along with dmidecode: biosdecode, ownership and
+vpddecode. These tools are only useful on systems with a BIOS, so they
+are not built on IA-64 by default.
+
+BIOSDECODE
+
+This one prints all BIOS related information it can find in /dev/mem.
+It used to be part of dmidecode itself, but as dmidecode was growing,
+we felt that the non-DMI part had to be moved to a separate tool.
+
+OWNERSHIP
+
+This tool was written on a request by Luc Van de Velde for use with Novell
+tools in his company. It retrieves the "ownership tag" that can be set on
+most Compaq computers. Since it uses the same mechanisms dmidecode and
+biosdecode use, and could be of some use for other people as well, we
+decided to make it part of the project.
+
+VPDDECODE
+
+This tool prints the contents of the "vital product data" structure as
+found in most IBM and Lenovo computers. It used to have a lookup table
+for the machine name, but it was unreliable and hard to maintain so it
+was ultimately dropped. It has a command line interface.
diff --git a/packaging/dmidecode-2.11-chassis_fix.patch b/packaging/dmidecode-2.11-chassis_fix.patch
new file mode 100644
index 0000000..f6a1063
--- /dev/null
+++ b/packaging/dmidecode-2.11-chassis_fix.patch
@@ -0,0 +1,42 @@
+diff -up dmidecode-2.11/AUTHORS.chassis_fix dmidecode-2.11/AUTHORS
+--- dmidecode-2.11/AUTHORS.chassis_fix 2010-11-24 10:29:09.000000000 +0100
++++ dmidecode-2.11/AUTHORS 2011-11-14 14:56:08.000000000 +0100
+@@ -81,3 +81,5 @@ Murlin Wenzel
+ Harald Mueller-Ney
+ Lars Mueller
+ Thomas Mingarelli
++Andrey Matveyev
++Stefan Tauner
+diff -up dmidecode-2.11/CHANGELOG.chassis_fix dmidecode-2.11/CHANGELOG
+--- dmidecode-2.11/CHANGELOG.chassis_fix 2011-11-14 14:56:39.804855909 +0100
++++ dmidecode-2.11/CHANGELOG 2011-11-14 14:56:15.000000000 +0100
+@@ -1,3 +1,8 @@
++2011-11-14 Anton Arapov <anton@redhat.com>
++
++ * dmidecode.c: Make dmi_chassis_type aware of the lock bit.
++ Patch from Stefan Tauner.
++
+ 2011-04-20 Jean Delvare <khali@linux-fr.org>
+
+ Update to support SMBIOS specification version 2.7.1.
+diff -up dmidecode-2.11/dmidecode.c.chassis_fix dmidecode-2.11/dmidecode.c
+--- dmidecode-2.11/dmidecode.c.chassis_fix 2011-11-14 14:56:39.805855910 +0100
++++ dmidecode-2.11/dmidecode.c 2011-11-14 14:55:12.000000000 +0100
+@@ -532,6 +532,8 @@ static const char *dmi_chassis_type(u8 c
+ "Blade Enclosing" /* 0x1D */
+ };
+
++ code &= 0x7F; /* bits 6:0 are chassis type, 7th bit is the lock bit */
++
+ if (code >= 0x01 && code <= 0x1D)
+ return type[code - 0x01];
+ return out_of_spec;
+@@ -3237,7 +3239,7 @@ static void dmi_decode(const struct dmi_
+ printf("\tManufacturer: %s\n",
+ dmi_string(h, data[0x04]));
+ printf("\tType: %s\n",
+- dmi_chassis_type(data[0x05] & 0x7F));
++ dmi_chassis_type(data[0x05]));
+ printf("\tLock: %s\n",
+ dmi_chassis_lock(data[0x05] >> 7));
+ printf("\tVersion: %s\n",
diff --git a/packaging/dmidecode-2.11-dmidecode_fix.patch b/packaging/dmidecode-2.11-dmidecode_fix.patch
new file mode 100644
index 0000000..163f9c9
--- /dev/null
+++ b/packaging/dmidecode-2.11-dmidecode_fix.patch
@@ -0,0 +1,24 @@
+diff -up dmidecode-2.11/CHANGELOG.dmidecode_fix dmidecode-2.11/CHANGELOG
+--- dmidecode-2.11/CHANGELOG.dmidecode_fix 2012-03-12 10:25:01.980020072 +0100
++++ dmidecode-2.11/CHANGELOG 2012-03-12 10:25:20.123020332 +0100
+@@ -1,3 +1,8 @@
++2011-11-18 Jean Delvare <khali@linux-fr.org>
++
++ * dmidecode.c: Properly print the hexadecimal value of invalid
++ string characters.
++
+ 2011-11-14 Anton Arapov <anton@redhat.com>
+
+ * dmidecode.c: Make dmi_chassis_type aware of the lock bit.
+diff -up dmidecode-2.11/dmidecode.c.dmidecode_fix dmidecode-2.11/dmidecode.c
+--- dmidecode-2.11/dmidecode.c.dmidecode_fix 2012-03-12 10:25:11.261020199 +0100
++++ dmidecode-2.11/dmidecode.c 2012-03-12 10:25:20.124020332 +0100
+@@ -197,7 +197,7 @@ static void dmi_dump(const struct dmi_he
+ printf("%s\t", prefix);
+ for (j = 0; j < 16 && j < l - (row << 4); j++)
+ printf("%s%02X", j ? " " : "",
+- s[(row << 4) + j]);
++ (unsigned char)s[(row << 4) + j]);
+ printf("\n");
+ }
+ /* String isn't filtered yet so do it now */
diff --git a/packaging/dmidecode-2.11-dmioem_hp_fix.patch b/packaging/dmidecode-2.11-dmioem_hp_fix.patch
new file mode 100644
index 0000000..afeb490
--- /dev/null
+++ b/packaging/dmidecode-2.11-dmioem_hp_fix.patch
@@ -0,0 +1,32 @@
+diff -up dmidecode-2.11/AUTHORS.dmioem_hp_fix dmidecode-2.11/AUTHORS
+--- dmidecode-2.11/AUTHORS.dmioem_hp_fix 2012-03-12 10:26:58.166021817 +0100
++++ dmidecode-2.11/AUTHORS 2012-03-12 10:27:18.818022115 +0100
+@@ -83,3 +83,4 @@ Lars Mueller
+ Thomas Mingarelli
+ Andrey Matveyev
+ Stefan Tauner
++Naga Chumbalkar
+diff -up dmidecode-2.11/CHANGELOG.dmioem_hp_fix dmidecode-2.11/CHANGELOG
+--- dmidecode-2.11/CHANGELOG.dmioem_hp_fix 2012-03-12 10:27:05.076021906 +0100
++++ dmidecode-2.11/CHANGELOG 2012-03-12 10:27:18.818022115 +0100
+@@ -1,3 +1,8 @@
++2012-03-12 Anton Arapov <anton@redhat.com>
++
++ * dmioem.c: Add "PXE" to the HP OEM Type 209 output so it is similar to
++ the "iSCSI" description in HP OEM Type 221. Patch from Naga Chumbalkar.
++
+ 2011-11-18 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.c: Properly print the hexadecimal value of invalid
+diff -up dmidecode-2.11/dmioem.c.dmioem_hp_fix dmidecode-2.11/dmioem.c
+--- dmidecode-2.11/dmioem.c.dmioem_hp_fix 2012-03-12 10:27:13.108022027 +0100
++++ dmidecode-2.11/dmioem.c 2012-03-12 10:27:18.819022112 +0100
+@@ -83,7 +83,7 @@ static int dmi_decode_hp(const struct dm
+ */
+ printf(h->type == 221 ?
+ "HP BIOS iSCSI NIC PCI and MAC Information\n" :
+- "HP BIOS NIC PCI and MAC Information\n");
++ "HP BIOS PXE NIC PCI and MAC Information\n");
+ nic = 1;
+ ptr = 4;
+ while (h->length >= ptr + 8)
diff --git a/packaging/dmidecode-2.11-manpage_update.patch b/packaging/dmidecode-2.11-manpage_update.patch
new file mode 100644
index 0000000..42ed2ec
--- /dev/null
+++ b/packaging/dmidecode-2.11-manpage_update.patch
@@ -0,0 +1,55 @@
+diff -up dmidecode-2.11/CHANGELOG.manpage_update dmidecode-2.11/CHANGELOG
+--- dmidecode-2.11/CHANGELOG.manpage_update 2012-03-26 12:55:08.415579519 +0200
++++ dmidecode-2.11/CHANGELOG 2012-03-26 12:56:48.657586111 +0200
+@@ -1,3 +1,9 @@
++2012-03-26 Anton Arapov <anton@redhat.com>
++
++ * man/dmidecode.8: Add missing DMI type introduced with SMBIOS 2.7+, and
++ include the information about the extra output when dmidecode is run
++ on a hardware that has non-supported SMBIOS version.
++
+ 2012-03-12 Anton Arapov <anton@redhat.com>
+
+ * dmioem.c: Add "PXE" to the HP OEM Type 209 output so it is similar to
+diff -up dmidecode-2.11/man/dmidecode.8.manpage_update dmidecode-2.11/man/dmidecode.8
+--- dmidecode-2.11/man/dmidecode.8.manpage_update 2012-03-26 12:53:10.185571745 +0200
++++ dmidecode-2.11/man/dmidecode.8 2012-03-26 12:34:54.000000000 +0200
+@@ -1,4 +1,4 @@
+-.TH DMIDECODE 8 "November 2008" "dmidecode"
++.TH DMIDECODE 8 "March 2012" "dmidecode"
+ .SH NAME
+ dmidecode \- \s-1DMI\s0 table decoder
+ .SH SYNOPSIS
+@@ -127,6 +127,13 @@ Display the version and exit
+ .P
+ Options --string, --type and --dump-bin
+ determine the output format and are mutually exclusive.
++.P
++Please note in case of
++.B dmidecode
++is run on a system with BIOS that boasts new SMBIOS specification, which
++is not supported by the tool yet, it will print out relevant message in
++addition to requested data on the very top of the output. Thus informs the
++output data is not reliable.
+
+ .SH "DMI TYPES"
+ The \s-1SMBIOS\s0 specification defines the following \s-1DMI\s0 types:
+@@ -138,7 +145,7 @@ r l.
+ Type Information
+ 0 BIOS
+ 1 System
+-2 Base Board
++2 Baseboard
+ 3 Chassis
+ 4 Processor
+ 5 Memory Controller
+@@ -177,7 +184,8 @@ Type Information
+ 38 IPMI Device
+ 39 Power Supply
+ 40 Additional Information
+-41 Onboard Device
++41 Onboard Devices Extended Information
++42 Management Controller Host Interface
+ .TE
+
+ Additionally, type 126 is used for disabled entries and type 127 is an
diff --git a/packaging/dmidecode-2.11-smbios-271.patch b/packaging/dmidecode-2.11-smbios-271.patch
new file mode 100644
index 0000000..a8d26f4
--- /dev/null
+++ b/packaging/dmidecode-2.11-smbios-271.patch
@@ -0,0 +1,119 @@
+commit 799a9d8b31f10d7d3d4db1365df409221a5ff413
+Author: Anton Arapov <aarapov@redhat.com>
+Date: Tue May 3 14:43:42 2011 +0200
+
+ update to smbios 2.7.1
+---
+ CHANGELOG | 9 +++++++++
+ dmidecode.c | 38 +++++++++++++++++++++++++++++++-------
+ 2 files changed, 40 insertions(+), 7 deletions(-)
+
+diff --git a/CHANGELOG b/CHANGELOG
+index de3d7e8..c10f5f4 100644
+--- a/CHANGELOG
++++ b/CHANGELOG
+@@ -1,3 +1,12 @@
++2011-04-20 Jean Delvare <khali@linux-fr.org>
++
++ Update to support SMBIOS specification version 2.7.1.
++
++ * dmidecode.c: Add 6 AMD processor families (DMI type 4).
++ * dmidecode.c: Add cache associativity value
++ "20-way Set-associative" (DMI type 7).
++ * dmidecode.c: Add PCI Express 3 slot types (DMI type 9).
++
+ 2011-01-25 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.c: Fix boundary checks of memory array location codes
+diff --git a/dmidecode.c b/dmidecode.c
+index 7b081f9..f7b23c1 100644
+--- a/dmidecode.c
++++ b/dmidecode.c
+@@ -707,6 +707,8 @@ static const char *dmi_processor_family(const struct dmi_header *h, u16 ver)
+ { 0x3A, "Athlon II Dual-Core M" },
+ { 0x3B, "Opteron 6100" },
+ { 0x3C, "Opteron 4100" },
++ { 0x3D, "Opteron 6200" },
++ { 0x3E, "Opteron 4200" },
+
+ { 0x40, "MIPS" },
+ { 0x41, "MIPS R4000" },
+@@ -714,6 +716,10 @@ static const char *dmi_processor_family(const struct dmi_header *h, u16 ver)
+ { 0x43, "MIPS R4400" },
+ { 0x44, "MIPS R4600" },
+ { 0x45, "MIPS R10000" },
++ { 0x46, "C-Series" },
++ { 0x47, "E-Series" },
++ { 0x48, "S-Series" },
++ { 0x49, "G-Series" },
+
+ { 0x50, "SPARC" },
+ { 0x51, "SuperSPARC" },
+@@ -997,7 +1003,8 @@ static void dmi_processor_id(u8 type, const u8 *p, const char *version, const ch
+ sig = 1;
+ else if ((type >= 0x18 && type <= 0x1D) /* AMD */
+ || type == 0x1F /* AMD */
+- || (type >= 0x38 && type <= 0x3C) /* AMD */
++ || (type >= 0x38 && type <= 0x3E) /* AMD */
++ || (type >= 0x46 && type <= 0x49) /* AMD */
+ || (type >= 0x83 && type <= 0x8F) /* AMD */
+ || (type >= 0xB6 && type <= 0xB7) /* AMD */
+ || (type >= 0xE6 && type <= 0xEF)) /* AMD */
+@@ -1143,10 +1150,20 @@ static const char *dmi_processor_upgrade(u8 code)
+ "Socket LGA1156",
+ "Socket LGA1567",
+ "Socket PGA988A",
+- "Socket BGA1288" /* 0x20 */
++ "Socket BGA1288",
++ "Socket rPGA988B",
++ "Socket BGA1023",
++ "Socket BGA1024",
++ "Socket BGA1155",
++ "Socket LGA1356",
++ "Socket LGA2011",
++ "Socket FS1",
++ "Socket FS2",
++ "Socket FM1",
++ "Socket FM2" /* 0x2A */
+ };
+
+- if (code >= 0x01 && code <= 0x20)
++ if (code >= 0x01 && code <= 0x2A)
+ return upgrade[code - 0x01];
+ return out_of_spec;
+ }
+@@ -1493,10 +1510,11 @@ static const char *dmi_cache_associativity(u8 code)
+ "24-way Set-associative",
+ "32-way Set-associative",
+ "48-way Set-associative",
+- "64-way Set-associative" /* 0x0D */
++ "64-way Set-associative",
++ "20-way Set-associative" /* 0x0E */
+ };
+
+- if (code >= 0x01 && code <= 0x0D)
++ if (code >= 0x01 && code <= 0x0E)
+ return type[code - 0x01];
+ return out_of_spec;
+ }
+@@ -1660,12 +1678,18 @@ static const char *dmi_slot_type(u8 code)
+ "PCI Express 2 x2",
+ "PCI Express 2 x4",
+ "PCI Express 2 x8",
+- "PCI Express 2 x16", /* 0xB0 */
++ "PCI Express 2 x16",
++ "PCI Express 3",
++ "PCI Express 3 x1",
++ "PCI Express 3 x2",
++ "PCI Express 3 x4",
++ "PCI Express 3 x8",
++ "PCI Express 3 x16" /* 0xB6 */
+ };
+
+ if (code >= 0x01 && code <= 0x13)
+ return type[code - 0x01];
+- if (code >= 0xA0 && code <= 0xB0)
++ if (code >= 0xA0 && code <= 0xB6)
+ return type_0xA0[code - 0xA0];
+ return out_of_spec;
+ }
diff --git a/packaging/dmidecode-2.11-type16-fix.patch b/packaging/dmidecode-2.11-type16-fix.patch
new file mode 100644
index 0000000..04d7fe9
--- /dev/null
+++ b/packaging/dmidecode-2.11-type16-fix.patch
@@ -0,0 +1,30 @@
+ CHANGELOG | 5 +++++
+ dmidecode.c | 2 +-
+ 2 files changed, 6 insertions(+), 1 deletions(-)
+
+diff --git a/CHANGELOG b/CHANGELOG
+index 0545f8a..de3d7e8 100644
+--- a/CHANGELOG
++++ b/CHANGELOG
+@@ -1,3 +1,8 @@
++2011-01-25 Jean Delvare <khali@linux-fr.org>
++
++ * dmidecode.c: Fix boundary checks of memory array location codes
++ (DMI type 16). Reported by Andrey Matveyev.
++
+ 2010-11-24 Jean Delvare <khali@linux-fr.org>
+
+ * dmidecode.c: Assume that the max power capacity is expressed in
+diff --git a/dmidecode.c b/dmidecode.c
+index 5c7ad0e..7b081f9 100644
+--- a/dmidecode.c
++++ b/dmidecode.c
+@@ -2100,7 +2100,7 @@ static const char *dmi_memory_array_location(u8 code)
+
+ if (code >= 0x01 && code <= 0x0A)
+ return location[code - 0x01];
+- if (code >= 0xA0 && code <= 0xA4)
++ if (code >= 0xA0 && code <= 0xA3)
+ return location_0xA0[code - 0xA0];
+ return out_of_spec;
+ }
diff --git a/packaging/dmidecode.spec b/packaging/dmidecode.spec
index 31681e1..e7c98d9 100644
--- a/packaging/dmidecode.spec
+++ b/packaging/dmidecode.spec
@@ -7,6 +7,12 @@ Group: System Environment/Base
License: GPLv2+
Source0: %{name}-%{version}.tar.bz2
URL: http://www.nongnu.org/dmidecode/
+Patch0: dmidecode-2.11-type16-fix.patch
+Patch1: dmidecode-2.11-smbios-271.patch
+Patch2: dmidecode-2.11-chassis_fix.patch
+Patch3: dmidecode-2.11-dmidecode_fix.patch
+Patch4: dmidecode-2.11-dmioem_hp_fix.patch
+Patch5: dmidecode-2.11-manpage_update.patch
Buildroot: %{_tmppath}/%{name}-%{version}-root
BuildRequires: automake autoconf
ExclusiveArch: %{ix86} x86_64 ia64
@@ -24,6 +30,12 @@ I/O ports (e.g. serial, parallel, USB).
%prep
%setup -q
+%patch0 -p1 -b .type16_fix
+%patch1 -p1 -b .smbios271
+%patch2 -p1 -b .chassis_fix
+%patch3 -p1 -b .dmidecode_fix
+%patch4 -p1 -b .dmioem_hp_fix
+%patch5 -p1 -b .manpage_update
%build
make %{?_smp_mflags} CFLAGS="$RPM_OPT_FLAGS"
@@ -37,6 +49,7 @@ rm -rf ${buildroot}
%files
%defattr(-,root,root)
+%doc AUTHORS CHANGELOG LICENSE README
%{_sbindir}/dmidecode
%ifnarch ia64
%{_sbindir}/vpddecode