freebsd-dev/sys/powerpc
Nathan Whitehorn ef5758fa10 Implement extended LUN support. If PIM_EXTLUNS is set by a SIM, encode
the upper 32-bits of the LUN, if possible, into the target_lun field as
passed directly from the REPORT LUNs response. This allows extended LUN
support to work for all LUNs with zeros in the lower 32-bits, which covers
most addressing modes without breaking KBI. Behavior for drivers not
setting PIM_EXTLUNS is unchanged. No user-facing interfaces are modified.

Extended LUNs are stored with swizzled 16-bit word order so that, for
devices implementing LUN addressing (like SCSI-2), the numerical
representation of the LUN is identical with and without PIM_EXTLUNS. Thus
setting PIM_EXTLUNS keeps most behavior, and user-facing LUN IDs, unchanged.
This follows the strategy used in Solaris. A macro (CAM_EXTLUN_BYTE_SWIZZLE)
is provided to transform a lun_id_t into a uint64_t ordered for the wire.

This is the second part of work for full 64-bit extended LUN support and is
designed to a bridge for stable/10 to the final 64-bit LUN code. The
third and final part will involve widening lun_id_t to 64 bits and will
not be MFCed. This third part will break the KBI but will keep the KPI
unchanged so that all drivers that will care about this can be updated now
and not require code changes between HEAD and stable/10.

Reviewed by:	scottl
MFC after:	2 weeks
2013-10-29 15:36:58 +00:00
..
aim Add some extra sanity checking and checks to printf format specifiers. 2013-10-26 18:19:36 +00:00
booke Make devices with registers into the KVA region work reliably. Without this, 2013-10-26 20:57:26 +00:00
conf Add initial driver for POWER hypervisor interpartition ethernet. This is 2013-10-20 01:31:09 +00:00
cpufreq Remove unused variables. Spotted by a cppcheck 2011-01-06 20:19:01 +00:00
fpu Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
include Turn on VM_KMEM_SIZE_SCALE on 32-bit as well as 64-bit PowerPC. 2013-10-27 14:03:51 +00:00
mambo Standards-conformance and code deduplication: 2013-10-22 14:07:57 +00:00
mpc85xx Interrelated improvements to early boot mappings: 2013-10-26 18:18:14 +00:00
ofw Allow PIC drivers to translate firmware sense codes for themselves. This 2013-10-24 15:37:32 +00:00
powermac Be a little more suspicious of thermal sensors, which can have single 2013-10-25 03:55:52 +00:00
powerpc Add bus_dmamap_load_ma() function to load map with the array of 2013-10-27 21:39:16 +00:00
ps3 - Provide necessary includes. 2013-10-29 11:17:49 +00:00
pseries Implement extended LUN support. If PIM_EXTLUNS is set by a SIM, encode 2013-10-29 15:36:58 +00:00
psim - With the demise of !ATA_CAM, ATA_STATIC_ID is the only ata(4) related 2013-04-06 19:12:49 +00:00
wii Fix indentation. 2013-07-02 07:17:56 +00:00