1. 07 12月, 2013 1 次提交
    • L
      ACPI / IBFT: Fix incorrect <acpi/acpi.h> inclusion in iSCSI boot firmware module · 9d24622c
      Lv Zheng 提交于
      To avoid build problems and breaking dependencies between ACPI header
      files, <acpi/acpi.h> should not be included directly by code outside
      of the ACPI core subsystem, but this is done by the ACPI iSCSI
      Boot Firmware code.
      
      The iBFT specification doesn't mention whether or not it can appear
      on a non-ACPI platform, but is says that ACPI 3.0b defines the
      mechanism.  The current CONFIG_ISCSI_IBFT_FIND code doesn't use the
      ACPI tables API to locate the table, so it doesn't rely on CONFIG_ACPI
      directly.
      
      However, since iBFT is is an ACPI-based mechanism (please refer to
      the documentation link below for more information), it should be
      correct to make CONFIG_ISCSI_IBFT_FIND depend on CONFIG_ACPI (even
      though the table location can be implemented without using ACPI
      tables API).
      
      After that change, include/linux/iscsi_ibft.h can be modified to
      include <linux/acpi.h> instead of <acpi/acpi.h> as appropriate.
      
      References: http://www.microsoft.com/whdc/system/platform/firmware/ibft.mspx
      Cc: Konrad Rzeszutek Wilk <konrad@kernel.org>
      Cc: Peter Jones <pjones@redhat.com>
      Signed-off-by: NLv Zheng <lv.zheng@intel.com>
      [rjw: Subject and changelog]
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      9d24622c
  2. 04 6月, 2013 1 次提交
  3. 17 4月, 2013 1 次提交
    • M
      efivars: Move pstore code into the new EFI directory · 04851772
      Matt Fleming 提交于
      efivars.c has grown far too large and needs to be divided up. Create a
      new directory and move the persistence storage code to efi-pstore.c now
      that it uses the new efivar API. This helps us to greatly reduce the
      size of efivars.c and paves the way for moving other code out of
      efivars.c.
      
      Note that because CONFIG_EFI_VARS can be built as a module efi-pstore
      must also include support for building as a module.
      Reviewed-by: NTom Gundersen <teg@jklm.no>
      Tested-by: NTom Gundersen <teg@jklm.no>
      Cc: Seiji Aguchi <seiji.aguchi@hds.com>
      Cc: Anton Vorontsov <cbouatmailru@gmail.com>
      Cc: Colin Cross <ccross@android.com>
      Cc: Kees Cook <keescook@chromium.org>
      Cc: Matthew Garrett <mjg59@srcf.ucam.org>
      Cc: Tony Luck <tony.luck@intel.com>
      Signed-off-by: NMatt Fleming <matt.fleming@intel.com>
      04851772
  4. 16 4月, 2013 1 次提交
  5. 21 3月, 2013 2 次提交
    • S
      efivars: Add module parameter to disable use as a pstore backend · ec0971ba
      Seth Forshee 提交于
      We know that with some firmware implementations writing too much data to
      UEFI variables can lead to bricking machines. Recent changes attempt to
      address this issue, but for some it may still be prudent to avoid
      writing large amounts of data until the solution has been proven on a
      wide variety of hardware.
      
      Crash dumps or other data from pstore can potentially be a large data
      source. Add a pstore_module parameter to efivars to allow disabling its
      use as a backend for pstore. Also add a config option,
      CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE, to allow setting the default
      value of this paramter to true (i.e. disabled by default).
      Signed-off-by: NSeth Forshee <seth.forshee@canonical.com>
      Cc: Josh Boyer <jwboyer@redhat.com>
      Cc: Matthew Garrett <mjg59@srcf.ucam.org>
      Cc: Seiji Aguchi <seiji.aguchi@hds.com>
      Cc: Tony Luck <tony.luck@intel.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NMatt Fleming <matt.fleming@intel.com>
      ec0971ba
    • S
      efivars: Allow disabling use as a pstore backend · ed9dc8ce
      Seth Forshee 提交于
      Add a new option, CONFIG_EFI_VARS_PSTORE, which can be set to N to
      avoid using efivars as a backend to pstore, as some users may want to
      compile out the code completely.
      
      Set the default to Y to maintain backwards compatability, since this
      feature has always been enabled until now.
      Signed-off-by: NSeth Forshee <seth.forshee@canonical.com>
      Cc: Josh Boyer <jwboyer@redhat.com>
      Cc: Matthew Garrett <mjg59@srcf.ucam.org>
      Cc: Seiji Aguchi <seiji.aguchi@hds.com>
      Cc: Tony Luck <tony.luck@intel.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NMatt Fleming <matt.fleming@intel.com>
      ed9dc8ce
  6. 29 11月, 2011 1 次提交
  7. 30 4月, 2011 1 次提交
    • M
      driver: Google EFI SMI · 74c5b31c
      Mike Waychison 提交于
      The "gsmi" driver bridges userland with firmware specific routines for
      accessing hardware.
      
      Currently, this driver only supports NVRAM and eventlog information.
      Deprecated functions have been removed from the driver, though their
      op-codes are left in place so that they are not re-used.
      
      This driver works by trampolining into the firmware via the smi_command
      outlined in the FADT table.  Three protocols are used due to various
      limitations over time, but all are included herein.
      
      This driver should only ever load on Google boards, identified by either
      a "Google, Inc." board vendor string in DMI, or "GOOGLE" in the OEM
      strings of the FADT ACPI table.  This logic happens in
      gsmi_system_valid().
      Signed-off-by: NDuncan Laurie <dlaurie@google.com>
      Signed-off-by: NAaron Durbin <adurbin@google.com>
      Signed-off-by: NMike Waychison <mikew@google.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      74c5b31c
  8. 23 3月, 2011 1 次提交
  9. 26 2月, 2011 1 次提交
    • M
      firmware: Basic dmi-sysfs support · 948af1f0
      Mike Waychison 提交于
      Introduce a new module "dmi-sysfs" that exports the broken out entries
      of the DMI table through sysfs.
      
      Entries are enumerated via dmi_walk() on module load, and are populated
      as kobjects rooted at /sys/firmware/dmi/entries.
      
      Entries are named "<type>-<instance>", where:
         <type>	: is the type of the entry, and
         <instance>	: is the ordinal count within the DMI table of that
      		  entry type.  This instance is used in lieu the DMI
      		  entry's handle as no assurances are made by the kernel
      		  that handles are unique.
      
      All entries export the following attributes:
         length	: The length of the formatted portion of the entry
         handle	: The handle given to this entry by the firmware
         raw		: The raw bytes of the entire entry, including the
      		  formatted portion, the unformatted (strings) portion,
      		  and the two terminating nul characters.
         type		: The DMI entry type
         instance	: The ordinal instance of this entry given its type.
         position	: The position ordinal of the entry within the table in
      		  its entirety.
      
      Entries in dmi-sysfs are kobject backed members called "struct
      dmi_sysfs_entry" and belong to dmi_kset.  They are threaded through
      entry_list (protected by entry_list_lock) so that we can find them at
      cleanup time.
      Signed-off-by: NMike Waychison <mikew@google.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      948af1f0
  10. 21 1月, 2011 1 次提交
    • D
      kconfig: rename CONFIG_EMBEDDED to CONFIG_EXPERT · 6a108a14
      David Rientjes 提交于
      The meaning of CONFIG_EMBEDDED has long since been obsoleted; the option
      is used to configure any non-standard kernel with a much larger scope than
      only small devices.
      
      This patch renames the option to CONFIG_EXPERT in init/Kconfig and fixes
      references to the option throughout the kernel.  A new CONFIG_EMBEDDED
      option is added that automatically selects CONFIG_EXPERT when enabled and
      can be used in the future to isolate options that should only be
      considered for embedded systems (RISC architectures, SLOB, etc).
      
      Calling the option "EXPERT" more accurately represents its intention: only
      expert users who understand the impact of the configuration changes they
      are making should enable it.
      Reviewed-by: NIngo Molnar <mingo@elte.hu>
      Acked-by: NDavid Woodhouse <david.woodhouse@intel.com>
      Signed-off-by: NDavid Rientjes <rientjes@google.com>
      Cc: Greg KH <gregkh@suse.de>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Jens Axboe <axboe@kernel.dk>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Robin Holt <holt@sgi.com>
      Cc: <linux-arch@vger.kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      6a108a14
  11. 18 10月, 2010 1 次提交
  12. 14 10月, 2010 1 次提交
  13. 12 8月, 2010 1 次提交
    • R
      firmware: ibft depends on SCSI · 4cde7525
      Randy Dunlap 提交于
      Prevent build errors when SCSI is not enabled:
      
      iscsi_ibft.c:(.init.text+0x548d): undefined reference to `iscsi_boot_create_initiator'
      iscsi_ibft.c:(.init.text+0x54a9): undefined reference to `iscsi_boot_create_ethernet'
      iscsi_ibft.c:(.init.text+0x54c5): undefined reference to `iscsi_boot_create_target'
      iscsi_ibft.c:(.init.text+0x55ff): undefined reference to `iscsi_boot_destroy_kset'
      iscsi_ibft.c:(.init.text+0x561e): undefined reference to `iscsi_boot_create_kset'
      iscsi_ibft.c:(.exit.text+0xe2c): undefined reference to `iscsi_boot_destroy_kset'
      Signed-off-by: NRandy Dunlap <randy.dunlap@oracle.com>
      Signed-off-by: NPeter Jones <pjones@redhat.com>
      Signed-off-by: NKonrad Rzeszutek Wilk <konrad@kernel.org>
      4cde7525
  14. 06 8月, 2010 1 次提交
  15. 12 5月, 2010 2 次提交
  16. 16 12月, 2009 1 次提交
  17. 08 7月, 2008 1 次提交
    • B
      sysfs: add /sys/firmware/memmap · 69ac9cd6
      Bernhard Walle 提交于
      This patch adds /sys/firmware/memmap interface that represents the BIOS
      (or Firmware) provided memory map. The tree looks like:
      
          /sys/firmware/memmap/0/start   (hex number)
                                 end     (hex number)
                                 type    (string)
          ...                 /1/start
                                 end
                                 type
      
      With the following shell snippet one can print the memory map in the same form
      the kernel prints itself when booting on x86 (the E820 map).
      
        --------- 8< --------------------------
          #!/bin/sh
          cd /sys/firmware/memmap
          for dir in * ; do
              start=$(cat $dir/start)
              end=$(cat $dir/end)
              type=$(cat $dir/type)
              printf "%016x-%016x (%s)\n" $start $[ $end +1] "$type"
          done
        --------- >8 --------------------------
      
      That patch only provides the needed interface:
      
       1. The sysfs interface.
       2. The structure and enumeration definition.
       3. The function firmware_map_add() and firmware_map_add_early()
          that should be called from architecture code (E820/EFI, for
          example) to add the contents to the interface.
      
      If the kernel is compiled without CONFIG_FIRMWARE_MEMMAP, the interface does
      nothing without cluttering the architecture-specific code with #ifdef's.
      
      The purpose of the new interface is kexec: While /proc/iomem represents
      the *used* memory map (e.g. modified via kernel parameters like 'memmap'
      and 'mem'), the /sys/firmware/memmap tree represents the unmodified memory
      map provided via the firmware. So kexec can:
      
       - use the original memory map for rebooting,
       - use the /proc/iomem for setting up the ELF core headers for kdump
         case that should only represent the memory of the system.
      
      The patch has been tested on i386 and x86_64.
      Signed-off-by: NBernhard Walle <bwalle@suse.de>
      Acked-by: NGreg KH <gregkh@suse.de>
      Acked-by: NVivek Goyal <vgoyal@redhat.com>
      Cc: kexec@lists.infradead.org
      Cc: yhlu.kernel@gmail.com
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      69ac9cd6
  18. 29 4月, 2008 1 次提交
  19. 20 4月, 2008 1 次提交
    • K
      Firmware: add iSCSI iBFT Support · 138fe4e0
      Konrad Rzeszutek 提交于
      Add /sysfs/firmware/ibft/[initiator|targetX|ethernetX] directories along with
      text properties which export the the iSCSI Boot Firmware Table (iBFT)
      structure.
      
      What is iSCSI Boot Firmware Table?  It is a mechanism for the iSCSI tools to
      extract from the machine NICs the iSCSI connection information so that they
      can automagically mount the iSCSI share/target.  Currently the iSCSI
      information is hard-coded in the initrd.  The /sysfs entries are read-only
      one-name-and-value fields.
      
      The usual set of data exposed is:
      
      # for a in `find /sys/firmware/ibft/ -type f -print`; do  echo -n "$a: ";  cat $a; done
      /sys/firmware/ibft/target0/target-name: iqn.2007.com.intel-sbx44:storage-10gb
      /sys/firmware/ibft/target0/nic-assoc: 0
      /sys/firmware/ibft/target0/chap-type: 0
      /sys/firmware/ibft/target0/lun: 00000000
      /sys/firmware/ibft/target0/port: 3260
      /sys/firmware/ibft/target0/ip-addr: 192.168.79.116
      /sys/firmware/ibft/target0/flags: 3
      /sys/firmware/ibft/target0/index: 0
      /sys/firmware/ibft/ethernet0/mac: 00:11:25:9d:8b:01
      /sys/firmware/ibft/ethernet0/vlan: 0
      /sys/firmware/ibft/ethernet0/gateway: 192.168.79.254
      /sys/firmware/ibft/ethernet0/origin: 0
      /sys/firmware/ibft/ethernet0/subnet-mask: 255.255.252.0
      /sys/firmware/ibft/ethernet0/ip-addr: 192.168.77.41
      /sys/firmware/ibft/ethernet0/flags: 7
      /sys/firmware/ibft/ethernet0/index: 0
      /sys/firmware/ibft/initiator/initiator-name: iqn.2007-07.com:konrad.initiator
      /sys/firmware/ibft/initiator/flags: 3
      /sys/firmware/ibft/initiator/index: 0
      
      For full details of the IBFT structure please take a look at:
      ftp://ftp.software.ibm.com/systems/support/system_x_pdf/ibm_iscsi_boot_firmware_table_v1.02.pdf
      
      [akpm@linux-foundation.org: fix build]
      Signed-off-by: NKonrad Rzeszutek <konradr@linux.vnet.ibm.com>
      Cc: Mike Christie <michaelc@cs.wisc.edu>
      Cc: Peter Jones <pjones@redhat.com>
      Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      
      138fe4e0
  20. 12 7月, 2007 1 次提交
    • L
      DMI-based module autoloading · 4f5c791a
      Lennart Poettering 提交于
      The patch below adds DMI/SMBIOS based module autoloading to the Linux
      kernel. The idea is to load laptop drivers automatically (and other
      drivers which cannot be autoloaded otherwise), based on the DMI system
      identification information of the BIOS.
      
      Right now most distros manually try to load all available laptop
      drivers on bootup in the hope that at least one of them loads
      successfully. This patch does away with all that, and uses udev to
      automatically load matching drivers on the right machines.
      
      Basically the patch just exports the DMI information that has been
      parsed by the kernel anyway to userspace via a sysfs device
      /sys/class/dmi/id and makes sure that proper modalias attributes are
      available. Besides adding the "modalias" attribute it also adds
      attributes for a few other DMI fields which might be useful for
      writing udev rules.
      
      This patch is not an attempt to export the entire DMI/SMBIOS data to
      userspace. We already have "dmidecode" which parses the complete DMI
      info from userspace. The purpose of this patch is machine model
      identification and good udev integration.
      
      To take advantage of DMI based module autoloading, a driver should
      export one or more MODULE_ALIAS fields similar to these:
      
      MODULE_ALIAS("dmi:*:svnMICRO-STARINT'LCO.,LTD:pnMS-1013:pvr0131*:cvnMICRO-STARINT'LCO.,LTD:ct10:*");
      MODULE_ALIAS("dmi:*:svnMicro-StarInternational:pnMS-1058:pvr0581:rvnMSI:rnMS-1058:*:ct10:*");
      MODULE_ALIAS("dmi:*:svnMicro-StarInternational:pnMS-1412:*:rvnMSI:rnMS-1412:*:cvnMICRO-STARINT'LCO.,LTD:ct10:*");
      MODULE_ALIAS("dmi:*:svnNOTEBOOK:pnSAM2000:pvr0131*:cvnMICRO-STARINT'LCO.,LTD:ct10:*");
      
      These lines are specific to my msi-laptop.c driver. They are basically
      just a concatenation of a few carefully selected DMI fields with all
      potentially bad characters stripped.
      
      Besides laptop drivers, modules like "hdaps", the i2c modules
      and the hwmon modules are good candidates for "dmi:" MODULE_ALIAS
      lines.
      
      Besides merely exporting the DMI data via sysfs the patch adds
      support for a few more DMI fields. Especially the CHASSIS fields are
      very useful to identify different laptop modules. The patch also adds
      working MODULE_ALIAS lines to my msi-laptop.c driver.
      
      I'd like to thank Kay Sievers for helping me to clean up this patch
      for posting it on lkml.
      
      Patch is against Linus' current GIT HEAD. Should probably apply to
      older kernels as well without modification.
      Signed-off-by: NLennart Poettering <mzxreary@0pointer.de>
      Signed-off-by: NKay Sievers <kay.sievers@vrfy.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      
      
      4f5c791a
  21. 04 10月, 2006 1 次提交
  22. 26 6月, 2006 1 次提交
  23. 23 11月, 2005 1 次提交
  24. 31 10月, 2005 2 次提交
  25. 08 9月, 2005 2 次提交
  26. 17 4月, 2005 1 次提交
    • L
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds 提交于
      Initial git repository build. I'm not bothering with the full history,
      even though we have it. We can create a separate "historical" git
      archive of that later if we want to, and in the meantime it's about
      3.2GB when imported into git - space that would just make the early
      git days unnecessarily complicated, when we don't have a lot of good
      infrastructure for it.
      
      Let it rip!
      1da177e4