OpenCloudOS-Kernel/arch
Konrad Rzeszutek 138fe4e069 Firmware: add iSCSI iBFT Support
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: Konrad 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: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2008-04-19 19:10:28 -07:00
..
alpha Generic semaphore implementation 2008-04-17 10:42:34 -04:00
arm UIO: arch/arm/Kconfig: Make UIO available on ARM architecture 2008-04-19 19:10:18 -07:00
avr32 Generic semaphore implementation 2008-04-17 10:42:34 -04:00
blackfin Generic semaphore implementation 2008-04-17 10:42:34 -04:00
cris Generic semaphore implementation 2008-04-17 10:42:34 -04:00
frv Generic semaphore implementation 2008-04-17 10:42:34 -04:00
h8300 Generic semaphore implementation 2008-04-17 10:42:34 -04:00
ia64 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6.26 2008-04-18 18:02:35 -07:00
m32r Generic semaphore implementation 2008-04-17 10:42:34 -04:00
m68k Generic semaphore implementation 2008-04-17 10:42:34 -04:00
m68knommu Generic semaphore implementation 2008-04-17 10:42:34 -04:00
mips Generic semaphore implementation 2008-04-17 10:42:34 -04:00
mn10300 Generic semaphore implementation 2008-04-17 10:42:34 -04:00
parisc Generic semaphore implementation 2008-04-17 10:42:34 -04:00
powerpc Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6.26 2008-04-18 18:02:35 -07:00
ppc Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 2008-04-18 08:39:24 -07:00
s390 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6.26 2008-04-18 18:02:35 -07:00
sh Generic semaphore implementation 2008-04-17 10:42:34 -04:00
sparc Generic semaphore implementation 2008-04-17 10:42:34 -04:00
sparc64 Generic semaphore implementation 2008-04-17 10:42:34 -04:00
um Generic semaphore implementation 2008-04-17 10:42:34 -04:00
v850 Generic semaphore implementation 2008-04-17 10:42:34 -04:00
x86 Firmware: add iSCSI iBFT Support 2008-04-19 19:10:28 -07:00
xtensa Generic semaphore implementation 2008-04-17 10:42:34 -04:00
.gitignore arch: Ignore arch/i386 and arch/x86_64 2008-01-19 21:29:39 -08:00
Kconfig Kprobes: indicate kretprobe support in Kconfig 2008-03-04 16:35:11 -08:00