diff options
| author | Kashyap D Desai <kadesai@FreeBSD.org> | 2014-10-08 09:19:35 +0000 |
|---|---|---|
| committer | Kashyap D Desai <kadesai@FreeBSD.org> | 2014-10-08 09:19:35 +0000 |
| commit | 536094dc79eb98d023bcfce564fc3cdc00787090 (patch) | |
| tree | 0dc4d977f29d03202acc21f02fcd6143d5887553 /sys/dev/mrsas/mrsas_ioctl.h | |
| parent | fdbf76c383df5ed9630dea35e3d6092513ba9e0f (diff) | |
Notes
Diffstat (limited to 'sys/dev/mrsas/mrsas_ioctl.h')
| -rw-r--r-- | sys/dev/mrsas/mrsas_ioctl.h | 34 |
1 files changed, 33 insertions, 1 deletions
diff --git a/sys/dev/mrsas/mrsas_ioctl.h b/sys/dev/mrsas/mrsas_ioctl.h index 360484277678..ae0e2e10d732 100644 --- a/sys/dev/mrsas/mrsas_ioctl.h +++ b/sys/dev/mrsas/mrsas_ioctl.h @@ -51,6 +51,15 @@ __FBSDID("$FreeBSD$"); #include <sys/ioccom.h> #endif /* !_IOWR */ +#ifdef COMPAT_FREEBSD32 +/* Compilation error FIX */ +#if (__FreeBSD_version <= 900000) +#include <sys/socket.h> +#endif +#include <sys/mount.h> +#include <compat/freebsd32/freebsd32.h> +#endif + /* * We need to use the same values as the mfi driver until MegaCli adds * support for this (mrsas) driver: @@ -61,10 +70,15 @@ __FBSDID("$FreeBSD$"); * These three values are encoded into a somewhat unique, 32-bit value. */ -#define MRSAS_IOC_FIRMWARE_PASS_THROUGH _IOWR('M', 1, struct mrsas_iocpacket) +#define MRSAS_IOC_FIRMWARE_PASS_THROUGH64 _IOWR('M', 1, struct mrsas_iocpacket) +#ifdef COMPAT_FREEBSD32 +#define MRSAS_IOC_FIRMWARE_PASS_THROUGH32 _IOWR('M', 1, struct mrsas_iocpacket32) +#endif #define MRSAS_IOC_SCAN_BUS _IO('M', 10) +#define MRSAS_LINUX_CMD32 0xc1144d01 + #define MAX_IOCTL_SGE 16 #define MFI_FRAME_DIR_READ 0x0010 #define MFI_CMD_LD_SCSI_IO 0x03 @@ -94,4 +108,22 @@ struct mrsas_iocpacket { }; #pragma pack() +#ifdef COMPAT_FREEBSD32 +#pragma pack(1) +struct mrsas_iocpacket32 { + u_int16_t host_no; + u_int16_t __pad1; + u_int32_t sgl_off; + u_int32_t sge_count; + u_int32_t sense_off; + u_int32_t sense_len; + union { + u_int8_t raw[MEGAMFI_RAW_FRAME_SIZE]; + struct mrsas_header hdr; + } frame; + struct iovec32 sgl[MAX_IOCTL_SGE]; +}; +#pragma pack() +#endif /* COMPAT_FREEBSD32 */ + #endif /* MRSAS_IOCTL_H */ |
