1. 07 Dec, 2013 2 commits
    • Lv Zheng's avatar
      ACPI / IBFT: Fix incorrect <acpi/acpi.h> inclusion in iSCSI boot firmware module · 9d24622c
      Lv Zheng authored
      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: default avatarLv Zheng <lv.zheng@intel.com>
      [rjw: Subject and changelog]
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      9d24622c
    • Lv Zheng's avatar
      ACPI: Clean up inclusions of ACPI header files · 8b48463f
      Lv Zheng authored
      Replace direct inclusions of <acpi/acpi.h>, <acpi/acpi_bus.h> and
      <acpi/acpi_drivers.h>, which are incorrect, with <linux/acpi.h>
      inclusions and remove some inclusions of those files that aren't
      necessary.
      
      First of all, <acpi/acpi.h>, <acpi/acpi_bus.h> and <acpi/acpi_drivers.h>
      should not be included directly from any files that are built for
      CONFIG_ACPI unset, because that generally leads to build warnings about
      undefined symbols in !CONFIG_ACPI builds.  For CONFIG_ACPI set,
      <linux/acpi.h> includes those files and for CONFIG_ACPI unset it
      provides stub ACPI symbols to be used in that case.
      
      Second, there are ordering dependencies between those files that always
      have to be met.  Namely, it is required that <acpi/acpi_bus.h> be included
      prior to <acpi/acpi_drivers.h> so that the acpi_pci_root declarations the
      latter depends on are always there.  And <acpi/acpi.h> which provides
      basic ACPICA type declarations should always be included prior to any other
      ACPI headers in CONFIG_ACPI builds.  That also is taken care of including
      <linux/acpi.h> as appropriate.
      Signed-off-by: default avatarLv Zheng <lv.zheng@intel.com>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Matthew Garrett <mjg59@srcf.ucam.org>
      Cc: Tony Luck <tony.luck@intel.com>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Acked-by: Bjorn Helgaas <bhelgaas@google.com> (drivers/pci stuff)
      Acked-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> (Xen stuff)
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      8b48463f
  2. 11 May, 2010 1 commit
  3. 01 Apr, 2010 1 commit
    • Yinghai Lu's avatar
      ibft, x86: Change reserve_ibft_region() to find_ibft_region() · 042be38e
      Yinghai Lu authored
      This allows arch code could decide the way to reserve the ibft.
      
      And we should reserve ibft as early as possible, instead of BOOTMEM
      stage, in case the table is in RAM range and is not reserved by BIOS
      (this will often be the case.)
      
      Move to just after find_smp_config().
      
      Also when CONFIG_NO_BOOTMEM=y, We will not have reserve_bootmem() anymore.
      
      -v2: fix typo about ibft pointed by Konrad Rzeszutek Wilk <konrad@darnok.org>
      Signed-off-by: default avatarYinghai Lu <yinghai@kernel.org>
      LKML-Reference: <4BB510FB.80601@kernel.org>
      Cc: Pekka Enberg <penberg@cs.helsinki.fi>
      Cc: Peter Jones <pjones@redhat.com>
      Cc: Konrad Rzeszutek Wilk <konrad@kernel.org>
      CC: Jan Beulich <jbeulich@novell.com>
      Signed-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
      042be38e
  4. 20 Apr, 2008 1 commit
    • Konrad Rzeszutek's avatar
      Firmware: add iSCSI iBFT Support · 138fe4e0
      Konrad Rzeszutek authored
      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: default avatarKonrad 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: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      
      138fe4e0