Date: Wed, 19 Jun 2013 04:57:48 +0000 (UTC) From: Scott Long <scottl@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r251986 - stable/9/sys/cam Message-ID: <201306190457.r5J4vm9a064110@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: scottl Date: Wed Jun 19 04:57:47 2013 New Revision: 251986 URL: http://svnweb.freebsd.org/changeset/base/251986 Log: Tweak the CAM_DATA flags that were added with r251874 to allow source compatibility and almost 100% binary compatibility. The old CAM_SG_LIST_PHYS flag is essentially lost in binary compatibility for legacy SIM drivers. The use of this flag is excedingly rare. Obtained from: Netflix Modified: stable/9/sys/cam/cam_ccb.h Modified: stable/9/sys/cam/cam_ccb.h ============================================================================== --- stable/9/sys/cam/cam_ccb.h Wed Jun 19 04:47:41 2013 (r251985) +++ stable/9/sys/cam/cam_ccb.h Wed Jun 19 04:57:47 2013 (r251986) @@ -63,7 +63,7 @@ typedef enum { * Perform transport negotiation * with this command. */ - CAM_DATA_ISPHYS = 0x00000010,/* Data type with physical addrs */ + CAM_DATA_ISPHYS = 0x00200000,/* Data type with physical addrs */ CAM_DIS_AUTOSENSE = 0x00000020,/* Disable autosense feature */ CAM_DIR_BOTH = 0x00000000,/* Data direction (00:IN/OUT) */ CAM_DIR_IN = 0x00000040,/* Data direction (01:DATA IN) */ @@ -71,10 +71,10 @@ typedef enum { CAM_DIR_NONE = 0x000000C0,/* Data direction (11:no data) */ CAM_DIR_MASK = 0x000000C0,/* Data direction Mask */ CAM_DATA_VADDR = 0x00000000,/* Data type (000:Virtual) */ - CAM_DATA_PADDR = 0x00000010,/* Data type (001:Physical) */ - CAM_DATA_SG = 0x00040000,/* Data type (010:sglist) */ - CAM_DATA_SG_PADDR = 0x00040010,/* Data type (011:sglist phys) */ - CAM_DATA_BIO = 0x00200000,/* Data type (100:bio) */ + CAM_DATA_PADDR = 0x00200000,/* Data type (001:Physical) */ + CAM_DATA_SG = 0x00000010,/* Data type (010:sglist) */ + CAM_DATA_SG_PADDR = 0x00200010,/* Data type (011:sglist phys) */ + CAM_DATA_BIO = 0x00040000,/* Data type (100:bio) */ CAM_DATA_MASK = 0x00240010,/* Data type mask */ CAM_SOFT_RST_OP = 0x00000100,/* Use Soft reset alternative */ CAM_ENG_SYNC = 0x00000200,/* Flush resid bytes on complete */ @@ -91,6 +91,11 @@ typedef enum { CAM_CDB_PHYS = 0x00400000,/* CDB poiner is physical */ CAM_ENG_SGLIST = 0x00800000,/* SG list is for the HBA engine */ +/* Compatibility for FreeBSD 9.x*/ + CAM_SCATTER_VALID = 0x00000010,/* These exist for src compat for*/ + CAM_SG_LIST_PHYS = 0x00200010,/* old drivers. Hardly anything */ + CAM_DATA_PHYS = 0x00200000,/* uses them. */ + /* Phase cognizant mode flags */ CAM_DIS_AUTOSRP = 0x01000000,/* Disable autosave/restore ptrs */ CAM_DIS_AUTODISC = 0x02000000,/* Disable auto disconnect */
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201306190457.r5J4vm9a064110>