From bf20e6a1d1147999b850f77caf49dda2650bf2a0 Mon Sep 17 00:00:00 2001 From: Jim Harris Date: Tue, 14 Feb 2012 15:58:49 +0000 Subject: MFC r230843, r231134, r231136, r231137, r231296 Add isci(4) driver for amd64 and i386 targets. The isci driver is for the integrated SAS controller in the Intel C600 (Patsburg) chipset. Source files in sys/dev/isci directory are FreeBSD-specific, and sys/dev/isci/scil subdirectory contains an OS-agnostic library (SCIL) published by Intel to control the SAS controller. This library is used primarily as-is in this driver, with some post-processing to better integrate into the kernel build environment. isci.4 and a README in the sys/dev/isci directory contain a few additional details. This driver is only built for amd64 and i386 targets. Sponsored by: Intel Reviewed by: scottl Approved by: scottl --- sys/modules/Makefile | 3 ++ sys/modules/isci/Makefile | 90 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 93 insertions(+) create mode 100755 sys/modules/isci/Makefile (limited to 'sys/modules') diff --git a/sys/modules/Makefile b/sys/modules/Makefile index a7fd977930ff..3fa700706af9 100644 --- a/sys/modules/Makefile +++ b/sys/modules/Makefile @@ -145,6 +145,7 @@ SUBDIR= ${_3dfx} \ ${_ips} \ ${_ipw} \ ${_ipwfw} \ + ${_isci} \ iscsi \ isp \ ispfw \ @@ -521,6 +522,7 @@ _ipmi= ipmi _ips= ips _ipw= ipw _ipwfw= ipwfw +_isci= isci _iwi= iwi _iwifw= iwifw _iwn= iwn @@ -600,6 +602,7 @@ _ipmi= ipmi _ips= ips _ipw= ipw _ipwfw= ipwfw +_isci= isci _iwi= iwi _iwifw= iwifw _iwn= iwn diff --git a/sys/modules/isci/Makefile b/sys/modules/isci/Makefile new file mode 100755 index 000000000000..82d401864dc2 --- /dev/null +++ b/sys/modules/isci/Makefile @@ -0,0 +1,90 @@ +# isci driver Makefile +# +# $FreeBSD$ + +ISCI_SRC_PATH = ${.CURDIR}/../.. + +.PATH: ${ISCI_SRC_PATH}/dev/isci ${ISCI_SRC_PATH}/dev/isci/scil + +KMOD = isci +SRCS = isci.c isci_oem_parameters.c \ + isci_controller.c isci_domain.c isci_io_request.c \ + isci_timer.c isci_remote_device.c isci_logger.c \ + isci_task_request.c isci_sysctl.c isci_interrupt.c + +SRCS += \ + sci_base_controller.c \ + sci_base_domain.c \ + sci_base_iterator.c \ + sci_base_library.c \ + sci_base_logger.c \ + sci_base_memory_descriptor_list.c \ + sci_base_memory_descriptor_list_decorator.c \ + sci_base_object.c \ + sci_base_observer.c \ + sci_base_phy.c \ + sci_base_port.c \ + sci_base_remote_device.c \ + sci_base_request.c \ + sci_base_state_machine.c \ + sci_base_state_machine_logger.c \ + sci_base_state_machine_observer.c \ + sci_base_subject.c + +SRCS += \ + sci_abstract_list.c \ + sci_util.c + +SRCS += \ + scic_sds_controller.c \ + scic_sds_library.c scic_sds_pci.c \ + scic_sds_phy.c scic_sds_port.c \ + scic_sds_port_configuration_agent.c \ + scic_sds_remote_device.c scic_sds_remote_node_context.c \ + scic_sds_remote_node_table.c scic_sds_request.c \ + scic_sds_sgpio.c scic_sds_smp_remote_device.c \ + scic_sds_smp_request.c scic_sds_ssp_request.c \ + scic_sds_stp_packet_request.c scic_sds_stp_remote_device.c \ + scic_sds_stp_request.c scic_sds_unsolicited_frame_control.c + +SRCS += \ + scif_sas_controller.c \ + scif_sas_controller_state_handlers.c \ + scif_sas_controller_states.c scif_sas_domain.c \ + scif_sas_domain_state_handlers.c scif_sas_domain_states.c \ + scif_sas_high_priority_request_queue.c \ + scif_sas_internal_io_request.c scif_sas_io_request.c \ + scif_sas_io_request_state_handlers.c \ + scif_sas_io_request_states.c scif_sas_library.c \ + scif_sas_remote_device.c \ + scif_sas_remote_device_ready_substate_handlers.c \ + scif_sas_remote_device_ready_substates.c \ + scif_sas_remote_device_starting_substate_handlers.c \ + scif_sas_remote_device_starting_substates.c \ + scif_sas_remote_device_state_handlers.c \ + scif_sas_remote_device_states.c scif_sas_request.c \ + scif_sas_smp_activity_clear_affiliation.c \ + scif_sas_smp_io_request.c scif_sas_smp_phy.c \ + scif_sas_smp_remote_device.c scif_sas_stp_io_request.c \ + scif_sas_stp_remote_device.c scif_sas_stp_task_request.c \ + scif_sas_task_request.c scif_sas_task_request_state_handlers.c \ + scif_sas_task_request_states.c scif_sas_timer.c + +SRCS += \ + sati.c \ + sati_abort_task_set.c sati_atapi.c \ + sati_device.c sati_inquiry.c sati_log_sense.c \ + sati_lun_reset.c sati_mode_pages.c sati_mode_select.c \ + sati_mode_sense.c sati_mode_sense_6.c sati_mode_sense_10.c \ + sati_move.c sati_passthrough.c sati_read.c sati_read_buffer.c \ + sati_read_capacity.c \ + sati_report_luns.c sati_request_sense.c sati_reassign_blocks.c \ + sati_start_stop_unit.c sati_synchronize_cache.c \ + sati_test_unit_ready.c sati_unmap.c sati_util.c \ + sati_verify.c sati_write.c \ + sati_write_buffer.c sati_write_long.c sati_write_and_verify.c + +SRCS += opt_scsi.h opt_cam.h opt_isci.h +SRCS += device_if.h bus_if.h pci_if.h + +.include -- cgit v1.3