Index: head/share/man/man4/asr.4 =================================================================== --- head/share/man/man4/asr.4 (revision 276525) +++ head/share/man/man4/asr.4 (nonexistent) @@ -1,115 +0,0 @@ -.\" Copyright (c) 2003 David E. O'Brien -.\" Copyright (c) 2000 Adaptec, Inc. -.\" All rights reserved. -.\" -.\" Manpage cleanup by: Jeroen Ruigrok van der Werven -.\" -.\" $FreeBSD$ -.\" -.Dd July 14, 2004 -.Dt ASR 4 -.Os -.Sh NAME -.Nm asr -.Nd driver for Adaptec I2O based SCSI/ATA host bus adapters -.Sh SYNOPSIS -.Cd "device asr" -.Sh DESCRIPTION -The Adaptec -.Nm -driver provides access to disks -and disk arrays controlled by I2O based host bus adapters and -SmartRAID SCSI RAID adapters through the standard SCSI disk -.Xr da 4 -interface. -.Pp -The supported adapters provide 64 bit PCI, -Compact PCI, Zero Channel PCI, -and up to four channels of Ultra2, Ultra 160, or Ultra320 SCSI, -or two channels of 1GB Fibre. -All support RAID-0, RAID-1, RAID-10, RAID-5 and RAID-50 arrays. -All SCSI target types are supported. -For the ATA based controllers, one IDE drive per channel is supported. -Hot-swapping of IDE drives is not supported at this time. -.Pp -All host bus adapters must be configured -before they can be used with any operating system. -Please contact Adaptec directly to obtain the latest information -on configuration utilities for the adapters. -Currently there are both a Motif based GUI configuration utility -and a CLI based configuration utility available from the Adaptec Web site. -The cards and arrays can also be configured via the BIOS based configuration -tool (SMOR). -.Sh HARDWARE -The adapters currently supported by the -.Nm -driver include the following: -.Pp -.Bl -bullet -compact -.It -Adaptec Zero-Channel SCSI RAID 2000S, 2005S, 2010S, 2015S -.It -Adaptec SCSI RAID 2100S, 2110S -.It -Adaptec ATA-100 RAID 2400A -.It -Adaptec SCSI RAID 3200S, 3210S -.It -Adaptec SCSI RAID 3400S, 3410S -.It -Adaptec SmartRAID PM1554 -.It -Adaptec SmartRAID PM1564 -.It -Adaptec SmartRAID PM2554 -.It -Adaptec SmartRAID PM2564 -.It -Adaptec SmartRAID PM2664 -.It -Adaptec SmartRAID PM2754 -.It -Adaptec SmartRAID PM2865 -.It -Adaptec SmartRAID PM3754 -.It -Adaptec SmartRAID PM3755U2B / SmartRAID V Millennium -.It -Adaptec SmartRAID PM3757 -.It -DEC KZPCC-AC (LVD 1-ch, 4MB or 16MB cache), -DEC KZPCC-CE (LVD 3-ch, 64MB cache), -DEC KZPCC-XC (LVD 1-ch, 16MB cache), -DEC KZPCC-XE (LVD 3-ch, 64MB cache) -- rebadged SmartRAID V Millennium -.El -.Sh FILES -.Bl -tag -width "/dev/asr*" -compact -.It Pa /dev/asr* -Adaptec SCSI RAID control nodes -.El -.Sh NOTES -The ATA based controllers present their devices as SCSI-like devices via CAM. -For IDE drives attached to these cards, a subset of standard SCSI commands -and mode pages are understood via translation performed in the card's firmware. -.Sh SEE ALSO -.Xr da 4 -.Sh HISTORY -The -.Nm -(Adaptec SCSI RAID) -driver first appeared as the dpti2o driver under BSDi -.Bsx 3.2 , -then under -.Fx 2.2.8 -and was ported over to the CAM layer represented in 4.0. -.Sh AUTHORS -.An -nosplit -The -.Nm -driver was kindly donated by Adaptec -and is maintained by -.An Mark Salyzyn Aq Mt mark_salyzyn@adaptec.com . -This manual page was written by -.An Mark Salyzyn -and fixed up by -.An Jeroen Ruigrok van der Werven Aq Mt asmodai@FreeBSD.org . Property changes on: head/share/man/man4/asr.4 ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: head/share/man/man4/Makefile =================================================================== --- head/share/man/man4/Makefile (revision 276525) +++ head/share/man/man4/Makefile (revision 276526) @@ -1,870 +1,869 @@ # @(#)Makefile 8.1 (Berkeley) 6/18/93 # $FreeBSD$ .include MAN= aac.4 \ aacraid.4 \ acpi.4 \ ${_acpi_asus.4} \ ${_acpi_asus_wmi.4} \ ${_acpi_dock.4} \ ${_acpi_fujitsu.4} \ ${_acpi_hp.4} \ ${_acpi_ibm.4} \ ${_acpi_panasonic.4} \ ${_acpi_rapidstart.4} \ ${_acpi_sony.4} \ acpi_thermal.4 \ ${_acpi_toshiba.4} \ acpi_video.4 \ ${_acpi_wmi.4} \ ada.4 \ adv.4 \ adw.4 \ ae.4 \ ${_aesni.4} \ age.4 \ agp.4 \ aha.4 \ ahb.4 \ ahc.4 \ ahci.4 \ ahd.4 \ ${_aibs.4} \ aio.4 \ alc.4 \ ale.4 \ alpm.4 \ altera_atse.4 \ altera_avgen.4 \ altera_jtag_uart.4 \ altera_sdcard.4 \ altq.4 \ amdpm.4 \ ${_amdsbwd.4} \ ${_amdsmb.4} \ ${_amdtemp.4} \ ${_bxe.4} \ amr.4 \ an.4 \ ${_aout.4} \ ${_apic.4} \ arcmsr.4 \ ${_asmc.4} \ - asr.4 \ ata.4 \ ath.4 \ ath_ahb.4 \ ath_hal.4 \ ath_pci.4 \ atkbd.4 \ atkbdc.4 \ atp.4 \ ${_atf_test_case.4} \ ${_atrtc.4} \ ${_attimer.4} \ audit.4 \ auditpipe.4 \ aue.4 \ axe.4 \ axge.4 \ bce.4 \ bfe.4 \ bge.4 \ ${_bhyve.4} \ bktr.4 \ blackhole.4 \ bpf.4 \ bridge.4 \ bt.4 \ bwi.4 \ bwn.4 \ capsicum.4 \ cardbus.4 \ carp.4 \ cas.4 \ cc_cdg.4 \ cc_chd.4 \ cc_cubic.4 \ cc_hd.4 \ cc_htcp.4 \ cc_newreno.4 \ cc_vegas.4 \ ccd.4 \ cd.4 \ cdce.4 \ ch.4 \ ciss.4 \ cm.4 \ cmx.4 \ ${_coretemp.4} \ ${_cpuctl.4} \ cpufreq.4 \ crypto.4 \ ctl.4 \ cue.4 \ cxgb.4 \ cxgbe.4 \ cy.4 \ da.4 \ dc.4 \ dcons.4 \ dcons_crom.4 \ ddb.4 \ de.4 \ devctl.4 \ digi.4 \ disc.4 \ divert.4 \ ${_dpms.4} \ dpt.4 \ dummynet.4 \ ed.4 \ edsc.4 \ ehci.4 \ em.4 \ en.4 \ enc.4 \ epair.4 \ esp.4 \ est.4 \ et.4 \ eventtimers.4 \ exca.4 \ fatm.4 \ fd.4 \ fdc.4 \ fdt.4 \ fdtbus.4 \ ffclock.4 \ filemon.4 \ firewire.4 \ fpa.4 \ full.4 \ fwe.4 \ fwip.4 \ fwohci.4 \ fxp.4 \ gbde.4 \ gdb.4 \ gem.4 \ geom.4 \ geom_fox.4 \ geom_linux_lvm.4 \ geom_map.4 \ geom_uncompress.4 \ geom_uzip.4 \ gif.4 \ gpio.4 \ gpioiic.4 \ gpioled.4 \ gre.4 \ h_ertt.4 \ hatm.4 \ hifn.4 \ hme.4 \ hpet.4 \ ${_hpt27xx.4} \ ${_hptiop.4} \ ${_hptmv.4} \ ${_hptnr.4} \ ${_hptrr.4} \ hv_ata_pci_disengage.4 \ hv_kvp.4 \ hv_netvsc.4 \ hv_storvsc.4 \ hv_utils.4 \ hv_vmbus.4 \ hwpmc.4 \ ichsmb.4 \ ${_ichwd.4} \ icmp.4 \ icmp6.4 \ ida.4 \ ifmib.4 \ igb.4 \ igmp.4 \ iic.4 \ iicbb.4 \ iicbus.4 \ iicsmb.4 \ iir.4 \ inet.4 \ inet6.4 \ intpm.4 \ intro.4 \ ${_io.4} \ ip.4 \ ip6.4 \ ipfirewall.4 \ ipheth.4 \ ${_ipmi.4} \ ips.4 \ ipsec.4 \ ipw.4 \ ipwfw.4 \ isci.4 \ iscsi.4 \ iscsi_initiator.4 \ ismt.4 \ isp.4 \ ispfw.4 \ iwi.4 \ iwifw.4 \ iwn.4 \ iwnfw.4 \ ixgb.4 \ ixgbe.4 \ jme.4 \ joy.4 \ kbdmux.4 \ keyboard.4 \ kld.4 \ ksyms.4 \ ktr.4 \ kue.4 \ lagg.4 \ le.4 \ led.4 \ lge.4 \ ${_linux.4} \ lm75.4 \ lmc.4 \ lo.4 \ lp.4 \ lpbb.4 \ lpt.4 \ mac.4 \ mac_biba.4 \ mac_bsdextended.4 \ mac_ifoff.4 \ mac_lomac.4 \ mac_mls.4 \ mac_none.4 \ mac_partition.4 \ mac_portacl.4 \ mac_seeotheruids.4 \ mac_stub.4 \ mac_test.4 \ malo.4 \ mcd.4 \ md.4 \ me.4 \ mem.4 \ meteor.4 \ mfi.4 \ miibus.4 \ mk48txx.4 \ mld.4 \ mlx.4 \ mly.4 \ mmc.4 \ mmcsd.4 \ mn.4 \ mod_cc.4 \ mos.4 \ mouse.4 \ mpr.4 \ mps.4 \ mpt.4 \ mrsas.4 \ msk.4 \ mtio.4 \ multicast.4 \ mvs.4 \ mwl.4 \ mwlfw.4 \ mxge.4 \ my.4 \ nand.4 \ nandsim.4 \ natm.4 \ natmip.4 \ ncr.4 \ ncv.4 \ ${_ndis.4} \ net80211.4 \ netfpga10g_nf10bmac.4 \ netgraph.4 \ netintro.4 \ netmap.4 \ ${_nfe.4} \ ${_nfsmb.4} \ ng_async.4 \ ng_atm.4 \ ngatmbase.4 \ ng_atmllc.4 \ ng_bluetooth.4 \ ng_bpf.4 \ ng_bridge.4 \ ng_bt3c.4 \ ng_btsocket.4 \ ng_car.4 \ ng_ccatm.4 \ ng_cisco.4 \ ng_deflate.4 \ ng_device.4 \ nge.4 \ ng_echo.4 \ ng_eiface.4 \ ng_etf.4 \ ng_ether.4 \ ng_ether_echo.4 \ ng_frame_relay.4 \ ng_gif.4 \ ng_gif_demux.4 \ ng_h4.4 \ ng_hci.4 \ ng_hole.4 \ ng_hub.4 \ ng_iface.4 \ ng_ipfw.4 \ ng_ip_input.4 \ ng_ksocket.4 \ ng_l2cap.4 \ ng_l2tp.4 \ ng_lmi.4 \ ng_mppc.4 \ ng_nat.4 \ ng_netflow.4 \ ng_one2many.4 \ ng_patch.4 \ ng_ppp.4 \ ng_pppoe.4 \ ng_pptpgre.4 \ ng_pred1.4 \ ng_rfc1490.4 \ ng_socket.4 \ ng_source.4 \ ng_split.4 \ ng_sppp.4 \ ng_sscfu.4 \ ng_sscop.4 \ ng_tag.4 \ ng_tcpmss.4 \ ng_tee.4 \ ng_tty.4 \ ng_ubt.4 \ ng_UI.4 \ ng_uni.4 \ ng_vjc.4 \ ng_vlan.4 \ nmdm.4 \ nsp.4 \ ${_ntb.4} \ null.4 \ ${_nvd.4} \ ${_nvme.4} \ ${_nvram.4} \ ${_nvram2env.4} \ ${_nxge.4} \ oce.4 \ ohci.4 \ orm.4 \ ${_padlock.4} \ pass.4 \ patm.4 \ pccard.4 \ pccbb.4 \ pcf.4 \ pci.4 \ pcib.4 \ pcic.4 \ pcm.4 \ pcn.4 \ ${_pf.4} \ ${_pflog.4} \ ${_pfsync.4} \ pim.4 \ polling.4 \ ppbus.4 \ ppc.4 \ ppi.4 \ procdesc.4 \ proto.4 \ psm.4 \ pst.4 \ pt.4 \ pts.4 \ pty.4 \ puc.4 \ ${_qlxge.4} \ ${_qlxgb.4} \ ${_qlxgbe.4} \ ral.4 \ random.4 \ rc.4 \ re.4 \ rgephy.4 \ rights.4 \ rl.4 \ rndtest.4 \ route.4 \ rp.4 \ rsu.4 \ rsufw.4 \ rue.4 \ rum.4 \ run.4 \ runfw.4 \ sa.4 \ safe.4 \ sbp.4 \ sbp_targ.4 \ scc.4 \ scd.4 \ sched_4bsd.4 \ sched_ule.4 \ screen.4 \ scsi.4 \ sctp.4 \ sdhci.4 \ sem.4 \ send.4 \ ses.4 \ sf.4 \ ${_sfxge.4} \ sge.4 \ si.4 \ siba.4 \ siftr.4 \ siis.4 \ simplebus.4 \ sio.4 \ sis.4 \ sk.4 \ smb.4 \ smbus.4 \ smp.4 \ smsc.4 \ sn.4 \ snd_ad1816.4 \ snd_als4000.4 \ snd_atiixp.4 \ snd_cmi.4 \ snd_cs4281.4 \ snd_csa.4 \ snd_ds1.4 \ snd_emu10k1.4 \ snd_emu10kx.4 \ snd_envy24.4 \ snd_envy24ht.4 \ snd_es137x.4 \ snd_ess.4 \ snd_fm801.4 \ snd_gusc.4 \ snd_hda.4 \ snd_hdspe.4 \ snd_ich.4 \ snd_maestro3.4 \ snd_maestro.4 \ snd_mss.4 \ snd_neomagic.4 \ snd_sbc.4 \ snd_solo.4 \ snd_spicds.4 \ snd_t4dwave.4 \ snd_uaudio.4 \ snd_via8233.4 \ snd_via82c686.4 \ snd_vibes.4 \ snp.4 \ spic.4 \ ${_spkr.4} \ splash.4 \ sppp.4 \ ste.4 \ stf.4 \ stg.4 \ stge.4 \ sym.4 \ syncache.4 \ syncer.4 \ syscons.4 \ sysmouse.4 \ tap.4 \ targ.4 \ tcp.4 \ tdfx.4 \ terasic_mtl.4 \ termios.4 \ textdump.4 \ ti.4 \ timecounters.4 \ tl.4 \ ${_tpm.4} \ trm.4 \ tty.4 \ tun.4 \ twa.4 \ twe.4 \ tws.4 \ tx.4 \ txp.4 \ u3g.4 \ uark.4 \ uart.4 \ uath.4 \ ubsa.4 \ ubsec.4 \ ubser.4 \ ubtbcmfw.4 \ uchcom.4 \ ucom.4 \ ucycom.4 \ udav.4 \ udbp.4 \ udp.4 \ udplite.4 \ uep.4 \ ufm.4 \ ufoma.4 \ uftdi.4 \ ugen.4 \ uhci.4 \ uhid.4 \ uhso.4 \ uipaq.4 \ ukbd.4 \ uled.4 \ ulpt.4 \ umass.4 \ umcs.4 \ umct.4 \ umodem.4 \ umoscom.4 \ ums.4 \ unix.4 \ upgt.4 \ uplcom.4 \ ural.4 \ urio.4 \ urndis.4 \ ${_urtw.4} \ urtwn.4 \ urtwnfw.4 \ usb.4 \ usb_template.4 \ usb_quirk.4 \ uslcom.4 \ usfs.4 \ utopia.4 \ uvisor.4 \ uvscom.4 \ vale.4 \ vga.4 \ vge.4 \ viapm.4 \ ${_viawd.4} \ ${_virtio.4} \ ${_virtio_balloon.4} \ ${_virtio_blk.4} \ ${_virtio_console.4} \ ${_virtio_random.4} \ ${_virtio_scsi.4} \ vkbd.4 \ vlan.4 \ vxlan.4 \ ${_vmx.4} \ vpo.4 \ vr.4 \ vt.4 \ vte.4 \ ${_vtnet.4} \ ${_vxge.4} \ watchdog.4 \ wb.4 \ ${_wbwd.4} \ wi.4 \ witness.4 \ wlan.4 \ wlan_acl.4 \ wlan_amrr.4 \ wlan_ccmp.4 \ wlan_tkip.4 \ wlan_wep.4 \ wlan_xauth.4 \ ${_wpi.4} \ wsp.4 \ xe.4 \ ${_xen.4} \ xhci.4 \ xl.4 \ ${_xnb.4} \ xpt.4 \ zero.4 \ zyd.4 MLINKS= ae.4 if_ae.4 MLINKS+=age.4 if_age.4 MLINKS+=agp.4 agpgart.4 MLINKS+=alc.4 if_alc.4 MLINKS+=ale.4 if_ale.4 MLINKS+=altera_atse.4 atse.4 MLINKS+=altera_sdcard.4 altera_sdcardc.4 MLINKS+=altq.4 ALTQ.4 MLINKS+=ath.4 if_ath.4 MLINKS+=ath_pci.4 if_ath_pci.4 MLINKS+=an.4 if_an.4 MLINKS+=aue.4 if_aue.4 MLINKS+=axe.4 if_axe.4 MLINKS+=bce.4 if_bce.4 MLINKS+=bfe.4 if_bfe.4 MLINKS+=bge.4 if_bge.4 MLINKS+=bktr.4 brooktree.4 MLINKS+=bridge.4 if_bridge.4 MLINKS+=bwi.4 if_bwi.4 MLINKS+=bwn.4 if_bwn.4 MLINKS+=${_bxe.4} ${_if_bxe.4} MLINKS+=cas.4 if_cas.4 MLINKS+=cdce.4 if_cdce.4 MLINKS+=crypto.4 cryptodev.4 MLINKS+=cue.4 if_cue.4 MLINKS+=cxgb.4 if_cxgb.4 MLINKS+=cxgbe.4 if_cxgbe.4 MLINKS+=dc.4 if_dc.4 MLINKS+=de.4 if_de.4 MLINKS+=disc.4 if_disc.4 MLINKS+=ed.4 if_ed.4 MLINKS+=edsc.4 if_edsc.4 MLINKS+=em.4 if_em.4 MLINKS+=en.4 if_en.4 MLINKS+=enc.4 if_enc.4 MLINKS+=epair.4 if_epair.4 MLINKS+=et.4 if_et.4 MLINKS+=fatm.4 if_fatm.4 MLINKS+=fd.4 stderr.4 \ fd.4 stdin.4 \ fd.4 stdout.4 MLINKS+=fdt.4 FDT.4 MLINKS+=firewire.4 ieee1394.4 MLINKS+=fpa.4 fea.4 MLINKS+=fwe.4 if_fwe.4 MLINKS+=fwip.4 if_fwip.4 MLINKS+=fxp.4 if_fxp.4 MLINKS+=gem.4 if_gem.4 MLINKS+=geom.4 GEOM.4 MLINKS+=gif.4 if_gif.4 MLINKS+=gpio.4 gpiobus.4 MLINKS+=gre.4 if_gre.4 MLINKS+=hatm.4 if_hatm.4 MLINKS+=hme.4 if_hme.4 MLINKS+=hpet.4 acpi_hpet.4 MLINKS+=${_hptrr.4} ${_rr232x.4} MLINKS+=${_attimer.4} ${_i8254.4} MLINKS+=igb.4 if_igb.4 MLINKS+=ip.4 rawip.4 MLINKS+=ipfirewall.4 ipaccounting.4 \ ipfirewall.4 ipacct.4 \ ipfirewall.4 ipfw.4 MLINKS+=ipheth.4 if_ipheth.4 MLINKS+=ipw.4 if_ipw.4 MLINKS+=iwi.4 if_iwi.4 MLINKS+=iwn.4 if_iwn.4 MLINKS+=ixgb.4 if_ixgb.4 MLINKS+=ixgbe.4 ix.4 MLINKS+=ixgbe.4 if_ix.4 MLINKS+=ixgbe.4 if_ixgbe.4 MLINKS+=jme.4 if_jme.4 MLINKS+=kue.4 if_kue.4 MLINKS+=lagg.4 trunk.4 MLINKS+=lagg.4 if_lagg.4 MLINKS+=le.4 if_le.4 MLINKS+=lge.4 if_lge.4 MLINKS+=lmc.4 if_lmc.4 MLINKS+=lo.4 loop.4 MLINKS+=lp.4 plip.4 MLINKS+=malo.4 if_malo.4 MLINKS+=md.4 vn.4 MLINKS+=mem.4 kmem.4 MLINKS+=mn.4 if_mn.4 MLINKS+=mos.4 if_mos.4 MLINKS+=msk.4 if_msk.4 MLINKS+=mwl.4 if_mwl.4 MLINKS+=mxge.4 if_mxge.4 MLINKS+=my.4 if_my.4 MLINKS+=${_ndis.4} ${_if_ndis.4} MLINKS+=netfpga10g_nf10bmac.4 if_nf10bmac.4 MLINKS+=netintro.4 net.4 \ netintro.4 networking.4 MLINKS+=${_nfe.4} ${_if_nfe.4} MLINKS+=nge.4 if_nge.4 MLINKS+=${_ntb.4} ${_if_ntb.4} \ ${_ntb.4} ${_ntb_hw.4} MLINKS+=${_nxge.4} ${_if_nxge.4} MLINKS+=patm.4 if_patm.4 MLINKS+=pccbb.4 cbb.4 MLINKS+=pcm.4 snd.4 \ pcm.4 sound.4 MLINKS+=pcn.4 if_pcn.4 MLINKS+=ral.4 if_ral.4 MLINKS+=re.4 if_re.4 MLINKS+=rl.4 if_rl.4 MLINKS+=rue.4 if_rue.4 MLINKS+=rum.4 if_rum.4 MLINKS+=run.4 if_run.4 MLINKS+=scsi.4 CAM.4 \ scsi.4 cam.4 \ scsi.4 scbus.4 \ scsi.4 SCSI.4 MLINKS+=sf.4 if_sf.4 MLINKS+=sge.4 if_sge.4 MLINKS+=sis.4 if_sis.4 MLINKS+=sk.4 if_sk.4 MLINKS+=smp.4 SMP.4 MLINKS+=smsc.4 if_smsc.4 MLINKS+=sn.4 if_sn.4 MLINKS+=snd_envy24.4 snd_ak452x.4 MLINKS+=snd_sbc.4 snd_sb16.4 \ snd_sbc.4 snd_sb8.4 MLINKS+=${_spkr.4} ${_speaker.4} MLINKS+=splash.4 screensaver.4 MLINKS+=ste.4 if_ste.4 MLINKS+=stf.4 if_stf.4 MLINKS+=stge.4 if_stge.4 MLINKS+=syncache.4 syncookies.4 MLINKS+=syscons.4 sc.4 MLINKS+=tap.4 if_tap.4 MLINKS+=tdfx.4 tdfx_linux.4 MLINKS+=ti.4 if_ti.4 MLINKS+=tl.4 if_tl.4 MLINKS+=tun.4 if_tun.4 MLINKS+=tx.4 if_tx.4 MLINKS+=txp.4 if_txp.4 MLINKS+=u3g.4 u3gstub.4 MLINKS+=uath.4 if_uath.4 MLINKS+=udav.4 if_udav.4 MLINKS+=upgt.4 if_upgt.4 MLINKS+=ural.4 if_ural.4 MLINKS+=urndis.4 if_urndis.4 MLINKS+=${_urtw.4} ${_if_urtw.4} MLINKS+=vge.4 if_vge.4 MLINKS+=vlan.4 if_vlan.4 MLINKS+=vxlan.4 if_vxlan.4 MLINKS+=${_vmx.4} ${_if_vmx.4} MLINKS+=vpo.4 imm.4 MLINKS+=vr.4 if_vr.4 MLINKS+=vte.4 if_vte.4 MLINKS+=${_vtnet.4} ${_if_vtnet.4} MLINKS+=${_vxge.4} ${_if_vxge.4} MLINKS+=watchdog.4 SW_WATCHDOG.4 MLINKS+=wb.4 if_wb.4 MLINKS+=wi.4 if_wi.4 MLINKS+=${_wpi.4} ${_if_wpi.4} MLINKS+=xe.4 if_xe.4 MLINKS+=xl.4 if_xl.4 MLINKS+=zyd.4 if_zyd.4 .if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "i386" _acpi_asus.4= acpi_asus.4 _acpi_asus_wmi.4= acpi_asus_wmi.4 _acpi_dock.4= acpi_dock.4 _acpi_fujitsu.4=acpi_fujitsu.4 _acpi_hp.4= acpi_hp.4 _acpi_ibm.4= acpi_ibm.4 _acpi_panasonic.4=acpi_panasonic.4 _acpi_rapidstart.4=acpi_rapidstart.4 _acpi_sony.4= acpi_sony.4 _acpi_toshiba.4=acpi_toshiba.4 _acpi_wmi.4= acpi_wmi.4 _aesni.4= aesni.4 _aout.4= aout.4 _apic.4= apic.4 _atrtc.4= atrtc.4 _attimer.4= attimer.4 _aibs.4= aibs.4 _amdsbwd.4= amdsbwd.4 _amdsmb.4= amdsmb.4 _amdtemp.4= amdtemp.4 _asmc.4= asmc.4 _bxe.4= bxe.4 _coretemp.4= coretemp.4 _cpuctl.4= cpuctl.4 _dpms.4= dpms.4 _hpt27xx.4= hpt27xx.4 _hptiop.4= hptiop.4 _hptmv.4= hptmv.4 _hptnr.4= hptnr.4 _hptrr.4= hptrr.4 _i8254.4= i8254.4 _ichwd.4= ichwd.4 _if_bxe.4= if_bxe.4 _if_ndis.4= if_ndis.4 _if_nfe.4= if_nfe.4 _if_nxge.4= if_nxge.4 _if_urtw.4= if_urtw.4 _if_vmx.4= if_vmx.4 _if_vtnet.4= if_vtnet.4 _if_vxge.4= if_vxge.4 _if_wpi.4= if_wpi.4 _ipmi.4= ipmi.4 _io.4= io.4 _linux.4= linux.4 _ndis.4= ndis.4 _nfe.4= nfe.4 _nfsmb.4= nfsmb.4 _nvd.4= nvd.4 _nvme.4= nvme.4 _nvram.4= nvram.4 _nxge.4= nxge.4 _virtio.4= virtio.4 _virtio_balloon.4=virtio_balloon.4 _virtio_blk.4= virtio_blk.4 _virtio_console.4=virtio_console.4 _virtio_random.4= virtio_random.4 _virtio_scsi.4= virtio_scsi.4 _vmx.4= vmx.4 _vtnet.4= vtnet.4 _vxge.4= vxge.4 _padlock.4= padlock.4 _rr232x.4= rr232x.4 _speaker.4= speaker.4 _spkr.4= spkr.4 _tpm.4= tpm.4 _urtw.4= urtw.4 _viawd.4= viawd.4 _wbwd.4= wbwd.4 _wpi.4= wpi.4 _xen.4= xen.4 _xnb.4= xnb.4 .endif .if ${MACHINE_CPUARCH} == "amd64" _bhyve.4= bhyve.4 _if_ntb.4= if_ntb.4 _ntb.4= ntb.4 _ntb_hw.4= ntb_hw.4 _qlxge.4= qlxge.4 _qlxgb.4= qlxgb.4 _qlxgbe.4= qlxgbe.4 _sfxge.4= sfxge.4 MLINKS+=qlxge.4 if_qlxge.4 MLINKS+=qlxgb.4 if_qlxgb.4 MLINKS+=qlxgbe.4 if_qlxgbe.4 MLINKS+=sfxge.4 if_sfxge.4 .endif .if ${MACHINE_CPUARCH} == "mips" _nvram2env.4= nvram2env.4 .endif .if exists(${.CURDIR}/man4.${MACHINE_CPUARCH}) SUBDIR= man4.${MACHINE_CPUARCH} .endif .if ${MK_TESTS} != "no" ATF= ${.CURDIR}/../../../contrib/atf .PATH: ${ATF}/doc _atf_test_case.4= atf-test-case.4 .endif .if ${MK_PF} != "no" _pf.4= pf.4 _pflog.4= pflog.4 _pfsync.4= pfsync.4 .endif .include Index: head/sys/conf/files =================================================================== --- head/sys/conf/files (revision 276525) +++ head/sys/conf/files (revision 276526) @@ -1,4006 +1,4004 @@ # $FreeBSD$ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and # dependency lines other than the first are silently ignored. # acpi_quirks.h optional acpi \ dependency "$S/tools/acpi_quirks2h.awk $S/dev/acpica/acpi_quirks" \ compile-with "${AWK} -f $S/tools/acpi_quirks2h.awk $S/dev/acpica/acpi_quirks" \ no-obj no-implicit-rule before-depend \ clean "acpi_quirks.h" # # The 'fdt_dtb_file' target covers an actual DTB file name, which is derived # from the specified source (DTS) file: .dts -> .dtb # fdt_dtb_file optional fdt fdt_dtb_static \ compile-with "sh -c 'MACHINE=${MACHINE} $S/tools/fdt/make_dtb.sh $S ${FDT_DTS_FILE} ${.CURDIR}'" \ no-obj no-implicit-rule before-depend \ clean "${FDT_DTS_FILE:R}.dtb" fdt_static_dtb.h optional fdt fdt_dtb_static \ compile-with "sh -c 'MACHINE=${MACHINE} $S/tools/fdt/make_dtbh.sh ${FDT_DTS_FILE} ${.CURDIR}'" \ dependency "fdt_dtb_file" \ no-obj no-implicit-rule before-depend \ clean "fdt_static_dtb.h" feeder_eq_gen.h optional sound \ dependency "$S/tools/sound/feeder_eq_mkfilter.awk" \ compile-with "${AWK} -f $S/tools/sound/feeder_eq_mkfilter.awk -- ${FEEDER_EQ_PRESETS} > feeder_eq_gen.h" \ no-obj no-implicit-rule before-depend \ clean "feeder_eq_gen.h" feeder_rate_gen.h optional sound \ dependency "$S/tools/sound/feeder_rate_mkfilter.awk" \ compile-with "${AWK} -f $S/tools/sound/feeder_rate_mkfilter.awk -- ${FEEDER_RATE_PRESETS} > feeder_rate_gen.h" \ no-obj no-implicit-rule before-depend \ clean "feeder_rate_gen.h" snd_fxdiv_gen.h optional sound \ dependency "$S/tools/sound/snd_fxdiv_gen.awk" \ compile-with "${AWK} -f $S/tools/sound/snd_fxdiv_gen.awk -- > snd_fxdiv_gen.h" \ no-obj no-implicit-rule before-depend \ clean "snd_fxdiv_gen.h" miidevs.h optional miibus | mii \ dependency "$S/tools/miidevs2h.awk $S/dev/mii/miidevs" \ compile-with "${AWK} -f $S/tools/miidevs2h.awk $S/dev/mii/miidevs" \ no-obj no-implicit-rule before-depend \ clean "miidevs.h" pccarddevs.h standard \ dependency "$S/tools/pccarddevs2h.awk $S/dev/pccard/pccarddevs" \ compile-with "${AWK} -f $S/tools/pccarddevs2h.awk $S/dev/pccard/pccarddevs" \ no-obj no-implicit-rule before-depend \ clean "pccarddevs.h" teken_state.h optional sc | vt \ dependency "$S/teken/gensequences $S/teken/sequences" \ compile-with "${AWK} -f $S/teken/gensequences $S/teken/sequences > teken_state.h" \ no-obj no-implicit-rule before-depend \ clean "teken_state.h" usbdevs.h optional usb \ dependency "$S/tools/usbdevs2h.awk $S/dev/usb/usbdevs" \ compile-with "${AWK} -f $S/tools/usbdevs2h.awk $S/dev/usb/usbdevs -h" \ no-obj no-implicit-rule before-depend \ clean "usbdevs.h" usbdevs_data.h optional usb \ dependency "$S/tools/usbdevs2h.awk $S/dev/usb/usbdevs" \ compile-with "${AWK} -f $S/tools/usbdevs2h.awk $S/dev/usb/usbdevs -d" \ no-obj no-implicit-rule before-depend \ clean "usbdevs_data.h" cam/cam.c optional scbus cam/cam_compat.c optional scbus cam/cam_periph.c optional scbus cam/cam_queue.c optional scbus cam/cam_sim.c optional scbus cam/cam_xpt.c optional scbus cam/ata/ata_all.c optional scbus cam/ata/ata_xpt.c optional scbus cam/ata/ata_pmp.c optional scbus cam/scsi/scsi_xpt.c optional scbus cam/scsi/scsi_all.c optional scbus cam/scsi/scsi_cd.c optional cd cam/scsi/scsi_ch.c optional ch cam/ata/ata_da.c optional ada | da cam/ctl/ctl.c optional ctl cam/ctl/ctl_backend.c optional ctl cam/ctl/ctl_backend_block.c optional ctl cam/ctl/ctl_backend_ramdisk.c optional ctl cam/ctl/ctl_cmd_table.c optional ctl cam/ctl/ctl_frontend.c optional ctl cam/ctl/ctl_frontend_cam_sim.c optional ctl cam/ctl/ctl_frontend_internal.c optional ctl cam/ctl/ctl_frontend_iscsi.c optional ctl cam/ctl/ctl_scsi_all.c optional ctl cam/ctl/ctl_tpc.c optional ctl cam/ctl/ctl_tpc_local.c optional ctl cam/ctl/ctl_error.c optional ctl cam/ctl/ctl_util.c optional ctl cam/ctl/scsi_ctl.c optional ctl cam/scsi/scsi_da.c optional da cam/scsi/scsi_low.c optional ct | ncv | nsp | stg cam/scsi/scsi_pass.c optional pass cam/scsi/scsi_pt.c optional pt cam/scsi/scsi_sa.c optional sa cam/scsi/scsi_enc.c optional ses cam/scsi/scsi_enc_ses.c optional ses cam/scsi/scsi_enc_safte.c optional ses cam/scsi/scsi_sg.c optional sg cam/scsi/scsi_targ_bh.c optional targbh cam/scsi/scsi_target.c optional targ cam/scsi/smp_all.c optional scbus # shared between zfs and dtrace cddl/compat/opensolaris/kern/opensolaris.c optional zfs compile-with "${ZFS_C}" cddl/compat/opensolaris/kern/opensolaris_cmn_err.c optional zfs compile-with "${ZFS_C}" cddl/compat/opensolaris/kern/opensolaris_kmem.c optional zfs compile-with "${ZFS_C}" cddl/compat/opensolaris/kern/opensolaris_misc.c optional zfs compile-with "${ZFS_C}" cddl/compat/opensolaris/kern/opensolaris_sunddi.c optional zfs compile-with "${ZFS_C}" # zfs specific cddl/compat/opensolaris/kern/opensolaris_acl.c optional zfs compile-with "${ZFS_C}" cddl/compat/opensolaris/kern/opensolaris_dtrace.c optional zfs compile-with "${ZFS_C}" cddl/compat/opensolaris/kern/opensolaris_kobj.c optional zfs compile-with "${ZFS_C}" cddl/compat/opensolaris/kern/opensolaris_kstat.c optional zfs compile-with "${ZFS_C}" cddl/compat/opensolaris/kern/opensolaris_lookup.c optional zfs compile-with "${ZFS_C}" cddl/compat/opensolaris/kern/opensolaris_policy.c optional zfs compile-with "${ZFS_C}" cddl/compat/opensolaris/kern/opensolaris_string.c optional zfs compile-with "${ZFS_C}" cddl/compat/opensolaris/kern/opensolaris_sysevent.c optional zfs compile-with "${ZFS_C}" cddl/compat/opensolaris/kern/opensolaris_taskq.c optional zfs compile-with "${ZFS_C}" cddl/compat/opensolaris/kern/opensolaris_uio.c optional zfs compile-with "${ZFS_C}" cddl/compat/opensolaris/kern/opensolaris_vfs.c optional zfs compile-with "${ZFS_C}" cddl/compat/opensolaris/kern/opensolaris_vm.c optional zfs compile-with "${ZFS_C}" cddl/compat/opensolaris/kern/opensolaris_zone.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/common/acl/acl_common.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/common/avl/avl.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/common/nvpair/fnvpair.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/common/nvpair/nvpair.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/common/nvpair/nvpair_alloc_fixed.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/common/unicode/u8_textprep.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/common/zfs/zfeature_common.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/common/zfs/zfs_comutil.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/common/zfs/zfs_deleg.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/common/zfs/zfs_fletcher.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/common/zfs/zfs_ioctl_compat.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/common/zfs/zfs_namecheck.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/common/zfs/zfs_prop.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/common/zfs/zpool_prop.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/common/zfs/zprop_common.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/gfs.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/vnode.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/blkptr.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/bplist.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/bpobj.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/bptree.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/ddt.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/ddt_zap.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_diff.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_object.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_traverse.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_tx.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_zfetch.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c optional zfs compile-with "${ZFS_C}" \ warning "kernel contains CDDL licensed ZFS filesystem" cddl/contrib/opensolaris/uts/common/fs/zfs/dnode_sync.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_bookmark.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_deadlist.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_deleg.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_destroy.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dir.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_pool.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_prop.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_userhold.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_synctask.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/gzip.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/lz4.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/lzjb.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/metaslab.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/range_tree.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/refcount.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/rrwlock.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/sa.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/sha256.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/spa_config.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/spa_errlog.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/spa_history.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/space_map.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/space_reftree.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/trim_map.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/txg.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/uberblock.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/unique.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_cache.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_file.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_label.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_mirror.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_missing.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_queue.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_raidz.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_root.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/zap.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/zap_leaf.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/zap_micro.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/zfeature.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_acl.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_byteswap.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_debug.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_dir.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_fm.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_fuid.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_log.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_onexit.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_replay.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_rlock.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_sa.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/zio_checksum.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/zio_compress.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/zio_inject.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/zle.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/zrlock.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/os/callb.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/os/fm.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/os/list.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/os/nvpair_alloc_system.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/zmod/adler32.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/zmod/deflate.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/zmod/inffast.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/zmod/inflate.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/zmod/inftrees.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/zmod/opensolaris_crc32.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/zmod/trees.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/zmod/zmod.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/zmod/zmod_subr.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/uts/common/zmod/zutil.c optional zfs compile-with "${ZFS_C}" compat/freebsd32/freebsd32_capability.c optional compat_freebsd32 compat/freebsd32/freebsd32_ioctl.c optional compat_freebsd32 compat/freebsd32/freebsd32_misc.c optional compat_freebsd32 compat/freebsd32/freebsd32_syscalls.c optional compat_freebsd32 compat/freebsd32/freebsd32_sysent.c optional compat_freebsd32 contrib/altq/altq/altq_cbq.c optional altq contrib/altq/altq/altq_cdnr.c optional altq contrib/altq/altq/altq_hfsc.c optional altq contrib/altq/altq/altq_priq.c optional altq contrib/altq/altq/altq_red.c optional altq contrib/altq/altq/altq_rio.c optional altq contrib/altq/altq/altq_rmclass.c optional altq contrib/altq/altq/altq_subr.c optional altq contrib/dev/acpica/common/ahids.c optional acpi acpi_debug contrib/dev/acpica/common/ahuuids.c optional acpi acpi_debug contrib/dev/acpica/components/debugger/dbcmds.c optional acpi acpi_debug contrib/dev/acpica/components/debugger/dbconvert.c optional acpi acpi_debug contrib/dev/acpica/components/debugger/dbdisply.c optional acpi acpi_debug contrib/dev/acpica/components/debugger/dbexec.c optional acpi acpi_debug contrib/dev/acpica/components/debugger/dbfileio.c optional acpi acpi_debug contrib/dev/acpica/components/debugger/dbhistry.c optional acpi acpi_debug contrib/dev/acpica/components/debugger/dbinput.c optional acpi acpi_debug contrib/dev/acpica/components/debugger/dbmethod.c optional acpi acpi_debug contrib/dev/acpica/components/debugger/dbnames.c optional acpi acpi_debug contrib/dev/acpica/components/debugger/dbstats.c optional acpi acpi_debug contrib/dev/acpica/components/debugger/dbtest.c optional acpi acpi_debug contrib/dev/acpica/components/debugger/dbutils.c optional acpi acpi_debug contrib/dev/acpica/components/debugger/dbxface.c optional acpi acpi_debug contrib/dev/acpica/components/disassembler/dmbuffer.c optional acpi acpi_debug contrib/dev/acpica/components/disassembler/dmdeferred.c optional acpi acpi_debug contrib/dev/acpica/components/disassembler/dmnames.c optional acpi acpi_debug contrib/dev/acpica/components/disassembler/dmopcode.c optional acpi acpi_debug contrib/dev/acpica/components/disassembler/dmobject.c optional acpi acpi_debug contrib/dev/acpica/components/disassembler/dmresrc.c optional acpi acpi_debug contrib/dev/acpica/components/disassembler/dmresrcl.c optional acpi acpi_debug contrib/dev/acpica/components/disassembler/dmresrcl2.c optional acpi acpi_debug contrib/dev/acpica/components/disassembler/dmresrcs.c optional acpi acpi_debug contrib/dev/acpica/components/disassembler/dmutils.c optional acpi acpi_debug contrib/dev/acpica/components/disassembler/dmwalk.c optional acpi acpi_debug contrib/dev/acpica/components/dispatcher/dsargs.c optional acpi contrib/dev/acpica/components/dispatcher/dscontrol.c optional acpi contrib/dev/acpica/components/dispatcher/dsfield.c optional acpi contrib/dev/acpica/components/dispatcher/dsinit.c optional acpi contrib/dev/acpica/components/dispatcher/dsmethod.c optional acpi contrib/dev/acpica/components/dispatcher/dsmthdat.c optional acpi contrib/dev/acpica/components/dispatcher/dsobject.c optional acpi contrib/dev/acpica/components/dispatcher/dsopcode.c optional acpi contrib/dev/acpica/components/dispatcher/dsutils.c optional acpi contrib/dev/acpica/components/dispatcher/dswexec.c optional acpi contrib/dev/acpica/components/dispatcher/dswload.c optional acpi contrib/dev/acpica/components/dispatcher/dswload2.c optional acpi contrib/dev/acpica/components/dispatcher/dswscope.c optional acpi contrib/dev/acpica/components/dispatcher/dswstate.c optional acpi contrib/dev/acpica/components/events/evevent.c optional acpi contrib/dev/acpica/components/events/evglock.c optional acpi contrib/dev/acpica/components/events/evgpe.c optional acpi contrib/dev/acpica/components/events/evgpeblk.c optional acpi contrib/dev/acpica/components/events/evgpeinit.c optional acpi contrib/dev/acpica/components/events/evgpeutil.c optional acpi contrib/dev/acpica/components/events/evhandler.c optional acpi contrib/dev/acpica/components/events/evmisc.c optional acpi contrib/dev/acpica/components/events/evregion.c optional acpi contrib/dev/acpica/components/events/evrgnini.c optional acpi contrib/dev/acpica/components/events/evsci.c optional acpi contrib/dev/acpica/components/events/evxface.c optional acpi contrib/dev/acpica/components/events/evxfevnt.c optional acpi contrib/dev/acpica/components/events/evxfgpe.c optional acpi contrib/dev/acpica/components/events/evxfregn.c optional acpi contrib/dev/acpica/components/executer/exconfig.c optional acpi contrib/dev/acpica/components/executer/exconvrt.c optional acpi contrib/dev/acpica/components/executer/excreate.c optional acpi contrib/dev/acpica/components/executer/exdebug.c optional acpi contrib/dev/acpica/components/executer/exdump.c optional acpi contrib/dev/acpica/components/executer/exfield.c optional acpi contrib/dev/acpica/components/executer/exfldio.c optional acpi contrib/dev/acpica/components/executer/exmisc.c optional acpi contrib/dev/acpica/components/executer/exmutex.c optional acpi contrib/dev/acpica/components/executer/exnames.c optional acpi contrib/dev/acpica/components/executer/exoparg1.c optional acpi contrib/dev/acpica/components/executer/exoparg2.c optional acpi contrib/dev/acpica/components/executer/exoparg3.c optional acpi contrib/dev/acpica/components/executer/exoparg6.c optional acpi contrib/dev/acpica/components/executer/exprep.c optional acpi contrib/dev/acpica/components/executer/exregion.c optional acpi contrib/dev/acpica/components/executer/exresnte.c optional acpi contrib/dev/acpica/components/executer/exresolv.c optional acpi contrib/dev/acpica/components/executer/exresop.c optional acpi contrib/dev/acpica/components/executer/exstore.c optional acpi contrib/dev/acpica/components/executer/exstoren.c optional acpi contrib/dev/acpica/components/executer/exstorob.c optional acpi contrib/dev/acpica/components/executer/exsystem.c optional acpi contrib/dev/acpica/components/executer/exutils.c optional acpi contrib/dev/acpica/components/hardware/hwacpi.c optional acpi contrib/dev/acpica/components/hardware/hwesleep.c optional acpi contrib/dev/acpica/components/hardware/hwgpe.c optional acpi contrib/dev/acpica/components/hardware/hwpci.c optional acpi contrib/dev/acpica/components/hardware/hwregs.c optional acpi contrib/dev/acpica/components/hardware/hwsleep.c optional acpi contrib/dev/acpica/components/hardware/hwtimer.c optional acpi contrib/dev/acpica/components/hardware/hwvalid.c optional acpi contrib/dev/acpica/components/hardware/hwxface.c optional acpi contrib/dev/acpica/components/hardware/hwxfsleep.c optional acpi contrib/dev/acpica/components/namespace/nsaccess.c optional acpi contrib/dev/acpica/components/namespace/nsalloc.c optional acpi contrib/dev/acpica/components/namespace/nsarguments.c optional acpi contrib/dev/acpica/components/namespace/nsconvert.c optional acpi contrib/dev/acpica/components/namespace/nsdump.c optional acpi contrib/dev/acpica/components/namespace/nseval.c optional acpi contrib/dev/acpica/components/namespace/nsinit.c optional acpi contrib/dev/acpica/components/namespace/nsload.c optional acpi contrib/dev/acpica/components/namespace/nsnames.c optional acpi contrib/dev/acpica/components/namespace/nsobject.c optional acpi contrib/dev/acpica/components/namespace/nsparse.c optional acpi contrib/dev/acpica/components/namespace/nspredef.c optional acpi contrib/dev/acpica/components/namespace/nsprepkg.c optional acpi contrib/dev/acpica/components/namespace/nsrepair.c optional acpi contrib/dev/acpica/components/namespace/nsrepair2.c optional acpi contrib/dev/acpica/components/namespace/nssearch.c optional acpi contrib/dev/acpica/components/namespace/nsutils.c optional acpi contrib/dev/acpica/components/namespace/nswalk.c optional acpi contrib/dev/acpica/components/namespace/nsxfeval.c optional acpi contrib/dev/acpica/components/namespace/nsxfname.c optional acpi contrib/dev/acpica/components/namespace/nsxfobj.c optional acpi contrib/dev/acpica/components/parser/psargs.c optional acpi contrib/dev/acpica/components/parser/psloop.c optional acpi contrib/dev/acpica/components/parser/psobject.c optional acpi contrib/dev/acpica/components/parser/psopcode.c optional acpi contrib/dev/acpica/components/parser/psopinfo.c optional acpi contrib/dev/acpica/components/parser/psparse.c optional acpi contrib/dev/acpica/components/parser/psscope.c optional acpi contrib/dev/acpica/components/parser/pstree.c optional acpi contrib/dev/acpica/components/parser/psutils.c optional acpi contrib/dev/acpica/components/parser/pswalk.c optional acpi contrib/dev/acpica/components/parser/psxface.c optional acpi contrib/dev/acpica/components/resources/rsaddr.c optional acpi contrib/dev/acpica/components/resources/rscalc.c optional acpi contrib/dev/acpica/components/resources/rscreate.c optional acpi contrib/dev/acpica/components/resources/rsdump.c optional acpi contrib/dev/acpica/components/resources/rsdumpinfo.c optional acpi contrib/dev/acpica/components/resources/rsinfo.c optional acpi contrib/dev/acpica/components/resources/rsio.c optional acpi contrib/dev/acpica/components/resources/rsirq.c optional acpi contrib/dev/acpica/components/resources/rslist.c optional acpi contrib/dev/acpica/components/resources/rsmemory.c optional acpi contrib/dev/acpica/components/resources/rsmisc.c optional acpi contrib/dev/acpica/components/resources/rsserial.c optional acpi contrib/dev/acpica/components/resources/rsutils.c optional acpi contrib/dev/acpica/components/resources/rsxface.c optional acpi contrib/dev/acpica/components/tables/tbdata.c optional acpi contrib/dev/acpica/components/tables/tbfadt.c optional acpi contrib/dev/acpica/components/tables/tbfind.c optional acpi contrib/dev/acpica/components/tables/tbinstal.c optional acpi contrib/dev/acpica/components/tables/tbprint.c optional acpi contrib/dev/acpica/components/tables/tbutils.c optional acpi contrib/dev/acpica/components/tables/tbxface.c optional acpi contrib/dev/acpica/components/tables/tbxfload.c optional acpi contrib/dev/acpica/components/tables/tbxfroot.c optional acpi contrib/dev/acpica/components/utilities/utaddress.c optional acpi contrib/dev/acpica/components/utilities/utalloc.c optional acpi contrib/dev/acpica/components/utilities/utbuffer.c optional acpi contrib/dev/acpica/components/utilities/utcache.c optional acpi contrib/dev/acpica/components/utilities/utcopy.c optional acpi contrib/dev/acpica/components/utilities/utdebug.c optional acpi contrib/dev/acpica/components/utilities/utdecode.c optional acpi contrib/dev/acpica/components/utilities/utdelete.c optional acpi contrib/dev/acpica/components/utilities/uterror.c optional acpi contrib/dev/acpica/components/utilities/uteval.c optional acpi contrib/dev/acpica/components/utilities/utexcep.c optional acpi contrib/dev/acpica/components/utilities/utglobal.c optional acpi contrib/dev/acpica/components/utilities/uthex.c optional acpi contrib/dev/acpica/components/utilities/utids.c optional acpi contrib/dev/acpica/components/utilities/utinit.c optional acpi contrib/dev/acpica/components/utilities/utlock.c optional acpi contrib/dev/acpica/components/utilities/utmath.c optional acpi contrib/dev/acpica/components/utilities/utmisc.c optional acpi contrib/dev/acpica/components/utilities/utmutex.c optional acpi contrib/dev/acpica/components/utilities/utobject.c optional acpi contrib/dev/acpica/components/utilities/utosi.c optional acpi contrib/dev/acpica/components/utilities/utownerid.c optional acpi contrib/dev/acpica/components/utilities/utpredef.c optional acpi contrib/dev/acpica/components/utilities/utresrc.c optional acpi contrib/dev/acpica/components/utilities/utstate.c optional acpi contrib/dev/acpica/components/utilities/utstring.c optional acpi contrib/dev/acpica/components/utilities/utuuid.c optional acpi acpi_debug contrib/dev/acpica/components/utilities/utxface.c optional acpi contrib/dev/acpica/components/utilities/utxferror.c optional acpi contrib/dev/acpica/components/utilities/utxfinit.c optional acpi #contrib/dev/acpica/components/utilities/utxfmutex.c optional acpi contrib/ipfilter/netinet/fil.c optional ipfilter inet \ compile-with "${NORMAL_C} ${NO_WSELF_ASSIGN} -Wno-unused -I$S/contrib/ipfilter" contrib/ipfilter/netinet/ip_auth.c optional ipfilter inet \ compile-with "${NORMAL_C} -Wno-unused -I$S/contrib/ipfilter" contrib/ipfilter/netinet/ip_fil_freebsd.c optional ipfilter inet \ compile-with "${NORMAL_C} -Wno-unused -I$S/contrib/ipfilter" contrib/ipfilter/netinet/ip_frag.c optional ipfilter inet \ compile-with "${NORMAL_C} -Wno-unused -I$S/contrib/ipfilter" contrib/ipfilter/netinet/ip_log.c optional ipfilter inet \ compile-with "${NORMAL_C} -I$S/contrib/ipfilter" contrib/ipfilter/netinet/ip_nat.c optional ipfilter inet \ compile-with "${NORMAL_C} -Wno-unused -I$S/contrib/ipfilter" contrib/ipfilter/netinet/ip_proxy.c optional ipfilter inet \ compile-with "${NORMAL_C} ${NO_WSELF_ASSIGN} -Wno-unused -I$S/contrib/ipfilter" contrib/ipfilter/netinet/ip_state.c optional ipfilter inet \ compile-with "${NORMAL_C} -Wno-unused -I$S/contrib/ipfilter" contrib/ipfilter/netinet/ip_lookup.c optional ipfilter inet \ compile-with "${NORMAL_C} ${NO_WSELF_ASSIGN} -Wno-unused -Wno-error -I$S/contrib/ipfilter" contrib/ipfilter/netinet/ip_pool.c optional ipfilter inet \ compile-with "${NORMAL_C} -Wno-unused -I$S/contrib/ipfilter" contrib/ipfilter/netinet/ip_htable.c optional ipfilter inet \ compile-with "${NORMAL_C} -Wno-unused -I$S/contrib/ipfilter" contrib/ipfilter/netinet/ip_sync.c optional ipfilter inet \ compile-with "${NORMAL_C} -Wno-unused -I$S/contrib/ipfilter" contrib/ipfilter/netinet/mlfk_ipl.c optional ipfilter inet \ compile-with "${NORMAL_C} -I$S/contrib/ipfilter" contrib/ipfilter/netinet/ip_nat6.c optional ipfilter inet \ compile-with "${NORMAL_C} -Wno-unused -I$S/contrib/ipfilter" contrib/ipfilter/netinet/ip_rules.c optional ipfilter inet \ compile-with "${NORMAL_C} -I$S/contrib/ipfilter" contrib/ipfilter/netinet/ip_scan.c optional ipfilter inet \ compile-with "${NORMAL_C} -Wno-unused -I$S/contrib/ipfilter" contrib/ipfilter/netinet/ip_dstlist.c optional ipfilter inet \ compile-with "${NORMAL_C} -Wno-unused -I$S/contrib/ipfilter" contrib/ipfilter/netinet/radix_ipf.c optional ipfilter inet \ compile-with "${NORMAL_C} -I$S/contrib/ipfilter" contrib/libfdt/fdt.c optional fdt contrib/libfdt/fdt_ro.c optional fdt contrib/libfdt/fdt_rw.c optional fdt contrib/libfdt/fdt_strerror.c optional fdt contrib/libfdt/fdt_sw.c optional fdt contrib/libfdt/fdt_wip.c optional fdt contrib/ngatm/netnatm/api/cc_conn.c optional ngatm_ccatm \ compile-with "${NORMAL_C_NOWERROR} -I$S/contrib/ngatm" contrib/ngatm/netnatm/api/cc_data.c optional ngatm_ccatm \ compile-with "${NORMAL_C} -I$S/contrib/ngatm" contrib/ngatm/netnatm/api/cc_dump.c optional ngatm_ccatm \ compile-with "${NORMAL_C} -I$S/contrib/ngatm" contrib/ngatm/netnatm/api/cc_port.c optional ngatm_ccatm \ compile-with "${NORMAL_C} -I$S/contrib/ngatm" contrib/ngatm/netnatm/api/cc_sig.c optional ngatm_ccatm \ compile-with "${NORMAL_C} -I$S/contrib/ngatm" contrib/ngatm/netnatm/api/cc_user.c optional ngatm_ccatm \ compile-with "${NORMAL_C} -I$S/contrib/ngatm" contrib/ngatm/netnatm/api/unisap.c optional ngatm_ccatm \ compile-with "${NORMAL_C} -I$S/contrib/ngatm" contrib/ngatm/netnatm/misc/straddr.c optional ngatm_atmbase \ compile-with "${NORMAL_C} -I$S/contrib/ngatm" contrib/ngatm/netnatm/misc/unimsg_common.c optional ngatm_atmbase \ compile-with "${NORMAL_C} -I$S/contrib/ngatm" contrib/ngatm/netnatm/msg/traffic.c optional ngatm_atmbase \ compile-with "${NORMAL_C} -I$S/contrib/ngatm" contrib/ngatm/netnatm/msg/uni_ie.c optional ngatm_atmbase \ compile-with "${NORMAL_C} -I$S/contrib/ngatm" contrib/ngatm/netnatm/msg/uni_msg.c optional ngatm_atmbase \ compile-with "${NORMAL_C} -I$S/contrib/ngatm" contrib/ngatm/netnatm/saal/saal_sscfu.c optional ngatm_sscfu \ compile-with "${NORMAL_C} -I$S/contrib/ngatm" contrib/ngatm/netnatm/saal/saal_sscop.c optional ngatm_sscop \ compile-with "${NORMAL_C} -I$S/contrib/ngatm" contrib/ngatm/netnatm/sig/sig_call.c optional ngatm_uni \ compile-with "${NORMAL_C} -I$S/contrib/ngatm" contrib/ngatm/netnatm/sig/sig_coord.c optional ngatm_uni \ compile-with "${NORMAL_C} -I$S/contrib/ngatm" contrib/ngatm/netnatm/sig/sig_party.c optional ngatm_uni \ compile-with "${NORMAL_C} -I$S/contrib/ngatm" contrib/ngatm/netnatm/sig/sig_print.c optional ngatm_uni \ compile-with "${NORMAL_C} -I$S/contrib/ngatm" contrib/ngatm/netnatm/sig/sig_reset.c optional ngatm_uni \ compile-with "${NORMAL_C} -I$S/contrib/ngatm" contrib/ngatm/netnatm/sig/sig_uni.c optional ngatm_uni \ compile-with "${NORMAL_C} -I$S/contrib/ngatm" contrib/ngatm/netnatm/sig/sig_unimsgcpy.c optional ngatm_uni \ compile-with "${NORMAL_C} -I$S/contrib/ngatm" contrib/ngatm/netnatm/sig/sig_verify.c optional ngatm_uni \ compile-with "${NORMAL_C} -I$S/contrib/ngatm" crypto/blowfish/bf_ecb.c optional ipsec crypto/blowfish/bf_skey.c optional crypto | ipsec crypto/camellia/camellia.c optional crypto | ipsec crypto/camellia/camellia-api.c optional crypto | ipsec crypto/des/des_ecb.c optional crypto | ipsec | netsmb crypto/des/des_setkey.c optional crypto | ipsec | netsmb crypto/rc4/rc4.c optional netgraph_mppc_encryption | kgssapi crypto/rijndael/rijndael-alg-fst.c optional crypto | geom_bde | \ ipsec | random | wlan_ccmp crypto/rijndael/rijndael-api-fst.c optional geom_bde | random crypto/rijndael/rijndael-api.c optional crypto | ipsec | wlan_ccmp crypto/sha1.c optional carp | crypto | ipsec | \ netgraph_mppc_encryption | sctp crypto/sha2/sha2.c optional crypto | geom_bde | ipsec | random | \ sctp | zfs crypto/sha2/sha256c.c optional crypto | geom_bde | ipsec | random | \ sctp | zfs crypto/siphash/siphash.c optional inet | inet6 crypto/siphash/siphash_test.c optional inet | inet6 ddb/db_access.c optional ddb ddb/db_break.c optional ddb ddb/db_capture.c optional ddb ddb/db_command.c optional ddb ddb/db_examine.c optional ddb ddb/db_expr.c optional ddb ddb/db_input.c optional ddb ddb/db_lex.c optional ddb ddb/db_main.c optional ddb ddb/db_output.c optional ddb ddb/db_print.c optional ddb ddb/db_ps.c optional ddb ddb/db_run.c optional ddb ddb/db_script.c optional ddb ddb/db_sym.c optional ddb ddb/db_thread.c optional ddb ddb/db_textdump.c optional ddb ddb/db_variables.c optional ddb ddb/db_watch.c optional ddb ddb/db_write_cmd.c optional ddb dev/aac/aac.c optional aac dev/aac/aac_cam.c optional aacp aac dev/aac/aac_debug.c optional aac dev/aac/aac_disk.c optional aac dev/aac/aac_linux.c optional aac compat_linux dev/aac/aac_pci.c optional aac pci dev/aacraid/aacraid.c optional aacraid dev/aacraid/aacraid_cam.c optional aacraid scbus dev/aacraid/aacraid_debug.c optional aacraid dev/aacraid/aacraid_linux.c optional aacraid compat_linux dev/aacraid/aacraid_pci.c optional aacraid pci dev/acpi_support/acpi_wmi.c optional acpi_wmi acpi dev/acpi_support/acpi_asus.c optional acpi_asus acpi dev/acpi_support/acpi_asus_wmi.c optional acpi_asus_wmi acpi dev/acpi_support/acpi_fujitsu.c optional acpi_fujitsu acpi dev/acpi_support/acpi_hp.c optional acpi_hp acpi dev/acpi_support/acpi_ibm.c optional acpi_ibm acpi dev/acpi_support/acpi_panasonic.c optional acpi_panasonic acpi dev/acpi_support/acpi_sony.c optional acpi_sony acpi dev/acpi_support/acpi_toshiba.c optional acpi_toshiba acpi dev/acpi_support/atk0110.c optional aibs acpi dev/acpica/Osd/OsdDebug.c optional acpi dev/acpica/Osd/OsdHardware.c optional acpi dev/acpica/Osd/OsdInterrupt.c optional acpi dev/acpica/Osd/OsdMemory.c optional acpi dev/acpica/Osd/OsdSchedule.c optional acpi dev/acpica/Osd/OsdStream.c optional acpi dev/acpica/Osd/OsdSynch.c optional acpi dev/acpica/Osd/OsdTable.c optional acpi dev/acpica/acpi.c optional acpi dev/acpica/acpi_acad.c optional acpi dev/acpica/acpi_battery.c optional acpi dev/acpica/acpi_button.c optional acpi dev/acpica/acpi_cmbat.c optional acpi dev/acpica/acpi_cpu.c optional acpi dev/acpica/acpi_ec.c optional acpi dev/acpica/acpi_hpet.c optional acpi dev/acpica/acpi_isab.c optional acpi isa dev/acpica/acpi_lid.c optional acpi dev/acpica/acpi_package.c optional acpi dev/acpica/acpi_pci.c optional acpi pci dev/acpica/acpi_pci_link.c optional acpi pci dev/acpica/acpi_pcib.c optional acpi pci dev/acpica/acpi_pcib_acpi.c optional acpi pci dev/acpica/acpi_pcib_pci.c optional acpi pci dev/acpica/acpi_perf.c optional acpi dev/acpica/acpi_powerres.c optional acpi dev/acpica/acpi_quirk.c optional acpi dev/acpica/acpi_resource.c optional acpi dev/acpica/acpi_smbat.c optional acpi dev/acpica/acpi_thermal.c optional acpi dev/acpica/acpi_throttle.c optional acpi dev/acpica/acpi_timer.c optional acpi dev/acpica/acpi_video.c optional acpi_video acpi dev/acpica/acpi_dock.c optional acpi_dock acpi dev/adlink/adlink.c optional adlink dev/advansys/adv_eisa.c optional adv eisa dev/advansys/adv_pci.c optional adv pci dev/advansys/advansys.c optional adv dev/advansys/advlib.c optional adv dev/advansys/advmcode.c optional adv dev/advansys/adw_pci.c optional adw pci dev/advansys/adwcam.c optional adw dev/advansys/adwlib.c optional adw dev/advansys/adwmcode.c optional adw dev/ae/if_ae.c optional ae pci dev/age/if_age.c optional age pci dev/agp/agp.c optional agp pci dev/agp/agp_if.m optional agp pci dev/aha/aha.c optional aha dev/aha/aha_isa.c optional aha isa dev/aha/aha_mca.c optional aha mca dev/ahb/ahb.c optional ahb eisa dev/ahci/ahci.c optional ahci dev/ahci/ahciem.c optional ahci dev/ahci/ahci_pci.c optional ahci pci dev/aic/aic.c optional aic dev/aic/aic_pccard.c optional aic pccard dev/aic7xxx/ahc_eisa.c optional ahc eisa dev/aic7xxx/ahc_isa.c optional ahc isa dev/aic7xxx/ahc_pci.c optional ahc pci \ compile-with "${NORMAL_C} ${NO_WCONSTANT_CONVERSION}" dev/aic7xxx/ahd_pci.c optional ahd pci \ compile-with "${NORMAL_C} ${NO_WCONSTANT_CONVERSION}" dev/aic7xxx/aic7770.c optional ahc dev/aic7xxx/aic79xx.c optional ahd pci dev/aic7xxx/aic79xx_osm.c optional ahd pci dev/aic7xxx/aic79xx_pci.c optional ahd pci dev/aic7xxx/aic79xx_reg_print.c optional ahd pci ahd_reg_pretty_print dev/aic7xxx/aic7xxx.c optional ahc dev/aic7xxx/aic7xxx_93cx6.c optional ahc dev/aic7xxx/aic7xxx_osm.c optional ahc dev/aic7xxx/aic7xxx_pci.c optional ahc pci dev/aic7xxx/aic7xxx_reg_print.c optional ahc ahc_reg_pretty_print dev/alc/if_alc.c optional alc pci dev/ale/if_ale.c optional ale pci dev/alpm/alpm.c optional alpm pci dev/altera/avgen/altera_avgen.c optional altera_avgen dev/altera/avgen/altera_avgen_fdt.c optional altera_avgen fdt dev/altera/avgen/altera_avgen_nexus.c optional altera_avgen dev/altera/sdcard/altera_sdcard.c optional altera_sdcard dev/altera/sdcard/altera_sdcard_disk.c optional altera_sdcard dev/altera/sdcard/altera_sdcard_io.c optional altera_sdcard dev/altera/sdcard/altera_sdcard_fdt.c optional altera_sdcard fdt dev/altera/sdcard/altera_sdcard_nexus.c optional altera_sdcard dev/altera/pio/pio.c optional altera_pio dev/altera/pio/pio_if.m optional altera_pio dev/amdpm/amdpm.c optional amdpm pci | nfpm pci dev/amdsmb/amdsmb.c optional amdsmb pci dev/amr/amr.c optional amr dev/amr/amr_cam.c optional amrp amr dev/amr/amr_disk.c optional amr dev/amr/amr_linux.c optional amr compat_linux dev/amr/amr_pci.c optional amr pci dev/an/if_an.c optional an dev/an/if_an_isa.c optional an isa dev/an/if_an_pccard.c optional an pccard dev/an/if_an_pci.c optional an pci -dev/asr/asr.c optional asr pci \ - compile-with "${NORMAL_C} ${NO_WARRAY_BOUNDS}" # dev/ata/ata_if.m optional ata | atacore dev/ata/ata-all.c optional ata | atacore dev/ata/ata-dma.c optional ata | atacore dev/ata/ata-lowlevel.c optional ata | atacore dev/ata/ata-sata.c optional ata | atacore dev/ata/ata-card.c optional ata pccard | atapccard dev/ata/ata-cbus.c optional ata pc98 | atapc98 dev/ata/ata-isa.c optional ata isa | ataisa dev/ata/ata-pci.c optional ata pci | atapci dev/ata/chipsets/ata-ahci.c optional ata pci | ataahci | ataacerlabs | \ ataati | ataintel | atajmicron | \ atavia | atanvidia dev/ata/chipsets/ata-acard.c optional ata pci | ataacard dev/ata/chipsets/ata-acerlabs.c optional ata pci | ataacerlabs dev/ata/chipsets/ata-adaptec.c optional ata pci | ataadaptec dev/ata/chipsets/ata-amd.c optional ata pci | ataamd dev/ata/chipsets/ata-ati.c optional ata pci | ataati dev/ata/chipsets/ata-cenatek.c optional ata pci | atacenatek dev/ata/chipsets/ata-cypress.c optional ata pci | atacypress dev/ata/chipsets/ata-cyrix.c optional ata pci | atacyrix dev/ata/chipsets/ata-highpoint.c optional ata pci | atahighpoint dev/ata/chipsets/ata-intel.c optional ata pci | ataintel dev/ata/chipsets/ata-ite.c optional ata pci | ataite dev/ata/chipsets/ata-jmicron.c optional ata pci | atajmicron dev/ata/chipsets/ata-marvell.c optional ata pci | atamarvell | ataadaptec dev/ata/chipsets/ata-micron.c optional ata pci | atamicron dev/ata/chipsets/ata-national.c optional ata pci | atanational dev/ata/chipsets/ata-netcell.c optional ata pci | atanetcell dev/ata/chipsets/ata-nvidia.c optional ata pci | atanvidia dev/ata/chipsets/ata-promise.c optional ata pci | atapromise dev/ata/chipsets/ata-serverworks.c optional ata pci | ataserverworks dev/ata/chipsets/ata-siliconimage.c optional ata pci | atasiliconimage | ataati dev/ata/chipsets/ata-sis.c optional ata pci | atasis dev/ata/chipsets/ata-via.c optional ata pci | atavia # dev/ath/if_ath_pci.c optional ath_pci pci \ compile-with "${NORMAL_C} -I$S/dev/ath" # dev/ath/if_ath_ahb.c optional ath_ahb \ compile-with "${NORMAL_C} -I$S/dev/ath" # dev/ath/if_ath.c optional ath \ compile-with "${NORMAL_C} -I$S/dev/ath" dev/ath/if_ath_alq.c optional ath \ compile-with "${NORMAL_C} -I$S/dev/ath" dev/ath/if_ath_beacon.c optional ath \ compile-with "${NORMAL_C} -I$S/dev/ath" dev/ath/if_ath_btcoex.c optional ath \ compile-with "${NORMAL_C} -I$S/dev/ath" dev/ath/if_ath_debug.c optional ath \ compile-with "${NORMAL_C} -I$S/dev/ath" dev/ath/if_ath_keycache.c optional ath \ compile-with "${NORMAL_C} -I$S/dev/ath" dev/ath/if_ath_led.c optional ath \ compile-with "${NORMAL_C} -I$S/dev/ath" dev/ath/if_ath_lna_div.c optional ath \ compile-with "${NORMAL_C} -I$S/dev/ath" dev/ath/if_ath_tx.c optional ath \ compile-with "${NORMAL_C} -I$S/dev/ath" dev/ath/if_ath_tx_edma.c optional ath \ compile-with "${NORMAL_C} -I$S/dev/ath" dev/ath/if_ath_tx_ht.c optional ath \ compile-with "${NORMAL_C} -I$S/dev/ath" dev/ath/if_ath_tdma.c optional ath \ compile-with "${NORMAL_C} -I$S/dev/ath" dev/ath/if_ath_sysctl.c optional ath \ compile-with "${NORMAL_C} -I$S/dev/ath" dev/ath/if_ath_rx.c optional ath \ compile-with "${NORMAL_C} -I$S/dev/ath" dev/ath/if_ath_rx_edma.c optional ath \ compile-with "${NORMAL_C} -I$S/dev/ath" dev/ath/if_ath_spectral.c optional ath \ compile-with "${NORMAL_C} -I$S/dev/ath" dev/ath/ah_osdep.c optional ath \ compile-with "${NORMAL_C} -I$S/dev/ath" # dev/ath/ath_hal/ah.c optional ath \ compile-with "${NORMAL_C} -I$S/dev/ath" dev/ath/ath_hal/ah_eeprom_v1.c optional ath_hal | ath_ar5210 \ compile-with "${NORMAL_C} -I$S/dev/ath" dev/ath/ath_hal/ah_eeprom_v3.c optional ath_hal | ath_ar5211 | ath_ar5212 \ compile-with "${NORMAL_C} -I$S/dev/ath" dev/ath/ath_hal/ah_eeprom_v14.c \ optional ath_hal | ath_ar5416 | ath_ar9160 | ath_ar9280 \ compile-with "${NORMAL_C} -I$S/dev/ath" dev/ath/ath_hal/ah_eeprom_v4k.c \ optional ath_hal | ath_ar9285 \ compile-with "${NORMAL_C} -I$S/dev/ath" dev/ath/ath_hal/ah_eeprom_9287.c \ optional ath_hal | ath_ar9287 \ compile-with "${NORMAL_C} -I$S/dev/ath" dev/ath/ath_hal/ah_regdomain.c optional ath \ compile-with "${NORMAL_C} ${NO_WSHIFT_COUNT_NEGATIVE} ${NO_WSHIFT_COUNT_OVERFLOW} -I$S/dev/ath" # ar5210 dev/ath/ath_hal/ar5210/ar5210_attach.c optional ath_hal | ath_ar5210 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" dev/ath/ath_hal/ar5210/ar5210_beacon.c optional ath_hal | ath_ar5210 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" dev/ath/ath_hal/ar5210/ar5210_interrupts.c optional ath_hal | ath_ar5210 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" dev/ath/ath_hal/ar5210/ar5210_keycache.c optional ath_hal | ath_ar5210 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" dev/ath/ath_hal/ar5210/ar5210_misc.c optional ath_hal | ath_ar5210 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" dev/ath/ath_hal/ar5210/ar5210_phy.c optional ath_hal | ath_ar5210 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" dev/ath/ath_hal/ar5210/ar5210_power.c optional ath_hal | ath_ar5210 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" dev/ath/ath_hal/ar5210/ar5210_recv.c optional ath_hal | ath_ar5210 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" dev/ath/ath_hal/ar5210/ar5210_reset.c optional ath_hal | ath_ar5210 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" dev/ath/ath_hal/ar5210/ar5210_xmit.c optional ath_hal | ath_ar5210 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" # ar5211 dev/ath/ath_hal/ar5211/ar5211_attach.c optional ath_hal | ath_ar5211 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" dev/ath/ath_hal/ar5211/ar5211_beacon.c optional ath_hal | ath_ar5211 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" dev/ath/ath_hal/ar5211/ar5211_interrupts.c optional ath_hal | ath_ar5211 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" dev/ath/ath_hal/ar5211/ar5211_keycache.c optional ath_hal | ath_ar5211 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" dev/ath/ath_hal/ar5211/ar5211_misc.c optional ath_hal | ath_ar5211 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" dev/ath/ath_hal/ar5211/ar5211_phy.c optional ath_hal | ath_ar5211 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" dev/ath/ath_hal/ar5211/ar5211_power.c optional ath_hal | ath_ar5211 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" dev/ath/ath_hal/ar5211/ar5211_recv.c optional ath_hal | ath_ar5211 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" dev/ath/ath_hal/ar5211/ar5211_reset.c optional ath_hal | ath_ar5211 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" dev/ath/ath_hal/ar5211/ar5211_xmit.c optional ath_hal | ath_ar5211 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" # ar5212 dev/ath/ath_hal/ar5212/ar5212_ani.c \ optional ath_hal | ath_ar5212 | ath_ar5416 | ath_ar9160 | ath_ar9280 | \ ath_ar9285 ath_ar9287 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" dev/ath/ath_hal/ar5212/ar5212_attach.c \ optional ath_hal | ath_ar5212 | ath_ar5416 | ath_ar9160 | ath_ar9280 | \ ath_ar9285 ath_ar9287 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" dev/ath/ath_hal/ar5212/ar5212_beacon.c \ optional ath_hal | ath_ar5212 | ath_ar5416 | ath_ar9160 | ath_ar9280 | \ ath_ar9285 ath_ar9287 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" dev/ath/ath_hal/ar5212/ar5212_eeprom.c \ optional ath_hal | ath_ar5212 | ath_ar5416 | ath_ar9160 | ath_ar9280 | \ ath_ar9285 ath_ar9287 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" dev/ath/ath_hal/ar5212/ar5212_gpio.c \ optional ath_hal | ath_ar5212 | ath_ar5416 | ath_ar9160 | ath_ar9280 | \ ath_ar9285 ath_ar9287 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" dev/ath/ath_hal/ar5212/ar5212_interrupts.c \ optional ath_hal | ath_ar5212 | ath_ar5416 | ath_ar9160 | ath_ar9280 | \ ath_ar9285 ath_ar9287 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" dev/ath/ath_hal/ar5212/ar5212_keycache.c \ optional ath_hal | ath_ar5212 | ath_ar5416 | ath_ar9160 | ath_ar9280 | \ ath_ar9285 ath_ar9287 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" dev/ath/ath_hal/ar5212/ar5212_misc.c \ optional ath_hal | ath_ar5212 | ath_ar5416 | ath_ar9160 | ath_ar9280 | \ ath_ar9285 ath_ar9287 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" dev/ath/ath_hal/ar5212/ar5212_phy.c \ optional ath_hal | ath_ar5212 | ath_ar5416 | ath_ar9160 | ath_ar9280 | \ ath_ar9285 ath_ar9287 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" dev/ath/ath_hal/ar5212/ar5212_power.c \ optional ath_hal | ath_ar5212 | ath_ar5416 | ath_ar9160 | ath_ar9280 | \ ath_ar9285 ath_ar9287 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" dev/ath/ath_hal/ar5212/ar5212_recv.c \ optional ath_hal | ath_ar5212 | ath_ar5416 | ath_ar9160 | ath_ar9280 | \ ath_ar9285 ath_ar9287 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" dev/ath/ath_hal/ar5212/ar5212_reset.c \ optional ath_hal | ath_ar5212 | ath_ar5416 | ath_ar9160 | ath_ar9280 | \ ath_ar9285 ath_ar9287 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" dev/ath/ath_hal/ar5212/ar5212_rfgain.c \ optional ath_hal | ath_ar5212 | ath_ar5416 | ath_ar9160 | ath_ar9280 | \ ath_ar9285 ath_ar9287 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" dev/ath/ath_hal/ar5212/ar5212_xmit.c \ optional ath_hal | ath_ar5212 | ath_ar5416 | ath_ar9160 | ath_ar9280 | \ ath_ar9285 ath_ar9287 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" # ar5416 (depends on ar5212) dev/ath/ath_hal/ar5416/ar5416_ani.c \ optional ath_hal | ath_ar5416 | ath_ar9160 | ath_ar9280 | ath_ar9285 | \ ath_ar9287 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" dev/ath/ath_hal/ar5416/ar5416_attach.c \ optional ath_hal | ath_ar5416 | ath_ar9160 | ath_ar9280 | ath_ar9285 | \ ath_ar9287 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" dev/ath/ath_hal/ar5416/ar5416_beacon.c \ optional ath_hal | ath_ar5416 | ath_ar9160 | ath_ar9280 | ath_ar9285 | \ ath_ar9287 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" dev/ath/ath_hal/ar5416/ar5416_btcoex.c \ optional ath_hal | ath_ar5416 | ath_ar9160 | ath_ar9280 | ath_ar9285 | \ ath_ar9287 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" dev/ath/ath_hal/ar5416/ar5416_cal.c \ optional ath_hal | ath_ar5416 | ath_ar9160 | ath_ar9280 | ath_ar9285 | \ ath_ar9287 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" dev/ath/ath_hal/ar5416/ar5416_cal_iq.c \ optional ath_hal | ath_ar5416 | ath_ar9160 | ath_ar9280 | ath_ar9285 | \ ath_ar9287 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" dev/ath/ath_hal/ar5416/ar5416_cal_adcgain.c \ optional ath_hal | ath_ar5416 | ath_ar9160 | ath_ar9280 | ath_ar9285 | \ ath_ar9287 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" dev/ath/ath_hal/ar5416/ar5416_cal_adcdc.c \ optional ath_hal | ath_ar5416 | ath_ar9160 | ath_ar9280 | ath_ar9285 | \ ath_ar9287 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" dev/ath/ath_hal/ar5416/ar5416_eeprom.c \ optional ath_hal | ath_ar5416 | ath_ar9160 | ath_ar9280 | ath_ar9285 | \ ath_ar9287 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" dev/ath/ath_hal/ar5416/ar5416_gpio.c \ optional ath_hal | ath_ar5416 | ath_ar9160 | ath_ar9280 | ath_ar9285 | \ ath_ar9287 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" dev/ath/ath_hal/ar5416/ar5416_interrupts.c \ optional ath_hal | ath_ar5416 | ath_ar9160 | ath_ar9280 | ath_ar9285 | \ ath_ar9287 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" dev/ath/ath_hal/ar5416/ar5416_keycache.c \ optional ath_hal | ath_ar5416 | ath_ar9160 | ath_ar9280 | ath_ar9285 | \ ath_ar9287 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" dev/ath/ath_hal/ar5416/ar5416_misc.c \ optional ath_hal | ath_ar5416 | ath_ar9160 | ath_ar9280 | ath_ar9285 | \ ath_ar9287 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" dev/ath/ath_hal/ar5416/ar5416_phy.c \ optional ath_hal | ath_ar5416 | ath_ar9160 | ath_ar9280 | ath_ar9285 | \ ath_ar9287 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" dev/ath/ath_hal/ar5416/ar5416_power.c \ optional ath_hal | ath_ar5416 | ath_ar9160 | ath_ar9280 | ath_ar9285 | \ ath_ar9287 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" dev/ath/ath_hal/ar5416/ar5416_radar.c \ optional ath_hal | ath_ar5416 | ath_ar9160 | ath_ar9280 | ath_ar9285 | \ ath_ar9287 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" dev/ath/ath_hal/ar5416/ar5416_recv.c \ optional ath_hal | ath_ar5416 | ath_ar9160 | ath_ar9280 | ath_ar9285 | \ ath_ar9287 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" dev/ath/ath_hal/ar5416/ar5416_reset.c \ optional ath_hal | ath_ar5416 | ath_ar9160 | ath_ar9280 | ath_ar9285 | \ ath_ar9287 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" dev/ath/ath_hal/ar5416/ar5416_spectral.c \ optional ath_hal | ath_ar5416 | ath_ar9160 | ath_ar9280 | ath_ar9285 | \ ath_ar9287 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" dev/ath/ath_hal/ar5416/ar5416_xmit.c \ optional ath_hal | ath_ar5416 | ath_ar9160 | ath_ar9280 | ath_ar9285 | \ ath_ar9287 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" # ar9130 (depends upon ar5416) - also requires AH_SUPPORT_AR9130 # # Since this is an embedded MAC SoC, there's no need to compile it into the # default HAL. dev/ath/ath_hal/ar9001/ar9130_attach.c optional ath_ar9130 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" dev/ath/ath_hal/ar9001/ar9130_phy.c optional ath_ar9130 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" dev/ath/ath_hal/ar9001/ar9130_eeprom.c optional ath_ar9130 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" # ar9160 (depends on ar5416) dev/ath/ath_hal/ar9001/ar9160_attach.c optional ath_hal | ath_ar9160 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" # ar9280 (depends on ar5416) dev/ath/ath_hal/ar9002/ar9280_attach.c optional ath_hal | ath_ar9280 | \ ath_ar9285 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" dev/ath/ath_hal/ar9002/ar9280_olc.c optional ath_hal | ath_ar9280 | \ ath_ar9285 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" # ar9285 (depends on ar5416 and ar9280) dev/ath/ath_hal/ar9002/ar9285_attach.c optional ath_hal | ath_ar9285 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" dev/ath/ath_hal/ar9002/ar9285_btcoex.c optional ath_hal | ath_ar9285 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" dev/ath/ath_hal/ar9002/ar9285_reset.c optional ath_hal | ath_ar9285 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" dev/ath/ath_hal/ar9002/ar9285_cal.c optional ath_hal | ath_ar9285 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" dev/ath/ath_hal/ar9002/ar9285_phy.c optional ath_hal | ath_ar9285 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" dev/ath/ath_hal/ar9002/ar9285_diversity.c optional ath_hal | ath_ar9285 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" # ar9287 (depends on ar5416) dev/ath/ath_hal/ar9002/ar9287_attach.c optional ath_hal | ath_ar9287 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" dev/ath/ath_hal/ar9002/ar9287_reset.c optional ath_hal | ath_ar9287 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" dev/ath/ath_hal/ar9002/ar9287_cal.c optional ath_hal | ath_ar9287 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" dev/ath/ath_hal/ar9002/ar9287_olc.c optional ath_hal | ath_ar9287 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" # ar9300 contrib/dev/ath/ath_hal/ar9300/ar9300_ani.c optional ath_hal | ath_ar9300 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal -I$S/contrib/dev/ath/ath_hal" contrib/dev/ath/ath_hal/ar9300/ar9300_attach.c optional ath_hal | ath_ar9300 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal -I$S/contrib/dev/ath/ath_hal" contrib/dev/ath/ath_hal/ar9300/ar9300_beacon.c optional ath_hal | ath_ar9300 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal -I$S/contrib/dev/ath/ath_hal" contrib/dev/ath/ath_hal/ar9300/ar9300_eeprom.c optional ath_hal | ath_ar9300 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal -I$S/contrib/dev/ath/ath_hal ${NO_WCONSTANT_CONVERSION}" contrib/dev/ath/ath_hal/ar9300/ar9300_freebsd.c optional ath_hal | ath_ar9300 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal -I$S/contrib/dev/ath/ath_hal" contrib/dev/ath/ath_hal/ar9300/ar9300_gpio.c optional ath_hal | ath_ar9300 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal -I$S/contrib/dev/ath/ath_hal" contrib/dev/ath/ath_hal/ar9300/ar9300_interrupts.c optional ath_hal | ath_ar9300 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal -I$S/contrib/dev/ath/ath_hal" contrib/dev/ath/ath_hal/ar9300/ar9300_keycache.c optional ath_hal | ath_ar9300 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal -I$S/contrib/dev/ath/ath_hal" contrib/dev/ath/ath_hal/ar9300/ar9300_mci.c optional ath_hal | ath_ar9300 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal -I$S/contrib/dev/ath/ath_hal" contrib/dev/ath/ath_hal/ar9300/ar9300_misc.c optional ath_hal | ath_ar9300 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal -I$S/contrib/dev/ath/ath_hal" contrib/dev/ath/ath_hal/ar9300/ar9300_paprd.c optional ath_hal | ath_ar9300 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal -I$S/contrib/dev/ath/ath_hal" contrib/dev/ath/ath_hal/ar9300/ar9300_phy.c optional ath_hal | ath_ar9300 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal -I$S/contrib/dev/ath/ath_hal" contrib/dev/ath/ath_hal/ar9300/ar9300_power.c optional ath_hal | ath_ar9300 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal -I$S/contrib/dev/ath/ath_hal" contrib/dev/ath/ath_hal/ar9300/ar9300_radar.c optional ath_hal | ath_ar9300 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal -I$S/contrib/dev/ath/ath_hal" contrib/dev/ath/ath_hal/ar9300/ar9300_radio.c optional ath_hal | ath_ar9300 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal -I$S/contrib/dev/ath/ath_hal" contrib/dev/ath/ath_hal/ar9300/ar9300_recv.c optional ath_hal | ath_ar9300 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal -I$S/contrib/dev/ath/ath_hal" contrib/dev/ath/ath_hal/ar9300/ar9300_recv_ds.c optional ath_hal | ath_ar9300 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal -I$S/contrib/dev/ath/ath_hal" contrib/dev/ath/ath_hal/ar9300/ar9300_reset.c optional ath_hal | ath_ar9300 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal -I$S/contrib/dev/ath/ath_hal ${NO_WSOMETIMES_UNINITIALIZED} -Wno-unused-function" contrib/dev/ath/ath_hal/ar9300/ar9300_stub.c optional ath_hal | ath_ar9300 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal -I$S/contrib/dev/ath/ath_hal" contrib/dev/ath/ath_hal/ar9300/ar9300_stub_funcs.c optional ath_hal | ath_ar9300 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal -I$S/contrib/dev/ath/ath_hal" contrib/dev/ath/ath_hal/ar9300/ar9300_timer.c optional ath_hal | ath_ar9300 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal -I$S/contrib/dev/ath/ath_hal" contrib/dev/ath/ath_hal/ar9300/ar9300_xmit.c optional ath_hal | ath_ar9300 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal -I$S/contrib/dev/ath/ath_hal" contrib/dev/ath/ath_hal/ar9300/ar9300_xmit_ds.c optional ath_hal | ath_ar9300 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal -I$S/contrib/dev/ath/ath_hal" # rf backends dev/ath/ath_hal/ar5212/ar2316.c optional ath_rf2316 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" dev/ath/ath_hal/ar5212/ar2317.c optional ath_rf2317 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" dev/ath/ath_hal/ar5212/ar2413.c optional ath_hal | ath_rf2413 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" dev/ath/ath_hal/ar5212/ar2425.c optional ath_hal | ath_rf2425 | ath_rf2417 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" dev/ath/ath_hal/ar5212/ar5111.c optional ath_hal | ath_rf5111 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" dev/ath/ath_hal/ar5212/ar5112.c optional ath_hal | ath_rf5112 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" dev/ath/ath_hal/ar5212/ar5413.c optional ath_hal | ath_rf5413 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" dev/ath/ath_hal/ar5416/ar2133.c optional ath_hal | ath_ar5416 | \ ath_ar9130 | ath_ar9160 | ath_ar9280 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" dev/ath/ath_hal/ar9002/ar9280.c optional ath_hal | ath_ar9280 | ath_ar9285 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" dev/ath/ath_hal/ar9002/ar9285.c optional ath_hal | ath_ar9285 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" dev/ath/ath_hal/ar9002/ar9287.c optional ath_hal | ath_ar9287 \ compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" # ath rate control algorithms dev/ath/ath_rate/amrr/amrr.c optional ath_rate_amrr \ compile-with "${NORMAL_C} -I$S/dev/ath" dev/ath/ath_rate/onoe/onoe.c optional ath_rate_onoe \ compile-with "${NORMAL_C} -I$S/dev/ath" dev/ath/ath_rate/sample/sample.c optional ath_rate_sample \ compile-with "${NORMAL_C} -I$S/dev/ath" # ath DFS modules dev/ath/ath_dfs/null/dfs_null.c optional ath \ compile-with "${NORMAL_C} -I$S/dev/ath" # dev/bce/if_bce.c optional bce dev/bfe/if_bfe.c optional bfe dev/bge/if_bge.c optional bge dev/bktr/bktr_audio.c optional bktr pci dev/bktr/bktr_card.c optional bktr pci dev/bktr/bktr_core.c optional bktr pci dev/bktr/bktr_i2c.c optional bktr pci smbus dev/bktr/bktr_os.c optional bktr pci dev/bktr/bktr_tuner.c optional bktr pci dev/bktr/msp34xx.c optional bktr pci dev/buslogic/bt.c optional bt dev/buslogic/bt_eisa.c optional bt eisa dev/buslogic/bt_isa.c optional bt isa dev/buslogic/bt_mca.c optional bt mca dev/buslogic/bt_pci.c optional bt pci dev/bwi/bwimac.c optional bwi dev/bwi/bwiphy.c optional bwi dev/bwi/bwirf.c optional bwi dev/bwi/if_bwi.c optional bwi dev/bwi/if_bwi_pci.c optional bwi pci # XXX Work around clang warning, until maintainer approves fix. dev/bwn/if_bwn.c optional bwn siba_bwn \ compile-with "${NORMAL_C} ${NO_WSOMETIMES_UNINITIALIZED}" dev/cardbus/cardbus.c optional cardbus dev/cardbus/cardbus_cis.c optional cardbus dev/cardbus/cardbus_device.c optional cardbus dev/cas/if_cas.c optional cas dev/cfi/cfi_bus_fdt.c optional cfi fdt dev/cfi/cfi_bus_nexus.c optional cfi dev/cfi/cfi_core.c optional cfi dev/cfi/cfi_dev.c optional cfi dev/cfi/cfi_disk.c optional cfid dev/ciss/ciss.c optional ciss dev/cm/smc90cx6.c optional cm dev/cmx/cmx.c optional cmx dev/cmx/cmx_pccard.c optional cmx pccard dev/cpufreq/ichss.c optional cpufreq dev/cs/if_cs.c optional cs dev/cs/if_cs_isa.c optional cs isa dev/cs/if_cs_pccard.c optional cs pccard dev/cxgb/cxgb_main.c optional cxgb pci \ compile-with "${NORMAL_C} -I$S/dev/cxgb" dev/cxgb/cxgb_sge.c optional cxgb pci \ compile-with "${NORMAL_C} -I$S/dev/cxgb" dev/cxgb/common/cxgb_mc5.c optional cxgb pci \ compile-with "${NORMAL_C} -I$S/dev/cxgb" dev/cxgb/common/cxgb_vsc7323.c optional cxgb pci \ compile-with "${NORMAL_C} -I$S/dev/cxgb" dev/cxgb/common/cxgb_vsc8211.c optional cxgb pci \ compile-with "${NORMAL_C} -I$S/dev/cxgb" dev/cxgb/common/cxgb_ael1002.c optional cxgb pci \ compile-with "${NORMAL_C} -I$S/dev/cxgb" dev/cxgb/common/cxgb_aq100x.c optional cxgb pci \ compile-with "${NORMAL_C} -I$S/dev/cxgb" dev/cxgb/common/cxgb_mv88e1xxx.c optional cxgb pci \ compile-with "${NORMAL_C} -I$S/dev/cxgb" dev/cxgb/common/cxgb_xgmac.c optional cxgb pci \ compile-with "${NORMAL_C} -I$S/dev/cxgb" dev/cxgb/common/cxgb_t3_hw.c optional cxgb pci \ compile-with "${NORMAL_C} -I$S/dev/cxgb" dev/cxgb/common/cxgb_tn1010.c optional cxgb pci \ compile-with "${NORMAL_C} -I$S/dev/cxgb" dev/cxgb/sys/uipc_mvec.c optional cxgb pci \ compile-with "${NORMAL_C} -I$S/dev/cxgb" dev/cxgb/cxgb_t3fw.c optional cxgb cxgb_t3fw \ compile-with "${NORMAL_C} -I$S/dev/cxgb" dev/cxgbe/t4_mp_ring.c optional cxgbe pci \ compile-with "${NORMAL_C} -I$S/dev/cxgbe" dev/cxgbe/t4_main.c optional cxgbe pci \ compile-with "${NORMAL_C} -I$S/dev/cxgbe" dev/cxgbe/t4_netmap.c optional cxgbe pci \ compile-with "${NORMAL_C} -I$S/dev/cxgbe" dev/cxgbe/t4_sge.c optional cxgbe pci \ compile-with "${NORMAL_C} -I$S/dev/cxgbe" dev/cxgbe/t4_l2t.c optional cxgbe pci \ compile-with "${NORMAL_C} -I$S/dev/cxgbe" dev/cxgbe/t4_tracer.c optional cxgbe pci \ compile-with "${NORMAL_C} -I$S/dev/cxgbe" dev/cxgbe/common/t4_hw.c optional cxgbe pci \ compile-with "${NORMAL_C} -I$S/dev/cxgbe" t4fw_cfg.c optional cxgbe \ compile-with "${AWK} -f $S/tools/fw_stub.awk t4fw_cfg.fw:t4fw_cfg t4fw_cfg_uwire.fw:t4fw_cfg_uwire t4fw.fw:t4fw -mt4fw_cfg -c${.TARGET}" \ no-implicit-rule before-depend local \ clean "t4fw_cfg.c" t4fw_cfg.fwo optional cxgbe \ dependency "t4fw_cfg.fw" \ compile-with "${NORMAL_FWO}" \ no-implicit-rule \ clean "t4fw_cfg.fwo" t4fw_cfg.fw optional cxgbe \ dependency "$S/dev/cxgbe/firmware/t4fw_cfg.txt" \ compile-with "${CP} ${.ALLSRC} ${.TARGET}" \ no-obj no-implicit-rule \ clean "t4fw_cfg.fw" t4fw_cfg_uwire.fwo optional cxgbe \ dependency "t4fw_cfg_uwire.fw" \ compile-with "${NORMAL_FWO}" \ no-implicit-rule \ clean "t4fw_cfg_uwire.fwo" t4fw_cfg_uwire.fw optional cxgbe \ dependency "$S/dev/cxgbe/firmware/t4fw_cfg_uwire.txt" \ compile-with "${CP} ${.ALLSRC} ${.TARGET}" \ no-obj no-implicit-rule \ clean "t4fw_cfg_uwire.fw" t4fw.fwo optional cxgbe \ dependency "t4fw.fw" \ compile-with "${NORMAL_FWO}" \ no-implicit-rule \ clean "t4fw.fwo" t4fw.fw optional cxgbe \ dependency "$S/dev/cxgbe/firmware/t4fw-1.11.27.0.bin.uu" \ compile-with "${NORMAL_FW}" \ no-obj no-implicit-rule \ clean "t4fw.fw" t5fw_cfg.c optional cxgbe \ compile-with "${AWK} -f $S/tools/fw_stub.awk t5fw_cfg.fw:t5fw_cfg t5fw.fw:t5fw -mt5fw_cfg -c${.TARGET}" \ no-implicit-rule before-depend local \ clean "t5fw_cfg.c" t5fw_cfg.fwo optional cxgbe \ dependency "t5fw_cfg.fw" \ compile-with "${NORMAL_FWO}" \ no-implicit-rule \ clean "t5fw_cfg.fwo" t5fw_cfg.fw optional cxgbe \ dependency "$S/dev/cxgbe/firmware/t5fw_cfg.txt" \ compile-with "${CP} ${.ALLSRC} ${.TARGET}" \ no-obj no-implicit-rule \ clean "t5fw_cfg.fw" t5fw.fwo optional cxgbe \ dependency "t5fw.fw" \ compile-with "${NORMAL_FWO}" \ no-implicit-rule \ clean "t5fw.fwo" t5fw.fw optional cxgbe \ dependency "$S/dev/cxgbe/firmware/t5fw-1.11.27.0.bin.uu" \ compile-with "${NORMAL_FW}" \ no-obj no-implicit-rule \ clean "t5fw.fw" dev/cy/cy.c optional cy dev/cy/cy_isa.c optional cy isa dev/cy/cy_pci.c optional cy pci dev/dc/if_dc.c optional dc pci dev/dc/dcphy.c optional dc pci dev/dc/pnphy.c optional dc pci dev/dcons/dcons.c optional dcons dev/dcons/dcons_crom.c optional dcons_crom dev/dcons/dcons_os.c optional dcons dev/de/if_de.c optional de pci dev/digi/CX.c optional digi_CX dev/digi/CX_PCI.c optional digi_CX_PCI dev/digi/EPCX.c optional digi_EPCX dev/digi/EPCX_PCI.c optional digi_EPCX_PCI dev/digi/Xe.c optional digi_Xe dev/digi/Xem.c optional digi_Xem dev/digi/Xr.c optional digi_Xr dev/digi/digi.c optional digi dev/digi/digi_isa.c optional digi isa dev/digi/digi_pci.c optional digi pci dev/dpt/dpt_eisa.c optional dpt eisa dev/dpt/dpt_pci.c optional dpt pci dev/dpt/dpt_scsi.c optional dpt dev/drm/ati_pcigart.c optional drm dev/drm/drm_agpsupport.c optional drm dev/drm/drm_auth.c optional drm dev/drm/drm_bufs.c optional drm dev/drm/drm_context.c optional drm dev/drm/drm_dma.c optional drm dev/drm/drm_drawable.c optional drm dev/drm/drm_drv.c optional drm dev/drm/drm_fops.c optional drm dev/drm/drm_hashtab.c optional drm dev/drm/drm_ioctl.c optional drm dev/drm/drm_irq.c optional drm dev/drm/drm_lock.c optional drm dev/drm/drm_memory.c optional drm dev/drm/drm_mm.c optional drm dev/drm/drm_pci.c optional drm dev/drm/drm_scatter.c optional drm dev/drm/drm_sman.c optional drm dev/drm/drm_sysctl.c optional drm dev/drm/drm_vm.c optional drm dev/drm/i915_dma.c optional i915drm dev/drm/i915_drv.c optional i915drm dev/drm/i915_irq.c optional i915drm dev/drm/i915_mem.c optional i915drm dev/drm/i915_suspend.c optional i915drm dev/drm/mach64_dma.c optional mach64drm dev/drm/mach64_drv.c optional mach64drm dev/drm/mach64_irq.c optional mach64drm dev/drm/mach64_state.c optional mach64drm dev/drm/mga_dma.c optional mgadrm dev/drm/mga_drv.c optional mgadrm dev/drm/mga_irq.c optional mgadrm dev/drm/mga_state.c optional mgadrm dev/drm/mga_warp.c optional mgadrm dev/drm/r128_cce.c optional r128drm \ compile-with "${NORMAL_C} ${NO_WUNUSED_VALUE} ${NO_WCONSTANT_CONVERSION}" dev/drm/r128_drv.c optional r128drm dev/drm/r128_irq.c optional r128drm dev/drm/r128_state.c optional r128drm \ compile-with "${NORMAL_C} ${NO_WUNUSED_VALUE}" dev/drm/r300_cmdbuf.c optional radeondrm dev/drm/r600_blit.c optional radeondrm dev/drm/r600_cp.c optional radeondrm \ compile-with "${NORMAL_C} ${NO_WUNUSED_VALUE} ${NO_WCONSTANT_CONVERSION}" dev/drm/radeon_cp.c optional radeondrm \ compile-with "${NORMAL_C} ${NO_WUNUSED_VALUE} ${NO_WCONSTANT_CONVERSION}" dev/drm/radeon_cs.c optional radeondrm dev/drm/radeon_drv.c optional radeondrm dev/drm/radeon_irq.c optional radeondrm dev/drm/radeon_mem.c optional radeondrm dev/drm/radeon_state.c optional radeondrm dev/drm/savage_bci.c optional savagedrm dev/drm/savage_drv.c optional savagedrm dev/drm/savage_state.c optional savagedrm dev/drm/sis_drv.c optional sisdrm dev/drm/sis_ds.c optional sisdrm dev/drm/sis_mm.c optional sisdrm dev/drm/tdfx_drv.c optional tdfxdrm dev/drm/via_dma.c optional viadrm dev/drm/via_dmablit.c optional viadrm dev/drm/via_drv.c optional viadrm dev/drm/via_irq.c optional viadrm dev/drm/via_map.c optional viadrm dev/drm/via_mm.c optional viadrm dev/drm/via_verifier.c optional viadrm dev/drm/via_video.c optional viadrm dev/ed/if_ed.c optional ed dev/ed/if_ed_novell.c optional ed dev/ed/if_ed_rtl80x9.c optional ed dev/ed/if_ed_pccard.c optional ed pccard dev/ed/if_ed_pci.c optional ed pci dev/eisa/eisa_if.m standard dev/eisa/eisaconf.c optional eisa dev/e1000/if_em.c optional em \ compile-with "${NORMAL_C} -I$S/dev/e1000" dev/e1000/if_lem.c optional em \ compile-with "${NORMAL_C} -I$S/dev/e1000" dev/e1000/if_igb.c optional igb \ compile-with "${NORMAL_C} -I$S/dev/e1000" dev/e1000/e1000_80003es2lan.c optional em | igb \ compile-with "${NORMAL_C} -I$S/dev/e1000" dev/e1000/e1000_82540.c optional em | igb \ compile-with "${NORMAL_C} -I$S/dev/e1000" dev/e1000/e1000_82541.c optional em | igb \ compile-with "${NORMAL_C} -I$S/dev/e1000" dev/e1000/e1000_82542.c optional em | igb \ compile-with "${NORMAL_C} -I$S/dev/e1000" dev/e1000/e1000_82543.c optional em | igb \ compile-with "${NORMAL_C} -I$S/dev/e1000" dev/e1000/e1000_82571.c optional em | igb \ compile-with "${NORMAL_C} -I$S/dev/e1000" dev/e1000/e1000_82575.c optional em | igb \ compile-with "${NORMAL_C} -I$S/dev/e1000" dev/e1000/e1000_ich8lan.c optional em | igb \ compile-with "${NORMAL_C} -I$S/dev/e1000" dev/e1000/e1000_i210.c optional em | igb \ compile-with "${NORMAL_C} -I$S/dev/e1000" dev/e1000/e1000_api.c optional em | igb \ compile-with "${NORMAL_C} -I$S/dev/e1000" dev/e1000/e1000_mac.c optional em | igb \ compile-with "${NORMAL_C} -I$S/dev/e1000" dev/e1000/e1000_manage.c optional em | igb \ compile-with "${NORMAL_C} -I$S/dev/e1000" dev/e1000/e1000_nvm.c optional em | igb \ compile-with "${NORMAL_C} -I$S/dev/e1000" dev/e1000/e1000_phy.c optional em | igb \ compile-with "${NORMAL_C} -I$S/dev/e1000" dev/e1000/e1000_vf.c optional em | igb \ compile-with "${NORMAL_C} -I$S/dev/e1000" dev/e1000/e1000_mbx.c optional em | igb \ compile-with "${NORMAL_C} -I$S/dev/e1000" dev/e1000/e1000_osdep.c optional em | igb \ compile-with "${NORMAL_C} -I$S/dev/e1000" dev/et/if_et.c optional et dev/en/if_en_pci.c optional en pci dev/en/midway.c optional en dev/ep/if_ep.c optional ep dev/ep/if_ep_eisa.c optional ep eisa dev/ep/if_ep_isa.c optional ep isa dev/ep/if_ep_mca.c optional ep mca dev/ep/if_ep_pccard.c optional ep pccard dev/esp/esp_pci.c optional esp pci dev/esp/ncr53c9x.c optional esp dev/etherswitch/arswitch/arswitch.c optional arswitch dev/etherswitch/arswitch/arswitch_reg.c optional arswitch dev/etherswitch/arswitch/arswitch_phy.c optional arswitch dev/etherswitch/arswitch/arswitch_8216.c optional arswitch dev/etherswitch/arswitch/arswitch_8226.c optional arswitch dev/etherswitch/arswitch/arswitch_8316.c optional arswitch dev/etherswitch/arswitch/arswitch_8327.c optional arswitch dev/etherswitch/arswitch/arswitch_7240.c optional arswitch dev/etherswitch/arswitch/arswitch_9340.c optional arswitch dev/etherswitch/arswitch/arswitch_vlans.c optional arswitch dev/etherswitch/etherswitch.c optional etherswitch dev/etherswitch/etherswitch_if.m optional etherswitch dev/etherswitch/ip17x/ip17x.c optional ip17x dev/etherswitch/ip17x/ip175c.c optional ip17x dev/etherswitch/ip17x/ip175d.c optional ip17x dev/etherswitch/ip17x/ip17x_phy.c optional ip17x dev/etherswitch/ip17x/ip17x_vlans.c optional ip17x dev/etherswitch/mdio_if.m optional miiproxy dev/etherswitch/mdio.c optional miiproxy dev/etherswitch/miiproxy.c optional miiproxy dev/etherswitch/rtl8366/rtl8366rb.c optional rtl8366rb dev/etherswitch/ukswitch/ukswitch.c optional ukswitch dev/ex/if_ex.c optional ex dev/ex/if_ex_isa.c optional ex isa dev/ex/if_ex_pccard.c optional ex pccard dev/exca/exca.c optional cbb dev/fatm/if_fatm.c optional fatm pci dev/fb/fbd.c optional fbd | vt dev/fb/fb_if.m standard dev/fb/splash.c optional sc splash dev/fdt/fdt_clock.c optional fdt fdt_clock dev/fdt/fdt_clock_if.m optional fdt fdt_clock dev/fdt/fdt_common.c optional fdt dev/fdt/fdt_pinctrl.c optional fdt fdt_pinctrl dev/fdt/fdt_pinctrl_if.m optional fdt fdt_pinctrl dev/fdt/fdt_slicer.c optional fdt cfi | fdt nand dev/fdt/fdt_static_dtb.S optional fdt fdt_dtb_static \ dependency "$S/boot/fdt/dts/${MACHINE}/${FDT_DTS_FILE}" dev/fdt/simplebus.c optional fdt dev/fe/if_fe.c optional fe dev/fe/if_fe_pccard.c optional fe pccard dev/filemon/filemon.c optional filemon dev/firewire/firewire.c optional firewire dev/firewire/fwcrom.c optional firewire dev/firewire/fwdev.c optional firewire dev/firewire/fwdma.c optional firewire dev/firewire/fwmem.c optional firewire dev/firewire/fwohci.c optional firewire dev/firewire/fwohci_pci.c optional firewire pci dev/firewire/if_fwe.c optional fwe dev/firewire/if_fwip.c optional fwip dev/firewire/sbp.c optional sbp dev/firewire/sbp_targ.c optional sbp_targ dev/flash/at45d.c optional at45d dev/flash/mx25l.c optional mx25l dev/fxp/if_fxp.c optional fxp dev/fxp/inphy.c optional fxp dev/gem/if_gem.c optional gem dev/gem/if_gem_pci.c optional gem pci dev/gem/if_gem_sbus.c optional gem sbus dev/gpio/gpiobus.c optional gpio \ dependency "gpiobus_if.h" dev/gpio/gpioc.c optional gpio \ dependency "gpio_if.h" dev/gpio/gpioiic.c optional gpioiic dev/gpio/gpioled.c optional gpioled dev/gpio/gpio_if.m optional gpio dev/gpio/gpiobus_if.m optional gpio dev/gpio/ofw_gpiobus.c optional fdt gpio dev/hatm/if_hatm.c optional hatm pci dev/hatm/if_hatm_intr.c optional hatm pci dev/hatm/if_hatm_ioctl.c optional hatm pci dev/hatm/if_hatm_rx.c optional hatm pci dev/hatm/if_hatm_tx.c optional hatm pci dev/hifn/hifn7751.c optional hifn dev/hme/if_hme.c optional hme dev/hme/if_hme_pci.c optional hme pci dev/hme/if_hme_sbus.c optional hme sbus dev/hptiop/hptiop.c optional hptiop scbus dev/hwpmc/hwpmc_logging.c optional hwpmc dev/hwpmc/hwpmc_mod.c optional hwpmc dev/hwpmc/hwpmc_soft.c optional hwpmc dev/ichsmb/ichsmb.c optional ichsmb dev/ichsmb/ichsmb_pci.c optional ichsmb pci dev/ida/ida.c optional ida dev/ida/ida_disk.c optional ida dev/ida/ida_eisa.c optional ida eisa dev/ida/ida_pci.c optional ida pci dev/ie/if_ie.c optional ie isa nowerror dev/ie/if_ie_isa.c optional ie isa dev/iicbus/ad7418.c optional ad7418 dev/iicbus/ds133x.c optional ds133x dev/iicbus/ds1374.c optional ds1374 dev/iicbus/ds1672.c optional ds1672 dev/iicbus/icee.c optional icee dev/iicbus/if_ic.c optional ic dev/iicbus/iic.c optional iic dev/iicbus/iicbb.c optional iicbb dev/iicbus/iicbb_if.m optional iicbb dev/iicbus/iicbus.c optional iicbus dev/iicbus/iicbus_if.m optional iicbus dev/iicbus/iiconf.c optional iicbus dev/iicbus/iicsmb.c optional iicsmb \ dependency "iicbus_if.h" dev/iicbus/iicoc.c optional iicoc dev/iicbus/lm75.c optional lm75 dev/iicbus/pcf8563.c optional pcf8563 dev/iicbus/s35390a.c optional s35390a dev/iir/iir.c optional iir dev/iir/iir_ctrl.c optional iir dev/iir/iir_pci.c optional iir pci dev/intpm/intpm.c optional intpm pci # XXX Work around clang warning, until maintainer approves fix. dev/ips/ips.c optional ips \ compile-with "${NORMAL_C} ${NO_WSOMETIMES_UNINITIALIZED}" dev/ips/ips_commands.c optional ips dev/ips/ips_disk.c optional ips dev/ips/ips_ioctl.c optional ips dev/ips/ips_pci.c optional ips pci dev/ipw/if_ipw.c optional ipw ipwbssfw.c optional ipwbssfw | ipwfw \ compile-with "${AWK} -f $S/tools/fw_stub.awk ipw_bss.fw:ipw_bss:130 -lintel_ipw -mipw_bss -c${.TARGET}" \ no-implicit-rule before-depend local \ clean "ipwbssfw.c" ipw_bss.fwo optional ipwbssfw | ipwfw \ dependency "ipw_bss.fw" \ compile-with "${NORMAL_FWO}" \ no-implicit-rule \ clean "ipw_bss.fwo" ipw_bss.fw optional ipwbssfw | ipwfw \ dependency "$S/contrib/dev/ipw/ipw2100-1.3.fw.uu" \ compile-with "${NORMAL_FW}" \ no-obj no-implicit-rule \ clean "ipw_bss.fw" ipwibssfw.c optional ipwibssfw | ipwfw \ compile-with "${AWK} -f $S/tools/fw_stub.awk ipw_ibss.fw:ipw_ibss:130 -lintel_ipw -mipw_ibss -c${.TARGET}" \ no-implicit-rule before-depend local \ clean "ipwibssfw.c" ipw_ibss.fwo optional ipwibssfw | ipwfw \ dependency "ipw_ibss.fw" \ compile-with "${NORMAL_FWO}" \ no-implicit-rule \ clean "ipw_ibss.fwo" ipw_ibss.fw optional ipwibssfw | ipwfw \ dependency "$S/contrib/dev/ipw/ipw2100-1.3-i.fw.uu" \ compile-with "${NORMAL_FW}" \ no-obj no-implicit-rule \ clean "ipw_ibss.fw" ipwmonitorfw.c optional ipwmonitorfw | ipwfw \ compile-with "${AWK} -f $S/tools/fw_stub.awk ipw_monitor.fw:ipw_monitor:130 -lintel_ipw -mipw_monitor -c${.TARGET}" \ no-implicit-rule before-depend local \ clean "ipwmonitorfw.c" ipw_monitor.fwo optional ipwmonitorfw | ipwfw \ dependency "ipw_monitor.fw" \ compile-with "${NORMAL_FWO}" \ no-implicit-rule \ clean "ipw_monitor.fwo" ipw_monitor.fw optional ipwmonitorfw | ipwfw \ dependency "$S/contrib/dev/ipw/ipw2100-1.3-p.fw.uu" \ compile-with "${NORMAL_FW}" \ no-obj no-implicit-rule \ clean "ipw_monitor.fw" dev/iscsi/icl.c optional iscsi | ctl dev/iscsi/icl_proxy.c optional iscsi | ctl dev/iscsi/iscsi.c optional iscsi scbus dev/iscsi_initiator/iscsi.c optional iscsi_initiator scbus dev/iscsi_initiator/iscsi_subr.c optional iscsi_initiator scbus dev/iscsi_initiator/isc_cam.c optional iscsi_initiator scbus dev/iscsi_initiator/isc_soc.c optional iscsi_initiator scbus dev/iscsi_initiator/isc_sm.c optional iscsi_initiator scbus dev/iscsi_initiator/isc_subr.c optional iscsi_initiator scbus dev/ismt/ismt.c optional ismt dev/isp/isp.c optional isp dev/isp/isp_freebsd.c optional isp dev/isp/isp_library.c optional isp dev/isp/isp_pci.c optional isp pci dev/isp/isp_sbus.c optional isp sbus dev/isp/isp_target.c optional isp dev/ispfw/ispfw.c optional ispfw dev/iwi/if_iwi.c optional iwi iwibssfw.c optional iwibssfw | iwifw \ compile-with "${AWK} -f $S/tools/fw_stub.awk iwi_bss.fw:iwi_bss:300 -lintel_iwi -miwi_bss -c${.TARGET}" \ no-implicit-rule before-depend local \ clean "iwibssfw.c" iwi_bss.fwo optional iwibssfw | iwifw \ dependency "iwi_bss.fw" \ compile-with "${NORMAL_FWO}" \ no-implicit-rule \ clean "iwi_bss.fwo" iwi_bss.fw optional iwibssfw | iwifw \ dependency "$S/contrib/dev/iwi/ipw2200-bss.fw.uu" \ compile-with "${NORMAL_FW}" \ no-obj no-implicit-rule \ clean "iwi_bss.fw" iwiibssfw.c optional iwiibssfw | iwifw \ compile-with "${AWK} -f $S/tools/fw_stub.awk iwi_ibss.fw:iwi_ibss:300 -lintel_iwi -miwi_ibss -c${.TARGET}" \ no-implicit-rule before-depend local \ clean "iwiibssfw.c" iwi_ibss.fwo optional iwiibssfw | iwifw \ dependency "iwi_ibss.fw" \ compile-with "${NORMAL_FWO}" \ no-implicit-rule \ clean "iwi_ibss.fwo" iwi_ibss.fw optional iwiibssfw | iwifw \ dependency "$S/contrib/dev/iwi/ipw2200-ibss.fw.uu" \ compile-with "${NORMAL_FW}" \ no-obj no-implicit-rule \ clean "iwi_ibss.fw" iwimonitorfw.c optional iwimonitorfw | iwifw \ compile-with "${AWK} -f $S/tools/fw_stub.awk iwi_monitor.fw:iwi_monitor:300 -lintel_iwi -miwi_monitor -c${.TARGET}" \ no-implicit-rule before-depend local \ clean "iwimonitorfw.c" iwi_monitor.fwo optional iwimonitorfw | iwifw \ dependency "iwi_monitor.fw" \ compile-with "${NORMAL_FWO}" \ no-implicit-rule \ clean "iwi_monitor.fwo" iwi_monitor.fw optional iwimonitorfw | iwifw \ dependency "$S/contrib/dev/iwi/ipw2200-sniffer.fw.uu" \ compile-with "${NORMAL_FW}" \ no-obj no-implicit-rule \ clean "iwi_monitor.fw" dev/iwn/if_iwn.c optional iwn iwn1000fw.c optional iwn1000fw | iwnfw \ compile-with "${AWK} -f $S/tools/fw_stub.awk iwn1000.fw:iwn1000fw -miwn1000fw -c${.TARGET}" \ no-implicit-rule before-depend local \ clean "iwn1000fw.c" iwn1000fw.fwo optional iwn1000fw | iwnfw \ dependency "iwn1000.fw" \ compile-with "${NORMAL_FWO}" \ no-implicit-rule \ clean "iwn1000fw.fwo" iwn1000.fw optional iwn1000fw | iwnfw \ dependency "$S/contrib/dev/iwn/iwlwifi-1000-39.31.5.1.fw.uu" \ compile-with "${NORMAL_FW}" \ no-obj no-implicit-rule \ clean "iwn1000.fw" iwn100fw.c optional iwn100fw | iwnfw \ compile-with "${AWK} -f $S/tools/fw_stub.awk iwn100.fw:iwn100fw -miwn100fw -c${.TARGET}" \ no-implicit-rule before-depend local \ clean "iwn100fw.c" iwn100fw.fwo optional iwn100fw | iwnfw \ dependency "iwn100.fw" \ compile-with "${NORMAL_FWO}" \ no-implicit-rule \ clean "iwn100fw.fwo" iwn100.fw optional iwn100fw | iwnfw \ dependency "$S/contrib/dev/iwn/iwlwifi-100-39.31.5.1.fw.uu" \ compile-with "${NORMAL_FW}" \ no-obj no-implicit-rule \ clean "iwn100.fw" iwn105fw.c optional iwn105fw | iwnfw \ compile-with "${AWK} -f $S/tools/fw_stub.awk iwn105.fw:iwn105fw -miwn105fw -c${.TARGET}" \ no-implicit-rule before-depend local \ clean "iwn105fw.c" iwn105fw.fwo optional iwn105fw | iwnfw \ dependency "iwn105.fw" \ compile-with "${NORMAL_FWO}" \ no-implicit-rule \ clean "iwn105fw.fwo" iwn105.fw optional iwn105fw | iwnfw \ dependency "$S/contrib/dev/iwn/iwlwifi-105-6-18.168.6.1.fw.uu" \ compile-with "${NORMAL_FW}" \ no-obj no-implicit-rule \ clean "iwn105.fw" iwn135fw.c optional iwn135fw | iwnfw \ compile-with "${AWK} -f $S/tools/fw_stub.awk iwn135.fw:iwn135fw -miwn135fw -c${.TARGET}" \ no-implicit-rule before-depend local \ clean "iwn135fw.c" iwn135fw.fwo optional iwn135fw | iwnfw \ dependency "iwn135.fw" \ compile-with "${NORMAL_FWO}" \ no-implicit-rule \ clean "iwn135fw.fwo" iwn135.fw optional iwn135fw | iwnfw \ dependency "$S/contrib/dev/iwn/iwlwifi-135-6-18.168.6.1.fw.uu" \ compile-with "${NORMAL_FW}" \ no-obj no-implicit-rule \ clean "iwn135.fw" iwn2000fw.c optional iwn2000fw | iwnfw \ compile-with "${AWK} -f $S/tools/fw_stub.awk iwn2000.fw:iwn2000fw -miwn2000fw -c${.TARGET}" \ no-implicit-rule before-depend local \ clean "iwn2000fw.c" iwn2000fw.fwo optional iwn2000fw | iwnfw \ dependency "iwn2000.fw" \ compile-with "${NORMAL_FWO}" \ no-implicit-rule \ clean "iwn2000fw.fwo" iwn2000.fw optional iwn2000fw | iwnfw \ dependency "$S/contrib/dev/iwn/iwlwifi-2000-18.168.6.1.fw.uu" \ compile-with "${NORMAL_FW}" \ no-obj no-implicit-rule \ clean "iwn2000.fw" iwn2030fw.c optional iwn2030fw | iwnfw \ compile-with "${AWK} -f $S/tools/fw_stub.awk iwn2030.fw:iwn2030fw -miwn2030fw -c${.TARGET}" \ no-implicit-rule before-depend local \ clean "iwn2030fw.c" iwn2030fw.fwo optional iwn2030fw | iwnfw \ dependency "iwn2030.fw" \ compile-with "${NORMAL_FWO}" \ no-implicit-rule \ clean "iwn2030fw.fwo" iwn2030.fw optional iwn2030fw | iwnfw \ dependency "$S/contrib/dev/iwn/iwnwifi-2030-18.168.6.1.fw.uu" \ compile-with "${NORMAL_FW}" \ no-obj no-implicit-rule \ clean "iwn2030.fw" iwn4965fw.c optional iwn4965fw | iwnfw \ compile-with "${AWK} -f $S/tools/fw_stub.awk iwn4965.fw:iwn4965fw -miwn4965fw -c${.TARGET}" \ no-implicit-rule before-depend local \ clean "iwn4965fw.c" iwn4965fw.fwo optional iwn4965fw | iwnfw \ dependency "iwn4965.fw" \ compile-with "${NORMAL_FWO}" \ no-implicit-rule \ clean "iwn4965fw.fwo" iwn4965.fw optional iwn4965fw | iwnfw \ dependency "$S/contrib/dev/iwn/iwlwifi-4965-228.61.2.24.fw.uu" \ compile-with "${NORMAL_FW}" \ no-obj no-implicit-rule \ clean "iwn4965.fw" iwn5000fw.c optional iwn5000fw | iwnfw \ compile-with "${AWK} -f $S/tools/fw_stub.awk iwn5000.fw:iwn5000fw -miwn5000fw -c${.TARGET}" \ no-implicit-rule before-depend local \ clean "iwn5000fw.c" iwn5000fw.fwo optional iwn5000fw | iwnfw \ dependency "iwn5000.fw" \ compile-with "${NORMAL_FWO}" \ no-implicit-rule \ clean "iwn5000fw.fwo" iwn5000.fw optional iwn5000fw | iwnfw \ dependency "$S/contrib/dev/iwn/iwlwifi-5000-8.83.5.1.fw.uu" \ compile-with "${NORMAL_FW}" \ no-obj no-implicit-rule \ clean "iwn5000.fw" iwn5150fw.c optional iwn5150fw | iwnfw \ compile-with "${AWK} -f $S/tools/fw_stub.awk iwn5150.fw:iwn5150fw -miwn5150fw -c${.TARGET}" \ no-implicit-rule before-depend local \ clean "iwn5150fw.c" iwn5150fw.fwo optional iwn5150fw | iwnfw \ dependency "iwn5150.fw" \ compile-with "${NORMAL_FWO}" \ no-implicit-rule \ clean "iwn5150fw.fwo" iwn5150.fw optional iwn5150fw | iwnfw \ dependency "$S/contrib/dev/iwn/iwlwifi-5150-8.24.2.2.fw.uu"\ compile-with "${NORMAL_FW}" \ no-obj no-implicit-rule \ clean "iwn5150.fw" iwn6000fw.c optional iwn6000fw | iwnfw \ compile-with "${AWK} -f $S/tools/fw_stub.awk iwn6000.fw:iwn6000fw -miwn6000fw -c${.TARGET}" \ no-implicit-rule before-depend local \ clean "iwn6000fw.c" iwn6000fw.fwo optional iwn6000fw | iwnfw \ dependency "iwn6000.fw" \ compile-with "${NORMAL_FWO}" \ no-implicit-rule \ clean "iwn6000fw.fwo" iwn6000.fw optional iwn6000fw | iwnfw \ dependency "$S/contrib/dev/iwn/iwlwifi-6000-9.221.4.1.fw.uu" \ compile-with "${NORMAL_FW}" \ no-obj no-implicit-rule \ clean "iwn6000.fw" iwn6000g2afw.c optional iwn6000g2afw | iwnfw \ compile-with "${AWK} -f $S/tools/fw_stub.awk iwn6000g2a.fw:iwn6000g2afw -miwn6000g2afw -c${.TARGET}" \ no-implicit-rule before-depend local \ clean "iwn6000g2afw.c" iwn6000g2afw.fwo optional iwn6000g2afw | iwnfw \ dependency "iwn6000g2a.fw" \ compile-with "${NORMAL_FWO}" \ no-implicit-rule \ clean "iwn6000g2afw.fwo" iwn6000g2a.fw optional iwn6000g2afw | iwnfw \ dependency "$S/contrib/dev/iwn/iwlwifi-6000g2a-18.168.6.1.fw.uu" \ compile-with "${NORMAL_FW}" \ no-obj no-implicit-rule \ clean "iwn6000g2a.fw" iwn6000g2bfw.c optional iwn6000g2bfw | iwnfw \ compile-with "${AWK} -f $S/tools/fw_stub.awk iwn6000g2b.fw:iwn6000g2bfw -miwn6000g2bfw -c${.TARGET}" \ no-implicit-rule before-depend local \ clean "iwn6000g2bfw.c" iwn6000g2bfw.fwo optional iwn6000g2bfw | iwnfw \ dependency "iwn6000g2b.fw" \ compile-with "${NORMAL_FWO}" \ no-implicit-rule \ clean "iwn6000g2bfw.fwo" iwn6000g2b.fw optional iwn6000g2bfw | iwnfw \ dependency "$S/contrib/dev/iwn/iwlwifi-6000g2b-18.168.6.1.fw.uu" \ compile-with "${NORMAL_FW}" \ no-obj no-implicit-rule \ clean "iwn6000g2b.fw" iwn6050fw.c optional iwn6050fw | iwnfw \ compile-with "${AWK} -f $S/tools/fw_stub.awk iwn6050.fw:iwn6050fw -miwn6050fw -c${.TARGET}" \ no-implicit-rule before-depend local \ clean "iwn6050fw.c" iwn6050fw.fwo optional iwn6050fw | iwnfw \ dependency "iwn6050.fw" \ compile-with "${NORMAL_FWO}" \ no-implicit-rule \ clean "iwn6050fw.fwo" iwn6050.fw optional iwn6050fw | iwnfw \ dependency "$S/contrib/dev/iwn/iwlwifi-6050-41.28.5.1.fw.uu" \ compile-with "${NORMAL_FW}" \ no-obj no-implicit-rule \ clean "iwn6050.fw" dev/ixgb/if_ixgb.c optional ixgb dev/ixgb/ixgb_ee.c optional ixgb dev/ixgb/ixgb_hw.c optional ixgb dev/ixgbe/ixgbe.c optional ixgbe inet \ compile-with "${NORMAL_C} -I$S/dev/ixgbe -DSMP" dev/ixgbe/ixv.c optional ixgbe inet \ compile-with "${NORMAL_C} -I$S/dev/ixgbe" dev/ixgbe/ixgbe_phy.c optional ixgbe inet \ compile-with "${NORMAL_C} -I$S/dev/ixgbe" dev/ixgbe/ixgbe_api.c optional ixgbe inet \ compile-with "${NORMAL_C} -I$S/dev/ixgbe" dev/ixgbe/ixgbe_common.c optional ixgbe inet \ compile-with "${NORMAL_C} -I$S/dev/ixgbe" dev/ixgbe/ixgbe_mbx.c optional ixgbe inet \ compile-with "${NORMAL_C} -I$S/dev/ixgbe" dev/ixgbe/ixgbe_vf.c optional ixgbe inet \ compile-with "${NORMAL_C} -I$S/dev/ixgbe" dev/ixgbe/ixgbe_82598.c optional ixgbe inet \ compile-with "${NORMAL_C} -I$S/dev/ixgbe" dev/ixgbe/ixgbe_82599.c optional ixgbe inet \ compile-with "${NORMAL_C} -I$S/dev/ixgbe" dev/ixgbe/ixgbe_x540.c optional ixgbe inet \ compile-with "${NORMAL_C} -I$S/dev/ixgbe" dev/ixgbe/ixgbe_dcb.c optional ixgbe inet \ compile-with "${NORMAL_C} -I$S/dev/ixgbe" dev/ixgbe/ixgbe_dcb_82598.c optional ixgbe inet \ compile-with "${NORMAL_C} -I$S/dev/ixgbe" dev/ixgbe/ixgbe_dcb_82599.c optional ixgbe inet \ compile-with "${NORMAL_C} -I$S/dev/ixgbe" dev/jme/if_jme.c optional jme pci dev/joy/joy.c optional joy dev/joy/joy_isa.c optional joy isa dev/kbdmux/kbdmux.c optional kbdmux dev/ksyms/ksyms.c optional ksyms dev/le/am7990.c optional le dev/le/am79900.c optional le dev/le/if_le_pci.c optional le pci dev/le/lance.c optional le dev/led/led.c standard dev/lge/if_lge.c optional lge dev/lmc/if_lmc.c optional lmc dev/malo/if_malo.c optional malo dev/malo/if_malohal.c optional malo dev/malo/if_malo_pci.c optional malo pci dev/mc146818/mc146818.c optional mc146818 dev/mca/mca_bus.c optional mca dev/mcd/mcd.c optional mcd isa nowerror dev/mcd/mcd_isa.c optional mcd isa nowerror dev/md/md.c optional md dev/mem/memdev.c optional mem dev/mem/memutil.c optional mem dev/mfi/mfi.c optional mfi dev/mfi/mfi_debug.c optional mfi dev/mfi/mfi_pci.c optional mfi pci dev/mfi/mfi_disk.c optional mfi dev/mfi/mfi_syspd.c optional mfi dev/mfi/mfi_tbolt.c optional mfi dev/mfi/mfi_linux.c optional mfi compat_linux dev/mfi/mfi_cam.c optional mfip scbus dev/mii/acphy.c optional miibus | acphy dev/mii/amphy.c optional miibus | amphy dev/mii/atphy.c optional miibus | atphy dev/mii/axphy.c optional miibus | axphy dev/mii/bmtphy.c optional miibus | bmtphy dev/mii/brgphy.c optional miibus | brgphy dev/mii/ciphy.c optional miibus | ciphy dev/mii/e1000phy.c optional miibus | e1000phy dev/mii/gentbi.c optional miibus | gentbi dev/mii/icsphy.c optional miibus | icsphy dev/mii/ip1000phy.c optional miibus | ip1000phy dev/mii/jmphy.c optional miibus | jmphy dev/mii/lxtphy.c optional miibus | lxtphy dev/mii/mii.c optional miibus | mii dev/mii/mii_bitbang.c optional miibus | mii_bitbang dev/mii/mii_physubr.c optional miibus | mii dev/mii/miibus_if.m optional miibus | mii dev/mii/mlphy.c optional miibus | mlphy dev/mii/nsgphy.c optional miibus | nsgphy dev/mii/nsphy.c optional miibus | nsphy dev/mii/nsphyter.c optional miibus | nsphyter dev/mii/pnaphy.c optional miibus | pnaphy dev/mii/qsphy.c optional miibus | qsphy dev/mii/rdcphy.c optional miibus | rdcphy dev/mii/rgephy.c optional miibus | rgephy dev/mii/rlphy.c optional miibus | rlphy dev/mii/rlswitch.c optional rlswitch dev/mii/smcphy.c optional miibus | smcphy dev/mii/smscphy.c optional miibus | smscphy dev/mii/tdkphy.c optional miibus | tdkphy dev/mii/tlphy.c optional miibus | tlphy dev/mii/truephy.c optional miibus | truephy dev/mii/ukphy.c optional miibus | mii dev/mii/ukphy_subr.c optional miibus | mii dev/mii/xmphy.c optional miibus | xmphy dev/mk48txx/mk48txx.c optional mk48txx dev/mlx/mlx.c optional mlx dev/mlx/mlx_disk.c optional mlx dev/mlx/mlx_pci.c optional mlx pci dev/mly/mly.c optional mly dev/mmc/mmc.c optional mmc dev/mmc/mmcbr_if.m standard dev/mmc/mmcbus_if.m standard dev/mmc/mmcsd.c optional mmcsd dev/mn/if_mn.c optional mn pci dev/mpr/mpr.c optional mpr dev/mpr/mpr_config.c optional mpr # XXX Work around clang warning, until maintainer approves fix. dev/mpr/mpr_mapping.c optional mpr \ compile-with "${NORMAL_C} ${NO_WSOMETIMES_UNINITIALIZED}" dev/mpr/mpr_pci.c optional mpr pci dev/mpr/mpr_sas.c optional mpr \ compile-with "${NORMAL_C} ${NO_WUNNEEDED_INTERNAL_DECL}" dev/mpr/mpr_sas_lsi.c optional mpr dev/mpr/mpr_table.c optional mpr dev/mpr/mpr_user.c optional mpr dev/mps/mps.c optional mps dev/mps/mps_config.c optional mps # XXX Work around clang warning, until maintainer approves fix. dev/mps/mps_mapping.c optional mps \ compile-with "${NORMAL_C} ${NO_WSOMETIMES_UNINITIALIZED}" dev/mps/mps_pci.c optional mps pci dev/mps/mps_sas.c optional mps \ compile-with "${NORMAL_C} ${NO_WUNNEEDED_INTERNAL_DECL}" dev/mps/mps_sas_lsi.c optional mps dev/mps/mps_table.c optional mps dev/mps/mps_user.c optional mps dev/mpt/mpt.c optional mpt dev/mpt/mpt_cam.c optional mpt dev/mpt/mpt_debug.c optional mpt dev/mpt/mpt_pci.c optional mpt pci dev/mpt/mpt_raid.c optional mpt dev/mpt/mpt_user.c optional mpt dev/mrsas/mrsas.c optional mrsas dev/mrsas/mrsas_cam.c optional mrsas dev/mrsas/mrsas_ioctl.c optional mrsas dev/mrsas/mrsas_fp.c optional mrsas dev/msk/if_msk.c optional msk dev/mvs/mvs.c optional mvs dev/mvs/mvs_if.m optional mvs dev/mvs/mvs_pci.c optional mvs pci dev/mwl/if_mwl.c optional mwl dev/mwl/if_mwl_pci.c optional mwl pci dev/mwl/mwlhal.c optional mwl mwlfw.c optional mwlfw \ compile-with "${AWK} -f $S/tools/fw_stub.awk mw88W8363.fw:mw88W8363fw mwlboot.fw:mwlboot -mmwl -c${.TARGET}" \ no-implicit-rule before-depend local \ clean "mwlfw.c" mw88W8363.fwo optional mwlfw \ dependency "mw88W8363.fw" \ compile-with "${NORMAL_FWO}" \ no-implicit-rule \ clean "mw88W8363.fwo" mw88W8363.fw optional mwlfw \ dependency "$S/contrib/dev/mwl/mw88W8363.fw.uu" \ compile-with "${NORMAL_FW}" \ no-obj no-implicit-rule \ clean "mw88W8363.fw" mwlboot.fwo optional mwlfw \ dependency "mwlboot.fw" \ compile-with "${NORMAL_FWO}" \ no-implicit-rule \ clean "mwlboot.fwo" mwlboot.fw optional mwlfw \ dependency "$S/contrib/dev/mwl/mwlboot.fw.uu" \ compile-with "${NORMAL_FW}" \ no-obj no-implicit-rule \ clean "mwlboot.fw" dev/mxge/if_mxge.c optional mxge pci dev/mxge/mxge_eth_z8e.c optional mxge pci dev/mxge/mxge_ethp_z8e.c optional mxge pci dev/mxge/mxge_rss_eth_z8e.c optional mxge pci dev/mxge/mxge_rss_ethp_z8e.c optional mxge pci dev/my/if_my.c optional my dev/nand/nand.c optional nand dev/nand/nand_bbt.c optional nand dev/nand/nand_cdev.c optional nand dev/nand/nand_generic.c optional nand dev/nand/nand_geom.c optional nand dev/nand/nand_id.c optional nand dev/nand/nandbus.c optional nand dev/nand/nandbus_if.m optional nand dev/nand/nand_if.m optional nand dev/nand/nandsim.c optional nandsim nand dev/nand/nandsim_chip.c optional nandsim nand dev/nand/nandsim_ctrl.c optional nandsim nand dev/nand/nandsim_log.c optional nandsim nand dev/nand/nandsim_swap.c optional nandsim nand dev/nand/nfc_if.m optional nand dev/ncr/ncr.c optional ncr pci dev/ncv/ncr53c500.c optional ncv dev/ncv/ncr53c500_pccard.c optional ncv pccard dev/netmap/netmap.c optional netmap dev/netmap/netmap_freebsd.c optional netmap dev/netmap/netmap_generic.c optional netmap dev/netmap/netmap_mbq.c optional netmap dev/netmap/netmap_mem2.c optional netmap dev/netmap/netmap_monitor.c optional netmap dev/netmap/netmap_offloadings.c optional netmap dev/netmap/netmap_pipe.c optional netmap dev/netmap/netmap_vale.c optional netmap # compile-with "${NORMAL_C} -Wconversion -Wextra" dev/nfsmb/nfsmb.c optional nfsmb pci dev/nge/if_nge.c optional nge dev/nxge/if_nxge.c optional nxge \ compile-with "${NORMAL_C} ${NO_WSELF_ASSIGN}" dev/nxge/xgehal/xgehal-device.c optional nxge \ compile-with "${NORMAL_C} ${NO_WSELF_ASSIGN}" dev/nxge/xgehal/xgehal-mm.c optional nxge dev/nxge/xgehal/xge-queue.c optional nxge dev/nxge/xgehal/xgehal-driver.c optional nxge \ compile-with "${NORMAL_C} ${NO_WSELF_ASSIGN}" dev/nxge/xgehal/xgehal-ring.c optional nxge \ compile-with "${NORMAL_C} ${NO_WSELF_ASSIGN}" dev/nxge/xgehal/xgehal-channel.c optional nxge \ compile-with "${NORMAL_C} ${NO_WSELF_ASSIGN}" dev/nxge/xgehal/xgehal-fifo.c optional nxge \ compile-with "${NORMAL_C} ${NO_WSELF_ASSIGN}" dev/nxge/xgehal/xgehal-stats.c optional nxge \ compile-with "${NORMAL_C} ${NO_WSELF_ASSIGN}" dev/nxge/xgehal/xgehal-config.c optional nxge dev/nxge/xgehal/xgehal-mgmt.c optional nxge \ compile-with "${NORMAL_C} ${NO_WSELF_ASSIGN}" dev/nmdm/nmdm.c optional nmdm dev/nsp/nsp.c optional nsp dev/nsp/nsp_pccard.c optional nsp pccard dev/null/null.c standard dev/oce/oce_hw.c optional oce pci dev/oce/oce_if.c optional oce pci dev/oce/oce_mbox.c optional oce pci dev/oce/oce_queue.c optional oce pci dev/oce/oce_sysctl.c optional oce pci dev/oce/oce_util.c optional oce pci dev/ofw/ofw_bus_if.m optional fdt dev/ofw/ofw_bus_subr.c optional fdt dev/ofw/ofw_fdt.c optional fdt dev/ofw/ofw_if.m optional fdt dev/ofw/ofw_iicbus.c optional fdt iicbus dev/ofw/ofwbus.c optional fdt dev/ofw/openfirm.c optional fdt dev/ofw/openfirmio.c optional fdt dev/patm/if_patm.c optional patm pci dev/patm/if_patm_attach.c optional patm pci dev/patm/if_patm_intr.c optional patm pci dev/patm/if_patm_ioctl.c optional patm pci dev/patm/if_patm_rtables.c optional patm pci dev/patm/if_patm_rx.c optional patm pci dev/patm/if_patm_tx.c optional patm pci dev/pbio/pbio.c optional pbio isa dev/pccard/card_if.m standard dev/pccard/pccard.c optional pccard dev/pccard/pccard_cis.c optional pccard dev/pccard/pccard_cis_quirks.c optional pccard dev/pccard/pccard_device.c optional pccard dev/pccard/power_if.m standard dev/pccbb/pccbb.c optional cbb dev/pccbb/pccbb_isa.c optional cbb isa dev/pccbb/pccbb_pci.c optional cbb pci dev/pcf/pcf.c optional pcf dev/pci/eisa_pci.c optional pci eisa dev/pci/fixup_pci.c optional pci dev/pci/hostb_pci.c optional pci dev/pci/ignore_pci.c optional pci dev/pci/isa_pci.c optional pci isa dev/pci/pci.c optional pci dev/pci/pci_if.m standard dev/pci/pci_pci.c optional pci dev/pci/pci_subr.c optional pci dev/pci/pci_user.c optional pci dev/pci/pcib_if.m standard dev/pci/pcib_support.c standard dev/pci/vga_pci.c optional pci dev/pcn/if_pcn.c optional pcn pci dev/pdq/if_fea.c optional fea eisa dev/pdq/if_fpa.c optional fpa pci dev/pdq/pdq.c optional nowerror fea eisa | fpa pci dev/pdq/pdq_ifsubr.c optional nowerror fea eisa | fpa pci dev/ppbus/if_plip.c optional plip dev/ppbus/immio.c optional vpo dev/ppbus/lpbb.c optional lpbb dev/ppbus/lpt.c optional lpt dev/ppbus/pcfclock.c optional pcfclock dev/ppbus/ppb_1284.c optional ppbus dev/ppbus/ppb_base.c optional ppbus dev/ppbus/ppb_msq.c optional ppbus dev/ppbus/ppbconf.c optional ppbus dev/ppbus/ppbus_if.m optional ppbus dev/ppbus/ppi.c optional ppi dev/ppbus/pps.c optional pps dev/ppbus/vpo.c optional vpo dev/ppbus/vpoio.c optional vpo dev/ppc/ppc.c optional ppc dev/ppc/ppc_acpi.c optional ppc acpi dev/ppc/ppc_isa.c optional ppc isa dev/ppc/ppc_pci.c optional ppc pci dev/ppc/ppc_puc.c optional ppc puc dev/pst/pst-iop.c optional pst dev/pst/pst-pci.c optional pst pci dev/pst/pst-raid.c optional pst dev/pty/pty.c optional pty dev/puc/puc.c optional puc dev/puc/puc_cfg.c optional puc dev/puc/puc_pccard.c optional puc pccard dev/puc/puc_pci.c optional puc pci dev/puc/pucdata.c optional puc pci dev/quicc/quicc_core.c optional quicc dev/ral/rt2560.c optional ral dev/ral/rt2661.c optional ral dev/ral/rt2860.c optional ral dev/ral/if_ral_pci.c optional ral pci rt2561fw.c optional rt2561fw | ralfw \ compile-with "${AWK} -f $S/tools/fw_stub.awk rt2561.fw:rt2561fw -mrt2561 -c${.TARGET}" \ no-implicit-rule before-depend local \ clean "rt2561fw.c" rt2561fw.fwo optional rt2561fw | ralfw \ dependency "rt2561.fw" \ compile-with "${NORMAL_FWO}" \ no-implicit-rule \ clean "rt2561fw.fwo" rt2561.fw optional rt2561fw | ralfw \ dependency "$S/contrib/dev/ral/rt2561.fw.uu" \ compile-with "${NORMAL_FW}" \ no-obj no-implicit-rule \ clean "rt2561.fw" rt2561sfw.c optional rt2561sfw | ralfw \ compile-with "${AWK} -f $S/tools/fw_stub.awk rt2561s.fw:rt2561sfw -mrt2561s -c${.TARGET}" \ no-implicit-rule before-depend local \ clean "rt2561sfw.c" rt2561sfw.fwo optional rt2561sfw | ralfw \ dependency "rt2561s.fw" \ compile-with "${NORMAL_FWO}" \ no-implicit-rule \ clean "rt2561sfw.fwo" rt2561s.fw optional rt2561sfw | ralfw \ dependency "$S/contrib/dev/ral/rt2561s.fw.uu" \ compile-with "${NORMAL_FW}" \ no-obj no-implicit-rule \ clean "rt2561s.fw" rt2661fw.c optional rt2661fw | ralfw \ compile-with "${AWK} -f $S/tools/fw_stub.awk rt2661.fw:rt2661fw -mrt2661 -c${.TARGET}" \ no-implicit-rule before-depend local \ clean "rt2661fw.c" rt2661fw.fwo optional rt2661fw | ralfw \ dependency "rt2661.fw" \ compile-with "${NORMAL_FWO}" \ no-implicit-rule \ clean "rt2661fw.fwo" rt2661.fw optional rt2661fw | ralfw \ dependency "$S/contrib/dev/ral/rt2661.fw.uu" \ compile-with "${NORMAL_FW}" \ no-obj no-implicit-rule \ clean "rt2661.fw" rt2860fw.c optional rt2860fw | ralfw \ compile-with "${AWK} -f $S/tools/fw_stub.awk rt2860.fw:rt2860fw -mrt2860 -c${.TARGET}" \ no-implicit-rule before-depend local \ clean "rt2860fw.c" rt2860fw.fwo optional rt2860fw | ralfw \ dependency "rt2860.fw" \ compile-with "${NORMAL_FWO}" \ no-implicit-rule \ clean "rt2860fw.fwo" rt2860.fw optional rt2860fw | ralfw \ dependency "$S/contrib/dev/ral/rt2860.fw.uu" \ compile-with "${NORMAL_FW}" \ no-obj no-implicit-rule \ clean "rt2860.fw" dev/random/randomdev.c standard dev/random/random_adaptors.c standard dev/random/dummy_rng.c standard dev/random/live_entropy_sources.c standard dev/random/random_harvestq.c standard dev/random/randomdev_soft.c optional random dev/random/yarrow.c optional random dev/random/fortuna.c optional random dev/random/hash.c optional random dev/rc/rc.c optional rc dev/re/if_re.c optional re dev/rl/if_rl.c optional rl pci dev/rndtest/rndtest.c optional rndtest dev/rp/rp.c optional rp dev/rp/rp_isa.c optional rp isa dev/rp/rp_pci.c optional rp pci dev/safe/safe.c optional safe dev/scc/scc_if.m optional scc dev/scc/scc_bfe_ebus.c optional scc ebus dev/scc/scc_bfe_quicc.c optional scc quicc dev/scc/scc_bfe_sbus.c optional scc fhc | scc sbus dev/scc/scc_core.c optional scc dev/scc/scc_dev_quicc.c optional scc quicc dev/scc/scc_dev_sab82532.c optional scc dev/scc/scc_dev_z8530.c optional scc dev/scd/scd.c optional scd isa dev/scd/scd_isa.c optional scd isa dev/sdhci/sdhci.c optional sdhci dev/sdhci/sdhci_if.m optional sdhci dev/sdhci/sdhci_pci.c optional sdhci pci dev/sf/if_sf.c optional sf pci dev/sge/if_sge.c optional sge pci dev/si/si.c optional si dev/si/si2_z280.c optional si dev/si/si3_t225.c optional si dev/si/si_eisa.c optional si eisa dev/si/si_isa.c optional si isa dev/si/si_pci.c optional si pci dev/siba/siba.c optional siba dev/siba/siba_bwn.c optional siba_bwn pci dev/siba/siba_cc.c optional siba dev/siba/siba_core.c optional siba | siba_bwn pci dev/siba/siba_pcib.c optional siba pci dev/siis/siis.c optional siis pci dev/sis/if_sis.c optional sis pci dev/sk/if_sk.c optional sk pci dev/smbus/smb.c optional smb dev/smbus/smbconf.c optional smbus dev/smbus/smbus.c optional smbus dev/smbus/smbus_if.m optional smbus dev/smc/if_smc.c optional smc dev/smc/if_smc_fdt.c optional smc fdt dev/sn/if_sn.c optional sn dev/sn/if_sn_isa.c optional sn isa dev/sn/if_sn_pccard.c optional sn pccard dev/snp/snp.c optional snp dev/sound/clone.c optional sound dev/sound/unit.c optional sound dev/sound/isa/ad1816.c optional snd_ad1816 isa dev/sound/isa/ess.c optional snd_ess isa dev/sound/isa/gusc.c optional snd_gusc isa dev/sound/isa/mss.c optional snd_mss isa dev/sound/isa/sb16.c optional snd_sb16 isa dev/sound/isa/sb8.c optional snd_sb8 isa dev/sound/isa/sbc.c optional snd_sbc isa dev/sound/isa/sndbuf_dma.c optional sound isa dev/sound/pci/als4000.c optional snd_als4000 pci dev/sound/pci/atiixp.c optional snd_atiixp pci dev/sound/pci/cmi.c optional snd_cmi pci dev/sound/pci/cs4281.c optional snd_cs4281 pci dev/sound/pci/csa.c optional snd_csa pci dev/sound/pci/csapcm.c optional snd_csa pci dev/sound/pci/ds1.c optional snd_ds1 pci dev/sound/pci/emu10k1.c optional snd_emu10k1 pci dev/sound/pci/emu10kx.c optional snd_emu10kx pci dev/sound/pci/emu10kx-pcm.c optional snd_emu10kx pci dev/sound/pci/emu10kx-midi.c optional snd_emu10kx pci dev/sound/pci/envy24.c optional snd_envy24 pci dev/sound/pci/envy24ht.c optional snd_envy24ht pci dev/sound/pci/es137x.c optional snd_es137x pci dev/sound/pci/fm801.c optional snd_fm801 pci dev/sound/pci/ich.c optional snd_ich pci dev/sound/pci/maestro.c optional snd_maestro pci dev/sound/pci/maestro3.c optional snd_maestro3 pci dev/sound/pci/neomagic.c optional snd_neomagic pci dev/sound/pci/solo.c optional snd_solo pci dev/sound/pci/spicds.c optional snd_spicds pci dev/sound/pci/t4dwave.c optional snd_t4dwave pci dev/sound/pci/via8233.c optional snd_via8233 pci dev/sound/pci/via82c686.c optional snd_via82c686 pci dev/sound/pci/vibes.c optional snd_vibes pci dev/sound/pci/hda/hdaa.c optional snd_hda pci dev/sound/pci/hda/hdaa_patches.c optional snd_hda pci dev/sound/pci/hda/hdac.c optional snd_hda pci dev/sound/pci/hda/hdac_if.m optional snd_hda pci dev/sound/pci/hda/hdacc.c optional snd_hda pci dev/sound/pci/hdspe.c optional snd_hdspe pci dev/sound/pci/hdspe-pcm.c optional snd_hdspe pci dev/sound/pcm/ac97.c optional sound dev/sound/pcm/ac97_if.m optional sound dev/sound/pcm/ac97_patch.c optional sound dev/sound/pcm/buffer.c optional sound \ dependency "snd_fxdiv_gen.h" dev/sound/pcm/channel.c optional sound dev/sound/pcm/channel_if.m optional sound dev/sound/pcm/dsp.c optional sound dev/sound/pcm/feeder.c optional sound dev/sound/pcm/feeder_chain.c optional sound dev/sound/pcm/feeder_eq.c optional sound \ dependency "feeder_eq_gen.h" \ dependency "snd_fxdiv_gen.h" dev/sound/pcm/feeder_if.m optional sound dev/sound/pcm/feeder_format.c optional sound \ dependency "snd_fxdiv_gen.h" dev/sound/pcm/feeder_matrix.c optional sound \ dependency "snd_fxdiv_gen.h" dev/sound/pcm/feeder_mixer.c optional sound \ dependency "snd_fxdiv_gen.h" dev/sound/pcm/feeder_rate.c optional sound \ dependency "feeder_rate_gen.h" \ dependency "snd_fxdiv_gen.h" dev/sound/pcm/feeder_volume.c optional sound \ dependency "snd_fxdiv_gen.h" dev/sound/pcm/mixer.c optional sound dev/sound/pcm/mixer_if.m optional sound dev/sound/pcm/sndstat.c optional sound dev/sound/pcm/sound.c optional sound dev/sound/pcm/vchan.c optional sound dev/sound/usb/uaudio.c optional snd_uaudio usb dev/sound/usb/uaudio_pcm.c optional snd_uaudio usb dev/sound/midi/midi.c optional sound dev/sound/midi/mpu401.c optional sound dev/sound/midi/mpu_if.m optional sound dev/sound/midi/mpufoi_if.m optional sound dev/sound/midi/sequencer.c optional sound dev/sound/midi/synth_if.m optional sound dev/spibus/ofw_spibus.c optional fdt spibus dev/spibus/spibus.c optional spibus \ dependency "spibus_if.h" dev/spibus/spibus_if.m optional spibus dev/ste/if_ste.c optional ste pci dev/stg/tmc18c30.c optional stg dev/stg/tmc18c30_isa.c optional stg isa dev/stg/tmc18c30_pccard.c optional stg pccard dev/stg/tmc18c30_pci.c optional stg pci dev/stg/tmc18c30_subr.c optional stg dev/stge/if_stge.c optional stge dev/streams/streams.c optional streams dev/sym/sym_hipd.c optional sym \ dependency "$S/dev/sym/sym_{conf,defs}.h" dev/syscons/blank/blank_saver.c optional blank_saver dev/syscons/daemon/daemon_saver.c optional daemon_saver dev/syscons/dragon/dragon_saver.c optional dragon_saver dev/syscons/fade/fade_saver.c optional fade_saver dev/syscons/fire/fire_saver.c optional fire_saver dev/syscons/green/green_saver.c optional green_saver dev/syscons/logo/logo.c optional logo_saver dev/syscons/logo/logo_saver.c optional logo_saver dev/syscons/rain/rain_saver.c optional rain_saver dev/syscons/schistory.c optional sc dev/syscons/scmouse.c optional sc dev/syscons/scterm.c optional sc dev/syscons/scvidctl.c optional sc dev/syscons/snake/snake_saver.c optional snake_saver dev/syscons/star/star_saver.c optional star_saver dev/syscons/syscons.c optional sc dev/syscons/sysmouse.c optional sc dev/syscons/warp/warp_saver.c optional warp_saver dev/tdfx/tdfx_linux.c optional tdfx_linux tdfx compat_linux dev/tdfx/tdfx_pci.c optional tdfx pci dev/ti/if_ti.c optional ti pci dev/tl/if_tl.c optional tl pci dev/trm/trm.c optional trm dev/twa/tw_cl_init.c optional twa \ compile-with "${NORMAL_C} -I$S/dev/twa" dev/twa/tw_cl_intr.c optional twa \ compile-with "${NORMAL_C} -I$S/dev/twa" dev/twa/tw_cl_io.c optional twa \ compile-with "${NORMAL_C} -I$S/dev/twa" dev/twa/tw_cl_misc.c optional twa \ compile-with "${NORMAL_C} -I$S/dev/twa" dev/twa/tw_osl_cam.c optional twa \ compile-with "${NORMAL_C} -I$S/dev/twa" dev/twa/tw_osl_freebsd.c optional twa \ compile-with "${NORMAL_C} -I$S/dev/twa" dev/twe/twe.c optional twe dev/twe/twe_freebsd.c optional twe dev/tws/tws.c optional tws dev/tws/tws_cam.c optional tws dev/tws/tws_hdm.c optional tws dev/tws/tws_services.c optional tws dev/tws/tws_user.c optional tws dev/tx/if_tx.c optional tx dev/txp/if_txp.c optional txp dev/uart/uart_bus_acpi.c optional uart acpi #dev/uart/uart_bus_cbus.c optional uart cbus dev/uart/uart_bus_ebus.c optional uart ebus dev/uart/uart_bus_fdt.c optional uart fdt dev/uart/uart_bus_isa.c optional uart isa dev/uart/uart_bus_pccard.c optional uart pccard dev/uart/uart_bus_pci.c optional uart pci dev/uart/uart_bus_puc.c optional uart puc dev/uart/uart_bus_scc.c optional uart scc dev/uart/uart_core.c optional uart dev/uart/uart_dbg.c optional uart gdb dev/uart/uart_dev_ns8250.c optional uart uart_ns8250 dev/uart/uart_dev_pl011.c optional uart pl011 dev/uart/uart_dev_quicc.c optional uart quicc dev/uart/uart_dev_sab82532.c optional uart uart_sab82532 dev/uart/uart_dev_sab82532.c optional uart scc dev/uart/uart_dev_z8530.c optional uart uart_z8530 dev/uart/uart_dev_z8530.c optional uart scc dev/uart/uart_if.m optional uart dev/uart/uart_subr.c optional uart dev/uart/uart_tty.c optional uart dev/ubsec/ubsec.c optional ubsec # # USB controller drivers # dev/usb/controller/at91dci.c optional at91dci dev/usb/controller/at91dci_atmelarm.c optional at91dci at91rm9200 dev/usb/controller/musb_otg.c optional musb dev/usb/controller/musb_otg_atmelarm.c optional musb at91rm9200 dev/usb/controller/dwc_otg.c optional dwcotg dev/usb/controller/dwc_otg_fdt.c optional dwcotg fdt dev/usb/controller/ehci.c optional ehci dev/usb/controller/ehci_pci.c optional ehci pci dev/usb/controller/ohci.c optional ohci dev/usb/controller/ohci_atmelarm.c optional ohci at91rm9200 dev/usb/controller/ohci_pci.c optional ohci pci dev/usb/controller/uhci.c optional uhci dev/usb/controller/uhci_pci.c optional uhci pci dev/usb/controller/xhci.c optional xhci dev/usb/controller/xhci_pci.c optional xhci pci dev/usb/controller/saf1761_otg.c optional saf1761otg dev/usb/controller/saf1761_otg_fdt.c optional saf1761otg fdt dev/usb/controller/uss820dci.c optional uss820dci dev/usb/controller/uss820dci_atmelarm.c optional uss820dci at91rm9200 dev/usb/controller/usb_controller.c optional usb # # USB storage drivers # dev/usb/storage/umass.c optional umass dev/usb/storage/urio.c optional urio dev/usb/storage/ustorage_fs.c optional usfs # # USB core # dev/usb/usb_busdma.c optional usb dev/usb/usb_compat_linux.c optional usb dev/usb/usb_core.c optional usb dev/usb/usb_debug.c optional usb dev/usb/usb_dev.c optional usb dev/usb/usb_device.c optional usb dev/usb/usb_dynamic.c optional usb dev/usb/usb_error.c optional usb dev/usb/usb_generic.c optional usb dev/usb/usb_handle_request.c optional usb dev/usb/usb_hid.c optional usb dev/usb/usb_hub.c optional usb dev/usb/usb_if.m optional usb dev/usb/usb_lookup.c optional usb dev/usb/usb_mbuf.c optional usb dev/usb/usb_msctest.c optional usb dev/usb/usb_parse.c optional usb dev/usb/usb_pf.c optional usb dev/usb/usb_process.c optional usb dev/usb/usb_request.c optional usb dev/usb/usb_transfer.c optional usb dev/usb/usb_util.c optional usb # # USB network drivers # dev/usb/net/if_aue.c optional aue dev/usb/net/if_axe.c optional axe dev/usb/net/if_axge.c optional axge dev/usb/net/if_cdce.c optional cdce dev/usb/net/if_cue.c optional cue dev/usb/net/if_ipheth.c optional ipheth dev/usb/net/if_kue.c optional kue dev/usb/net/if_mos.c optional mos dev/usb/net/if_rue.c optional rue dev/usb/net/if_smsc.c optional smsc dev/usb/net/if_udav.c optional udav dev/usb/net/if_usie.c optional usie dev/usb/net/if_urndis.c optional urndis dev/usb/net/ruephy.c optional rue dev/usb/net/usb_ethernet.c optional aue | axe | axge | cdce | cue | kue | \ mos | rue | smsc | udav | ipheth | \ urndis dev/usb/net/uhso.c optional uhso # # USB WLAN drivers # dev/usb/wlan/if_rsu.c optional rsu rsu-rtl8712fw.c optional rsu-rtl8712fw | rsufw \ compile-with "${AWK} -f $S/tools/fw_stub.awk rsu-rtl8712fw.fw:rsu-rtl8712fw:120 -mrsu-rtl8712fw -c${.TARGET}" \ no-implicit-rule before-depend local \ clean "rsu-rtl8712fw.c" rsu-rtl8712fw.fwo optional rsu-rtl8712fw | rsufw \ dependency "rsu-rtl8712fw.fw" \ compile-with "${NORMAL_FWO}" \ no-implicit-rule \ clean "rsu-rtl8712fw.fwo" rsu-rtl8712fw.fw optional rsu-rtl8712.fw | rsufw \ dependency "$S/contrib/dev/rsu/rsu-rtl8712fw.fw.uu" \ compile-with "${NORMAL_FW}" \ no-obj no-implicit-rule \ clean "rsu-rtl8712fw.fw" dev/usb/wlan/if_rum.c optional rum dev/usb/wlan/if_run.c optional run runfw.c optional runfw \ compile-with "${AWK} -f $S/tools/fw_stub.awk run.fw:runfw -mrunfw -c${.TARGET}" \ no-implicit-rule before-depend local \ clean "runfw.c" runfw.fwo optional runfw \ dependency "run.fw" \ compile-with "${NORMAL_FWO}" \ no-implicit-rule \ clean "runfw.fwo" run.fw optional runfw \ dependency "$S/contrib/dev/run/rt2870.fw.uu" \ compile-with "${NORMAL_FW}" \ no-obj no-implicit-rule \ clean "run.fw" dev/usb/wlan/if_uath.c optional uath dev/usb/wlan/if_upgt.c optional upgt dev/usb/wlan/if_ural.c optional ural dev/usb/wlan/if_urtw.c optional urtw dev/usb/wlan/if_urtwn.c optional urtwn urtwn-rtl8188eufw.c optional urtwn-rtl8188eufw | urtwnfw \ compile-with "${AWK} -f $S/tools/fw_stub.awk urtwn-rtl8188eufw.fw:urtwn-rtl8188eufw:111 -murtwn-rtl8188eufw -c${.TARGET}" \ no-implicit-rule before-depend local \ clean "urtwn-rtl8188eufw.c" urtwn-rtl8188eufw.fwo optional urtwn-rtl8188eufw | urtwnfw \ dependency "urtwn-rtl8188eufw.fw" \ compile-with "${NORMAL_FWO}" \ no-implicit-rule \ clean "urtwn-rtl8188eufw.fwo" urtwn-rtl8188eufw.fw optional urtwn-rtl8188eufw | urtwnfw \ dependency "$S/contrib/dev/urtwn/urtwn-rtl8188eufw.fw.uu" \ compile-with "${NORMAL_FW}" \ no-obj no-implicit-rule \ clean "urtwn-rtl8188eufw.fw" urtwn-rtl8192cfwT.c optional urtwn-rtl8192cfwT | urtwnfw \ compile-with "${AWK} -f $S/tools/fw_stub.awk urtwn-rtl8192cfwT.fw:urtwn-rtl8192cfwT:111 -murtwn-rtl8192cfwT -c${.TARGET}" \ no-implicit-rule before-depend local \ clean "urtwn-rtl8192cfwT.c" urtwn-rtl8192cfwT.fwo optional urtwn-rtl8192cfwT | urtwnfw \ dependency "urtwn-rtl8192cfwT.fw" \ compile-with "${NORMAL_FWO}" \ no-implicit-rule \ clean "urtwn-rtl8192cfwT.fwo" urtwn-rtl8192cfwT.fw optional urtwn-rtl8192cfwT | urtwnfw \ dependency "$S/contrib/dev/urtwn/urtwn-rtl8192cfwT.fw.uu" \ compile-with "${NORMAL_FW}" \ no-obj no-implicit-rule \ clean "urtwn-rtl8192cfwT.fw" urtwn-rtl8192cfwU.c optional urtwn-rtl8192cfwU | urtwnfw \ compile-with "${AWK} -f $S/tools/fw_stub.awk urtwn-rtl8192cfwU.fw:urtwn-rtl8192cfwU:111 -murtwn-rtl8192cfwU -c${.TARGET}" \ no-implicit-rule before-depend local \ clean "urtwn-rtl8192cfwU.c" urtwn-rtl8192cfwU.fwo optional urtwn-rtl8192cfwU | urtwnfw \ dependency "urtwn-rtl8192cfwU.fw" \ compile-with "${NORMAL_FWO}" \ no-implicit-rule \ clean "urtwn-rtl8192cfwU.fwo" urtwn-rtl8192cfwU.fw optional urtwn-rtl8192cfwU | urtwnfw \ dependency "$S/contrib/dev/urtwn/urtwn-rtl8192cfwU.fw.uu" \ compile-with "${NORMAL_FW}" \ no-obj no-implicit-rule \ clean "urtwn-rtl8192cfwU.fw" dev/usb/wlan/if_zyd.c optional zyd # # USB serial and parallel port drivers # dev/usb/serial/u3g.c optional u3g dev/usb/serial/uark.c optional uark dev/usb/serial/ubsa.c optional ubsa dev/usb/serial/ubser.c optional ubser dev/usb/serial/uchcom.c optional uchcom dev/usb/serial/ucycom.c optional ucycom dev/usb/serial/ufoma.c optional ufoma dev/usb/serial/uftdi.c optional uftdi dev/usb/serial/ugensa.c optional ugensa dev/usb/serial/uipaq.c optional uipaq dev/usb/serial/ulpt.c optional ulpt dev/usb/serial/umcs.c optional umcs dev/usb/serial/umct.c optional umct dev/usb/serial/umodem.c optional umodem dev/usb/serial/umoscom.c optional umoscom dev/usb/serial/uplcom.c optional uplcom dev/usb/serial/uslcom.c optional uslcom dev/usb/serial/uvisor.c optional uvisor dev/usb/serial/uvscom.c optional uvscom dev/usb/serial/usb_serial.c optional ucom | u3g | uark | ubsa | ubser | \ uchcom | ucycom | ufoma | uftdi | \ ugensa | uipaq | umcs | umct | \ umodem | umoscom | uplcom | usie | \ uslcom | uvisor | uvscom # # USB misc drivers # dev/usb/misc/ufm.c optional ufm dev/usb/misc/udbp.c optional udbp dev/usb/misc/uled.c optional uled # # USB input drivers # dev/usb/input/atp.c optional atp dev/usb/input/uep.c optional uep dev/usb/input/uhid.c optional uhid dev/usb/input/ukbd.c optional ukbd dev/usb/input/ums.c optional ums dev/usb/input/wsp.c optional wsp # # USB quirks # dev/usb/quirk/usb_quirk.c optional usb # # USB templates # dev/usb/template/usb_template.c optional usb_template dev/usb/template/usb_template_audio.c optional usb_template dev/usb/template/usb_template_cdce.c optional usb_template dev/usb/template/usb_template_kbd.c optional usb_template dev/usb/template/usb_template_modem.c optional usb_template dev/usb/template/usb_template_mouse.c optional usb_template dev/usb/template/usb_template_msc.c optional usb_template dev/usb/template/usb_template_mtp.c optional usb_template dev/usb/template/usb_template_phone.c optional usb_template # # USB END # dev/utopia/idtphy.c optional utopia dev/utopia/suni.c optional utopia dev/utopia/utopia.c optional utopia dev/vge/if_vge.c optional vge dev/viapm/viapm.c optional viapm pci dev/virtio/virtio.c optional virtio dev/virtio/virtqueue.c optional virtio dev/virtio/virtio_bus_if.m optional virtio dev/virtio/virtio_if.m optional virtio dev/virtio/pci/virtio_pci.c optional virtio_pci dev/virtio/mmio/virtio_mmio.c optional virtio_mmio dev/virtio/mmio/virtio_mmio_if.m optional virtio_mmio dev/virtio/network/if_vtnet.c optional vtnet dev/virtio/block/virtio_blk.c optional virtio_blk dev/virtio/balloon/virtio_balloon.c optional virtio_balloon dev/virtio/scsi/virtio_scsi.c optional virtio_scsi dev/virtio/random/virtio_random.c optional virtio_random dev/virtio/console/virtio_console.c optional virtio_console dev/vkbd/vkbd.c optional vkbd dev/vr/if_vr.c optional vr pci dev/vt/colors/vt_termcolors.c optional vt dev/vt/font/vt_font_default.c optional vt dev/vt/font/vt_mouse_cursor.c optional vt dev/vt/hw/efifb/efifb.c optional vt_efifb dev/vt/hw/fb/vt_fb.c optional vt dev/vt/hw/vga/vt_vga.c optional vt vt_vga dev/vt/logo/logo_freebsd.c optional vt splash dev/vt/vt_buf.c optional vt dev/vt/vt_consolectl.c optional vt dev/vt/vt_core.c optional vt dev/vt/vt_font.c optional vt dev/vt/vt_sysmouse.c optional vt dev/vte/if_vte.c optional vte pci dev/vx/if_vx.c optional vx dev/vx/if_vx_eisa.c optional vx eisa dev/vx/if_vx_pci.c optional vx pci dev/vxge/vxge.c optional vxge dev/vxge/vxgehal/vxgehal-ifmsg.c optional vxge dev/vxge/vxgehal/vxgehal-mrpcim.c optional vxge dev/vxge/vxgehal/vxge-queue.c optional vxge dev/vxge/vxgehal/vxgehal-ring.c optional vxge dev/vxge/vxgehal/vxgehal-swapper.c optional vxge dev/vxge/vxgehal/vxgehal-mgmt.c optional vxge dev/vxge/vxgehal/vxgehal-srpcim.c optional vxge dev/vxge/vxgehal/vxgehal-config.c optional vxge dev/vxge/vxgehal/vxgehal-blockpool.c optional vxge dev/vxge/vxgehal/vxgehal-doorbells.c optional vxge dev/vxge/vxgehal/vxgehal-mgmtaux.c optional vxge dev/vxge/vxgehal/vxgehal-device.c optional vxge dev/vxge/vxgehal/vxgehal-mm.c optional vxge dev/vxge/vxgehal/vxgehal-driver.c optional vxge dev/vxge/vxgehal/vxgehal-virtualpath.c optional vxge dev/vxge/vxgehal/vxgehal-channel.c optional vxge dev/vxge/vxgehal/vxgehal-fifo.c optional vxge dev/watchdog/watchdog.c standard dev/wb/if_wb.c optional wb pci dev/wds/wd7000.c optional wds isa dev/wi/if_wi.c optional wi dev/wi/if_wi_pccard.c optional wi pccard dev/wi/if_wi_pci.c optional wi pci dev/wl/if_wl.c optional wl isa dev/wpi/if_wpi.c optional wpi pci wpifw.c optional wpifw \ compile-with "${AWK} -f $S/tools/fw_stub.awk wpi.fw:wpifw:153229 -mwpi -c${.TARGET}" \ no-implicit-rule before-depend local \ clean "wpifw.c" wpifw.fwo optional wpifw \ dependency "wpi.fw" \ compile-with "${NORMAL_FWO}" \ no-implicit-rule \ clean "wpifw.fwo" wpi.fw optional wpifw \ dependency "$S/contrib/dev/wpi/iwlwifi-3945-15.32.2.9.fw.uu" \ compile-with "${NORMAL_FW}" \ no-obj no-implicit-rule \ clean "wpi.fw" dev/xe/if_xe.c optional xe dev/xe/if_xe_pccard.c optional xe pccard dev/xen/balloon/balloon.c optional xen | xenhvm dev/xen/blkfront/blkfront.c optional xen | xenhvm dev/xen/blkback/blkback.c optional xen | xenhvm dev/xen/console/console.c optional xen | xenhvm dev/xen/console/xencons_ring.c optional xen | xenhvm dev/xen/control/control.c optional xen | xenhvm dev/xen/grant_table/grant_table.c optional xen | xenhvm dev/xen/netback/netback.c optional xen | xenhvm dev/xen/netfront/netfront.c optional xen | xenhvm dev/xen/xenpci/xenpci.c optional xenpci dev/xen/timer/timer.c optional xen | xenhvm dev/xen/pvcpu/pvcpu.c optional xen | xenhvm dev/xen/xenstore/xenstore.c optional xen | xenhvm dev/xen/xenstore/xenstore_dev.c optional xen | xenhvm dev/xen/xenstore/xenstored_dev.c optional xen | xenhvm dev/xen/evtchn/evtchn_dev.c optional xen | xenhvm dev/xen/privcmd/privcmd.c optional xen | xenhvm dev/xl/if_xl.c optional xl pci dev/xl/xlphy.c optional xl pci fs/autofs/autofs.c optional autofs fs/autofs/autofs_vfsops.c optional autofs fs/autofs/autofs_vnops.c optional autofs fs/deadfs/dead_vnops.c standard fs/devfs/devfs_devs.c standard fs/devfs/devfs_dir.c standard fs/devfs/devfs_rule.c standard fs/devfs/devfs_vfsops.c standard fs/devfs/devfs_vnops.c standard fs/fdescfs/fdesc_vfsops.c optional fdescfs fs/fdescfs/fdesc_vnops.c optional fdescfs fs/fifofs/fifo_vnops.c standard fs/cuse/cuse.c optional cuse fs/fuse/fuse_device.c optional fuse fs/fuse/fuse_file.c optional fuse fs/fuse/fuse_internal.c optional fuse fs/fuse/fuse_io.c optional fuse fs/fuse/fuse_ipc.c optional fuse fs/fuse/fuse_main.c optional fuse fs/fuse/fuse_node.c optional fuse fs/fuse/fuse_vfsops.c optional fuse fs/fuse/fuse_vnops.c optional fuse fs/msdosfs/msdosfs_conv.c optional msdosfs fs/msdosfs/msdosfs_denode.c optional msdosfs fs/msdosfs/msdosfs_fat.c optional msdosfs fs/msdosfs/msdosfs_fileno.c optional msdosfs fs/msdosfs/msdosfs_iconv.c optional msdosfs_iconv fs/msdosfs/msdosfs_lookup.c optional msdosfs fs/msdosfs/msdosfs_vfsops.c optional msdosfs fs/msdosfs/msdosfs_vnops.c optional msdosfs fs/nandfs/bmap.c optional nandfs fs/nandfs/nandfs_alloc.c optional nandfs fs/nandfs/nandfs_bmap.c optional nandfs fs/nandfs/nandfs_buffer.c optional nandfs fs/nandfs/nandfs_cleaner.c optional nandfs fs/nandfs/nandfs_cpfile.c optional nandfs fs/nandfs/nandfs_dat.c optional nandfs fs/nandfs/nandfs_dir.c optional nandfs fs/nandfs/nandfs_ifile.c optional nandfs fs/nandfs/nandfs_segment.c optional nandfs fs/nandfs/nandfs_subr.c optional nandfs fs/nandfs/nandfs_sufile.c optional nandfs fs/nandfs/nandfs_vfsops.c optional nandfs fs/nandfs/nandfs_vnops.c optional nandfs fs/nfs/nfs_commonkrpc.c optional nfscl | nfsd fs/nfs/nfs_commonsubs.c optional nfscl | nfsd fs/nfs/nfs_commonport.c optional nfscl | nfsd fs/nfs/nfs_commonacl.c optional nfscl | nfsd fs/nfsclient/nfs_clcomsubs.c optional nfscl fs/nfsclient/nfs_clsubs.c optional nfscl fs/nfsclient/nfs_clstate.c optional nfscl fs/nfsclient/nfs_clkrpc.c optional nfscl fs/nfsclient/nfs_clrpcops.c optional nfscl fs/nfsclient/nfs_clvnops.c optional nfscl fs/nfsclient/nfs_clnode.c optional nfscl fs/nfsclient/nfs_clvfsops.c optional nfscl fs/nfsclient/nfs_clport.c optional nfscl fs/nfsclient/nfs_clbio.c optional nfscl fs/nfsclient/nfs_clnfsiod.c optional nfscl fs/nfsserver/nfs_fha_new.c optional nfsd inet fs/nfsserver/nfs_nfsdsocket.c optional nfsd inet fs/nfsserver/nfs_nfsdsubs.c optional nfsd inet fs/nfsserver/nfs_nfsdstate.c optional nfsd inet fs/nfsserver/nfs_nfsdkrpc.c optional nfsd inet fs/nfsserver/nfs_nfsdserv.c optional nfsd inet fs/nfsserver/nfs_nfsdport.c optional nfsd inet fs/nfsserver/nfs_nfsdcache.c optional nfsd inet fs/nullfs/null_subr.c optional nullfs fs/nullfs/null_vfsops.c optional nullfs fs/nullfs/null_vnops.c optional nullfs fs/procfs/procfs.c optional procfs fs/procfs/procfs_ctl.c optional procfs fs/procfs/procfs_dbregs.c optional procfs fs/procfs/procfs_fpregs.c optional procfs fs/procfs/procfs_ioctl.c optional procfs fs/procfs/procfs_map.c optional procfs fs/procfs/procfs_mem.c optional procfs fs/procfs/procfs_note.c optional procfs fs/procfs/procfs_osrel.c optional procfs fs/procfs/procfs_regs.c optional procfs fs/procfs/procfs_rlimit.c optional procfs fs/procfs/procfs_status.c optional procfs fs/procfs/procfs_type.c optional procfs fs/pseudofs/pseudofs.c optional pseudofs fs/pseudofs/pseudofs_fileno.c optional pseudofs fs/pseudofs/pseudofs_vncache.c optional pseudofs fs/pseudofs/pseudofs_vnops.c optional pseudofs fs/smbfs/smbfs_io.c optional smbfs fs/smbfs/smbfs_node.c optional smbfs fs/smbfs/smbfs_smb.c optional smbfs fs/smbfs/smbfs_subr.c optional smbfs fs/smbfs/smbfs_vfsops.c optional smbfs fs/smbfs/smbfs_vnops.c optional smbfs fs/udf/osta.c optional udf fs/udf/udf_iconv.c optional udf_iconv fs/udf/udf_vfsops.c optional udf fs/udf/udf_vnops.c optional udf fs/unionfs/union_subr.c optional unionfs fs/unionfs/union_vfsops.c optional unionfs fs/unionfs/union_vnops.c optional unionfs fs/tmpfs/tmpfs_vnops.c optional tmpfs fs/tmpfs/tmpfs_fifoops.c optional tmpfs fs/tmpfs/tmpfs_vfsops.c optional tmpfs fs/tmpfs/tmpfs_subr.c optional tmpfs gdb/gdb_cons.c optional gdb gdb/gdb_main.c optional gdb gdb/gdb_packet.c optional gdb geom/bde/g_bde.c optional geom_bde geom/bde/g_bde_crypt.c optional geom_bde geom/bde/g_bde_lock.c optional geom_bde geom/bde/g_bde_work.c optional geom_bde geom/cache/g_cache.c optional geom_cache geom/concat/g_concat.c optional geom_concat geom/eli/g_eli.c optional geom_eli geom/eli/g_eli_crypto.c optional geom_eli geom/eli/g_eli_ctl.c optional geom_eli geom/eli/g_eli_integrity.c optional geom_eli geom/eli/g_eli_key.c optional geom_eli geom/eli/g_eli_key_cache.c optional geom_eli geom/eli/g_eli_privacy.c optional geom_eli geom/eli/pkcs5v2.c optional geom_eli geom/gate/g_gate.c optional geom_gate geom/geom_aes.c optional geom_aes geom/geom_bsd.c optional geom_bsd geom/geom_bsd_enc.c optional geom_bsd | geom_part_bsd geom/geom_ccd.c optional ccd | geom_ccd geom/geom_ctl.c standard geom/geom_dev.c standard geom/geom_disk.c standard geom/geom_dump.c standard geom/geom_event.c standard geom/geom_fox.c optional geom_fox geom/geom_flashmap.c optional fdt cfi | fdt nand geom/geom_io.c standard geom/geom_kern.c standard geom/geom_map.c optional geom_map geom/geom_mbr.c optional geom_mbr geom/geom_mbr_enc.c optional geom_mbr geom/geom_pc98.c optional geom_pc98 geom/geom_pc98_enc.c optional geom_pc98 geom/geom_redboot.c optional geom_redboot geom/geom_slice.c standard geom/geom_subr.c standard geom/geom_sunlabel.c optional geom_sunlabel geom/geom_sunlabel_enc.c optional geom_sunlabel geom/geom_vfs.c standard geom/geom_vol_ffs.c optional geom_vol geom/journal/g_journal.c optional geom_journal geom/journal/g_journal_ufs.c optional geom_journal geom/label/g_label.c optional geom_label | geom_label_gpt geom/label/g_label_ext2fs.c optional geom_label geom/label/g_label_iso9660.c optional geom_label geom/label/g_label_msdosfs.c optional geom_label geom/label/g_label_ntfs.c optional geom_label geom/label/g_label_reiserfs.c optional geom_label geom/label/g_label_ufs.c optional geom_label geom/label/g_label_gpt.c optional geom_label | geom_label_gpt geom/label/g_label_disk_ident.c optional geom_label geom/linux_lvm/g_linux_lvm.c optional geom_linux_lvm geom/mirror/g_mirror.c optional geom_mirror geom/mirror/g_mirror_ctl.c optional geom_mirror geom/mountver/g_mountver.c optional geom_mountver geom/multipath/g_multipath.c optional geom_multipath geom/nop/g_nop.c optional geom_nop geom/part/g_part.c standard geom/part/g_part_if.m standard geom/part/g_part_apm.c optional geom_part_apm geom/part/g_part_bsd.c optional geom_part_bsd geom/part/g_part_bsd64.c optional geom_part_bsd64 geom/part/g_part_ebr.c optional geom_part_ebr geom/part/g_part_gpt.c optional geom_part_gpt geom/part/g_part_ldm.c optional geom_part_ldm geom/part/g_part_mbr.c optional geom_part_mbr geom/part/g_part_pc98.c optional geom_part_pc98 geom/part/g_part_vtoc8.c optional geom_part_vtoc8 geom/raid/g_raid.c optional geom_raid geom/raid/g_raid_ctl.c optional geom_raid geom/raid/g_raid_md_if.m optional geom_raid geom/raid/g_raid_tr_if.m optional geom_raid geom/raid/md_ddf.c optional geom_raid geom/raid/md_intel.c optional geom_raid geom/raid/md_jmicron.c optional geom_raid geom/raid/md_nvidia.c optional geom_raid geom/raid/md_promise.c optional geom_raid geom/raid/md_sii.c optional geom_raid geom/raid/tr_concat.c optional geom_raid geom/raid/tr_raid0.c optional geom_raid geom/raid/tr_raid1.c optional geom_raid geom/raid/tr_raid1e.c optional geom_raid geom/raid/tr_raid5.c optional geom_raid geom/raid3/g_raid3.c optional geom_raid3 geom/raid3/g_raid3_ctl.c optional geom_raid3 geom/shsec/g_shsec.c optional geom_shsec geom/stripe/g_stripe.c optional geom_stripe geom/uncompress/g_uncompress.c optional geom_uncompress contrib/xz-embedded/freebsd/xz_malloc.c \ optional xz_embedded | geom_uncompress \ compile-with "${NORMAL_C} -I$S/contrib/xz-embedded/freebsd/ -I$S/contrib/xz-embedded/linux/lib/xz/ -I$S/contrib/xz-embedded/linux/include/linux/" contrib/xz-embedded/linux/lib/xz/xz_crc32.c \ optional xz_embedded | geom_uncompress \ compile-with "${NORMAL_C} -I$S/contrib/xz-embedded/freebsd/ -I$S/contrib/xz-embedded/linux/lib/xz/ -I$S/contrib/xz-embedded/linux/include/linux/" contrib/xz-embedded/linux/lib/xz/xz_dec_bcj.c \ optional xz_embedded | geom_uncompress \ compile-with "${NORMAL_C} -I$S/contrib/xz-embedded/freebsd/ -I$S/contrib/xz-embedded/linux/lib/xz/ -I$S/contrib/xz-embedded/linux/include/linux/" contrib/xz-embedded/linux/lib/xz/xz_dec_lzma2.c \ optional xz_embedded | geom_uncompress \ compile-with "${NORMAL_C} -I$S/contrib/xz-embedded/freebsd/ -I$S/contrib/xz-embedded/linux/lib/xz/ -I$S/contrib/xz-embedded/linux/include/linux/" contrib/xz-embedded/linux/lib/xz/xz_dec_stream.c \ optional xz_embedded | geom_uncompress \ compile-with "${NORMAL_C} -I$S/contrib/xz-embedded/freebsd/ -I$S/contrib/xz-embedded/linux/lib/xz/ -I$S/contrib/xz-embedded/linux/include/linux/" geom/uzip/g_uzip.c optional geom_uzip geom/vinum/geom_vinum.c optional geom_vinum geom/vinum/geom_vinum_create.c optional geom_vinum geom/vinum/geom_vinum_drive.c optional geom_vinum geom/vinum/geom_vinum_plex.c optional geom_vinum geom/vinum/geom_vinum_volume.c optional geom_vinum geom/vinum/geom_vinum_subr.c optional geom_vinum geom/vinum/geom_vinum_raid5.c optional geom_vinum geom/vinum/geom_vinum_share.c optional geom_vinum geom/vinum/geom_vinum_list.c optional geom_vinum geom/vinum/geom_vinum_rm.c optional geom_vinum geom/vinum/geom_vinum_init.c optional geom_vinum geom/vinum/geom_vinum_state.c optional geom_vinum geom/vinum/geom_vinum_rename.c optional geom_vinum geom/vinum/geom_vinum_move.c optional geom_vinum geom/vinum/geom_vinum_events.c optional geom_vinum geom/virstor/binstream.c optional geom_virstor geom/virstor/g_virstor.c optional geom_virstor geom/virstor/g_virstor_md.c optional geom_virstor geom/zero/g_zero.c optional geom_zero fs/ext2fs/ext2_alloc.c optional ext2fs fs/ext2fs/ext2_balloc.c optional ext2fs fs/ext2fs/ext2_bmap.c optional ext2fs fs/ext2fs/ext2_extents.c optional ext2fs fs/ext2fs/ext2_inode.c optional ext2fs fs/ext2fs/ext2_inode_cnv.c optional ext2fs fs/ext2fs/ext2_hash.c optional ext2fs fs/ext2fs/ext2_htree.c optional ext2fs fs/ext2fs/ext2_lookup.c optional ext2fs fs/ext2fs/ext2_subr.c optional ext2fs fs/ext2fs/ext2_vfsops.c optional ext2fs fs/ext2fs/ext2_vnops.c optional ext2fs gnu/fs/reiserfs/reiserfs_hashes.c optional reiserfs \ warning "kernel contains GPL contaminated ReiserFS filesystem" gnu/fs/reiserfs/reiserfs_inode.c optional reiserfs gnu/fs/reiserfs/reiserfs_item_ops.c optional reiserfs gnu/fs/reiserfs/reiserfs_namei.c optional reiserfs gnu/fs/reiserfs/reiserfs_prints.c optional reiserfs gnu/fs/reiserfs/reiserfs_stree.c optional reiserfs gnu/fs/reiserfs/reiserfs_vfsops.c optional reiserfs gnu/fs/reiserfs/reiserfs_vnops.c optional reiserfs # isa/isa_if.m standard isa/isa_common.c optional isa isa/isahint.c optional isa isa/pnp.c optional isa isapnp isa/pnpparse.c optional isa isapnp fs/cd9660/cd9660_bmap.c optional cd9660 fs/cd9660/cd9660_lookup.c optional cd9660 fs/cd9660/cd9660_node.c optional cd9660 fs/cd9660/cd9660_rrip.c optional cd9660 fs/cd9660/cd9660_util.c optional cd9660 fs/cd9660/cd9660_vfsops.c optional cd9660 fs/cd9660/cd9660_vnops.c optional cd9660 fs/cd9660/cd9660_iconv.c optional cd9660_iconv kern/bus_if.m standard kern/clock_if.m standard kern/cpufreq_if.m standard kern/device_if.m standard kern/imgact_binmisc.c optional imagact_binmisc kern/imgact_elf.c standard kern/imgact_elf32.c optional compat_freebsd32 kern/imgact_shell.c standard kern/inflate.c optional gzip kern/init_main.c standard kern/init_sysent.c standard kern/ksched.c optional _kposix_priority_scheduling kern/kern_acct.c standard kern/kern_alq.c optional alq kern/kern_clock.c standard kern/kern_condvar.c standard kern/kern_conf.c standard kern/kern_cons.c standard kern/kern_cpu.c standard kern/kern_cpuset.c standard kern/kern_context.c standard kern/kern_descrip.c standard kern/kern_dtrace.c optional kdtrace_hooks kern/kern_environment.c standard kern/kern_et.c standard kern/kern_event.c standard kern/kern_exec.c standard kern/kern_exit.c standard kern/kern_fail.c standard kern/kern_ffclock.c standard kern/kern_fork.c standard kern/kern_gzio.c optional gzio kern/kern_hhook.c standard kern/kern_idle.c standard kern/kern_intr.c standard kern/kern_jail.c standard kern/kern_khelp.c standard kern/kern_kthread.c standard kern/kern_ktr.c optional ktr kern/kern_ktrace.c standard kern/kern_linker.c standard kern/kern_lock.c standard kern/kern_lockf.c standard kern/kern_lockstat.c optional kdtrace_hooks kern/kern_loginclass.c standard kern/kern_malloc.c standard kern/kern_mbuf.c standard kern/kern_mib.c standard kern/kern_module.c standard kern/kern_mtxpool.c standard kern/kern_mutex.c standard kern/kern_ntptime.c standard kern/kern_osd.c standard kern/kern_physio.c standard kern/kern_pmc.c standard kern/kern_poll.c optional device_polling kern/kern_priv.c standard kern/kern_proc.c standard kern/kern_procctl.c standard kern/kern_prot.c standard kern/kern_racct.c standard kern/kern_rangelock.c standard kern/kern_rctl.c standard kern/kern_resource.c standard kern/kern_rmlock.c standard kern/kern_rwlock.c standard kern/kern_sdt.c optional kdtrace_hooks kern/kern_sema.c standard kern/kern_sharedpage.c standard kern/kern_shutdown.c standard kern/kern_sig.c standard kern/kern_switch.c standard kern/kern_sx.c standard kern/kern_synch.c standard kern/kern_syscalls.c standard kern/kern_sysctl.c standard kern/kern_tc.c standard kern/kern_thr.c standard kern/kern_thread.c standard kern/kern_time.c standard kern/kern_timeout.c standard kern/kern_umtx.c standard kern/kern_uuid.c standard kern/kern_xxx.c standard kern/link_elf.c standard kern/linker_if.m standard kern/md4c.c optional netsmb kern/md5c.c standard kern/p1003_1b.c standard kern/posix4_mib.c standard kern/sched_4bsd.c optional sched_4bsd kern/sched_ule.c optional sched_ule kern/serdev_if.m standard kern/stack_protector.c standard \ compile-with "${NORMAL_C:N-fstack-protector*}" kern/subr_acl_nfs4.c optional ufs_acl | zfs kern/subr_acl_posix1e.c optional ufs_acl kern/subr_autoconf.c standard kern/subr_blist.c standard kern/subr_bus.c standard kern/subr_bus_dma.c standard kern/subr_bufring.c standard kern/subr_capability.c standard kern/subr_clock.c standard kern/subr_counter.c standard kern/subr_devstat.c standard kern/subr_disk.c standard kern/subr_eventhandler.c standard kern/subr_fattime.c standard kern/subr_firmware.c optional firmware kern/subr_hash.c standard kern/subr_hints.c standard kern/subr_kdb.c standard kern/subr_kobj.c standard kern/subr_lock.c standard kern/subr_log.c standard kern/subr_mbpool.c optional libmbpool kern/subr_mchain.c optional libmchain kern/subr_module.c standard kern/subr_msgbuf.c standard kern/subr_param.c standard kern/subr_pcpu.c standard kern/subr_pctrie.c standard kern/subr_power.c standard kern/subr_prf.c standard kern/subr_prof.c standard kern/subr_rman.c standard kern/subr_rtc.c standard kern/subr_sbuf.c standard kern/subr_scanf.c standard kern/subr_sglist.c standard kern/subr_sleepqueue.c standard kern/subr_smp.c standard kern/subr_stack.c optional ddb | stack | ktr kern/subr_taskqueue.c standard kern/subr_terminal.c optional vt kern/subr_trap.c standard kern/subr_turnstile.c standard kern/subr_uio.c standard kern/subr_unit.c standard kern/subr_vmem.c standard kern/subr_witness.c optional witness kern/sys_capability.c standard kern/sys_generic.c standard kern/sys_pipe.c standard kern/sys_procdesc.c standard kern/sys_process.c standard kern/sys_socket.c standard kern/syscalls.c standard kern/sysv_ipc.c standard kern/sysv_msg.c optional sysvmsg kern/sysv_sem.c optional sysvsem kern/sysv_shm.c optional sysvshm kern/tty.c standard kern/tty_compat.c optional compat_43tty kern/tty_info.c standard kern/tty_inq.c standard kern/tty_outq.c standard kern/tty_pts.c standard kern/tty_tty.c standard kern/tty_ttydisc.c standard kern/uipc_accf.c standard kern/uipc_debug.c optional ddb kern/uipc_domain.c standard kern/uipc_mbuf.c standard kern/uipc_mbuf2.c standard kern/uipc_mqueue.c optional p1003_1b_mqueue kern/uipc_sem.c optional p1003_1b_semaphores kern/uipc_shm.c standard kern/uipc_sockbuf.c standard kern/uipc_socket.c standard kern/uipc_syscalls.c standard kern/uipc_usrreq.c standard kern/vfs_acl.c standard kern/vfs_aio.c optional vfs_aio kern/vfs_bio.c standard kern/vfs_cache.c standard kern/vfs_cluster.c standard kern/vfs_default.c standard kern/vfs_export.c standard kern/vfs_extattr.c standard kern/vfs_hash.c standard kern/vfs_init.c standard kern/vfs_lookup.c standard kern/vfs_mount.c standard kern/vfs_mountroot.c standard kern/vfs_subr.c standard kern/vfs_syscalls.c standard kern/vfs_vnops.c standard # # Kernel GSS-API # gssd.h optional kgssapi \ dependency "$S/kgssapi/gssd.x" \ compile-with "RPCGEN_CPP='${CPP}' rpcgen -hM $S/kgssapi/gssd.x | grep -v pthread.h > gssd.h" \ no-obj no-implicit-rule before-depend local \ clean "gssd.h" gssd_xdr.c optional kgssapi \ dependency "$S/kgssapi/gssd.x gssd.h" \ compile-with "RPCGEN_CPP='${CPP}' rpcgen -c $S/kgssapi/gssd.x -o gssd_xdr.c" \ no-implicit-rule before-depend local \ clean "gssd_xdr.c" gssd_clnt.c optional kgssapi \ dependency "$S/kgssapi/gssd.x gssd.h" \ compile-with "RPCGEN_CPP='${CPP}' rpcgen -lM $S/kgssapi/gssd.x | grep -v string.h > gssd_clnt.c" \ no-implicit-rule before-depend local \ clean "gssd_clnt.c" kgssapi/gss_accept_sec_context.c optional kgssapi kgssapi/gss_add_oid_set_member.c optional kgssapi kgssapi/gss_acquire_cred.c optional kgssapi kgssapi/gss_canonicalize_name.c optional kgssapi kgssapi/gss_create_empty_oid_set.c optional kgssapi kgssapi/gss_delete_sec_context.c optional kgssapi kgssapi/gss_display_status.c optional kgssapi kgssapi/gss_export_name.c optional kgssapi kgssapi/gss_get_mic.c optional kgssapi kgssapi/gss_init_sec_context.c optional kgssapi kgssapi/gss_impl.c optional kgssapi kgssapi/gss_import_name.c optional kgssapi kgssapi/gss_names.c optional kgssapi kgssapi/gss_pname_to_uid.c optional kgssapi kgssapi/gss_release_buffer.c optional kgssapi kgssapi/gss_release_cred.c optional kgssapi kgssapi/gss_release_name.c optional kgssapi kgssapi/gss_release_oid_set.c optional kgssapi kgssapi/gss_set_cred_option.c optional kgssapi kgssapi/gss_test_oid_set_member.c optional kgssapi kgssapi/gss_unwrap.c optional kgssapi kgssapi/gss_verify_mic.c optional kgssapi kgssapi/gss_wrap.c optional kgssapi kgssapi/gss_wrap_size_limit.c optional kgssapi kgssapi/gssd_prot.c optional kgssapi kgssapi/krb5/krb5_mech.c optional kgssapi kgssapi/krb5/kcrypto.c optional kgssapi kgssapi/krb5/kcrypto_aes.c optional kgssapi kgssapi/krb5/kcrypto_arcfour.c optional kgssapi kgssapi/krb5/kcrypto_des.c optional kgssapi kgssapi/krb5/kcrypto_des3.c optional kgssapi kgssapi/kgss_if.m optional kgssapi kgssapi/gsstest.c optional kgssapi_debug # These files in libkern/ are those needed by all architectures. Some # of the files in libkern/ are only needed on some architectures, e.g., # libkern/divdi3.c is needed by i386 but not alpha. Also, some of these # routines may be optimized for a particular platform. In either case, # the file should be moved to conf/files. from here. # libkern/arc4random.c standard libkern/bcd.c standard libkern/bsearch.c standard libkern/crc32.c standard libkern/explicit_bzero.c standard libkern/fnmatch.c standard libkern/iconv.c optional libiconv libkern/iconv_converter_if.m optional libiconv libkern/iconv_ucs.c optional libiconv libkern/iconv_xlat.c optional libiconv libkern/iconv_xlat16.c optional libiconv libkern/inet_aton.c standard libkern/inet_ntoa.c standard libkern/inet_ntop.c standard libkern/inet_pton.c standard libkern/jenkins_hash.c standard libkern/murmur3_32.c standard libkern/mcount.c optional profiling-routine libkern/memcchr.c standard libkern/memchr.c optional fdt | gdb libkern/memcmp.c standard libkern/memmem.c optional gdb libkern/qsort.c standard libkern/qsort_r.c standard libkern/random.c standard libkern/scanc.c standard libkern/strcasecmp.c standard libkern/strcat.c standard libkern/strchr.c standard libkern/strcmp.c standard libkern/strcpy.c standard libkern/strcspn.c standard libkern/strdup.c standard libkern/strndup.c standard libkern/strlcat.c standard libkern/strlcpy.c standard libkern/strlen.c standard libkern/strncmp.c standard libkern/strncpy.c standard libkern/strnlen.c standard libkern/strrchr.c standard libkern/strsep.c standard libkern/strspn.c standard libkern/strstr.c standard libkern/strtol.c standard libkern/strtoq.c standard libkern/strtoul.c standard libkern/strtouq.c standard libkern/strvalid.c standard libkern/timingsafe_bcmp.c standard net/bpf.c standard net/bpf_buffer.c optional bpf net/bpf_jitter.c optional bpf_jitter net/bpf_filter.c optional bpf | netgraph_bpf net/bpf_zerocopy.c optional bpf net/bridgestp.c optional bridge | if_bridge net/flowtable.c optional flowtable inet | flowtable inet6 net/ieee8023ad_lacp.c optional lagg net/if.c standard net/if_arcsubr.c optional arcnet net/if_atmsubr.c optional atm net/if_bridge.c optional bridge inet | if_bridge inet net/if_clone.c standard net/if_dead.c standard net/if_debug.c optional ddb net/if_disc.c optional disc net/if_edsc.c optional edsc net/if_enc.c optional enc ipsec inet | enc ipsec inet6 net/if_epair.c optional epair net/if_ethersubr.c optional ether net/if_fddisubr.c optional fddi net/if_fwsubr.c optional fwip net/if_gif.c optional gif inet | gif inet6 | \ netgraph_gif inet | netgraph_gif inet6 net/if_gre.c optional gre inet | gre inet6 net/if_iso88025subr.c optional token net/if_lagg.c optional lagg net/if_loop.c optional loop net/if_llatbl.c standard net/if_me.c optional me inet net/if_media.c standard net/if_mib.c standard net/if_spppfr.c optional sppp | netgraph_sppp net/if_spppsubr.c optional sppp | netgraph_sppp net/if_stf.c optional stf inet inet6 net/if_tun.c optional tun net/if_tap.c optional tap net/if_vlan.c optional vlan net/if_vxlan.c optional vxlan inet | vxlan inet6 net/mppcc.c optional netgraph_mppc_compression net/mppcd.c optional netgraph_mppc_compression net/netisr.c standard net/pfil.c optional ether | inet net/radix.c standard net/radix_mpath.c standard net/raw_cb.c standard net/raw_usrreq.c standard net/route.c standard net/rtsock.c standard net/slcompress.c optional netgraph_vjc | sppp | \ netgraph_sppp net/vnet.c optional vimage net/zlib.c optional crypto | geom_uzip | ipsec | \ mxge | netgraph_deflate | \ ddb_ctf | gzio | geom_uncompress net80211/ieee80211.c optional wlan net80211/ieee80211_acl.c optional wlan wlan_acl net80211/ieee80211_action.c optional wlan net80211/ieee80211_ageq.c optional wlan net80211/ieee80211_adhoc.c optional wlan \ compile-with "${NORMAL_C} -Wno-unused-function" net80211/ieee80211_ageq.c optional wlan net80211/ieee80211_amrr.c optional wlan | wlan_amrr net80211/ieee80211_crypto.c optional wlan \ compile-with "${NORMAL_C} -Wno-unused-function" net80211/ieee80211_crypto_ccmp.c optional wlan wlan_ccmp net80211/ieee80211_crypto_none.c optional wlan net80211/ieee80211_crypto_tkip.c optional wlan wlan_tkip net80211/ieee80211_crypto_wep.c optional wlan wlan_wep net80211/ieee80211_ddb.c optional wlan ddb net80211/ieee80211_dfs.c optional wlan net80211/ieee80211_freebsd.c optional wlan net80211/ieee80211_hostap.c optional wlan \ compile-with "${NORMAL_C} -Wno-unused-function" net80211/ieee80211_ht.c optional wlan net80211/ieee80211_hwmp.c optional wlan ieee80211_support_mesh net80211/ieee80211_input.c optional wlan net80211/ieee80211_ioctl.c optional wlan net80211/ieee80211_mesh.c optional wlan ieee80211_support_mesh \ compile-with "${NORMAL_C} -Wno-unused-function" net80211/ieee80211_monitor.c optional wlan net80211/ieee80211_node.c optional wlan net80211/ieee80211_output.c optional wlan net80211/ieee80211_phy.c optional wlan net80211/ieee80211_power.c optional wlan net80211/ieee80211_proto.c optional wlan net80211/ieee80211_radiotap.c optional wlan net80211/ieee80211_ratectl.c optional wlan net80211/ieee80211_ratectl_none.c optional wlan net80211/ieee80211_regdomain.c optional wlan net80211/ieee80211_rssadapt.c optional wlan wlan_rssadapt net80211/ieee80211_scan.c optional wlan net80211/ieee80211_scan_sta.c optional wlan net80211/ieee80211_sta.c optional wlan \ compile-with "${NORMAL_C} -Wno-unused-function" net80211/ieee80211_superg.c optional wlan ieee80211_support_superg net80211/ieee80211_tdma.c optional wlan ieee80211_support_tdma net80211/ieee80211_wds.c optional wlan net80211/ieee80211_xauth.c optional wlan wlan_xauth net80211/ieee80211_alq.c optional wlan ieee80211_alq netgraph/atm/ccatm/ng_ccatm.c optional ngatm_ccatm \ compile-with "${NORMAL_C} -I$S/contrib/ngatm" netgraph/atm/ng_atm.c optional ngatm_atm netgraph/atm/ngatmbase.c optional ngatm_atmbase \ compile-with "${NORMAL_C} -I$S/contrib/ngatm" netgraph/atm/sscfu/ng_sscfu.c optional ngatm_sscfu \ compile-with "${NORMAL_C} -I$S/contrib/ngatm" netgraph/atm/sscop/ng_sscop.c optional ngatm_sscop \ compile-with "${NORMAL_C} -I$S/contrib/ngatm" netgraph/atm/uni/ng_uni.c optional ngatm_uni \ compile-with "${NORMAL_C} -I$S/contrib/ngatm" netgraph/bluetooth/common/ng_bluetooth.c optional netgraph_bluetooth netgraph/bluetooth/drivers/bt3c/ng_bt3c_pccard.c optional netgraph_bluetooth_bt3c netgraph/bluetooth/drivers/h4/ng_h4.c optional netgraph_bluetooth_h4 netgraph/bluetooth/drivers/ubt/ng_ubt.c optional netgraph_bluetooth_ubt usb netgraph/bluetooth/drivers/ubtbcmfw/ubtbcmfw.c optional netgraph_bluetooth_ubtbcmfw usb netgraph/bluetooth/hci/ng_hci_cmds.c optional netgraph_bluetooth_hci netgraph/bluetooth/hci/ng_hci_evnt.c optional netgraph_bluetooth_hci netgraph/bluetooth/hci/ng_hci_main.c optional netgraph_bluetooth_hci netgraph/bluetooth/hci/ng_hci_misc.c optional netgraph_bluetooth_hci netgraph/bluetooth/hci/ng_hci_ulpi.c optional netgraph_bluetooth_hci netgraph/bluetooth/l2cap/ng_l2cap_cmds.c optional netgraph_bluetooth_l2cap netgraph/bluetooth/l2cap/ng_l2cap_evnt.c optional netgraph_bluetooth_l2cap netgraph/bluetooth/l2cap/ng_l2cap_llpi.c optional netgraph_bluetooth_l2cap netgraph/bluetooth/l2cap/ng_l2cap_main.c optional netgraph_bluetooth_l2cap netgraph/bluetooth/l2cap/ng_l2cap_misc.c optional netgraph_bluetooth_l2cap netgraph/bluetooth/l2cap/ng_l2cap_ulpi.c optional netgraph_bluetooth_l2cap netgraph/bluetooth/socket/ng_btsocket.c optional netgraph_bluetooth_socket netgraph/bluetooth/socket/ng_btsocket_hci_raw.c optional netgraph_bluetooth_socket netgraph/bluetooth/socket/ng_btsocket_l2cap.c optional netgraph_bluetooth_socket netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c optional netgraph_bluetooth_socket netgraph/bluetooth/socket/ng_btsocket_rfcomm.c optional netgraph_bluetooth_socket netgraph/bluetooth/socket/ng_btsocket_sco.c optional netgraph_bluetooth_socket netgraph/netflow/netflow.c optional netgraph_netflow netgraph/netflow/netflow_v9.c optional netgraph_netflow netgraph/netflow/ng_netflow.c optional netgraph_netflow netgraph/ng_UI.c optional netgraph_UI netgraph/ng_async.c optional netgraph_async netgraph/ng_atmllc.c optional netgraph_atmllc netgraph/ng_base.c optional netgraph netgraph/ng_bpf.c optional netgraph_bpf netgraph/ng_bridge.c optional netgraph_bridge netgraph/ng_car.c optional netgraph_car netgraph/ng_cisco.c optional netgraph_cisco netgraph/ng_deflate.c optional netgraph_deflate netgraph/ng_device.c optional netgraph_device netgraph/ng_echo.c optional netgraph_echo netgraph/ng_eiface.c optional netgraph_eiface netgraph/ng_ether.c optional netgraph_ether netgraph/ng_ether_echo.c optional netgraph_ether_echo netgraph/ng_frame_relay.c optional netgraph_frame_relay netgraph/ng_gif.c optional netgraph_gif inet6 | netgraph_gif inet netgraph/ng_gif_demux.c optional netgraph_gif_demux netgraph/ng_hole.c optional netgraph_hole netgraph/ng_iface.c optional netgraph_iface netgraph/ng_ip_input.c optional netgraph_ip_input netgraph/ng_ipfw.c optional netgraph_ipfw inet ipfirewall netgraph/ng_ksocket.c optional netgraph_ksocket netgraph/ng_l2tp.c optional netgraph_l2tp netgraph/ng_lmi.c optional netgraph_lmi netgraph/ng_mppc.c optional netgraph_mppc_compression | \ netgraph_mppc_encryption netgraph/ng_nat.c optional netgraph_nat inet libalias netgraph/ng_one2many.c optional netgraph_one2many netgraph/ng_parse.c optional netgraph netgraph/ng_patch.c optional netgraph_patch netgraph/ng_pipe.c optional netgraph_pipe netgraph/ng_ppp.c optional netgraph_ppp netgraph/ng_pppoe.c optional netgraph_pppoe netgraph/ng_pptpgre.c optional netgraph_pptpgre netgraph/ng_pred1.c optional netgraph_pred1 netgraph/ng_rfc1490.c optional netgraph_rfc1490 netgraph/ng_socket.c optional netgraph_socket netgraph/ng_split.c optional netgraph_split netgraph/ng_sppp.c optional netgraph_sppp netgraph/ng_tag.c optional netgraph_tag netgraph/ng_tcpmss.c optional netgraph_tcpmss netgraph/ng_tee.c optional netgraph_tee netgraph/ng_tty.c optional netgraph_tty netgraph/ng_vjc.c optional netgraph_vjc netgraph/ng_vlan.c optional netgraph_vlan netinet/accf_data.c optional accept_filter_data inet netinet/accf_dns.c optional accept_filter_dns inet netinet/accf_http.c optional accept_filter_http inet netinet/if_atm.c optional atm netinet/if_ether.c optional inet ether netinet/igmp.c optional inet netinet/in.c optional inet netinet/in_debug.c optional inet ddb netinet/in_kdtrace.c optional inet | inet6 netinet/ip_carp.c optional inet carp | inet6 carp netinet/in_gif.c optional gif inet | netgraph_gif inet netinet/ip_gre.c optional gre inet netinet/ip_id.c optional inet netinet/in_mcast.c optional inet netinet/in_pcb.c optional inet | inet6 netinet/in_pcbgroup.c optional inet pcbgroup | inet6 pcbgroup netinet/in_proto.c optional inet | inet6 netinet/in_rmx.c optional inet netinet/in_rss.c optional inet rss | inet6 rss netinet/ip_divert.c optional inet ipdivert ipfirewall netinet/ip_ecn.c optional inet | inet6 netinet/ip_encap.c optional inet | inet6 netinet/ip_fastfwd.c optional inet netinet/ip_icmp.c optional inet | inet6 netinet/ip_input.c optional inet netinet/ip_ipsec.c optional inet ipsec netinet/ip_mroute.c optional mrouting inet netinet/ip_options.c optional inet netinet/ip_output.c optional inet netinet/raw_ip.c optional inet | inet6 netinet/cc/cc.c optional inet | inet6 netinet/cc/cc_newreno.c optional inet | inet6 netinet/sctp_asconf.c optional inet sctp | inet6 sctp netinet/sctp_auth.c optional inet sctp | inet6 sctp netinet/sctp_bsd_addr.c optional inet sctp | inet6 sctp netinet/sctp_cc_functions.c optional inet sctp | inet6 sctp netinet/sctp_crc32.c optional inet sctp | inet6 sctp netinet/sctp_indata.c optional inet sctp | inet6 sctp netinet/sctp_input.c optional inet sctp | inet6 sctp netinet/sctp_output.c optional inet sctp | inet6 sctp netinet/sctp_pcb.c optional inet sctp | inet6 sctp netinet/sctp_peeloff.c optional inet sctp | inet6 sctp netinet/sctp_ss_functions.c optional inet sctp | inet6 sctp netinet/sctp_syscalls.c optional inet sctp | inet6 sctp netinet/sctp_sysctl.c optional inet sctp | inet6 sctp netinet/sctp_timer.c optional inet sctp | inet6 sctp netinet/sctp_usrreq.c optional inet sctp | inet6 sctp netinet/sctputil.c optional inet sctp | inet6 sctp netinet/tcp_debug.c optional tcpdebug netinet/tcp_hostcache.c optional inet | inet6 netinet/tcp_input.c optional inet | inet6 netinet/tcp_lro.c optional inet | inet6 netinet/tcp_output.c optional inet | inet6 netinet/tcp_offload.c optional tcp_offload inet | tcp_offload inet6 netinet/tcp_reass.c optional inet | inet6 netinet/tcp_sack.c optional inet | inet6 netinet/tcp_subr.c optional inet | inet6 netinet/tcp_syncache.c optional inet | inet6 netinet/tcp_timer.c optional inet | inet6 netinet/tcp_timewait.c optional inet | inet6 netinet/tcp_usrreq.c optional inet | inet6 netinet/toeplitz.c optional inet rss | inet6 rss netinet/udp_usrreq.c optional inet | inet6 netinet/libalias/alias.c optional libalias inet | netgraph_nat inet netinet/libalias/alias_db.c optional libalias inet | netgraph_nat inet netinet/libalias/alias_mod.c optional libalias | netgraph_nat netinet/libalias/alias_proxy.c optional libalias inet | netgraph_nat inet netinet/libalias/alias_util.c optional libalias inet | netgraph_nat inet netinet/libalias/alias_sctp.c optional libalias inet | netgraph_nat inet netinet6/dest6.c optional inet6 netinet6/frag6.c optional inet6 netinet6/icmp6.c optional inet6 netinet6/in6.c optional inet6 netinet6/in6_cksum.c optional inet6 netinet6/in6_gif.c optional gif inet6 | netgraph_gif inet6 netinet6/in6_ifattach.c optional inet6 netinet6/in6_mcast.c optional inet6 netinet6/in6_pcb.c optional inet6 netinet6/in6_pcbgroup.c optional inet6 pcbgroup netinet6/in6_proto.c optional inet6 netinet6/in6_rmx.c optional inet6 netinet6/in6_src.c optional inet6 netinet6/ip6_forward.c optional inet6 netinet6/ip6_gre.c optional gre inet6 netinet6/ip6_id.c optional inet6 netinet6/ip6_input.c optional inet6 netinet6/ip6_mroute.c optional mrouting inet6 netinet6/ip6_output.c optional inet6 netinet6/ip6_ipsec.c optional inet6 ipsec netinet6/mld6.c optional inet6 netinet6/nd6.c optional inet6 netinet6/nd6_nbr.c optional inet6 netinet6/nd6_rtr.c optional inet6 netinet6/raw_ip6.c optional inet6 netinet6/route6.c optional inet6 netinet6/scope6.c optional inet6 netinet6/sctp6_usrreq.c optional inet6 sctp netinet6/udp6_usrreq.c optional inet6 netipsec/ipsec.c optional ipsec inet | ipsec inet6 netipsec/ipsec_input.c optional ipsec inet | ipsec inet6 netipsec/ipsec_mbuf.c optional ipsec inet | ipsec inet6 netipsec/ipsec_output.c optional ipsec inet | ipsec inet6 netipsec/key.c optional ipsec inet | ipsec inet6 netipsec/key_debug.c optional ipsec inet | ipsec inet6 netipsec/keysock.c optional ipsec inet | ipsec inet6 netipsec/xform_ah.c optional ipsec inet | ipsec inet6 netipsec/xform_esp.c optional ipsec inet | ipsec inet6 netipsec/xform_ipcomp.c optional ipsec inet | ipsec inet6 netipsec/xform_ipip.c optional ipsec inet | ipsec inet6 netipsec/xform_tcp.c optional ipsec inet tcp_signature | \ ipsec inet6 tcp_signature netnatm/natm.c optional natm netnatm/natm_pcb.c optional natm netnatm/natm_proto.c optional natm netpfil/ipfw/dn_heap.c optional inet dummynet netpfil/ipfw/dn_sched_fifo.c optional inet dummynet netpfil/ipfw/dn_sched_prio.c optional inet dummynet netpfil/ipfw/dn_sched_qfq.c optional inet dummynet netpfil/ipfw/dn_sched_rr.c optional inet dummynet netpfil/ipfw/dn_sched_wf2q.c optional inet dummynet netpfil/ipfw/ip_dummynet.c optional inet dummynet netpfil/ipfw/ip_dn_io.c optional inet dummynet netpfil/ipfw/ip_dn_glue.c optional inet dummynet netpfil/ipfw/ip_fw2.c optional inet ipfirewall netpfil/ipfw/ip_fw_dynamic.c optional inet ipfirewall netpfil/ipfw/ip_fw_log.c optional inet ipfirewall netpfil/ipfw/ip_fw_pfil.c optional inet ipfirewall netpfil/ipfw/ip_fw_sockopt.c optional inet ipfirewall netpfil/ipfw/ip_fw_table.c optional inet ipfirewall netpfil/ipfw/ip_fw_table_algo.c optional inet ipfirewall netpfil/ipfw/ip_fw_table_value.c optional inet ipfirewall netpfil/ipfw/ip_fw_iface.c optional inet ipfirewall netpfil/ipfw/ip_fw_nat.c optional inet ipfirewall_nat netpfil/pf/if_pflog.c optional pflog pf inet netpfil/pf/if_pfsync.c optional pfsync pf inet netpfil/pf/pf.c optional pf inet netpfil/pf/pf_if.c optional pf inet netpfil/pf/pf_ioctl.c optional pf inet netpfil/pf/pf_lb.c optional pf inet netpfil/pf/pf_norm.c optional pf inet netpfil/pf/pf_osfp.c optional pf inet netpfil/pf/pf_ruleset.c optional pf inet netpfil/pf/pf_table.c optional pf inet netpfil/pf/in4_cksum.c optional pf inet netsmb/smb_conn.c optional netsmb netsmb/smb_crypt.c optional netsmb netsmb/smb_dev.c optional netsmb netsmb/smb_iod.c optional netsmb netsmb/smb_rq.c optional netsmb netsmb/smb_smb.c optional netsmb netsmb/smb_subr.c optional netsmb netsmb/smb_trantcp.c optional netsmb netsmb/smb_usr.c optional netsmb nfs/bootp_subr.c optional bootp nfscl nfs/krpc_subr.c optional bootp nfscl nfs/nfs_diskless.c optional nfscl nfs_root nfs/nfs_fha.c optional nfsd nfs/nfs_lock.c optional nfscl | nfslockd | nfsd nfs/nfs_nfssvc.c optional nfscl | nfsd nlm/nlm_advlock.c optional nfslockd | nfsd nlm/nlm_prot_clnt.c optional nfslockd | nfsd nlm/nlm_prot_impl.c optional nfslockd | nfsd nlm/nlm_prot_server.c optional nfslockd | nfsd nlm/nlm_prot_svc.c optional nfslockd | nfsd nlm/nlm_prot_xdr.c optional nfslockd | nfsd nlm/sm_inter_xdr.c optional nfslockd | nfsd # OpenFabrics Enterprise Distribution (Infiniband) ofed/include/linux/linux_compat.c optional ofed \ no-depend compile-with "${OFED_C}" ofed/include/linux/linux_idr.c optional ofed \ no-depend compile-with "${OFED_C}" ofed/include/linux/linux_radix.c optional ofed \ no-depend compile-with "${OFED_C}" ofed/drivers/infiniband/core/addr.c optional ofed \ no-depend \ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/" ofed/drivers/infiniband/core/agent.c optional ofed \ no-depend \ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/" ofed/drivers/infiniband/core/cache.c optional ofed \ no-depend \ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/" # XXX Mad.c must be ordered before cm.c for sysinit sets to occur in # the correct order. ofed/drivers/infiniband/core/mad.c optional ofed \ no-depend \ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/" ofed/drivers/infiniband/core/cm.c optional ofed \ no-depend \ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/ -Wno-unused-function" ofed/drivers/infiniband/core/cma.c optional ofed \ no-depend \ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/" ofed/drivers/infiniband/core/device.c optional ofed \ no-depend \ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/" ofed/drivers/infiniband/core/fmr_pool.c optional ofed \ no-depend \ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/" ofed/drivers/infiniband/core/iwcm.c optional ofed \ no-depend \ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/" ofed/drivers/infiniband/core/local_sa.c optional ofed \ no-depend \ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/" ofed/drivers/infiniband/core/mad_rmpp.c optional ofed \ no-depend \ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/" ofed/drivers/infiniband/core/multicast.c optional ofed \ no-depend \ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/" ofed/drivers/infiniband/core/notice.c optional ofed \ no-depend \ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/" ofed/drivers/infiniband/core/packer.c optional ofed \ no-depend \ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/" ofed/drivers/infiniband/core/sa_query.c optional ofed \ no-depend \ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/" ofed/drivers/infiniband/core/smi.c optional ofed \ no-depend \ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/" ofed/drivers/infiniband/core/sysfs.c optional ofed \ no-depend \ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/" ofed/drivers/infiniband/core/ucm.c optional ofed \ no-depend \ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/" ofed/drivers/infiniband/core/ucma.c optional ofed \ no-depend \ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/" ofed/drivers/infiniband/core/ud_header.c optional ofed \ no-depend \ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/" ofed/drivers/infiniband/core/umem.c optional ofed \ no-depend \ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/" ofed/drivers/infiniband/core/user_mad.c optional ofed \ no-depend \ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/" ofed/drivers/infiniband/core/uverbs_cmd.c optional ofed \ no-depend \ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/" ofed/drivers/infiniband/core/uverbs_main.c optional ofed \ no-depend \ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/" ofed/drivers/infiniband/core/uverbs_marshall.c optional ofed \ no-depend \ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/" ofed/drivers/infiniband/core/verbs.c optional ofed \ no-depend \ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/" ofed/drivers/infiniband/ulp/ipoib/ipoib_cm.c optional ipoib \ no-depend \ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/ulp/ipoib/" #ofed/drivers/infiniband/ulp/ipoib/ipoib_fs.c optional ipoib \ # no-depend \ # compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/ulp/ipoib/" ofed/drivers/infiniband/ulp/ipoib/ipoib_ib.c optional ipoib \ no-depend \ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/ulp/ipoib/" ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c optional ipoib \ no-depend \ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/ulp/ipoib/" ofed/drivers/infiniband/ulp/ipoib/ipoib_multicast.c optional ipoib \ no-depend \ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/ulp/ipoib/" ofed/drivers/infiniband/ulp/ipoib/ipoib_verbs.c optional ipoib \ no-depend \ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/ulp/ipoib/" #ofed/drivers/infiniband/ulp/ipoib/ipoib_vlan.c optional ipoib \ # no-depend \ # compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/ulp/ipoib/" ofed/drivers/infiniband/ulp/sdp/sdp_bcopy.c optional sdp inet \ no-depend \ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/ulp/sdp/" ofed/drivers/infiniband/ulp/sdp/sdp_main.c optional sdp inet \ no-depend \ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/ulp/sdp/" ofed/drivers/infiniband/ulp/sdp/sdp_rx.c optional sdp inet \ no-depend \ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/ulp/sdp/" ofed/drivers/infiniband/ulp/sdp/sdp_cma.c optional sdp inet \ no-depend \ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/ulp/sdp/" ofed/drivers/infiniband/ulp/sdp/sdp_tx.c optional sdp inet \ no-depend \ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/ulp/sdp/" ofed/drivers/infiniband/hw/mlx4/alias_GUID.c optional mlx4ib \ no-depend obj-prefix "mlx4ib_" \ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/infiniband/hw/mlx4/" ofed/drivers/infiniband/hw/mlx4/mcg.c optional mlx4ib \ no-depend obj-prefix "mlx4ib_" \ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/infiniband/hw/mlx4/" ofed/drivers/infiniband/hw/mlx4/sysfs.c optional mlx4ib \ no-depend obj-prefix "mlx4ib_" \ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/infiniband/hw/mlx4/" ofed/drivers/infiniband/hw/mlx4/cm.c optional mlx4ib \ no-depend obj-prefix "mlx4ib_" \ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/infiniband/hw/mlx4/" ofed/drivers/infiniband/hw/mlx4/ah.c optional mlx4ib \ no-depend obj-prefix "mlx4ib_" \ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/infiniband/hw/mlx4/" ofed/drivers/infiniband/hw/mlx4/cq.c optional mlx4ib \ no-depend obj-prefix "mlx4ib_" \ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/infiniband/hw/mlx4/" ofed/drivers/infiniband/hw/mlx4/doorbell.c optional mlx4ib \ no-depend obj-prefix "mlx4ib_" \ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/infiniband/hw/mlx4/" ofed/drivers/infiniband/hw/mlx4/mad.c optional mlx4ib \ no-depend obj-prefix "mlx4ib_" \ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/infiniband/hw/mlx4/" ofed/drivers/infiniband/hw/mlx4/main.c optional mlx4ib \ no-depend obj-prefix "mlx4ib_" \ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/infiniband/hw/mlx4/" ofed/drivers/infiniband/hw/mlx4/mr.c optional mlx4ib \ no-depend obj-prefix "mlx4ib_" \ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/infiniband/hw/mlx4/" ofed/drivers/infiniband/hw/mlx4/qp.c optional mlx4ib \ no-depend obj-prefix "mlx4ib_" \ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/infiniband/hw/mlx4/" ofed/drivers/infiniband/hw/mlx4/srq.c optional mlx4ib \ no-depend obj-prefix "mlx4ib_" \ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/infiniband/hw/mlx4/" ofed/drivers/infiniband/hw/mlx4/wc.c optional mlx4ib \ no-depend obj-prefix "mlx4ib_" \ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/infiniband/hw/mlx4/" ofed/drivers/net/mlx4/alloc.c optional mlx4ib | mlxen \ no-depend obj-prefix "mlx4_" \ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/" ofed/drivers/net/mlx4/catas.c optional mlx4ib | mlxen \ no-depend obj-prefix "mlx4_" \ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/" ofed/drivers/net/mlx4/cmd.c optional mlx4ib | mlxen \ no-depend obj-prefix "mlx4_" \ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/" ofed/drivers/net/mlx4/cq.c optional mlx4ib | mlxen \ no-depend obj-prefix "mlx4_" \ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/" ofed/drivers/net/mlx4/eq.c optional mlx4ib | mlxen \ no-depend obj-prefix "mlx4_" \ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/" ofed/drivers/net/mlx4/fw.c optional mlx4ib | mlxen \ no-depend obj-prefix "mlx4_" \ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/" ofed/drivers/net/mlx4/icm.c optional mlx4ib | mlxen \ no-depend obj-prefix "mlx4_" \ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/" ofed/drivers/net/mlx4/intf.c optional mlx4ib | mlxen \ no-depend obj-prefix "mlx4_" \ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/" ofed/drivers/net/mlx4/main.c optional mlx4ib | mlxen \ no-depend obj-prefix "mlx4_" \ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/" ofed/drivers/net/mlx4/mcg.c optional mlx4ib | mlxen \ no-depend obj-prefix "mlx4_" \ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/ -Wno-unused" ofed/drivers/net/mlx4/mr.c optional mlx4ib | mlxen \ no-depend obj-prefix "mlx4_" \ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/" ofed/drivers/net/mlx4/pd.c optional mlx4ib | mlxen \ no-depend obj-prefix "mlx4_" \ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/" ofed/drivers/net/mlx4/port.c optional mlx4ib | mlxen \ no-depend obj-prefix "mlx4_" \ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/" ofed/drivers/net/mlx4/profile.c optional mlx4ib | mlxen \ no-depend obj-prefix "mlx4_" \ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/" ofed/drivers/net/mlx4/qp.c optional mlx4ib | mlxen \ no-depend obj-prefix "mlx4_" \ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/" ofed/drivers/net/mlx4/reset.c optional mlx4ib | mlxen \ no-depend obj-prefix "mlx4_" \ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/" ofed/drivers/net/mlx4/sense.c optional mlx4ib | mlxen \ no-depend obj-prefix "mlx4_" \ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/" ofed/drivers/net/mlx4/srq.c optional mlx4ib | mlxen \ no-depend obj-prefix "mlx4_" \ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/" ofed/drivers/net/mlx4/resource_tracker.c optional mlx4ib | mlxen \ no-depend obj-prefix "mlx4_" \ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/" ofed/drivers/net/mlx4/sys_tune.c optional mlx4ib | mlxen \ no-depend obj-prefix "mlx4_" \ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/" ofed/drivers/net/mlx4/en_cq.c optional mlxen \ no-depend obj-prefix "mlx4_" \ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/" ofed/drivers/net/mlx4/utils.c optional mlxen \ no-depend obj-prefix "mlx4_" \ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/" ofed/drivers/net/mlx4/en_main.c optional mlxen \ no-depend obj-prefix "mlx4_" \ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/" ofed/drivers/net/mlx4/en_netdev.c optional mlxen \ no-depend obj-prefix "mlx4_" \ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/" ofed/drivers/net/mlx4/en_port.c optional mlxen \ no-depend obj-prefix "mlx4_" \ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/" ofed/drivers/net/mlx4/en_resources.c optional mlxen \ no-depend obj-prefix "mlx4_" \ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/" ofed/drivers/net/mlx4/en_rx.c optional mlxen \ no-depend obj-prefix "mlx4_" \ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/" ofed/drivers/net/mlx4/en_tx.c optional mlxen \ no-depend obj-prefix "mlx4_" \ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/" ofed/drivers/infiniband/hw/mthca/mthca_allocator.c optional mthca \ no-depend compile-with "${OFED_C}" ofed/drivers/infiniband/hw/mthca/mthca_av.c optional mthca \ no-depend compile-with "${OFED_C}" ofed/drivers/infiniband/hw/mthca/mthca_catas.c optional mthca \ no-depend compile-with "${OFED_C}" ofed/drivers/infiniband/hw/mthca/mthca_cmd.c optional mthca \ no-depend compile-with "${OFED_C}" ofed/drivers/infiniband/hw/mthca/mthca_cq.c optional mthca \ no-depend compile-with "${OFED_C}" ofed/drivers/infiniband/hw/mthca/mthca_eq.c optional mthca \ no-depend compile-with "${OFED_C}" ofed/drivers/infiniband/hw/mthca/mthca_mad.c optional mthca \ no-depend compile-with "${OFED_C}" ofed/drivers/infiniband/hw/mthca/mthca_main.c optional mthca \ no-depend compile-with "${OFED_C}" ofed/drivers/infiniband/hw/mthca/mthca_mcg.c optional mthca \ no-depend compile-with "${OFED_C}" ofed/drivers/infiniband/hw/mthca/mthca_memfree.c optional mthca \ no-depend compile-with "${OFED_C}" ofed/drivers/infiniband/hw/mthca/mthca_mr.c optional mthca \ no-depend compile-with "${OFED_C}" ofed/drivers/infiniband/hw/mthca/mthca_pd.c optional mthca \ no-depend compile-with "${OFED_C}" ofed/drivers/infiniband/hw/mthca/mthca_profile.c optional mthca \ no-depend compile-with "${OFED_C}" ofed/drivers/infiniband/hw/mthca/mthca_provider.c optional mthca \ no-depend compile-with "${OFED_C}" ofed/drivers/infiniband/hw/mthca/mthca_qp.c optional mthca \ no-depend compile-with "${OFED_C}" ofed/drivers/infiniband/hw/mthca/mthca_reset.c optional mthca \ no-depend compile-with "${OFED_C}" ofed/drivers/infiniband/hw/mthca/mthca_srq.c optional mthca \ no-depend compile-with "${OFED_C}" ofed/drivers/infiniband/hw/mthca/mthca_uar.c optional mthca \ no-depend compile-with "${OFED_C}" # crypto support opencrypto/cast.c optional crypto | ipsec opencrypto/criov.c optional crypto opencrypto/crypto.c optional crypto opencrypto/cryptodev.c optional cryptodev opencrypto/cryptodev_if.m optional crypto opencrypto/cryptosoft.c optional crypto opencrypto/cryptodeflate.c optional crypto opencrypto/gmac.c optional crypto opencrypto/gfmult.c optional crypto opencrypto/rmd160.c optional crypto | ipsec opencrypto/skipjack.c optional crypto opencrypto/xform.c optional crypto rpc/auth_none.c optional krpc | nfslockd | nfscl | nfsd rpc/auth_unix.c optional krpc | nfslockd | nfscl | nfsd rpc/authunix_prot.c optional krpc | nfslockd | nfscl | nfsd rpc/clnt_bck.c optional krpc | nfslockd | nfscl | nfsd rpc/clnt_dg.c optional krpc | nfslockd | nfscl | nfsd rpc/clnt_rc.c optional krpc | nfslockd | nfscl | nfsd rpc/clnt_vc.c optional krpc | nfslockd | nfscl | nfsd rpc/getnetconfig.c optional krpc | nfslockd | nfscl | nfsd rpc/replay.c optional krpc | nfslockd | nfscl | nfsd rpc/rpc_callmsg.c optional krpc | nfslockd | nfscl | nfsd rpc/rpc_generic.c optional krpc | nfslockd | nfscl | nfsd rpc/rpc_prot.c optional krpc | nfslockd | nfscl | nfsd rpc/rpcb_clnt.c optional krpc | nfslockd | nfscl | nfsd rpc/rpcb_prot.c optional krpc | nfslockd | nfscl | nfsd rpc/svc.c optional krpc | nfslockd | nfscl | nfsd rpc/svc_auth.c optional krpc | nfslockd | nfscl | nfsd rpc/svc_auth_unix.c optional krpc | nfslockd | nfscl | nfsd rpc/svc_dg.c optional krpc | nfslockd | nfscl | nfsd rpc/svc_generic.c optional krpc | nfslockd | nfscl | nfsd rpc/svc_vc.c optional krpc | nfslockd | nfscl | nfsd rpc/rpcsec_gss/rpcsec_gss.c optional krpc kgssapi | nfslockd kgssapi | nfscl kgssapi | nfsd kgssapi rpc/rpcsec_gss/rpcsec_gss_conf.c optional krpc kgssapi | nfslockd kgssapi | nfscl kgssapi | nfsd kgssapi rpc/rpcsec_gss/rpcsec_gss_misc.c optional krpc kgssapi | nfslockd kgssapi | nfscl kgssapi | nfsd kgssapi rpc/rpcsec_gss/rpcsec_gss_prot.c optional krpc kgssapi | nfslockd kgssapi | nfscl kgssapi | nfsd kgssapi rpc/rpcsec_gss/svc_rpcsec_gss.c optional krpc kgssapi | nfslockd kgssapi | nfscl kgssapi | nfsd kgssapi security/audit/audit.c optional audit security/audit/audit_arg.c optional audit security/audit/audit_bsm.c optional audit security/audit/audit_bsm_klib.c optional audit security/audit/audit_pipe.c optional audit security/audit/audit_syscalls.c standard security/audit/audit_trigger.c optional audit security/audit/audit_worker.c optional audit security/audit/bsm_domain.c optional audit security/audit/bsm_errno.c optional audit security/audit/bsm_fcntl.c optional audit security/audit/bsm_socket_type.c optional audit security/audit/bsm_token.c optional audit security/mac/mac_audit.c optional mac audit security/mac/mac_cred.c optional mac security/mac/mac_framework.c optional mac security/mac/mac_inet.c optional mac inet | mac inet6 security/mac/mac_inet6.c optional mac inet6 security/mac/mac_label.c optional mac security/mac/mac_net.c optional mac security/mac/mac_pipe.c optional mac security/mac/mac_posix_sem.c optional mac security/mac/mac_posix_shm.c optional mac security/mac/mac_priv.c optional mac security/mac/mac_process.c optional mac security/mac/mac_socket.c optional mac security/mac/mac_syscalls.c standard security/mac/mac_system.c optional mac security/mac/mac_sysv_msg.c optional mac security/mac/mac_sysv_sem.c optional mac security/mac/mac_sysv_shm.c optional mac security/mac/mac_vfs.c optional mac security/mac_biba/mac_biba.c optional mac_biba security/mac_bsdextended/mac_bsdextended.c optional mac_bsdextended security/mac_bsdextended/ugidfw_system.c optional mac_bsdextended security/mac_bsdextended/ugidfw_vnode.c optional mac_bsdextended security/mac_ifoff/mac_ifoff.c optional mac_ifoff security/mac_lomac/mac_lomac.c optional mac_lomac security/mac_mls/mac_mls.c optional mac_mls security/mac_none/mac_none.c optional mac_none security/mac_partition/mac_partition.c optional mac_partition security/mac_portacl/mac_portacl.c optional mac_portacl security/mac_seeotheruids/mac_seeotheruids.c optional mac_seeotheruids security/mac_stub/mac_stub.c optional mac_stub security/mac_test/mac_test.c optional mac_test teken/teken.c optional sc | vt ufs/ffs/ffs_alloc.c optional ffs ufs/ffs/ffs_balloc.c optional ffs ufs/ffs/ffs_inode.c optional ffs ufs/ffs/ffs_snapshot.c optional ffs ufs/ffs/ffs_softdep.c optional ffs ufs/ffs/ffs_subr.c optional ffs ufs/ffs/ffs_tables.c optional ffs ufs/ffs/ffs_vfsops.c optional ffs ufs/ffs/ffs_vnops.c optional ffs ufs/ffs/ffs_rawread.c optional ffs directio ufs/ffs/ffs_suspend.c optional ffs ufs/ufs/ufs_acl.c optional ffs ufs/ufs/ufs_bmap.c optional ffs ufs/ufs/ufs_dirhash.c optional ffs ufs/ufs/ufs_extattr.c optional ffs ufs/ufs/ufs_gjournal.c optional ffs UFS_GJOURNAL ufs/ufs/ufs_inode.c optional ffs ufs/ufs/ufs_lookup.c optional ffs ufs/ufs/ufs_quota.c optional ffs ufs/ufs/ufs_vfsops.c optional ffs ufs/ufs/ufs_vnops.c optional ffs vm/default_pager.c standard vm/device_pager.c standard vm/phys_pager.c standard vm/redzone.c optional DEBUG_REDZONE vm/sg_pager.c standard vm/swap_pager.c standard vm/uma_core.c standard vm/uma_dbg.c standard vm/memguard.c optional DEBUG_MEMGUARD vm/vm_fault.c standard vm/vm_glue.c standard vm/vm_init.c standard vm/vm_kern.c standard vm/vm_map.c standard vm/vm_meter.c standard vm/vm_mmap.c standard vm/vm_object.c standard vm/vm_page.c standard vm/vm_pageout.c standard vm/vm_pager.c standard vm/vm_phys.c standard vm/vm_radix.c standard vm/vm_reserv.c standard vm/vm_unix.c standard vm/vm_zeroidle.c standard vm/vnode_pager.c standard xen/features.c optional xen | xenhvm xen/xenbus/xenbus_if.m optional xen | xenhvm xen/xenbus/xenbus.c optional xen | xenhvm xen/xenbus/xenbusb_if.m optional xen | xenhvm xen/xenbus/xenbusb.c optional xen | xenhvm xen/xenbus/xenbusb_front.c optional xen | xenhvm xen/xenbus/xenbusb_back.c optional xen | xenhvm xdr/xdr.c optional krpc | nfslockd | nfscl | nfsd xdr/xdr_array.c optional krpc | nfslockd | nfscl | nfsd xdr/xdr_mbuf.c optional krpc | nfslockd | nfscl | nfsd xdr/xdr_mem.c optional krpc | nfslockd | nfscl | nfsd xdr/xdr_reference.c optional krpc | nfslockd | nfscl | nfsd xdr/xdr_sizeof.c optional krpc | nfslockd | nfscl | nfsd Index: head/sys/conf/options.i386 =================================================================== --- head/sys/conf/options.i386 (revision 276525) +++ head/sys/conf/options.i386 (revision 276526) @@ -1,125 +1,124 @@ # $FreeBSD$ # Options specific to the i386 platform kernels AUTO_EOI_1 opt_auto_eoi.h AUTO_EOI_2 opt_auto_eoi.h BROKEN_KEYBOARD_RESET opt_reset.h COUNT_XINVLTLB_HITS opt_smp.h COUNT_IPIS opt_smp.h DISABLE_PG_G opt_pmap.h DISABLE_PSE opt_pmap.h I586_PMC_GUPROF opt_i586_guprof.h MAXMEM MPTABLE_FORCE_HTT MP_WATCHDOG NKPT opt_pmap.h PERFMON PMAP_SHPGPERPROC opt_pmap.h POWERFAIL_NMI opt_trap.h PV_STATS opt_pmap.h # Options for emulators. These should only be used at config time, so # they are handled like options for static filesystems # (see src/sys/conf/options), except for broken debugging options. COMPAT_AOUT opt_dontuse.h IBCS2 opt_dontuse.h COMPAT_LINUX opt_dontuse.h COMPAT_SVR4 opt_dontuse.h DEBUG_SVR4 opt_svr4.h LINPROCFS opt_dontuse.h LINSYSFS opt_dontuse.h NDISAPI opt_dontuse.h # Change KVM size. Changes things all over the kernel. KVA_PAGES opt_global.h # Physical address extensions and support for >4G ram. As above. PAE opt_global.h TIMER_FREQ opt_clock.h CPU_ATHLON_SSE_HACK opt_cpu.h CPU_BLUELIGHTNING_3X opt_cpu.h CPU_BLUELIGHTNING_FPU_OP_CACHE opt_cpu.h CPU_BTB_EN opt_cpu.h CPU_CYRIX_NO_LOCK opt_cpu.h CPU_DIRECT_MAPPED_CACHE opt_cpu.h CPU_DISABLE_5X86_LSSER opt_cpu.h CPU_DISABLE_CMPXCHG opt_global.h # XXX global, unlike other CPU_* CPU_DISABLE_SSE opt_cpu.h CPU_ELAN opt_cpu.h CPU_ELAN_PPS opt_cpu.h CPU_ELAN_XTAL opt_cpu.h CPU_ENABLE_LONGRUN opt_cpu.h CPU_FASTER_5X86_FPU opt_cpu.h CPU_GEODE opt_cpu.h CPU_I486_ON_386 opt_cpu.h CPU_IORT opt_cpu.h CPU_L2_LATENCY opt_cpu.h CPU_LOOP_EN opt_cpu.h CPU_PPRO2CELERON opt_cpu.h CPU_RSTK_EN opt_cpu.h CPU_SOEKRIS opt_cpu.h CPU_SUSP_HLT opt_cpu.h CPU_UPGRADE_HW_CACHE opt_cpu.h CPU_WT_ALLOC opt_cpu.h CYRIX_CACHE_REALLY_WORKS opt_cpu.h CYRIX_CACHE_WORKS opt_cpu.h NO_F00F_HACK opt_cpu.h NO_MEMORY_HOLE opt_cpu.h # The CPU type affects the endian conversion functions all over the kernel. I486_CPU opt_global.h I586_CPU opt_global.h I686_CPU opt_global.h # options for serial support COM_ESP opt_sio.h COM_MULTIPORT opt_sio.h CONSPEED opt_sio.h GDBSPEED opt_sio.h COM_NO_ACPI opt_sio.h VGA_ALT_SEQACCESS opt_vga.h VGA_DEBUG opt_vga.h VGA_NO_FONT_LOADING opt_vga.h VGA_NO_MODE_CHANGE opt_vga.h VGA_SLOW_IOACCESS opt_vga.h VGA_WIDTH90 opt_vga.h VESA VESA_DEBUG opt_vesa.h # AGP debugging support AGP_DEBUG opt_agp.h PSM_DEBUG opt_psm.h PSM_HOOKRESUME opt_psm.h PSM_RESETAFTERSUSPEND opt_psm.h ATKBD_DFLT_KEYMAP opt_atkbd.h # Video spigot SPIGOT_UNSECURE opt_spigot.h # Enables NETGRAPH support for Cronyx adapters NETGRAPH_CRONYX opt_ng_cronyx.h # Device options DEV_APIC opt_apic.h DEV_ATPIC opt_atpic.h DEV_NPX opt_npx.h -ASR_COMPAT opt_asr.h # Debugging NPX_DEBUG opt_npx.h # BPF just-in-time compiler BPF_JITTER opt_bpf.h NATIVE opt_global.h XEN opt_global.h XENHVM opt_global.h # options for the Intel C600 SAS driver (isci) ISCI_LOGGING opt_isci.h Index: head/sys/dev/asr/osd_unix.h =================================================================== --- head/sys/dev/asr/osd_unix.h (revision 276525) +++ head/sys/dev/asr/osd_unix.h (nonexistent) @@ -1,588 +0,0 @@ -/*- - * Copyright (c) 1996-1999 Distributed Processing Technology Corporation - * All rights reserved. - * - * Redistribution and use in source form, with or without modification, are - * permitted provided that redistributions of source code must retain the - * above copyright notice, this list of conditions and the following disclaimer. - * - * This software is provided `as is' by Distributed Processing Technology and - * any express or implied warranties, including, but not limited to, the - * implied warranties of merchantability and fitness for a particular purpose, - * are disclaimed. In no event shall Distributed Processing Technology be - * liable for any direct, indirect, incidental, special, exemplary or - * consequential damages (including, but not limited to, procurement of - * substitute goods or services; loss of use, data, or profits; or business - * interruptions) however caused and on any theory of liability, whether in - * contract, strict liability, or tort (including negligence or otherwise) - * arising in any way out of the use of this driver software, even if advised - * of the possibility of such damage. - * - * $FreeBSD$ - */ - -#ifndef __OSD_UNIX_H -#define __OSD_UNIX_H - -/*File - OSD_UNIX.H */ -/*****************************************************************************/ -/* */ -/*Description: */ -/* */ -/* This file contains definitions for the UNIX OS dependent layer of the */ -/*DPT engine. */ -/* */ -/*Copyright Distributed Processing Technology, Corp. */ -/* 140 Candace Dr. */ -/* Maitland, Fl. 32751 USA */ -/* Phone: (407) 830-5522 Fax: (407) 260-5366 */ -/* All Rights Reserved */ -/* */ -/*Author: Bob Pasteur */ -/*Date: 5/28/93 */ -/* */ -/*Editors: */ -/* 3/7/96 salyzyn@dpt.com */ -/* Added BSDi extensions */ -/* 30/9/99 salyzyn@dpt.com */ -/* Added I2ORESCANCMD */ -/* 7/12/99 salyzyn@dpt.com */ -/* Added I2ORESETCMD */ -/* */ -/*Remarks: */ -/* */ -/* */ -/*****************************************************************************/ - -/* Definitions - Defines & Constants ---------------------------------------*/ - -#define DPT_TurnAroundKey 0x01 /* TurnAround Message Type for engine */ -#define DPT_EngineKey 0x02 /* Message Que and Type for engine */ -#define DPT_LoggerKey 0x03 /* Message Type For Logger */ -#define DPT_CommEngineKey 0x04 /* Message Que Type Created */ - -#define MSG_RECEIVE 0x40000000 /* Ored Into Logger PID For Return Msg */ - -#define ENGMSG_ECHO 0x00 /* Turnarround Echo Engine Message */ -#define ENGMSG_OPEN 0x01 /* Turnarround Open Engine Message */ -#define ENGMSG_CLOSE 0x02 /* Turnarround Close Engine Message */ - - /* Message Que Creation Flags */ - -#define MSG_URD 00400 -#define MSG_UWR 00200 -#define MSG_GRD 00040 -#define MSG_GWR 00020 -#define MSG_ORD 00004 -#define MSG_OWR 00002 -#define MSG_ALLRD 00444 -#define MSG_ALLWR 00222 - - /* Message Que Creation Flags */ - -#define SHM_URD 00400 -#define SHM_UWR 00200 -#define SHM_GRD 00040 -#define SHM_GWR 00020 -#define SHM_ORD 00004 -#define SHM_OWR 00002 -#define SHM_ALLRD 00444 -#define SHM_ALLWR 00222 - - /* Program Exit Codes */ - -#define ExitGoodStatus 0 -#define ExitBadParameter 1 -#define ExitSignalFail 3 -#define ExitMsqAllocFail 5 -#define ExitBuffAllocFail 6 -#define ExitMsgSendFail 8 -#define ExitMsgReceiveFail 9 - -#define ExitEngOpenFail 10 -#define ExitDuplicateEngine 11 - -#define ExitCommAllocFail 12 -#define ExitDuplicateCommEng 13 -#define ExitCommConnectFail 14 - -#ifndef MAX_HAS - -#define MAX_HAS 18 -#define MAX_NAME 100 - -#endif /* ifndef MAX_HAS */ - - -typedef struct { - uCHAR ConfigLength[4]; /* Len in bytes after this field. */ - uCHAR EATAsignature[4]; - uCHAR EATAversion; - uCHAR Flags1; - uCHAR PadLength[2]; - uCHAR HBA[4]; - uCHAR CPlength[4]; /* Command Packet Length */ - uCHAR SPlength[4]; /* Status Packet Length */ - uCHAR QueueSize[2]; /* Controller Que depth */ - uCHAR SG_Size[4]; - uCHAR Flags2; - uCHAR Reserved0; /* Reserved Field */ - uCHAR Flags3; - uCHAR ScsiValues; - uCHAR MaxLUN; /* Maximun LUN Supported */ - uCHAR Flags4; - uCHAR RaidNum; /* RAID HBA Number For Stripping */ - uCHAR Reserved3; /* Reserved Field */ - } DptReadConfig_t; - -#if defined(_DPT_SOLARIS) - -#include -#include -#include -#include -/*#define _KERNEL */ -#include -#include -#include -/* #undef _KERNEL */ - -#undef MSG_DISCONNECT -#define MSG_DISCONNECT 0x11L - -#define EATAUSRCMD 1 -#define DPT_SIGNATURE 2 -#define DPT_NUMCTRLS 3 -#define DPT_CTRLINFO 4 -#define DPT_SYSINFO 5 -#define DPT_BLINKLED 6 -#define I2OUSRCMD 7 -/* #define I2ORESCANCMD 8 */ /* Use DPT_IO_ACCESS instead */ -/* #define I2ORESETCMD 9 */ /* Use DPT_IO_ACCESS instead */ - -#define DPT_MAX_DMA_SEGS 32 /* Max used Scatter/Gather seg */ - -struct dpt_sg { - paddr_t data_addr; - uLONG data_len; - }; - -typedef struct { - uSHORT NumHBAs; - uLONG IOAddrs[18]; - } GetHbaInfo_t; - -#elif defined(_DPT_DGUX) - -#ifndef _IOWR -# define _IOWR(x,y,z) (0x0fff3900|y) -#endif -#ifndef _IOW -# define _IOW(x,y,z) (0x0fff3900|y) -#endif -#ifndef _IOR -# define _IOR(x,y,z) (0x0fff3900|y) -#endif -#ifndef _IO -# define _IO(x,y) (0x0fff3900|y) -#endif -/* EATA PassThrough Command */ -#define EATAUSRCMD _IOWR('D',65,EATA_CP) -/* Get Signature Structure */ -#define DPT_SIGNATURE _IOR('D',67,dpt_sig_S) -/* Get Number Of DPT Adapters */ -#define DPT_NUMCTRLS _IOR('D',68,int) -/* Get Adapter Info Structure */ -#define DPT_CTRLINFO _IOR('D',69,CtrlInfo) -/* Get System Info Structure */ -#define DPT_SYSINFO _IOR('D',72,sysInfo_S) -/* Get Blink LED Code */ -#define DPT_BLINKLED _IOR('D',75,int) -/* Get Statistical information (if available) */ -#define DPT_STATS_INFO _IOR('D',80,STATS_DATA) -/* Clear the statistical information */ -#define DPT_STATS_CLEAR _IO('D',81) -/* Send an I2O command */ -#define I2OUSRCMD _IO('D',76) -/* Inform driver to re-acquire LCT information */ -#define I2ORESCANCMD _IO('D',77) -/* Inform driver to reset adapter */ -#define I2ORESETCMD _IO('D',78) - -#elif defined(SNI_MIPS) - /* Unix Ioctl Command definitions */ - -#define EATAUSRCMD (('D'<<8)|65) -#define DPT_DEBUG (('D'<<8)|66) -#define DPT_SIGNATURE (('D'<<8)|67) -#define DPT_NUMCTRLS (('D'<<8)|68) -#define DPT_CTRLINFO (('D'<<8)|69) -#define DPT_STATINFO (('D'<<8)|70) -#define DPT_CLRSTAT (('D'<<8)|71) -#define DPT_SYSINFO (('D'<<8)|72) -/* Set Timeout Value */ -#define DPT_TIMEOUT (('D'<<8)|73) -/* Get config Data */ -#define DPT_CONFIG (('D'<<8)|74) -/* Get config Data */ -#define DPT_BLINKLED (('D'<<8)|75) -/* Get Statistical information (if available) */ -#define DPT_STATS_INFO (('D'<<8)|80) -/* Clear the statistical information */ -#define DPT_STATS_CLEAR (('D'<<8)|81) -/* Send an I2O command */ -#define I2OUSRCMD (('D'<<8)|76) -/* Inform driver to re-acquire LCT information */ -#define I2ORESCANCMD (('D'<<8)|77) -/* Inform driver to reset adapter */ -#define I2ORESETCMD (('D'<<8)|78) - -#else - - /* Unix Ioctl Command definitions */ - -#ifdef _DPT_AIX - -#undef _IOWR -#undef _IOW -#undef _IOR -#undef _IO -#endif - -#ifndef _IOWR -# define _IOWR(x,y,z) (((x)<<8)|y) -#endif -#ifndef _IOW -# define _IOW(x,y,z) (((x)<<8)|y) -#endif -#ifndef _IOR -# define _IOR(x,y,z) (((x)<<8)|y) -#endif -#ifndef _IO -# define _IO(x,y) (((x)<<8)|y) -#endif -/* EATA PassThrough Command */ -#define EATAUSRCMD _IOWR('D',65,EATA_CP) -/* Set Debug Level If Enabled */ -#define DPT_DEBUG _IOW('D',66,int) -/* Get Signature Structure */ -#define DPT_SIGNATURE _IOR('D',67,dpt_sig_S) -#if defined __bsdi__ -#define DPT_SIGNATURE_PACKED _IOR('D',67,dpt_sig_S_Packed) -#endif -/* Get Number Of DPT Adapters */ -#define DPT_NUMCTRLS _IOR('D',68,int) -/* Get Adapter Info Structure */ -#define DPT_CTRLINFO _IOR('D',69,CtrlInfo) -/* Get Statistics If Enabled */ -#define DPT_STATINFO _IO('D',70) -/* Clear Stats If Enabled */ -#define DPT_CLRSTAT _IO('D',71) -/* Get System Info Structure */ -#define DPT_SYSINFO _IOR('D',72,sysInfo_S) -/* Set Timeout Value */ -#define DPT_TIMEOUT _IO('D',73) -/* Get config Data */ -#define DPT_CONFIG _IO('D',74) -/* Get Blink LED Code */ -#define DPT_BLINKLED _IOR('D',75,int) -/* Get Statistical information (if available) */ -#define DPT_STATS_INFO _IOR('D',80,STATS_DATA) -/* Clear the statistical information */ -#define DPT_STATS_CLEAR _IO('D',81) -/* Get Performance metrics */ -#define DPT_PERF_INFO _IOR('D',82,dpt_perf_t) -/* Send an I2O command */ -#define I2OUSRCMD _IO('D',76) -/* Inform driver to re-acquire LCT information */ -#define I2ORESCANCMD _IO('D',77) -/* Inform driver to reset adapter */ -#define I2ORESETCMD _IO('D',78) -#if defined _DPT_LINUX -/* See if the target is mounted */ -#define DPT_TARGET_BUSY _IOR('D',79, TARGET_BUSY_T) -#endif - - -#endif /* _DPT_SOLARIS else */ - - /* Adapter Flags Field Bit Definitions */ - -#define CTLR_INSTALLED 0x00000001 /* Adapter Was Installed */ -#define CTLR_DMA 0x00000002 /* DMA Supported */ -#define CTLR_OVERLAP 0x00000004 /* Overlapped Commands Support */ -#define CTLR_SECONDARY 0x00000008 /* I/O Address Not 0x1f0 */ -#define CTLR_BLINKLED 0x00000010 /* Adapter In Blink LED State */ -#define CTLR_HBACI 0x00000020 /* Cache Inhibit Supported */ -#define CTLR_CACHE 0x00000040 /* Adapter Has Cache */ -#define CTLR_SANE 0x00000080 /* Adapter Functioning OK */ -#define CTLR_BUS_QUIET 0x00000100 /* Bus Quite On This Adapter */ -#define CTLR_ABOVE_16 0x00000200 /* Support For Mem. Above 16 MB */ -#define CTLR_SCAT_GATH 0x00000400 /* Scatter Gather Supported */ - - -/* Definitions - Structure & Typedef ---------------------------------------*/ - -typedef struct { - uLONG MsgID; - DPT_TAG_T engineTag; - DPT_TAG_T targetTag; - DPT_MSG_T engEvent; - long BufferID; - uLONG FromEngBuffOffset; - uLONG callerID; - DPT_RTN_T result; - uLONG timeOut; - } MsgHdr; - -#define MsgDataSize sizeof(MsgHdr) - 4 - -#ifndef SNI_MIPS - -/*-------------------------------------------------------------------------*/ -/* EATA Command Packet definition */ -/*-------------------------------------------------------------------------*/ - -typedef struct EATACommandPacket { - -#ifdef _DPT_UNIXWARE - - uCHAR EataID[4]; - uINT EataCmd; - uCHAR *CmdBuffer; - -#endif /* _DPT_UNIXWARE */ - -#ifdef _DPT_AIX - - uCHAR HbaTargetID; - uCHAR HbaLUN; - -#endif /* _DPT_AIX */ - - uCHAR cp_Flags1; /* Command Flags */ - uCHAR cp_Req_Len; /* AutoRequestSense Data length. */ - uCHAR cp_Resv1[3]; /* Reserved Fields */ - uCHAR cp_Flags2; - uCHAR cp_Flags3; - uCHAR cp_ScsiAddr; - uCHAR cp_msg0; /* Identify and Disconnect Message. */ - uCHAR cp_msg1; - uCHAR cp_msg2; - uCHAR cp_msg3; - uCHAR cp_cdb[12]; /* SCSI cdb for command. */ - uLONG cp_dataLen; /* Data length in Bytes for command. */ - uLONG cp_Vue; /* Vendor Unique Area */ - uCHAR *cp_DataAddr; /* Data Address For The Command. */ - uCHAR *cp_SpAddr; /* Status Packet Physical Address. */ - uCHAR *cp_SenseAddr; /* AutoRequestSense Data Phy Address. */ - -#ifdef _DPT_SOLARIS - - uCHAR HostStatus; - uCHAR TargetStatus; - uCHAR CdbLength; - uCHAR SG_Size; - struct scsi_arq_status ReqSenseData; - struct dpt_sg SG_List[DPT_MAX_DMA_SEGS]; - union { - char *b_scratch; - struct scsi_cmd *b_ownerp; - } cc; - paddr_t ccb_paddr; - uSHORT IOAddress; - -#else /* _DPT_SOLARIS */ - - uLONG TimeOut ; - uCHAR HostStatus; - uCHAR TargetStatus; - uCHAR Retries; - -#endif /* _DPT_SOLARIS else */ - - } EATA_CP; -#endif /* SNI_MIPS */ - - - /* Control Flags 1 Definitions */ - -#define SCSI_RESET 0x01 /* Cause a SCSI Bus reset on the cmd */ -#define HBA_INIT 0x02 /* Cause Controller to reInitialize */ -#define AUTO_REQ_SENSE 0x04 /* Do Auto Request Sense on errors */ -#define SCATTER_GATHER 0x08 /* Data Ptr points to a SG Packet */ -#define INTERPRET 0x20 /* Interpret the SCSI cdb of own use */ -#define DATA_OUT 0x04 /* Data Out phase with command */ -#define DATA_IN 0x08 /* Data In phase with command */ - - /* Control Flags 2 Definitions */ - -#define FIRMWARE_NESTED 0x01 - - - /* Control Flags 3 Definitions */ - -#define PHYSICAL_UNIT 0x01 /* Send Command Directly To Target */ -#define IAT 0x02 /* Inhibit Address Translation */ -#define HBACI 0x04 /* Inhibit Caching */ - - - /* Structure Returned From Get Controller Info */ - -typedef struct { - - uCHAR state; /* Operational state */ - uCHAR id; /* Host adapter SCSI id */ - int vect; /* Interrupt vector number */ - int base; /* Base I/O address */ - int njobs; /* # of jobs sent to HA */ - int qdepth; /* Controller queue depth. */ - int wakebase; /* mpx wakeup base index. */ - uLONG SGsize; /* Scatter/Gather list size. */ - unsigned heads; /* heads for drives on cntlr. */ - unsigned sectors; /* sectors for drives on cntlr. */ - uCHAR do_drive32; /* Flag for Above 16 MB Ability */ - uCHAR BusQuiet; /* SCSI Bus Quiet Flag */ - char idPAL[4]; /* 4 Bytes Of The ID Pal */ - uCHAR primary; /* 1 For Primary, 0 For Secondary */ - uCHAR eataVersion; /* EATA Version */ - uLONG cpLength; /* EATA Command Packet Length */ - uLONG spLength; /* EATA Status Packet Length */ - uCHAR drqNum; /* DRQ Index (0,5,6,7) */ - uCHAR flag1; /* EATA Flags 1 (Byte 9) */ - uCHAR flag2; /* EATA Flags 2 (Byte 30) */ - - } CtrlInfo; - -#ifndef SNI_MIPS -#ifdef _DPT_UNIXWARE - -typedef struct { - - uINT state; /* Operational state */ - uCHAR id[4]; /* Host adapter SCSI id */ - uINT vect; /* Interrupt vector number */ - uLONG base; /* Base I/O address */ - int ha_max_jobs; /* Max number of Active Jobs */ - uLONG ha_cacheParams; - int ha_nbus; /* Number Of Busses on HBA */ - int ha_ntargets; /* Number Of Targets Supported */ - int ha_nluns; /* Number Of LUNs Supported */ - int ha_tshift; /* Shift value for target */ - int ha_bshift; /* Shift value for bus */ - uINT ha_npend; /* # of jobs sent to HA */ - int ha_active_jobs; /* Number Of Active Jobs */ - - } HbaInfo; - - /* SDI ioctl prefix for hba specific ioctl's */ - -#define SDI_IOC (('S'<<24)|('D'<<16)|('I'<<8)) - -#define SDI_HBANAME ((SDI_IOC)|0x14) /* Get HBA module name */ -#define SDI_SEND 0x0081 /* Send a SCSI command */ - -#else - -typedef struct { - - uLONG flags; /* Operational State Flags */ - uCHAR id[4]; /* Host Adapter SCSI ID */ - int vect; /* Interrupt Vector Number */ - int base; /* Base I/O Address */ - int njobs; /* # Of CCBs Outstanding To HBA */ - int qdepth; /* Controller Queue depth. */ - uLONG SGsize; /* Scatter/Gather List Size. */ - char idPAL[4]; /* 4 Bytes Of The ID Pal */ - uCHAR eataVersion; /* EATA Version */ - uLONG cpLength; /* EATA Command Packet Length */ - uLONG spLength; /* EATA Status Packet Length */ - uCHAR drqNum; /* DRQ Index (0,5,6,7) */ - uCHAR eataflag1; /* EATA Flags 1 (Byte 9) */ - uCHAR eataflag2; /* EATA Flags 2 (Byte 30) */ - uCHAR maxChannel; /* Maximum Channel Number */ - uCHAR maxID; /* Maximum Target ID */ - uCHAR maxLUN; /* Maximum LUN */ - uCHAR HbaBusType; /* HBA Bus Type, EISA, PCI, etc */ - uCHAR RaidNum; /* Host Adapter RAID Number */ - - } HbaInfo; - -#endif /* _DPT_UNIXWARE */ -#endif /* SNI_MIPS */ - - -#ifdef _DPT_AIX - -/* - * DPT Host Adapter config information structure - this structure contains - * configuration information about an adapter. It is imbedded into the - * dpt_ctl structure. - */ - -typedef struct dpt_cfg { - uchar flags; /* Operational state flags */ - uchar id[4]; /* Host adapter SCSI IDs */ - int vect; /* Interrupt vector number */ - ulong base_addr; /* Base I/O address */ - int qdepth; /* Controller queue depth. */ - ulong SGsize; /* Max scatter/gather list sz */ - ulong SGmax; /* Max s/g we can use per req */ - uchar eataVersion; /* EATA version */ - ushort cpPadLen; /* # of pad bytes sent to HA for - PIO commands */ - ulong cpLength; /* EATA Command Packet length */ - ulong spLength; /* EATA Status Packet length */ - uchar eataflag1; /* EATA Flags 1 (Byte 9) */ - uchar eataflag2; /* EATA Flags 2 (Byte 30) */ - uchar maxChan; /* Maximum Channel number */ - uchar maxID; /* Maximum target ID */ - uchar maxLUN; /* Maximum LUN */ - uchar HbaBusType; /* HBA bus type, EISA, PCI, etc */ - uchar RaidNum; /* Host adapter RAID number */ -} DptCfg_t; - -#endif /* _DPT_AIX */ - - -#define MAX_ELEMENT_COUNT 64 -#define MAX_BUCKET_COUNT 10 - -/* - * DPT statistics structure definitions - */ -typedef struct IO_SIZE_STATS -{ - uLONG TotalIoCount; - uLONG IoCountRead; - uLONG IoCountReadSg; - uLONG IoCountWrite; - uLONG IoCountWriteSg; - uLONG UnalignedIoAddress; - uLONG SgElementCount[MAX_ELEMENT_COUNT]; - -} IO_SIZE_STATS_T, *pIO_SIZE_STATS_T; - -typedef struct STATS_DATA -{ - uLONG TotalIoCount; - uLONG TotalUnCachedIoCount; - uLONG MaxOutstandingIoCount; - uLONG CurrentOutstandingIoCount; - uLONG OutstandingIoRunningCount; - uLONG UnalignedPktCount; - uLONG UnalignedSgCount; - uLONG NonPageListAddressSgCount; - uLONG MaxMessagesPerInterrupt; - IO_SIZE_STATS_T IoSize[MAX_BUCKET_COUNT]; - -} STATS_DATA_T, *pSTATS_DATA_T; - -typedef struct TARGET_BUSY -{ - uLONG channel; - uLONG id; - uLONG lun; - uLONG isBusy; -} TARGET_BUSY_T; -#endif /* __OSD_UNIX_H */ Property changes on: head/sys/dev/asr/osd_unix.h ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: head/sys/dev/asr/osd_util.h =================================================================== --- head/sys/dev/asr/osd_util.h (revision 276525) +++ head/sys/dev/asr/osd_util.h (nonexistent) @@ -1,365 +0,0 @@ -/*- - * Copyright (c) 1996-1999 Distributed Processing Technology Corporation - * All rights reserved. - * - * Redistribution and use in source form, with or without modification, are - * permitted provided that redistributions of source code must retain the - * above copyright notice, this list of conditions and the following disclaimer. - * - * This software is provided `as is' by Distributed Processing Technology and - * any express or implied warranties, including, but not limited to, the - * implied warranties of merchantability and fitness for a particular purpose, - * are disclaimed. In no event shall Distributed Processing Technology be - * liable for any direct, indirect, incidental, special, exemplary or - * consequential damages (including, but not limited to, procurement of - * substitute goods or services; loss of use, data, or profits; or business - * interruptions) however caused and on any theory of liability, whether in - * contract, strict liability, or tort (including negligence or otherwise) - * arising in any way out of the use of this driver software, even if advised - * of the possibility of such damage. - * - * $FreeBSD$ - */ - -#ifndef __OSD_UTIL_H -#define __OSD_UTIL_H - -/*File - OSD_UTIL.H - **************************************************************************** - * - *Description: - * - * This file contains defines and function prototypes that are - *operating system dependent. The resources defined in this file - *are not specific to any particular application. - * - *Copyright Distributed Processing Technology, Corp. - * 140 Candace Dr. - * Maitland, Fl. 32751 USA - * Phone: (407) 830-5522 Fax: (407) 260-5366 - * All Rights Reserved - * - *Author: Doug Anderson - *Date: 1/7/94 - * - *Editors: - * - *Remarks: - * - * - *****************************************************************************/ - - -/*Definitions - Defines & Constants ----------------------------------------- */ - -/*----------------------------- */ -/* Operating system selections: */ -/*----------------------------- */ - -/*#define _DPT_MSDOS */ -/*#define _DPT_WIN_3X */ -/*#define _DPT_WIN_4X */ -/*#define _DPT_WIN_NT */ -/*#define _DPT_NETWARE */ -/*#define _DPT_OS2 */ -/*#define _DPT_SCO */ -/*#define _DPT_UNIXWARE */ -/*#define _DPT_SOLARIS */ -/*#define _DPT_NEXTSTEP */ -/*#define _DPT_BANYAN */ - -/*-------------------------------- */ -/* Include the OS specific defines */ -/*-------------------------------- */ - -/*#define OS_SELECTION From Above List */ -/*#define SEMAPHORE_T ??? */ -/*#define DLL_HANDLE_T ??? */ - -#if (defined(KERNEL) && defined(__bsdi__)) -# include "i386/isa/dpt_osd_defs.h" -#elif ((defined(KERNEL) || defined(_KERNEL)) && defined(__FreeBSD__)) -# if (KERN_VERSION < 3) -# include "i386/isa/dpt_osd_defs.h" -# else -# include "dev/asr/osd_defs.h" -# endif -#else -# include "osd_defs.h" -#endif - -#ifndef DPT_UNALIGNED - #define DPT_UNALIGNED -#endif - -#ifndef DPT_EXPORT - #define DPT_EXPORT -#endif - -#ifndef DPT_IMPORT - #define DPT_IMPORT -#endif - -#ifndef DPT_RUNTIME_IMPORT - #define DPT_RUNTIME_IMPORT DPT_IMPORT -#endif - -/*--------------------- */ -/* OS dependent defines */ -/*--------------------- */ - -#if defined(_DPT_MSDOS) || defined(_DPT_WIN_3X) - #define _DPT_16_BIT -#else - #define _DPT_32_BIT -#endif - -#if defined(_DPT_SCO) || defined(_DPT_UNIXWARE) || defined(_DPT_SOLARIS) || defined(_DPT_AIX) || defined(SNI_MIPS) || defined(_DPT_BSDI) || defined(_DPT_FREE_BSD) || defined(_DPT_LINUX) - #define _DPT_UNIX -#endif - -#if defined(_DPT_WIN_3x) || defined(_DPT_WIN_4X) || defined(_DPT_WIN_NT) \ - || defined(_DPT_OS2) - #define _DPT_DLL_SUPPORT -#endif - -#if !defined(_DPT_MSDOS) && !defined(_DPT_WIN_3X) && !defined(_DPT_NETWARE) - #define _DPT_PREEMPTIVE -#endif - -#if !defined(_DPT_MSDOS) && !defined(_DPT_WIN_3X) - #define _DPT_MULTI_THREADED -#endif - -#if !defined(_DPT_MSDOS) - #define _DPT_MULTI_TASKING -#endif - - /* These exist for platforms that */ - /* chunk when accessing mis-aligned */ - /* data */ -#if defined(SNI_MIPS) || defined(_DPT_SOLARIS) - #if defined(_DPT_BIG_ENDIAN) - #if !defined(_DPT_STRICT_ALIGN) - #define _DPT_STRICT_ALIGN - #endif - #endif -#endif - - /* Determine if in C or C++ mode */ -#ifdef __cplusplus - #define _DPT_CPP -#else - #define _DPT_C -#endif - -/*-------------------------------------------------------------------*/ -/* Under Solaris the compiler refuses to accept code like: */ -/* { {"DPT"}, 0, NULL .... }, */ -/* and complains about the {"DPT"} part by saying "cannot use { } */ -/* to initialize char*". */ -/* */ -/* By defining these ugly macros we can get around this and also */ -/* not have to copy and #ifdef large sections of code. I know that */ -/* these macros are *really* ugly, but they should help reduce */ -/* maintenance in the long run. */ -/* */ -/* In the meantime, just pray that we can all move to Win32 as soon */ -/* as possible... */ -/*-------------------------------------------------------------------*/ -#if !defined(DPTSQO) - #if defined(_DPT_SOLARIS) - #define DPTSQO - #define DPTSQC - #else - #define DPTSQO { - #define DPTSQC } - #endif /* solaris */ -#endif /* DPTSQO */ - - -/*---------------------- */ -/* OS dependent typedefs */ -/*---------------------- */ - -#if defined(_DPT_MSDOS) || defined(_DPT_SCO) - #define BYTE unsigned char - #define WORD unsigned short -#endif - -#ifndef _DPT_TYPEDEFS - #define _DPT_TYPEDEFS - typedef unsigned char uCHAR; - typedef unsigned short uSHORT; - typedef unsigned int uINT; - typedef unsigned long uLONG; - - typedef union { - uCHAR u8[4]; - uSHORT u16[2]; - uLONG u32; - } access_U; -#endif - -#if !defined(NULL) - #define NULL 0 -#endif - - -/*Prototypes - function ----------------------------------------------------- */ - -#ifdef __cplusplus - extern "C" { /* Declare all these functions as "C" functions */ -#endif - -/*------------------------ */ -/* Byte reversal functions */ -/*------------------------ */ - - /* Reverses the byte ordering of a 2 byte variable */ -#if (!defined(osdSwap2)) - uSHORT osdSwap2(DPT_UNALIGNED uSHORT *); -#endif /* !osdSwap2 */ - - /* Reverses the byte ordering of a 4 byte variable and shifts left 8 bits */ -#if (!defined(osdSwap3)) - uLONG osdSwap3(DPT_UNALIGNED uLONG *); -#endif /* !osdSwap3 */ - - -#ifdef _DPT_NETWARE - #include "novpass.h" /* For DPT_Bswapl() prototype */ - /* Inline the byte swap */ - #ifdef __cplusplus - inline uLONG osdSwap4(uLONG *inLong) { - return *inLong = DPT_Bswapl(*inLong); - } - #else - #define osdSwap4(inLong) DPT_Bswapl(inLong) - #endif /* cplusplus */ -#else - /* Reverses the byte ordering of a 4 byte variable */ -# if (!defined(osdSwap4)) - uLONG osdSwap4(DPT_UNALIGNED uLONG *); -# endif /* !osdSwap4 */ - - /* The following functions ALWAYS swap regardless of the * - * presence of DPT_BIG_ENDIAN */ - - uSHORT trueSwap2(DPT_UNALIGNED uSHORT *); - uLONG trueSwap4(DPT_UNALIGNED uLONG *); - -#endif /* netware */ - - -/*-------------------------------------* - * Network order swap functions * - * * - * These functions/macros will be used * - * by the structure insert()/extract() * - * functions. * - * - * We will enclose all structure * - * portability modifications inside * - * #ifdefs. When we are ready, we * - * will #define DPT_PORTABLE to begin * - * using the modifications. * - *-------------------------------------*/ -uLONG netSwap4(uLONG val); - -#if defined(_DPT_BIG_ENDIAN) - -/* for big-endian we need to swap */ - -#ifndef NET_SWAP_2 -#define NET_SWAP_2(x) (((x) >> 8) | ((x) << 8)) -#endif /* NET_SWAP_2 */ - -#ifndef NET_SWAP_4 -#define NET_SWAP_4(x) netSwap4((x)) -#endif /* NET_SWAP_4 */ - -#else - -/* for little-endian we don't need to do anything */ - -#ifndef NET_SWAP_2 -#define NET_SWAP_2(x) (x) -#endif /* NET_SWAP_2 */ - -#ifndef NET_SWAP_4 -#define NET_SWAP_4(x) (x) -#endif /* NET_SWAP_4 */ - -#endif /* big endian */ - - - -/*----------------------------------- */ -/* Run-time loadable module functions */ -/*----------------------------------- */ - - /* Loads the specified run-time loadable DLL */ -DLL_HANDLE_T osdLoadModule(uCHAR *); - /* Unloads the specified run-time loadable DLL */ -uSHORT osdUnloadModule(DLL_HANDLE_T); - /* Returns a pointer to a function inside a run-time loadable DLL */ -void * osdGetFnAddr(DLL_HANDLE_T,uCHAR *); - -/*--------------------------------------- */ -/* Mutually exclusive semaphore functions */ -/*--------------------------------------- */ - - /* Create a named semaphore */ -SEMAPHORE_T osdCreateNamedSemaphore(char *); - /* Create a mutually exlusive semaphore */ -SEMAPHORE_T osdCreateSemaphore(void); - /* create an event semaphore */ -SEMAPHORE_T osdCreateEventSemaphore(void); - /* create a named event semaphore */ -SEMAPHORE_T osdCreateNamedEventSemaphore(char *); - - /* Destroy the specified mutually exclusive semaphore object */ -uSHORT osdDestroySemaphore(SEMAPHORE_T); - /* Request access to the specified mutually exclusive semaphore */ -uLONG osdRequestSemaphore(SEMAPHORE_T,uLONG); - /* Release access to the specified mutually exclusive semaphore */ -uSHORT osdReleaseSemaphore(SEMAPHORE_T); - /* wait for an event to happen */ -uLONG osdWaitForEventSemaphore(SEMAPHORE_T, uLONG); - /* signal an event */ -uLONG osdSignalEventSemaphore(SEMAPHORE_T); - /* reset the event */ -uLONG osdResetEventSemaphore(SEMAPHORE_T); - -/*----------------- */ -/* Thread functions */ -/*----------------- */ - - /* Releases control to the task switcher in non-preemptive */ - /* multitasking operating systems. */ -void osdSwitchThreads(void); - - /* Starts a thread function */ -uLONG osdStartThread(void *,void *); - -/* what is my thread id */ -uLONG osdGetThreadID(void); - -/* wakes up the specifed thread */ -void osdWakeThread(uLONG); - -/* osd sleep for x miliseconds */ -void osdSleep(uLONG); - -#define DPT_THREAD_PRIORITY_LOWEST 0x00 -#define DPT_THREAD_PRIORITY_NORMAL 0x01 -#define DPT_THREAD_PRIORITY_HIGHEST 0x02 - -uCHAR osdSetThreadPriority(uLONG tid, uCHAR priority); - -#ifdef __cplusplus - } /* end the xtern "C" declaration */ -#endif - -#endif /* osd_util_h */ Property changes on: head/sys/dev/asr/osd_util.h ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: head/sys/dev/asr/i2oexec.h =================================================================== --- head/sys/dev/asr/i2oexec.h (revision 276525) +++ head/sys/dev/asr/i2oexec.h (nonexistent) @@ -1,1268 +0,0 @@ -/*- - **************************************************************** - * Copyright (c) 1996-2000 Distributed Processing Technology Corporation - * Copyright (c) 2000 Adaptec Corporation. - * All rights reserved. - * - * Copyright 1999 I2O Special Interest Group (I2O SIG). All rights reserved. - * All rights reserved - * - * TERMS AND CONDITIONS OF USE - * - * Redistribution and use in source form, with or without modification, are - * permitted provided that redistributions of source code must retain the - * above copyright notice, this list of conditions and the following disclaimer. - * - * This software is provided `as is' by Distributed Processing Technology and - * any express or implied warranties, including, but not limited to, the - * implied warranties of merchantability and fitness for a particular purpose, - * are disclaimed. In no event shall Distributed Processing Technology be - * liable for any direct, indirect, incidental, special, exemplary or - * consequential damages (including, but not limited to, procurement of - * substitute goods or services; loss of use, data, or profits; or business - * interruptions) however caused and on any theory of liability, whether in - * contract, strict liability, or tort (including negligence or otherwise) - * arising in any way out of the use of this driver software, even if advised - * of the possibility of such damage. - * - * This header file, and any modifications of this header file, are provided - * contingent upon your agreement and adherence to the here-listed terms and - * conditions. By accepting and/or using this header file, you agree to abide - * by these terms and conditions and that these terms and conditions will be - * construed and governed in accordance with the laws of the State of California, - * without reference to conflict-of-law provisions. If you do not agree - * to these terms and conditions, please delete this file, and any copies, - * permanently, without making any use thereof. - * - * THIS HEADER FILE IS PROVIDED FREE OF CHARGE ON AN AS-IS BASIS WITHOUT - * WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED - * TO IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE. I2O SIG DOES NOT WARRANT THAT THIS HEADER FILE WILL MEET THE - * USER'S REQUIREMENTS OR THAT ITS OPERATION WILL BE UNINTERRUPTED OR - * ERROR-FREE. - * - * I2O SIG DISCLAIMS ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF - * ANY PROPRIETARY RIGHTS, RELATING TO THE IMPLEMENTATION OF THE I2O - * SPECIFICATIONS. I2O SIG DOES NOT WARRANT OR REPRESENT THAT SUCH - * IMPLEMENTATIONS WILL NOT INFRINGE SUCH RIGHTS. - * - * THE USER OF THIS HEADER FILE SHALL HAVE NO RECOURSE TO I2O SIG FOR ANY - * ACTUAL OR CONSEQUENTIAL DAMAGES INCLUDING, BUT NOT LIMITED TO, LOST DATA - * OR LOST PROFITS ARISING OUT OF THE USE OR INABILITY TO USE THIS PROGRAM. - * - * I2O SIG grants the user of this header file a license to copy, distribute, - * and modify it, for any purpose, under the following terms. Any copying, - * distribution, or modification of this header file must not delete or alter - * the copyright notice of I2O SIG or any of these Terms and Conditions. - * - * Any distribution of this header file must not include a charge for the - * header file (unless such charges are strictly for the physical acts of - * copying or transferring copies). However, distribution of a product in - * which this header file is embedded may include a charge so long as any - * such charge does not include any charge for the header file itself. - * - * Any modification of this header file constitutes a derivative work based - * on this header file. Any distribution of such derivative work: (1) must - * include prominent notices that the header file has been changed from the - * original, together with the dates of any changes; (2) automatically includes - * this same license to the original header file from I2O SIG, without any - * restriction thereon from the distributing user; and (3) must include a - * grant of license of the modified file under the same terms and conditions - * as these Terms and Conditions. - * - * The I2O SIG Web site can be found at: http://www.i2osig.org - * - * The I2O SIG encourages you to deposit derivative works based on this - * header file at the I2O SIG Web site. Furthermore, to become a Registered - * Developer of the I2O SIG, sign up at the Web site or call 415.750.8352 - * (United States). - * - * $FreeBSD$ - * - ****************************************************************/ - -/********************************************************************* - * I2OExec.h -- I2O Executive Class Message definition file - * - * This file contains information presented in Chapter 4 of the I2O(tm) - * Specification. - **********************************************************************/ - -#if !defined(I2O_EXECUTIVE_HDR) -#define I2O_EXECUTIVE_HDR - -#define I2OEXEC_REV 1_5_4 /* I2OExec header file revision string */ - -#if ((defined(KERNEL) || defined(_KERNEL)) && defined(__FreeBSD__)) -# if (!defined(KERN_VERSION)) -# include -# endif -# if (KERN_VERSION < 3) -# include "i386/pci/i2omsg.h" /* Include the Base Message file */ -# include "i386/pci/i2outil.h" -# else -# include "dev/asr/i2omsg.h" /* Include the Base Message file */ -# include "dev/asr/i2outil.h" -# endif -#else -# include "i2omsg.h" /* Include the Base Message file */ -# include "i2outil.h" -#endif - - -/* - NOTES: - - Gets, reads, receives, etc. are all even numbered functions. - Sets, writes, sends, etc. are all odd numbered functions. - Functions that both send and receive data can be either but an attempt is made - to use the function number that indicates the greater transfer amount. - Functions that do not send or receive data use odd function numbers. - - Some functions are synonyms like read, receive and send, write. - - All common functions will have a code of less than 0x80. - Unique functions to a class will start at 0x80. - Executive Functions start at 0xA0. - - Utility Message function codes range from 0 - 0x1f - Base Message function codes range from 0x20 - 0xfe - Private Message function code is 0xff. -*/ - -PRAGMA_ALIGN_PUSH -PRAGMA_PACK_PUSH - -/* I2O Executive Function Codes. */ - -#define I2O_EXEC_ADAPTER_ASSIGN 0xB3 -#define I2O_EXEC_ADAPTER_READ 0xB2 -#define I2O_EXEC_ADAPTER_RELEASE 0xB5 -#define I2O_EXEC_BIOS_INFO_SET 0xA5 -#define I2O_EXEC_BOOT_DEVICE_SET 0xA7 -#define I2O_EXEC_CONFIG_VALIDATE 0xBB -#define I2O_EXEC_CONN_SETUP 0xCA -#define I2O_EXEC_DDM_DESTROY 0xB1 -#define I2O_EXEC_DDM_ENABLE 0xD5 -#define I2O_EXEC_DDM_QUIESCE 0xC7 -#define I2O_EXEC_DDM_RESET 0xD9 -#define I2O_EXEC_DDM_SUSPEND 0xAF -#define I2O_EXEC_DEVICE_ASSIGN 0xB7 -#define I2O_EXEC_DEVICE_RELEASE 0xB9 -#define I2O_EXEC_HRT_GET 0xA8 -#define I2O_EXEC_IOP_CLEAR 0xBE -#define I2O_EXEC_IOP_CONNECT 0xC9 -#define I2O_EXEC_IOP_RESET 0xBD -#define I2O_EXEC_LCT_NOTIFY 0xA2 -#define I2O_EXEC_OUTBOUND_INIT 0xA1 -#define I2O_EXEC_PATH_ENABLE 0xD3 -#define I2O_EXEC_PATH_QUIESCE 0xC5 -#define I2O_EXEC_PATH_RESET 0xD7 -#define I2O_EXEC_STATIC_MF_CREATE 0xDD -#define I2O_EXEC_STATIC_MF_RELEASE 0xDF -#define I2O_EXEC_STATUS_GET 0xA0 -#define I2O_EXEC_SW_DOWNLOAD 0xA9 -#define I2O_EXEC_SW_UPLOAD 0xAB -#define I2O_EXEC_SW_REMOVE 0xAD -#define I2O_EXEC_SYS_ENABLE 0xD1 -#define I2O_EXEC_SYS_MODIFY 0xC1 -#define I2O_EXEC_SYS_QUIESCE 0xC3 -#define I2O_EXEC_SYS_TAB_SET 0xA3 - - -/* I2O Get Status State values */ - -#define I2O_IOP_STATE_INITIALIZING 0x01 -#define I2O_IOP_STATE_RESET 0x02 -#define I2O_IOP_STATE_HOLD 0x04 -#define I2O_IOP_STATE_READY 0x05 -#define I2O_IOP_STATE_OPERATIONAL 0x08 -#define I2O_IOP_STATE_FAILED 0x10 -#define I2O_IOP_STATE_FAULTED 0x11 - - -/* Event Indicator Assignments for the Executive Class. */ - -#define I2O_EVENT_IND_RESOURCE_LIMIT 0x00000001 -#define I2O_EVENT_IND_CONNECTION_FAIL 0x00000002 -#define I2O_EVENT_IND_ADAPTER_FAULT 0x00000004 -#define I2O_EVENT_IND_POWER_FAIL 0x00000008 -#define I2O_EVENT_IND_RESET_PENDING 0x00000010 -#define I2O_EVENT_IND_RESET_IMMINENT 0x00000020 -#define I2O_EVENT_IND_HARDWARE_FAIL 0x00000040 -#define I2O_EVENT_IND_XCT_CHANGE 0x00000080 -#define I2O_EVENT_IND_NEW_LCT_ENTRY 0x00000100 -#define I2O_EVENT_IND_MODIFIED_LCT 0x00000200 -#define I2O_EVENT_IND_DDM_AVAILABILITY 0x00000400 - -/* Resource Limit Event Data */ - -#define I2O_EVENT_RESOURCE_LIMIT_LOW_MEMORY 0x00000001 -#define I2O_EVENT_RESOURCE_LIMIT_INBOUND_POOL_LOW 0x00000002 -#define I2O_EVENT_RESOURCE_LIMIT_OUTBOUND_POOL_LOW 0x00000004 - -/* Connection Fail Event Data */ - -#define I2O_EVENT_CONNECTION_FAIL_REPOND_NORMAL 0x00000000 -#define I2O_EVENT_CONNECTION_FAIL_NOT_REPONDING 0x00000001 -#define I2O_EVENT_CONNECTION_FAIL_NO_AVAILABLE_FRAMES 0x00000002 - -/* Reset Pending Event Data */ - -#define I2O_EVENT_RESET_PENDING_POWER_LOSS 0x00000001 -#define I2O_EVENT_RESET_PENDING_CODE_VIOLATION 0x00000002 - -/* Reset Imminent Event Data */ - -#define I2O_EVENT_RESET_IMMINENT_UNKNOWN_CAUSE 0x00000000 -#define I2O_EVENT_RESET_IMMINENT_POWER_LOSS 0x00000001 -#define I2O_EVENT_RESET_IMMINENT_CODE_VIOLATION 0x00000002 -#define I2O_EVENT_RESET_IMMINENT_PARITY_ERROR 0x00000003 -#define I2O_EVENT_RESET_IMMINENT_CODE_EXCEPTION 0x00000004 -#define I2O_EVENT_RESET_IMMINENT_WATCHDOG_TIMEOUT 0x00000005 - -/* Hardware Fail Event Data */ - -#define I2O_EVENT_HARDWARE_FAIL_UNKNOWN_CAUSE 0x00000000 -#define I2O_EVENT_HARDWARE_FAIL_CPU_FAILURE 0x00000001 -#define I2O_EVENT_HARDWARE_FAIL_MEMORY_FAULT 0x00000002 -#define I2O_EVENT_HARDWARE_FAIL_DMA_FAILURE 0x00000003 -#define I2O_EVENT_HARDWARE_FAIL_IO_BUS_FAILURE 0x00000004 - -/* DDM Availability Event Data */ - -#define I2O_EVENT_DDM_AVAILIBILITY_RESPOND_NORMAL 0x00000000 -#define I2O_EVENT_DDM_AVAILIBILITY_CONGESTED 0x00000001 -#define I2O_EVENT_DDM_AVAILIBILITY_NOT_RESPONDING 0x00000002 -#define I2O_EVENT_DDM_AVAILIBILITY_PROTECTION_VIOLATION 0x00000003 -#define I2O_EVENT_DDM_AVAILIBILITY_CODE_VIOLATION 0x00000004 - -/****************************************************************************/ - -#define I2O_OPERATION_FLAG_ASSIGN_PERMANENT 0x01 - -/* ExecAdapterAssign Function Message Frame structure. */ - -typedef struct _I2O_EXEC_ADAPTER_ASSIGN_MESSAGE { - I2O_MESSAGE_FRAME StdMessageFrame; - I2O_TRANSACTION_CONTEXT TransactionContext; -#if (defined(__BORLANDC__)) - U32 DdmTID; -#else - BF DdmTID:I2O_TID_SZ; - BF reserved:I2O_RESERVED_12BITS; - BF OperationFlags:I2O_8BIT_FLAGS_SZ; -#endif - I2O_HRT_ENTRY HRTEntry; -} I2O_EXEC_ADAPTER_ASSIGN_MESSAGE, *PI2O_EXEC_ADAPTER_ASSIGN_MESSAGE; - - -/****************************************************************************/ - -#define I2O_REQUEST_FLAG_CONFIG_REGISTER 0x00000000 -#define I2O_REQUEST_FLAG_IO_REGISTER 0x00000001 -#define I2O_REQUEST_FLAG_ADAPTER_MEMORY 0x00000002 - -/* ExecAdapterRead Function Message Frame structure. */ - -typedef struct _I2O_EXEC_ADAPTER_READ_MESSAGE { - I2O_MESSAGE_FRAME StdMessageFrame; - I2O_TRANSACTION_CONTEXT TransactionContext; - U32 AdapterID; - U32 RequestFlags; - U32 Offset; - U32 Length; - I2O_SG_ELEMENT SGL; -} I2O_EXEC_ADAPTER_READ_MESSAGE, *PI2O_EXEC_ADAPTER_READ_MESSAGE; - - -/****************************************************************************/ - -#define I2O_OPERATION_FLAG_RELEASE_PERMANENT 0x01 - -/* ExecAdapterRelease Function Message Frame structure. */ - -typedef struct _I2O_EXEC_ADAPTER_RELEASE_MESSAGE { - I2O_MESSAGE_FRAME StdMessageFrame; - I2O_TRANSACTION_CONTEXT TransactionContext; - U8 reserved[3]; - U8 OperationFlags; - I2O_HRT_ENTRY HRTEntry; -} I2O_EXEC_ADAPTER_RELEASE_MESSAGE, *PI2O_EXEC_ADAPTER_RELEASE_MESSAGE; - - -/****************************************************************************/ - -/* ExecBiosInfoSet Function Message Frame structure. */ - -typedef struct _I2O_EXEC_BIOS_INFO_SET_MESSAGE { - I2O_MESSAGE_FRAME StdMessageFrame; - I2O_TRANSACTION_CONTEXT TransactionContext; -#if (defined(__BORLANDC__)) - U32 DeviceTID; -#else - BF DeviceTID:I2O_TID_SZ; - BF reserved:I2O_RESERVED_12BITS; - BF BiosInfo:I2O_BIOS_INFO_SZ; -#endif -} I2O_EXEC_BIOS_INFO_SET_MESSAGE, *PI2O_EXEC_BIOS_INFO_SET_MESSAGE; - - -/****************************************************************************/ - -/* ExecBootDeviceSet Function Message Frame structure. */ - -typedef struct _I2O_EXEC_BOOT_DEVICE_SET_MESSAGE { - I2O_MESSAGE_FRAME StdMessageFrame; - I2O_TRANSACTION_CONTEXT TransactionContext; - BF BootDevice:I2O_TID_SZ; - BF reserved:I2O_RESERVED_4BITS; - BF reserved1:I2O_RESERVED_16BITS; -} I2O_EXEC_BOOT_DEVICE_SET_MESSAGE, *PI2O_EXEC_BOOT_DEVICE_SET_MESSAGE; - - -/****************************************************************************/ - -/* ExecConfigValidate Function Message Frame structure. */ - -typedef struct _I2O_EXEC_CONFIG_VALIDATE_MESSAGE { - I2O_MESSAGE_FRAME StdMessageFrame; - I2O_TRANSACTION_CONTEXT TransactionContext; -} I2O_EXEC_CONFIG_VALIDATE_MESSAGE, *PI2O_EXEC_CONFIG_VALIDATE_MESSAGE; - - -/****************************************************************************/ - -/* ExecConnSetup Requestor */ - -typedef struct _I2O_ALIAS_CONNECT_SETUP { -#if (defined(__BORLANDC__)) - U32 IOP1AliasForTargetDevice; -#else - BF IOP1AliasForTargetDevice:I2O_TID_SZ; - BF IOP2AliasForInitiatorDevice:I2O_TID_SZ; - BF reserved:I2O_RESERVED_8BITS; -#endif -} I2O_ALIAS_CONNECT_SETUP, *PI2O_ALIAS_CONNECT_SETUP; - -#define I2O_OPERATION_FLAG_PEER_TO_PEER_BIDIRECTIONAL 0x01 - -/* ExecConnSetup Object */ - -typedef struct _I2O_OBJECT_CONNECT_SETUP { -#if (defined(__BORLANDC__)) - U32 TargetDevice; -#else - BF TargetDevice:I2O_TID_SZ; - BF InitiatorDevice:I2O_TID_SZ; - BF OperationFlags:I2O_8BIT_FLAGS_SZ; -#endif -} I2O_OBJECT_CONNECT_SETUP, *PI2O_OBJECT_CONNECT_SETUP; - - -/* ExecConnSetup Function Message Frame structure. */ - -typedef struct _I2O_EXEC_CONN_SETUP_MESSAGE { - I2O_MESSAGE_FRAME StdMessageFrame; - I2O_TRANSACTION_CONTEXT TransactionContext; - I2O_OBJECT_CONNECT_SETUP ObjectInfo; - I2O_ALIAS_CONNECT_SETUP AliasInfo; - U16 IOP2InboundMFrameSize; - U16 reserved; - U32 MessageClass; -} I2O_EXEC_CONN_SETUP_MESSAGE, *PI2O_EXEC_CONN_SETUP_MESSAGE; - - -/* ExecConnSetup Object Reply */ - -typedef struct _I2O_OBJECT_CONNECT_REPLY { -#if (defined(__BORLANDC__)) - U32 TargetDevice; -#else - BF TargetDevice:I2O_TID_SZ; - BF InitiatorDevice:I2O_TID_SZ; - BF ReplyStatusCode:I2O_8BIT_FLAGS_SZ; -#endif -} I2O_OBJECT_CONNECT_REPLY, *PI2O_OBJECT_CONNECT_REPLY; - - -/* ExecConnSetup reply structure. */ - -typedef struct _I2O_EXEC_CONN_SETUP_REPLY { - I2O_MESSAGE_FRAME StdMessageFrame; - I2O_TRANSACTION_CONTEXT TransactionContext; - I2O_OBJECT_CONNECT_REPLY ObjectInfo; - I2O_ALIAS_CONNECT_SETUP AliasInfo; - U16 IOP2InboundMFrameSize; - U16 reserved; -} I2O_EXEC_CONN_SETUP_REPLY, *PI2O_EXEC_CONN_SETUP_REPLY; - - -/****************************************************************************/ - -/* ExecDdmDestroy Function Message Frame structure. */ - -typedef struct _I2O_EXEC_DDM_DESTROY_MESSAGE { - I2O_MESSAGE_FRAME StdMessageFrame; - I2O_TRANSACTION_CONTEXT TransactionContext; - BF DdmTID:I2O_TID_SZ; - BF reserved:I2O_RESERVED_4BITS; - BF reserved1:I2O_RESERVED_16BITS; -} I2O_EXEC_DDM_DESTROY_MESSAGE, *PI2O_EXEC_DDM_DESTROY_MESSAGE; - - -/****************************************************************************/ - -/* ExecDdmEnable Function Message Frame structure. */ - -typedef struct _I2O_EXEC_DDM_ENABLE_MESSAGE { - I2O_MESSAGE_FRAME StdMessageFrame; - I2O_TRANSACTION_CONTEXT TransactionContext; - BF DeviceTID:I2O_TID_SZ; - BF reserved2:I2O_RESERVED_4BITS; - BF reserved1:I2O_RESERVED_16BITS; - BF IOP_ID:I2O_IOP_ID_SZ; - BF reserved:I2O_RESERVED_4BITS; - BF HostUnitID:I2O_UNIT_ID_SZ; -} I2O_EXEC_DDM_ENABLE_MESSAGE, *PI2O_EXEC_DDM_ENABLE_MESSAGE; - - -/****************************************************************************/ - -/* ExecDdmQuiesce Function Message Frame structure. */ - -typedef struct _I2O_EXEC_DDM_QUIESCE_MESSAGE { - I2O_MESSAGE_FRAME StdMessageFrame; - I2O_TRANSACTION_CONTEXT TransactionContext; - BF DeviceTID:I2O_TID_SZ; - BF reserved2:I2O_RESERVED_4BITS; - BF reserved1:I2O_RESERVED_16BITS; - BF IOP_ID:I2O_IOP_ID_SZ; - BF reserved:I2O_RESERVED_4BITS; - BF HostUnitID:I2O_UNIT_ID_SZ; -} I2O_EXEC_DDM_QUIESCE_MESSAGE, *PI2O_EXEC_DDM_QUIESCE_MESSAGE; - - -/****************************************************************************/ - -/* ExecDdmReset Function Message Frame structure. */ - -typedef struct _I2O_EXEC_DDM_RESET_MESSAGE { - I2O_MESSAGE_FRAME StdMessageFrame; - I2O_TRANSACTION_CONTEXT TransactionContext; - BF DeviceTID:I2O_TID_SZ; - BF reserved2:I2O_RESERVED_4BITS; - BF reserved1:I2O_RESERVED_16BITS; - BF IOP_ID:I2O_IOP_ID_SZ; - BF reserved:I2O_RESERVED_4BITS; - BF HostUnitID:I2O_UNIT_ID_SZ; -} I2O_EXEC_DDM_RESET_MESSAGE, *PI2O_EXEC_DDM_RESET_MESSAGE; - - -/****************************************************************************/ - -/* ExecDdmSuspend Function Message Frame structure. */ - -typedef struct _I2O_EXEC_DDM_SUSPEND_MESSAGE { - I2O_MESSAGE_FRAME StdMessageFrame; - I2O_TRANSACTION_CONTEXT TransactionContext; - BF DdmTID:I2O_TID_SZ; - BF reserved:I2O_RESERVED_4BITS; - BF reserved1:I2O_RESERVED_16BITS; -} I2O_EXEC_DDM_SUSPEND_MESSAGE, *PI2O_EXEC_DDM_SUSPEND_MESSAGE; - - -/****************************************************************************/ - -#define I2O_OPERATION_FLAG_ASSIGN_PERMANENT 0x01 - -/* ExecDeviceAssign Function Message Frame structure. */ - -typedef struct _I2O_EXEC_DEVICE_ASSIGN_MESSAGE { - I2O_MESSAGE_FRAME StdMessageFrame; - I2O_TRANSACTION_CONTEXT TransactionContext; -#if (defined(__BORLANDC__)) - U32 DeviceTID; -#else - BF DeviceTID:I2O_TID_SZ; - BF DdmTID:I2O_TID_SZ; - BF OperationFlags:I2O_8BIT_FLAGS_SZ; -#endif - BF IOP_ID:I2O_IOP_ID_SZ; - BF reserved:I2O_RESERVED_4BITS; - BF HostUnitID:I2O_UNIT_ID_SZ; -} I2O_EXEC_DEVICE_ASSIGN_MESSAGE, *PI2O_EXEC_DEVICE_ASSIGN_MESSAGE; - - -/****************************************************************************/ - -#define I2O_OPERATION_FLAG_RELEASE_PERMANENT 0x01 - -/* ExecDeviceRelease Function Message Frame structure. */ - -typedef struct _I2O_EXEC_DEVICE_RELEASE_MESSAGE { - I2O_MESSAGE_FRAME StdMessageFrame; - I2O_TRANSACTION_CONTEXT TransactionContext; -#if (defined(__BORLANDC__)) - U32 DeviceTID; -#else - BF DeviceTID:I2O_TID_SZ; - BF DdmTID:I2O_TID_SZ; - BF OperationFlags:I2O_8BIT_FLAGS_SZ; -#endif - BF IOP_ID:I2O_IOP_ID_SZ; - BF reserved:I2O_RESERVED_4BITS; - BF HostUnitID:I2O_UNIT_ID_SZ; -} I2O_EXEC_DEVICE_RELEASE_MESSAGE, *PI2O_EXEC_DEVICE_RELEASE_MESSAGE; - - -/****************************************************************************/ - -/* HRT Entry Structure defined in I2OMSG.H */ - -/* ExecHrtGet Function Message Frame structure. */ - -typedef struct _I2O_EXEC_HRT_GET_MESSAGE { - I2O_MESSAGE_FRAME StdMessageFrame; - I2O_TRANSACTION_CONTEXT TransactionContext; - I2O_SG_ELEMENT SGL; -} I2O_EXEC_HRT_GET_MESSAGE, *PI2O_EXEC_HRT_GET_MESSAGE; - - -/****************************************************************************/ - - -/* ExecIopClear Function Message Frame structure. */ - -typedef struct _I2O_EXEC_IOP_CLEAR_MESSAGE { - I2O_MESSAGE_FRAME StdMessageFrame; - I2O_TRANSACTION_CONTEXT TransactionContext; -} I2O_EXEC_IOP_CLEAR_MESSAGE, *PI2O_EXEC_IOP_CLEAR_MESSAGE; - - -/****************************************************************************/ - - -/* ExecIopConnect Function Message Frame structure. */ - -typedef struct _I2O_EXEC_IOP_CONNECT_MESSAGE { - I2O_MESSAGE_FRAME StdMessageFrame; - I2O_TRANSACTION_CONTEXT TransactionContext; - BF reserved:I2O_RESERVED_16BITS; - BF reserved3:I2O_RESERVED_8BITS; - BF IOP1MsgerType:I2O_MESSENGER_TYPE_SZ; - U16 IOP1InboundMFrameSize; - BF IOP1AliasForIOP2:I2O_TID_SZ; - U8 reserved1; - BF IOP_ID1:I2O_IOP_ID_SZ; - BF reserved2:I2O_RESERVED_4BITS; - BF HostUnitID1:I2O_UNIT_ID_SZ; -} I2O_EXEC_IOP_CONNECT_MESSAGE, *PI2O_EXEC_IOP_CONNECT_MESSAGE; - - - /* ExecIopConnect reply structure */ - -typedef struct _I2O_EXEC_IOP_CONNECT_IOP_REPLY { - I2O_MESSAGE_FRAME StdMessageFrame; - I2O_TRANSACTION_CONTEXT TransactionContext; - U16 DetailedStatusCode; - U8 reserved; - U8 ReqStatus; - U16 IOP2InboundMFrameSize; - BF IOP2AliasForIOP1:I2O_TID_SZ; - U8 reserved1; - BF IOP_ID2:I2O_IOP_ID_SZ; - BF reserved2:I2O_RESERVED_4BITS; - BF HostUnitID2:I2O_UNIT_ID_SZ; -} I2O_EXEC_IOP_CONNECT_REPLY, *PI2O_EXEC_IOP_CONNECT_REPLY; - - -/****************************************************************************/ - - -#define I2O_EXEC_IOP_RESET_RESERVED_SZ 16 - -#define I2O_EXEC_IOP_RESET_IN_PROGRESS 0x01 -#define I2O_EXEC_IOP_RESET_REJECTED 0x02 - -#define I2O_EXEC_IOP_RESET_STATUS_RESERVED_SZ 3 - -typedef struct _I2O_EXEC_IOP_RESET_STATUS { -# if (defined(_DPT_BIG_ENDIAN) || defined(sparc)) - U32 ResetStatus; -# else - U8 ResetStatus; - U8 reserved[I2O_EXEC_IOP_RESET_STATUS_RESERVED_SZ]; -# endif -} I2O_EXEC_IOP_RESET_STATUS, *PI2O_EXEC_IOP_RESET_STATUS; - - -/* ExecIopReset Function Message Frame structure. */ - -typedef struct _I2O_EXEC_IOP_RESET_MESSAGE { - U8 VersionOffset; - U8 MsgFlags; - U16 MessageSize; -#if (defined(__BORLANDC__) || defined(sparc)) - U32 TargetAddress; -#else - BF TargetAddress:I2O_TID_SZ; - BF InitiatorAddress:I2O_TID_SZ; - BF Function:I2O_FUNCTION_SZ; -#endif - U8 Reserved[I2O_EXEC_IOP_RESET_RESERVED_SZ]; - U32 StatusWordLowAddress; - U32 StatusWordHighAddress; -} I2O_EXEC_IOP_RESET_MESSAGE, *PI2O_EXEC_IOP_RESET_MESSAGE; - - -/****************************************************************************/ - -/* LCT Entry Structure defined in I2OMSG.H */ - -/* ExecLCTNotify Function Message Frame structure. */ - -typedef struct _I2O_EXEC_LCT_NOTIFY_MESSAGE { - I2O_MESSAGE_FRAME StdMessageFrame; - I2O_TRANSACTION_CONTEXT TransactionContext; - U32 ClassIdentifier; - U32 LastReportedChangeIndicator; - I2O_SG_ELEMENT SGL; -} I2O_EXEC_LCT_NOTIFY_MESSAGE, *PI2O_EXEC_LCT_NOTIFY_MESSAGE; - - -/****************************************************************************/ - - -/* ExecOutboundInit Function Message Frame structure. */ - -typedef struct _I2O_EXEC_OUTBOUND_INIT_MESSAGE { - I2O_MESSAGE_FRAME StdMessageFrame; - I2O_TRANSACTION_CONTEXT TransactionContext; - U32 HostPageFrameSize; - U8 InitCode; - U8 reserved; - U16 OutboundMFrameSize; - I2O_SG_ELEMENT SGL; -} I2O_EXEC_OUTBOUND_INIT_MESSAGE, *PI2O_EXEC_OUTBOUND_INIT_MESSAGE; - - -#define I2O_EXEC_OUTBOUND_INIT_IN_PROGRESS 0x01 -#define I2O_EXEC_OUTBOUND_INIT_REJECTED 0x02 -#define I2O_EXEC_OUTBOUND_INIT_FAILED 0x03 -#define I2O_EXEC_OUTBOUND_INIT_COMPLETE 0x04 - -#define I2O_EXEC_OUTBOUND_INIT_RESERVED_SZ 3 - - -typedef struct _I2O_EXEC_OUTBOUND_INIT_STATUS { - U8 InitStatus; - U8 reserved[I2O_EXEC_OUTBOUND_INIT_RESERVED_SZ]; -} I2O_EXEC_OUTBOUND_INIT_STATUS, *PI2O_EXEC_OUTBOUND_INIT_STATUS; - - -typedef struct _I2O_EXEC_OUTBOUND_INIT_RECLAIM_LIST { - U32 MFACount; - U32 MFAReleaseCount; - U32 MFAAddress[1]; -} I2O_EXEC_OUTBOUND_INIT_RECLAIM_LIST, *PI2O_EXEC_OUTBOUND_INIT_RECLAIM_LIST; - - -/****************************************************************************/ - -/* ExecPathEnable Function Message Frame structure. */ - -typedef struct _I2O_EXEC_PATH_ENABLE_MESSAGE { - I2O_MESSAGE_FRAME StdMessageFrame; - I2O_TRANSACTION_CONTEXT TransactionContext; - BF IOP_ID:I2O_IOP_ID_SZ; - BF reserved:I2O_RESERVED_4BITS; - BF HostUnitID:I2O_UNIT_ID_SZ; -} I2O_EXEC_PATH_ENABLE_MESSAGE, *PI2O_EXEC_PATH_ENABLE_MESSAGE; - - -/****************************************************************************/ - -/* ExecPathQuiesce Function Message Frame structure. */ - -typedef struct _I2O_EXEC_PATH_QUIESCE_MESSAGE { - I2O_MESSAGE_FRAME StdMessageFrame; - I2O_TRANSACTION_CONTEXT TransactionContext; - BF IOP_ID:I2O_IOP_ID_SZ; - BF reserved:I2O_RESERVED_4BITS; - BF HostUnitID:I2O_UNIT_ID_SZ; -} I2O_EXEC_PATH_QUIESCE_MESSAGE, *PI2O_EXEC_PATH_QUIESCE_MESSAGE; - - -/****************************************************************************/ - -/* ExecPathReset Function Message Frame structure. */ - -typedef struct _I2O_EXEC_PATH_RESET_MESSAGE { - I2O_MESSAGE_FRAME StdMessageFrame; - I2O_TRANSACTION_CONTEXT TransactionContext; - BF IOP_ID:I2O_IOP_ID_SZ; - BF reserved:I2O_RESERVED_4BITS; - BF HostUnitID:I2O_UNIT_ID_SZ; -} I2O_EXEC_PATH_RESET_MESSAGE, *PI2O_EXEC_PATH_RESET_MESSAGE; - - -/****************************************************************************/ - -#define I2O_EXEC_STATIC_MF_CREATE_RESERVED_SZ 3 - -/* ExecStaticMfCreate Message Frame structure */ - -typedef struct _I2O_EXEC_STATIC_MF_CREATE_MESSAGE { - I2O_MESSAGE_FRAME StdMessageFrame; - I2O_TRANSACTION_CONTEXT TransactionContext; - U8 MaxOutstanding; - U8 reserved[I2O_EXEC_STATIC_MF_CREATE_RESERVED_SZ]; - I2O_MESSAGE_FRAME StaticMessageFrame; -} I2O_EXEC_STATIC_MF_CREATE_MESSAGE, *PI2O_EXEC_STATIC_MF_CREATE_MESSAGE; - - -/* ExecStaticMfCreate Message Frame reply */ - -typedef struct _I2O_EXEC_STATIC_MF_CREATE_REPLY { - I2O_SINGLE_REPLY_MESSAGE_FRAME StdReplyFrame; - PI2O_MESSAGE_FRAME StaticMFA; -} I2O_EXEC_STATIC_MF_CREATE_REPLY, *PI2O_EXEC_STATIC_MF_CREATE_REPLY; - - -/* ExecStaticMfRelease Message Frame structure */ - -typedef struct _I2O_EXEC_STATIC_MF_RELEASE_MESSAGE { - I2O_MESSAGE_FRAME StdMessageFrame; - I2O_TRANSACTION_CONTEXT TransactionContext; - PI2O_MESSAGE_FRAME StaticMFA; -} I2O_EXEC_STATIC_MF_RELEASE_MESSAGE, *PI2O_EXEC_STATIC_MF_RELEASE_MESSAGE; - - -/****************************************************************************/ - -#define I2O_EXEC_STATUS_GET_RESERVED_SZ 16 - -/* ExecStatusGet Function Message Frame structure. */ - -typedef struct _I2O_EXEC_STATUS_GET_MESSAGE { - U8 VersionOffset; - U8 MsgFlags; - U16 MessageSize; -#if (defined(__BORLANDC__) || defined(_DPT_BIG_ENDIAN) || defined(sparc)) - U32 TargetAddress; -#else - BF TargetAddress:I2O_TID_SZ; - BF InitiatorAddress:I2O_TID_SZ; - BF Function:I2O_FUNCTION_SZ; -#endif - U8 Reserved[I2O_EXEC_STATUS_GET_RESERVED_SZ]; - U32 ReplyBufferAddressLow; - U32 ReplyBufferAddressHigh; - U32 ReplyBufferLength; -} I2O_EXEC_STATUS_GET_MESSAGE, *PI2O_EXEC_STATUS_GET_MESSAGE; - - -#define I2O_IOP_STATUS_PROD_ID_STR_SZ 24 -#define I2O_EXEC_STATUS_GET_REPLY_RESERVED_SZ 6 - -/* ExecStatusGet reply Structure */ - -#define I2O_IOP_CAP_CONTEXT_32_ONLY 0x00000000 -#define I2O_IOP_CAP_CONTEXT_64_ONLY 0x00000001 -#define I2O_IOP_CAP_CONTEXT_32_64_NOT_CURRENTLY 0x00000002 -#define I2O_IOP_CAP_CONTEXT_32_64_CURRENTLY 0x00000003 -#define I2O_IOP_CAP_CURRENT_CONTEXT_NOT_CONFIG 0x00000000 -#define I2O_IOP_CAP_CURRENT_CONTEXT_32_ONLY 0x00000004 -#define I2O_IOP_CAP_CURRENT_CONTEXT_64_ONLY 0x00000008 -#define I2O_IOP_CAP_CURRENT_CONTEXT_32_64 0x0000000C -#define I2O_IOP_CAP_INBOUND_PEER_SUPPORT 0x00000010 -#define I2O_IOP_CAP_OUTBOUND_PEER_SUPPORT 0x00000020 -#define I2O_IOP_CAP_PEER_TO_PEER_SUPPORT 0x00000040 - -typedef struct _I2O_EXEC_STATUS_GET_REPLY { - U16 OrganizationID; - U16 reserved; -#if (defined(_DPT_BIG_ENDIAN) || defined(sparc)) - U32 IOP_ID; -#else - BF IOP_ID:I2O_IOP_ID_SZ; - BF reserved1:I2O_RESERVED_4BITS; - BF HostUnitID:I2O_UNIT_ID_SZ; -#endif -#if (defined(_DPT_BIG_ENDIAN) || defined(sparc)) - U32 SegmentNumber; -#else - BF SegmentNumber:I2O_SEGMENT_NUMBER_SZ; - BF I2oVersion:I2O_4BIT_VERSION_SZ; - BF IopState:I2O_IOP_STATE_SZ; - BF MessengerType:I2O_MESSENGER_TYPE_SZ; -#endif - U16 InboundMFrameSize; - U8 InitCode; - U8 reserved2; - U32 MaxInboundMFrames; - U32 CurrentInboundMFrames; - U32 MaxOutboundMFrames; - U8 ProductIDString[I2O_IOP_STATUS_PROD_ID_STR_SZ]; - U32 ExpectedLCTSize; - U32 IopCapabilities; - U32 DesiredPrivateMemSize; - U32 CurrentPrivateMemSize; - U32 CurrentPrivateMemBase; - U32 DesiredPrivateIOSize; - U32 CurrentPrivateIOSize; - U32 CurrentPrivateIOBase; - U8 reserved3[3]; - U8 SyncByte; -} I2O_EXEC_STATUS_GET_REPLY, *PI2O_EXEC_STATUS_GET_REPLY; - - -/****************************************************************************/ - -#define I2O_EXEC_SW_DOWNLOAD_FLAG_LOAD_MEMORY 0x00 -#define I2O_EXEC_SW_DOWNLOAD_FLAG_PERMANENT_STORE 0x01 -#define I2O_EXEC_SW_DOWNLOAD_FLAG_EXPERIMENTAL 0x00 -#define I2O_EXEC_SW_DOWNLOAD_FLAG_OVERRIDE 0x02 - -#define I2O_EXEC_SW_TYPE_DDM 0x01 -#define I2O_EXEC_SW_TYPE_DDM_MPB 0x02 -#define I2O_EXEC_SW_TYPE_DDM_CONFIG_TABLE 0x03 -#define I2O_EXEC_SW_TYPE_IRTOS 0x11 -#define I2O_EXEC_SW_TYPE_IRTOS_PRIVATE_MODULE 0x12 -#define I2O_EXEC_SW_TYPE_IRTOS_DIALOG_TABLE 0x13 -#define I2O_EXEC_SW_TYPE_IOP_PRIVATE_MODULE 0x22 -#define I2O_EXEC_SW_TYPE_IOP_DIALOG_TABLE 0x23 - - -/* I2O ExecSwDownload/Upload/Remove SwID Structure */ - -typedef struct _I2O_SW_ID { - U16 ModuleID; - U16 OrganizationID; -} I2O_SW_ID, *PI2O_SW_ID; - - -/* ExecSwDownload Function Message Frame structure. */ - -typedef struct _I2O_EXEC_SW_DOWNLOAD_MESSAGE { - I2O_MESSAGE_FRAME StdMessageFrame; - I2O_TRANSACTION_CONTEXT TransactionContext; - U8 CurrentFragment; - U8 TotalFragments; - U8 SwType; - U8 DownloadFlags; - U32 SWSize; - I2O_SW_ID SwID; - I2O_SG_ELEMENT SGL; -} I2O_EXEC_SW_DOWNLOAD_MESSAGE, *PI2O_EXEC_SW_DOWNLOAD_MESSAGE; - - -/****************************************************************************/ - - -/* ExecSwUpload Function Message Frame structure. */ - -typedef struct _I2O_EXEC_SW_UPLOAD_MESSAGE { - I2O_MESSAGE_FRAME StdMessageFrame; - I2O_TRANSACTION_CONTEXT TransactionContext; - U8 CurrentFragment; - U8 TotalFragments; - U8 SwType; - U8 UploadFlags; - U32 SWSize; - I2O_SW_ID SwID; - I2O_SG_ELEMENT SGL; -} I2O_EXEC_SW_UPLOAD_MESSAGE, *PI2O_EXEC_SW_UPLOAD_MESSAGE; - - -/****************************************************************************/ - - -/* ExecSwRemove Function Message Frame structure. */ - -typedef struct _I2O_EXEC_SW_REMOVE_MESSAGE { - I2O_MESSAGE_FRAME StdMessageFrame; - I2O_TRANSACTION_CONTEXT TransactionContext; - U16 reserved; - U8 SwType; - U8 RemoveFlags; - U32 SWSize; - I2O_SW_ID SwID; -} I2O_EXEC_SW_REMOVE_MESSAGE, *PI2O_EXEC_SW_REMOVE_MESSAGE; - - -/****************************************************************************/ - - -/* ExecSysEnable Function Message Frame structure. */ - -typedef struct _I2O_EXEC_SYS_ENABLE_MESSAGE { - I2O_MESSAGE_FRAME StdMessageFrame; - I2O_TRANSACTION_CONTEXT TransactionContext; -} I2O_EXEC_SYS_ENABLE_MESSAGE, *PI2O_EXEC_SYS_ENABLE_MESSAGE; - - -/****************************************************************************/ - - -/* ExecSysModify Function Message Frame structure. */ - -typedef struct _I2O_EXEC_SYS_MODIFY_MESSAGE { - I2O_MESSAGE_FRAME StdMessageFrame; - I2O_TRANSACTION_CONTEXT TransactionContext; - I2O_SG_ELEMENT SGL; -} I2O_EXEC_SYS_MODIFY_MESSAGE, *PI2O_EXEC_SYS_MODIFY_MESSAGE; - - -/****************************************************************************/ - - -/* ExecSysQuiesce Function Message Frame structure. */ - -typedef struct _I2O_EXEC_SYS_QUIESCE_MESSAGE { - I2O_MESSAGE_FRAME StdMessageFrame; - I2O_TRANSACTION_CONTEXT TransactionContext; -} I2O_EXEC_SYS_QUIESCE_MESSAGE, *PI2O_EXEC_SYS_QUIESCE_MESSAGE; - - -/****************************************************************************/ - - -/* ExecSysTabSet (System Table) Function Message Frame structure. */ - -#define I2O_EXEC_SYS_TAB_IOP_ID_LOCAL_IOP 0x000 -#define I2O_EXEC_SYS_TAB_IOP_ID_LOCAL_HOST 0x001 -#define I2O_EXEC_SYS_TAB_IOP_ID_UNKNOWN_IOP 0xFFF -#define I2O_EXEC_SYS_TAB_HOST_UNIT_ID_LOCAL_UNIT 0x0000 -#define I2O_EXEC_SYS_TAB_HOST_UNIT_ID_UNKNOWN_UNIT 0xffff -#define I2O_EXEC_SYS_TAB_SEG_NUMBER_LOCAL_SEGMENT 0x000 -#define I2O_EXEC_SYS_TAB_SEG_NUMBER_UNKNOWN_SEGMENT 0xfff - -typedef struct _I2O_EXEC_SYS_TAB_SET_MESSAGE { - I2O_MESSAGE_FRAME StdMessageFrame; - I2O_TRANSACTION_CONTEXT TransactionContext; -#if (defined(_DPT_BIG_ENDIAN) || defined(sparc)) - U32 IOP_ID; -#else - BF IOP_ID:I2O_IOP_ID_SZ; - BF reserved:I2O_RESERVED_4BITS; - BF HostUnitID:I2O_UNIT_ID_SZ; -#endif -#if (defined(_DPT_BIG_ENDIAN) || defined(sparc)) - U32 SegmentNumber; -#else - BF SegmentNumber:I2O_SEGMENT_NUMBER_SZ; - BF reserved2:I2O_RESERVED_4BITS; - BF reserved3:I2O_RESERVED_16BITS; -#endif - I2O_SG_ELEMENT SGL; -} I2O_EXEC_SYS_TAB_SET_MESSAGE, *PI2O_EXEC_SYS_TAB_SET_MESSAGE; - - -/* ExecSysTabSet (System Table) Header Reply structure. */ - -#define I2O_SET_SYSTAB_RESERVED_SZ 8 - -typedef struct _I2O_SET_SYSTAB_HEADER { - U8 NumberEntries; - U8 SysTabVersion; - U16 reserved; - U32 CurrentChangeIndicator; - U8 reserved1[I2O_SET_SYSTAB_RESERVED_SZ]; -/* I2O_SYSTAB_ENTRY SysTabEntry[1]; */ -} I2O_SET_SYSTAB_HEADER, *PI2O_SET_SYSTAB_HEADER; - - -#define I2O_RESOURCE_MANAGER_VERSION 0 - -typedef struct _MESSENGER_INFO { - U32 InboundMessagePortAddressLow; - U32 InboundMessagePortAddressHigh; - } I2O_MESSENGER_INFO, *PI2O_MESSENGER_INFO; - -/* ExecSysTabSet IOP Descriptor Entry structure. */ - -typedef struct _I2O_IOP_ENTRY { - U16 OrganizationID; - U16 reserved; -#if (defined(_DPT_BIG_ENDIAN) || defined(sparc)) - U32 IOP_ID; -#else - BF IOP_ID:I2O_IOP_ID_SZ; - BF reserved3:I2O_RESERVED_4BITS; - BF reserved1:I2O_RESERVED_16BITS; -#endif -#if (defined(_DPT_BIG_ENDIAN) || defined(sparc)) - U32 SegmentNumber; -#else - BF SegmentNumber:I2O_SEGMENT_NUMBER_SZ; - BF I2oVersion:I2O_4BIT_VERSION_SZ; - BF IopState:I2O_IOP_STATE_SZ; - BF MessengerType:I2O_MESSENGER_TYPE_SZ; -#endif - U16 InboundMessageFrameSize; - U16 reserved2; - U32 LastChanged; - U32 IopCapabilities; - I2O_MESSENGER_INFO MessengerInfo; -} I2O_IOP_ENTRY, *PI2O_IOP_ENTRY; - - -/****************************************************************************/ -/* Executive Parameter Groups */ -/****************************************************************************/ - - -#define I2O_EXEC_IOP_HARDWARE_GROUP_NO 0x0000 -#define I2O_EXEC_IOP_MESSAGE_IF_GROUP_NO 0x0001 -#define I2O_EXEC_EXECUTING_ENVIRONMENT_GROUP_NO 0x0002 -#define I2O_EXEC_EXECUTING_DDM_LIST_GROUP_NO 0x0003 -#define I2O_EXEC_DRIVER_STORE_GROUP_NO 0x0004 -#define I2O_EXEC_DRIVER_STORE_TABLE_GROUP_NO 0x0005 -#define I2O_EXEC_IOP_BUS_ATTRIBUTES_GROUP_NO 0x0006 -#define I2O_EXEC_IOP_SW_ATTRIBUTES_GROUP_NO 0x0007 -#define I2O_EXEC_HARDWARE_RESOURCE_TABLE_GROUP_NO 0x0100 -#define I2O_EXEC_LCT_SCALAR_GROUP_NO 0x0101 -#define I2O_EXEC_LCT_TABLE_GROUP_NO 0x0102 -#define I2O_EXEC_SYSTEM_TABLE_GROUP_NO 0x0103 -#define I2O_EXEC_EXTERNAL_CONN_TABLE_GROUP_NO 0x0104 - - -/* EXEC Group 0000h - IOP Hardware Parameter Group */ - -/* IOP HardWare Capabilities defines */ - -#define I2O_IOP_HW_CAP_SELF_BOOT 0x00000001 -#define I2O_IOP_HW_CAP_IRTOS_UPGRADEABLE 0x00000002 -#define I2O_IOP_HW_CAP_DOWNLOADABLE_DDM 0x00000004 -#define I2O_IOP_HW_CAP_INSTALLABLE_DDM 0x00000008 -#define I2O_IOP_HW_CAP_BATTERY_BACKUP_RAM 0x00000010 - -/* IOP Processor Type defines */ - -#define I2O_IOP_PROC_TYPE_INTEL_80960 0x00 -#define I2O_IOP_PROC_TYPE_AMD_29000 0x01 -#define I2O_IOP_PROC_TYPE_MOTOROLA_68000 0x02 -#define I2O_IOP_PROC_TYPE_ARM 0x03 -#define I2O_IOP_PROC_TYPE_MIPS 0x04 -#define I2O_IOP_PROC_TYPE_SPARC 0x05 -#define I2O_IOP_PROC_TYPE_POWER_PC 0x06 -#define I2O_IOP_PROC_TYPE_ALPHA 0x07 -#define I2O_IOP_PROC_TYPE_INTEL_X86 0x08 -#define I2O_IOP_PROC_TYPE_OTHER 0xFF - - -typedef struct _I2O_EXEC_IOP_HARDWARE_SCALAR { - U16 I2oVendorID; - U16 ProductID; - U32 ProcessorMemory; - U32 PermMemory; - U32 HWCapabilities; - U8 ProcessorType; - U8 ProcessorVersion; -} I2O_EXEC_IOP_HARDWARE_SCALAR, *PI2O_EXEC_IOP_HARDWARE_SCALAR; - - -/* EXEC Group 0001h - IOP Message Interface Parameter Group */ - -/* InitCode defines */ -#define I2O_MESSAGE_IF_INIT_CODE_NO_OWNER 0x00 -#define I2O_MESSAGE_IF_INIT_CODE_BIOS 0x10 -#define I2O_MESSAGE_IF_INIT_CODE_OEM_BIOS_EXTENSION 0x20 -#define I2O_MESSAGE_IF_INIT_CODE_ROM_BIOS_EXTENSION 0x30 -#define I2O_MESSAGE_IF_INIT_CODE_OS 0x80 - -typedef struct _I2O_EXEC_IOP_MESSAGE_IF_SCALAR { - U32 InboundFrameSize; - U32 InboundSizeTarget; - U32 InboundMax; - U32 InboundTarget; - U32 InboundPoolCount; - U32 InboundCurrentFree; - U32 InboundCurrentPost; - U16 StaticCount; - U16 StaticInstanceCount; - U16 StaticLimit; - U16 StaticInstanceLimit; - U32 OutboundFrameSize; - U32 OutboundMax; - U32 OutboundMaxTarget; - U32 OutboundCurrentFree; - U32 OutboundCurrentPost; - U8 InitCode; -} I2O_EXEC_IOP_MESSAGE_IF_SCALAR, *PI2O_EXEC_IOP_MESSAGE_IF_SCALAR; - - -/* EXEC Group 0002h - Executing Environment Parameter Group */ - -typedef struct _I2O_EXEC_EXECUTE_ENVIRONMENT_SCALAR { - U32 MemTotal; - U32 MemFree; - U32 PageSize; - U32 EventQMax; - U32 EventQCurrent; - U32 DDMLoadMax; -} I2O_EXEC_EXECUTE_ENVIRONMENT_SCALAR, *PI2O_EXEC_EXECUTE_ENVIRONMENT_SCALAR; - - -/* EXEC Group 0003h - Executing DDM's Parameter Group */ - -/* ModuleType Defines */ - -#define I2O_EXEC_DDM_MODULE_TYPE_OTHER 0x00 -#define I2O_EXEC_DDM_MODULE_TYPE_DOWNLOAD 0x01 -#define I2O_EXEC_DDM_MODULE_TYPE_EMBEDDED 0x22 - - -typedef struct _I2O_EXEC_EXECUTE_DDM_TABLE { - U16 DdmTID; - U8 ModuleType; - U8 reserved; - U16 I2oVendorID; - U16 ModuleID; - U8 ModuleName[I2O_MODULE_NAME_SZ]; - U32 ModuleVersion; - U32 DataSize; - U32 CodeSize; -} I2O_EXEC_EXECUTE_DDM_TABLE, *PI2O_EXEC_EXECUTE_DDM_TABLE; - - -/* EXEC Group 0004h - Driver Store Environment Parameter Group */ - - -typedef struct _I2O_EXEC_DRIVER_STORE_SCALAR { - U32 ModuleLimit; - U32 ModuleCount; - U32 CurrentSpace; - U32 FreeSpace; -} I2O_EXEC_DRIVER_STORE_SCALAR, *PI2O_EXEC_DRIVER_STORE_SCALAR; - - -/* EXEC Group 0005h - Driver Store Parameter Group */ - - -typedef struct _I2O_EXEC_DRIVER_STORE_TABLE { - U16 StoredDdmIndex; - U8 ModuleType; - U8 reserved; - U16 I2oVendorID; - U16 ModuleID; - U8 ModuleName[I2O_MODULE_NAME_SZ]; - U32 ModuleVersion; - U16 DateDay; - U16 DateMonth; - U32 DateYear; - U32 ModuleSize; - U32 MpbSize; - U32 ModuleFlags; -} I2O_EXEC_DRIVER_STORE_TABLE, *PI2O_EXEC_DRIVER_STORE_TABLE; - - -/* EXEC Group 0006h - IOP's Bus Attributes Parameter Group */ - -#define I2O_EXEC_IOP_BUS_ATTRIB_SYSTEM_BUS 0x00 -#define I2O_EXEC_IOP_BUS_ATTRIB_BRIDGED_SYSTEM_BUS 0x01 -#define I2O_EXEC_IOP_BUS_ATTRIB_PRIVATE 0x02 - -typedef struct _I2O_EXEC_IOP_BUS_ATTRIBUTE_TABLE { - U32 BusID; - U8 BusType; - U8 MaxAdapters; - U8 AdapterCount; - U8 BusAttributes; -} I2O_EXEC_IOP_BUS_ATTRIBUTE_TABLE, *PI2O_EXEC_IOP_BUS_ATTRIBUTE_TABLE; - - -/* EXEC Group 0007h - IOP's Bus Attributes Parameter Group */ - -#define I2O_EXEC_IOP_SW_CAP_IRTOS_I2O_COMPLIANT 0x00000001 -#define I2O_EXEC_IOP_SW_CAP_IRTOS_UPGRADEABLE 0x00000002 -#define I2O_EXEC_IOP_SW_CAP_DOWNLOADABLE_DDM 0x00000004 -#define I2O_EXEC_IOP_SW_CAP_INSTALLABLE_DDM 0x00000008 - -typedef struct _I2O_EXEC_IOP_SW_ATTRIBUTES_SCALAR { - U16 I2oVendorID; - U16 ProductID; - U32 CodeSize; - U32 SWCapabilities; -} I2O_EXEC_IOP_SW_ATTRIBUTES_SCALAR, *PI2O_EXEC_IOP_SW_ATTRIBUTES_SCALAR; - - -/* EXEC Group 0100h - Hardware Resource Table Parameter Group */ - -typedef struct _I2O_EXEC_HARDWARE_RESOURCE_TABLE { - U32 AdapterID; - U16 StateInfo; /* AdapterState plus Local TID */ - U8 BusNumber; - U8 BusType; - U64 PhysicalLocation; - U32 MemorySpace; - U32 IoSpace; -} I2O_EXEC_HARDWARE_RESOURCE_TABLE, *PI2O_EXEC_HARDWARE_RESOURCE_TABLE; - -/* EXEC Group 0101h - Logical Configuration Table Scalar Parameter Group */ - -typedef struct _I2O_EXEC_LCT_SCALAR { - U16 BootDevice; - U32 IopFlags; - U32 CurrentChangeIndicator; -} I2O_EXEC_LCT_SCALAR, *PI2O_EXEC_LCT_SCALAR; - -/* EXEC Group 0102h - Logical Configuration Table Parameter Group */ - -typedef struct _I2O_EXEC_LCT_TABLE { - U16 LocalTID; - U16 UserTID; - U16 ParentTID; - U16 DdmTID; - U32 ChangeIndicator; - U32 DeviceFlags; - U32 ClassID; - U32 SubClass; - U8 IdentityTag[I2O_IDENTITY_TAG_SZ]; - U32 EventCapabilities; - U8 BiosInfo; -} I2O_EXEC_LCT_TABLE, *PI2O_EXEC_LCT_TABLE; - -/* EXEC Group 0103h - System Table Parameter Group */ - -#define I2O_MESSENGER_TYPE_MEMORY_MAPPED_MESSAGE_UNIT 0x0 - -typedef struct _I2O_EXEC_SYSTEM_TABLE { - U16 IOP_ID; - U16 OrganizationID; - U16 SegmentNumber; - U8 Version; - U8 IopState; - U8 MessengerType; - U8 reserved; - U32 InboundMessagePortAddress; - U16 InboundMessageFrameSize; - U32 IopCapabilities; - I2O_MESSENGER_INFO MessengerInfo; -} I2O_EXEC_SYSTEM_TABLE, *PI2O_EXEC_SYSTEM_TABLE; - - -/* EXEC Group 0104h - External Connection Table Parameter Group */ - -#define I2O_EXEC_XCT_FLAGS_REMOTE_IOP_CREATED_CONNECTION 0x00 -#define I2O_EXEC_XCT_FLAGS_THIS_IOP_CREATED_CONNECTION 0x01 - -typedef struct _I2O_EXEC_EXTERNAL_CONNECTION_TABLE { - U16 LocalAliasTID; - U16 RemoteTID; - U16 RemoteIOP; - U16 RemoteUnitID; - U8 Flags; - U8 reserved; -} I2O_EXEC_EXTERNAL_CONNECTION_TABLE, *PI2O_EXEC_EXTERNAL_CONNECTION_TABLE; - - -/****************************************************************************/ - -PRAGMA_PACK_POP - -PRAGMA_ALIGN_POP - -#endif /* I2O_EXECUTIVE_HDR */ Property changes on: head/sys/dev/asr/i2oexec.h ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: head/sys/dev/asr/i2otypes.h =================================================================== --- head/sys/dev/asr/i2otypes.h (revision 276525) +++ head/sys/dev/asr/i2otypes.h (nonexistent) @@ -1,137 +0,0 @@ -/*- - **************************************************************** - * Copyright (c) 1996-2000 Distributed Processing Technology Corporation - * Copyright (c) 2000 Adaptec Corporation. - * All rights reserved. - * - * Copyright 1999 I2O Special Interest Group (I2O SIG). All rights reserved. - * All rights reserved - * - * TERMS AND CONDITIONS OF USE - * - * Redistribution and use in source form, with or without modification, are - * permitted provided that redistributions of source code must retain the - * above copyright notice, this list of conditions and the following disclaimer. - * - * This software is provided `as is' by Distributed Processing Technology and - * any express or implied warranties, including, but not limited to, the - * implied warranties of merchantability and fitness for a particular purpose, - * are disclaimed. In no event shall Distributed Processing Technology be - * liable for any direct, indirect, incidental, special, exemplary or - * consequential damages (including, but not limited to, procurement of - * substitute goods or services; loss of use, data, or profits; or business - * interruptions) however caused and on any theory of liability, whether in - * contract, strict liability, or tort (including negligence or otherwise) - * arising in any way out of the use of this driver software, even if advised - * of the possibility of such damage. - * - * This header file, and any modifications of this header file, are provided - * contingent upon your agreement and adherence to the here-listed terms and - * conditions. By accepting and/or using this header file, you agree to abide - * by these terms and conditions and that these terms and conditions will be - * construed and governed in accordance with the laws of the State of California, - * without reference to conflict-of-law provisions. If you do not agree - * to these terms and conditions, please delete this file, and any copies, - * permanently, without making any use thereof. - * - * THIS HEADER FILE IS PROVIDED FREE OF CHARGE ON AN AS-IS BASIS WITHOUT - * WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED - * TO IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE. I2O SIG DOES NOT WARRANT THAT THIS HEADER FILE WILL MEET THE - * USER'S REQUIREMENTS OR THAT ITS OPERATION WILL BE UNINTERRUPTED OR - * ERROR-FREE. - * - * I2O SIG DISCLAIMS ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF - * ANY PROPRIETARY RIGHTS, RELATING TO THE IMPLEMENTATION OF THE I2O - * SPECIFICATIONS. I2O SIG DOES NOT WARRANT OR REPRESENT THAT SUCH - * IMPLEMENTATIONS WILL NOT INFRINGE SUCH RIGHTS. - * - * THE USER OF THIS HEADER FILE SHALL HAVE NO RECOURSE TO I2O SIG FOR ANY - * ACTUAL OR CONSEQUENTIAL DAMAGES INCLUDING, BUT NOT LIMITED TO, LOST DATA - * OR LOST PROFITS ARISING OUT OF THE USE OR INABILITY TO USE THIS PROGRAM. - * - * I2O SIG grants the user of this header file a license to copy, distribute, - * and modify it, for any purpose, under the following terms. Any copying, - * distribution, or modification of this header file must not delete or alter - * the copyright notice of I2O SIG or any of these Terms and Conditions. - * - * Any distribution of this header file must not include a charge for the - * header file (unless such charges are strictly for the physical acts of - * copying or transferring copies). However, distribution of a product in - * which this header file is embedded may include a charge so long as any - * such charge does not include any charge for the header file itself. - * - * Any modification of this header file constitutes a derivative work based - * on this header file. Any distribution of such derivative work: (1) must - * include prominent notices that the header file has been changed from the - * original, together with the dates of any changes; (2) automatically includes - * this same license to the original header file from I2O SIG, without any - * restriction thereon from the distributing user; and (3) must include a - * grant of license of the modified file under the same terms and conditions - * as these Terms and Conditions. - * - * The I2O SIG Web site can be found at: http://www.i2osig.org - * - * The I2O SIG encourages you to deposit derivative works based on this - * header file at the I2O SIG Web site. Furthermore, to become a Registered - * Developer of the I2O SIG, sign up at the Web site or call 415.750.8352 - * (United States). - * - * $FreeBSD$ - * - ****************************************************************/ - -#ifndef __INCi2otypesh -#define __INCi2otypesh - -#define I2OTYPES_REV 1_5_4 - -/* include architecture/compiler dependencies */ - -#if ((defined(KERNEL) || defined(_KERNEL)) && defined(__FreeBSD__)) -# if (KERN_VERSION < 3) -# include "i386/pci/i2odep.h" -# else -# include "dev/asr/i2odep.h" -# endif -#else -# include "i2odep.h" -#endif - - -/* 64 bit defines */ - -typedef struct _S64 { - U32 LowPart; - S32 HighPart; -} S64; - -typedef struct _U64 { - U32 LowPart; - U32 HighPart; -} U64; - -/* Pointer to Basics */ - -typedef VOID *PVOID; -typedef S8 *PS8; -typedef S16 *PS16; -typedef S32 *PS32; -typedef S64 *PS64; - -/* Pointer to Unsigned Basics */ - -typedef U8 *PU8; -typedef U16 *PU16; -typedef U32 *PU32; -typedef U64 *PU64; - -/* misc */ - -typedef S32 I2O_ARG; -typedef U32 I2O_COUNT; -typedef U32 I2O_USECS; -typedef U32 I2O_ADDR32; -typedef U32 I2O_SIZE; - -#endif /* __INCi2otypesh */ Property changes on: head/sys/dev/asr/i2otypes.h ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: head/sys/dev/asr/i2obscsi.h =================================================================== --- head/sys/dev/asr/i2obscsi.h (revision 276525) +++ head/sys/dev/asr/i2obscsi.h (nonexistent) @@ -1,498 +0,0 @@ -/*- - **************************************************************** - * Copyright (c) 1996-2000 Distributed Processing Technology Corporation - * Copyright (c) 2000 Adaptec Corporation. - * All rights reserved. - * - * Copyright 1999 I2O Special Interest Group (I2O SIG). All rights reserved. - * All rights reserved - * - * TERMS AND CONDITIONS OF USE - * - * Redistribution and use in source form, with or without modification, are - * permitted provided that redistributions of source code must retain the - * above copyright notice, this list of conditions and the following disclaimer. - * - * This software is provided `as is' by Distributed Processing Technology and - * any express or implied warranties, including, but not limited to, the - * implied warranties of merchantability and fitness for a particular purpose, - * are disclaimed. In no event shall Distributed Processing Technology be - * liable for any direct, indirect, incidental, special, exemplary or - * consequential damages (including, but not limited to, procurement of - * substitute goods or services; loss of use, data, or profits; or business - * interruptions) however caused and on any theory of liability, whether in - * contract, strict liability, or tort (including negligence or otherwise) - * arising in any way out of the use of this driver software, even if advised - * of the possibility of such damage. - * - * This header file, and any modifications of this header file, are provided - * contingent upon your agreement and adherence to the here-listed terms and - * conditions. By accepting and/or using this header file, you agree to abide - * by these terms and conditions and that these terms and conditions will be - * construed and governed in accordance with the laws of the State of California, - * without reference to conflict-of-law provisions. If you do not agree - * to these terms and conditions, please delete this file, and any copies, - * permanently, without making any use thereof. - * - * THIS HEADER FILE IS PROVIDED FREE OF CHARGE ON AN AS-IS BASIS WITHOUT - * WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED - * TO IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE. I2O SIG DOES NOT WARRANT THAT THIS HEADER FILE WILL MEET THE - * USER'S REQUIREMENTS OR THAT ITS OPERATION WILL BE UNINTERRUPTED OR - * ERROR-FREE. - * - * I2O SIG DISCLAIMS ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF - * ANY PROPRIETARY RIGHTS, RELATING TO THE IMPLEMENTATION OF THE I2O - * SPECIFICATIONS. I2O SIG DOES NOT WARRANT OR REPRESENT THAT SUCH - * IMPLEMENTATIONS WILL NOT INFRINGE SUCH RIGHTS. - * - * THE USER OF THIS HEADER FILE SHALL HAVE NO RECOURSE TO I2O SIG FOR ANY - * ACTUAL OR CONSEQUENTIAL DAMAGES INCLUDING, BUT NOT LIMITED TO, LOST DATA - * OR LOST PROFITS ARISING OUT OF THE USE OR INABILITY TO USE THIS PROGRAM. - * - * I2O SIG grants the user of this header file a license to copy, distribute, - * and modify it, for any purpose, under the following terms. Any copying, - * distribution, or modification of this header file must not delete or alter - * the copyright notice of I2O SIG or any of these Terms and Conditions. - * - * Any distribution of this header file must not include a charge for the - * header file (unless such charges are strictly for the physical acts of - * copying or transferring copies). However, distribution of a product in - * which this header file is embedded may include a charge so long as any - * such charge does not include any charge for the header file itself. - * - * Any modification of this header file constitutes a derivative work based - * on this header file. Any distribution of such derivative work: (1) must - * include prominent notices that the header file has been changed from the - * original, together with the dates of any changes; (2) automatically includes - * this same license to the original header file from I2O SIG, without any - * restriction thereon from the distributing user; and (3) must include a - * grant of license of the modified file under the same terms and conditions - * as these Terms and Conditions. - * - * The I2O SIG Web site can be found at: http://www.i2osig.org - * - * The I2O SIG encourages you to deposit derivative works based on this - * header file at the I2O SIG Web site. Furthermore, to become a Registered - * Developer of the I2O SIG, sign up at the Web site or call 415.750.8352 - * (United States). - * - * $FreeBSD$ - * - ****************************************************************/ - -#if !defined(I2O_BASE_SCSI_HDR) -#define I2O_BASE_SCSI_HDR - -#if ((defined(KERNEL) || defined(_KERNEL)) && defined(__FreeBSD__)) -# if (KERN_VERSION < 3) -# include "i386/pci/i2omsg.h" /* Include the Base Message file */ -# else -# include "dev/asr/i2omsg.h" -# endif -#else -# include "i2omsg.h" /* Include the Base Message file */ -#endif - - -#define I2OBSCSI_REV 1_5_1 /* Header file revision string */ - - - -/***************************************************************************** - * - * I2OBSCSI.h -- I2O Base SCSI Device Class Message defintion file - * - * This file contains information presented in Chapter 6, Section 6 & 7 of - * the I2O Specification. - * - * Revision History: (Revision History tracks the revision number of the I2O - * specification) - * - * .92 - First marked revsion used for Proof of Concept. - * .93 - Change to match the rev .93 of the spec. - * .95 - Updated to Rev .95 of 2/5/96. - * 1.00 - Checked and Updated against spec version 1.00 4/9/96. - * 1.xx - Updated to the 1.x version of the I2O Specification on 11/11/96. - * 1.xx - 11/14/96 - * 1) Removed duplicate device type definitions. - * 2) Added "DSC" to Detailed Status Code definitions. - * 3) Changed SCSI-3 LUN fields from U64 to U8 array. - * 1.xx 11/15/96 - Added #pragma statments for i960. - * 1.xx 11/20/96 - Changed duplicate Bus Scan structure to Bus Reset. - * 1.xx 12/05/96 - Added Auto Request Sense flag definition. - * 1.5d 03/06/97 - Update for spec. draft version 1.5d. - * 1) Converted SCSI bus adapter class to generic in i2oadptr.h. - * 2) Fixed DSC reference: changed from _BUS_SCAN to _BUS_RESET. - * 1.5d 03/031/97 - Made AutoSense flag definition consistent with spec. - * 1.5d 04/11/97 - Corrections from review cycle: - * 1) Corrected typo in I2O_SCSI_PERIPHERAL_TYPE_PARALLEL. - * 2) Corrected typo in I2O_SCSI_PORT_CONN_UNSHIELDED_P_HD. - * 1.5.1 05/02/97 - Corrections from review cycle: - * 1) Remove #include for i2omstor.h. - * 2) Add revision string. - * 3) Convert tabs to spaces. - * 4) New disclaimer. - * - *****************************************************************************/ - -/* - NOTES: - - Gets, reads, receives, etc. are all even numbered functions. - Sets, writes, sends, etc. are all odd numbered functions. - Functions that both send and receive data can be either but an attempt is made - to use the function number that indicates the greater transfer amount. - Functions that do not send or receive data use odd function numbers. - - Some functions are synonyms like read, receive and send, write. - - All common functions will have a code of less than 0x80. - Unique functions to a class will start at 0x80. - Executive Functions start at 0xA0. - - Utility Message function codes range from 0 - 0x1f - Base Message function codes range from 0x20 - 0xfe - Private Message function code is 0xff. -*/ - -PRAGMA_ALIGN_PUSH - -PRAGMA_PACK_PUSH - -/* - SCSI Peripheral Class specific functions - - Although the names are SCSI Peripheral class specific, the values - assigned are common with other classes when applicable. -*/ - -#define I2O_SCSI_DEVICE_RESET 0x27 -#define I2O_SCSI_SCB_ABORT 0x83 -#define I2O_SCSI_SCB_EXEC 0x81 - -/* - Detailed Status Codes for SCSI operations - - The 16-bit Detailed Status Code field for SCSI operations is divided - into two separate 8-bit fields. The lower 8 bits are used to report - Device Status information. The upper 8 bits are used to report - Adapter Status information. The definitions for these two fields, - however, will be consistent with the standard reply message frame - structure declaration, which treats this as a single 16-bit field. -*/ - - -/* SCSI Device Completion Status Codes (defined by SCSI-2/3)*/ - -#define I2O_SCSI_DEVICE_DSC_MASK 0x00FF - -#define I2O_SCSI_DSC_SUCCESS 0x0000 -#define I2O_SCSI_DSC_CHECK_CONDITION 0x0002 -#define I2O_SCSI_DSC_BUSY 0x0008 -#define I2O_SCSI_DSC_RESERVATION_CONFLICT 0x0018 -#define I2O_SCSI_DSC_COMMAND_TERMINATED 0x0022 -#define I2O_SCSI_DSC_TASK_SET_FULL 0x0028 -#define I2O_SCSI_DSC_ACA_ACTIVE 0x0030 - -/* SCSI Adapter Status Codes (based on CAM-1) */ - -#define I2O_SCSI_HBA_DSC_MASK 0xFF00 - -#define I2O_SCSI_HBA_DSC_SUCCESS 0x0000 - -#define I2O_SCSI_HBA_DSC_REQUEST_ABORTED 0x0200 -#define I2O_SCSI_HBA_DSC_UNABLE_TO_ABORT 0x0300 -#define I2O_SCSI_HBA_DSC_COMPLETE_WITH_ERROR 0x0400 -#define I2O_SCSI_HBA_DSC_ADAPTER_BUSY 0x0500 -#define I2O_SCSI_HBA_DSC_REQUEST_INVALID 0x0600 -#define I2O_SCSI_HBA_DSC_PATH_INVALID 0x0700 -#define I2O_SCSI_HBA_DSC_DEVICE_NOT_PRESENT 0x0800 -#define I2O_SCSI_HBA_DSC_UNABLE_TO_TERMINATE 0x0900 -#define I2O_SCSI_HBA_DSC_SELECTION_TIMEOUT 0x0A00 -#define I2O_SCSI_HBA_DSC_COMMAND_TIMEOUT 0x0B00 - -#define I2O_SCSI_HBA_DSC_MR_MESSAGE_RECEIVED 0x0D00 -#define I2O_SCSI_HBA_DSC_SCSI_BUS_RESET 0x0E00 -#define I2O_SCSI_HBA_DSC_PARITY_ERROR_FAILURE 0x0F00 -#define I2O_SCSI_HBA_DSC_AUTOSENSE_FAILED 0x1000 -#define I2O_SCSI_HBA_DSC_NO_ADAPTER 0x1100 -#define I2O_SCSI_HBA_DSC_DATA_OVERRUN 0x1200 -#define I2O_SCSI_HBA_DSC_UNEXPECTED_BUS_FREE 0x1300 -#define I2O_SCSI_HBA_DSC_SEQUENCE_FAILURE 0x1400 -#define I2O_SCSI_HBA_DSC_REQUEST_LENGTH_ERROR 0x1500 -#define I2O_SCSI_HBA_DSC_PROVIDE_FAILURE 0x1600 -#define I2O_SCSI_HBA_DSC_BDR_MESSAGE_SENT 0x1700 -#define I2O_SCSI_HBA_DSC_REQUEST_TERMINATED 0x1800 - -#define I2O_SCSI_HBA_DSC_IDE_MESSAGE_SENT 0x3300 -#define I2O_SCSI_HBA_DSC_RESOURCE_UNAVAILABLE 0x3400 -#define I2O_SCSI_HBA_DSC_UNACKNOWLEDGED_EVENT 0x3500 -#define I2O_SCSI_HBA_DSC_MESSAGE_RECEIVED 0x3600 -#define I2O_SCSI_HBA_DSC_INVALID_CDB 0x3700 -#define I2O_SCSI_HBA_DSC_LUN_INVALID 0x3800 -#define I2O_SCSI_HBA_DSC_SCSI_TID_INVALID 0x3900 -#define I2O_SCSI_HBA_DSC_FUNCTION_UNAVAILABLE 0x3A00 -#define I2O_SCSI_HBA_DSC_NO_NEXUS 0x3B00 -#define I2O_SCSI_HBA_DSC_SCSI_IID_INVALID 0x3C00 -#define I2O_SCSI_HBA_DSC_CDB_RECEIVED 0x3D00 -#define I2O_SCSI_HBA_DSC_LUN_ALREADY_ENABLED 0x3E00 -#define I2O_SCSI_HBA_DSC_BUS_BUSY 0x3F00 - -#define I2O_SCSI_HBA_DSC_QUEUE_FROZEN 0x4000 - - -/****************************************************************************/ - -/* SCSI Peripheral Device Parameter Groups */ - -/****************************************************************************/ - - -/* SCSI Configuration and Operating Structures and Defines */ - - -#define I2O_SCSI_DEVICE_INFO_GROUP_NO 0x0000 -#define I2O_SCSI_DEVICE_BUS_PORT_INFO_GROUP_NO 0x0001 - - -/* - 0000h - SCSI Device Information Parameters Group defines */ - -/* Device Type */ - -#define I2O_SCSI_DEVICE_TYPE_DIRECT 0x00 -#define I2O_SCSI_DEVICE_TYPE_SEQUENTIAL 0x01 -#define I2O_SCSI_DEVICE_TYPE_PRINTER 0x02 -#define I2O_SCSI_DEVICE_TYPE_PROCESSOR 0x03 -#define I2O_SCSI_DEVICE_TYPE_WORM 0x04 -#define I2O_SCSI_DEVICE_TYPE_CDROM 0x05 -#define I2O_SCSI_DEVICE_TYPE_SCANNER 0x06 -#define I2O_SCSI_DEVICE_TYPE_OPTICAL 0x07 -#define I2O_SCSI_DEVICE_TYPE_MEDIA_CHANGER 0x08 -#define I2O_SCSI_DEVICE_TYPE_COMM 0x09 -#define I2O_SCSI_DEVICE_GRAPHICS_1 0x0A -#define I2O_SCSI_DEVICE_GRAPHICS_2 0x0B -#define I2O_SCSI_DEVICE_TYPE_ARRAY_CONT 0x0C -#define I2O_SCSI_DEVICE_TYPE_SES 0x0D -#define I2O_SCSI_DEVICE_TYPE_UNKNOWN 0x1F - -/* Flags */ - -#define I2O_SCSI_PERIPHERAL_TYPE_FLAG 0x01 -#define I2O_SCSI_PERIPHERAL_TYPE_PARALLEL 0x00 -#define I2O_SCSI_PERIPHERAL_TYPE_SERIAL 0x01 - -#define I2O_SCSI_RESERVED_FLAG 0x02 - -#define I2O_SCSI_DISCONNECT_FLAG 0x04 -#define I2O_SCSI_DISABLE_DISCONNECT 0x00 -#define I2O_SCSI_ENABLE_DISCONNECT 0x04 - -#define I2O_SCSI_MODE_MASK 0x18 -#define I2O_SCSI_MODE_SET_DATA 0x00 -#define I2O_SCSI_MODE_SET_DEFAULT 0x08 -#define I2O_SCSI_MODE_SET_SAFEST 0x10 - -#define I2O_SCSI_DATA_WIDTH_MASK 0x60 -#define I2O_SCSI_DATA_WIDTH_8 0x00 -#define I2O_SCSI_DATA_WIDTH_16 0x20 -#define I2O_SCSI_DATA_WIDTH_32 0x40 - -#define I2O_SCSI_SYNC_NEGOTIATION_FLAG 0x80 -#define I2O_SCSI_DISABLE_SYNC_NEGOTIATION 0x00 -#define I2O_SCSI_ENABLE_SYNC_NEGOTIATION 0x80 - - -/* - 0001h - SCSI Device Bus Port Info Parameters Group defines */ - -/* Physical */ - -#define I2O_SCSI_PORT_PHYS_OTHER 0x01 -#define I2O_SCSI_PORT_PHYS_UNKNOWN 0x02 -#define I2O_SCSI_PORT_PHYS_PARALLEL 0x03 -#define I2O_SCSI_PORT_PHYS_FIBRE_CHANNEL 0x04 -#define I2O_SCSI_PORT_PHYS_SERIAL_P1394 0x05 -#define I2O_SCSI_PORT_PHYS_SERIAL_SSA 0x06 - -/* Electrical */ - -#define I2O_SCSI_PORT_ELEC_OTHER 0x01 -#define I2O_SCSI_PORT_ELEC_UNKNOWN 0x02 -#define I2O_SCSI_PORT_ELEC_SINGLE_ENDED 0x03 -#define I2O_SCSI_PORT_ELEC_DIFFERENTIAL 0x04 -#define I2O_SCSI_PORT_ELEC_LOW_VOLT_DIFF 0x05 -#define I2O_SCSI_PORT_ELEC_OPTICAL 0x06 - -/* Isochronous */ - -#define I2O_SCSI_PORT_ISOC_NO 0x00 -#define I2O_SCSI_PORT_ISOC_YES 0x01 -#define I2O_SCSI_PORT_ISOC_UNKNOWN 0x02 - -/* Connector Type */ - -#define I2O_SCSI_PORT_CONN_OTHER 0x01 -#define I2O_SCSI_PORT_CONN_UNKNOWN 0x02 -#define I2O_SCSI_PORT_CONN_NONE 0x03 -#define I2O_SCSI_PORT_CONN_SHIELDED_A_HD 0x04 -#define I2O_SCSI_PORT_CONN_UNSHIELDED_A_HD 0x05 -#define I2O_SCSI_PORT_CONN_SHIELDED_A_LD 0x06 -#define I2O_SCSI_PORT_CONN_UNSHIELDED_A_LD 0x07 -#define I2O_SCSI_PORT_CONN_SHIELDED_P_HD 0x08 -#define I2O_SCSI_PORT_CONN_UNSHIELDED_P_HD 0x09 -#define I2O_SCSI_PORT_CONN_SCA_I 0x0A -#define I2O_SCSI_PORT_CONN_SCA_II 0x0B -#define I2O_SCSI_PORT_CONN_FC_DB9 0x0C -#define I2O_SCSI_PORT_CONN_FC_FIBRE 0x0D -#define I2O_SCSI_PORT_CONN_FC_SCA_II_40 0x0E -#define I2O_SCSI_PORT_CONN_FC_SCA_II_20 0x0F -#define I2O_SCSI_PORT_CONN_FC_BNC 0x10 - -/* Connector Gender */ - -#define I2O_SCSI_PORT_CONN_GENDER_OTHER 0x01 -#define I2O_SCSI_PORT_CONN_GENDER_UNKOWN 0x02 -#define I2O_SCSI_PORT_CONN_GENDER_FEMALE 0x03 -#define I2O_SCSI_PORT_CONN_GENDER_MALE 0x04 - - -/* SCSI Device Group 0000h - Device Information Parameter Group */ - -typedef struct _I2O_SCSI_DEVICE_INFO_SCALAR { - U8 DeviceType; - U8 Flags; - U16 Reserved2; - U32 Identifier; - U8 LunInfo[8]; /* SCSI-2 8-bit scalar LUN goes into offset 1 */ - U32 QueueDepth; - U8 Reserved1a; - U8 NegOffset; - U8 NegDataWidth; - U8 Reserved1b; - U64 NegSyncRate; - -} I2O_SCSI_DEVICE_INFO_SCALAR, *PI2O_SCSI_DEVICE_INFO_SCALAR; - - -/* SCSI Device Group 0001h - Bus Port Information Parameter Group */ - -typedef struct _I2O_SCSI_BUS_PORT_INFO_SCALAR { - U8 PhysicalInterface; - U8 ElectricalInterface; - U8 Isochronous; - U8 ConnectorType; - U8 ConnectorGender; - U8 Reserved1; - U16 Reserved2; - U32 MaxNumberDevices; -} I2O_SCSI_BUS_PORT_INFO_SCALAR, *PI2O_SCSI_BUS_PORT_INFO_SCALAR; - - - -/****************************************************************************/ - -/* I2O SCSI Peripheral Event Indicator Assignment */ - -#define I2O_SCSI_EVENT_SCSI_SMART 0x00000010 - - -/****************************************************************************/ - -/* SCSI Peripheral Class Specific Message Definitions */ - -/****************************************************************************/ - - -/****************************************************************************/ - -/* I2O SCSI Peripheral Successful Completion Reply Message Frame */ - -typedef struct _I2O_SCSI_SUCCESS_REPLY_MESSAGE_FRAME { - I2O_SINGLE_REPLY_MESSAGE_FRAME StdReplyFrame; - U32 TransferCount; -} I2O_SCSI_SUCCESS_REPLY_MESSAGE_FRAME, *PI2O_SCSI_SUCCESS_REPLY_MESSAGE_FRAME; - - -/****************************************************************************/ - -/* I2O SCSI Peripheral Error Report Reply Message Frame */ - -#ifdef _WIN64 -#define I2O_SCSI_SENSE_DATA_SZ 44 -#else -#define I2O_SCSI_SENSE_DATA_SZ 40 -#endif - -typedef struct _I2O_SCSI_ERROR_REPLY_MESSAGE_FRAME { - I2O_SINGLE_REPLY_MESSAGE_FRAME StdReplyFrame; - U32 TransferCount; - U32 AutoSenseTransferCount; - U8 SenseData[I2O_SCSI_SENSE_DATA_SZ]; -} I2O_SCSI_ERROR_REPLY_MESSAGE_FRAME, *PI2O_SCSI_ERROR_REPLY_MESSAGE_FRAME; - - -/****************************************************************************/ - -/* I2O SCSI Device Reset Message Frame */ - -typedef struct _I2O_SCSI_DEVICE_RESET_MESSAGE { - I2O_MESSAGE_FRAME StdMessageFrame; - I2O_TRANSACTION_CONTEXT TransactionContext; -} I2O_SCSI_DEVICE_RESET_MESSAGE, *PI2O_SCSI_DEVICE_RESET_MESSAGE; - - -/****************************************************************************/ - -/* I2O SCSI Control Block Abort Message Frame */ - -typedef struct _I2O_SCSI_SCB_ABORT_MESSAGE { - I2O_MESSAGE_FRAME StdMessageFrame; - I2O_TRANSACTION_CONTEXT TransactionContext; - I2O_TRANSACTION_CONTEXT TransactionContextToAbort; -} I2O_SCSI_SCB_ABORT_MESSAGE, *PI2O_SCSI_SCB_ABORT_MESSAGE; - - -/****************************************************************************/ - -/* I2O SCSI Control Block Execute Message Frame */ - -#define I2O_SCSI_CDB_LENGTH 16 - -typedef U16 I2O_SCB_FLAGS; - -#define I2O_SCB_FLAG_XFER_DIR_MASK 0xC000 -#define I2O_SCB_FLAG_NO_DATA_XFER 0x0000 -#define I2O_SCB_FLAG_XFER_FROM_DEVICE 0x4000 -#define I2O_SCB_FLAG_XFER_TO_DEVICE 0x8000 - -#define I2O_SCB_FLAG_ENABLE_DISCONNECT 0x2000 - -#define I2O_SCB_FLAG_TAG_TYPE_MASK 0x0380 -#define I2O_SCB_FLAG_NO_TAG_QUEUEING 0x0000 -#define I2O_SCB_FLAG_SIMPLE_QUEUE_TAG 0x0080 -#define I2O_SCB_FLAG_HEAD_QUEUE_TAG 0x0100 -#define I2O_SCB_FLAG_ORDERED_QUEUE_TAG 0x0180 -#define I2O_SCB_FLAG_ACA_QUEUE_TAG 0x0200 - -#define I2O_SCB_FLAG_AUTOSENSE_MASK 0x0060 -#define I2O_SCB_FLAG_DISABLE_AUTOSENSE 0x0000 -#define I2O_SCB_FLAG_SENSE_DATA_IN_MESSAGE 0x0020 -#define I2O_SCB_FLAG_SENSE_DATA_IN_BUFFER 0x0060 - -typedef struct _I2O_SCSI_SCB_EXECUTE_MESSAGE { - I2O_MESSAGE_FRAME StdMessageFrame; - I2O_TRANSACTION_CONTEXT TransactionContext; - U8 CDBLength; - U8 Reserved; - I2O_SCB_FLAGS SCBFlags; - U8 CDB[I2O_SCSI_CDB_LENGTH]; - U32 ByteCount; - I2O_SG_ELEMENT SGL; -} I2O_SCSI_SCB_EXECUTE_MESSAGE, *PI2O_SCSI_SCB_EXECUTE_MESSAGE; - - -PRAGMA_PACK_POP - -PRAGMA_ALIGN_POP - -#endif /* I2O_BASE_SCSI_HDR */ Property changes on: head/sys/dev/asr/i2obscsi.h ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: head/sys/dev/asr/i2outil.h =================================================================== --- head/sys/dev/asr/i2outil.h (revision 276525) +++ head/sys/dev/asr/i2outil.h (nonexistent) @@ -1,421 +0,0 @@ -/*- - **************************************************************** - * Copyright (c) 1996-2000 Distributed Processing Technology Corporation - * Copyright (c) 2000 Adaptec Corporation. - * All rights reserved. - * - * Copyright 1999 I2O Special Interest Group (I2O SIG). All rights reserved. - * All rights reserved - * - * TERMS AND CONDITIONS OF USE - * - * Redistribution and use in source form, with or without modification, are - * permitted provided that redistributions of source code must retain the - * above copyright notice, this list of conditions and the following disclaimer. - * - * This software is provided `as is' by Distributed Processing Technology and - * any express or implied warranties, including, but not limited to, the - * implied warranties of merchantability and fitness for a particular purpose, - * are disclaimed. In no event shall Distributed Processing Technology be - * liable for any direct, indirect, incidental, special, exemplary or - * consequential damages (including, but not limited to, procurement of - * substitute goods or services; loss of use, data, or profits; or business - * interruptions) however caused and on any theory of liability, whether in - * contract, strict liability, or tort (including negligence or otherwise) - * arising in any way out of the use of this driver software, even if advised - * of the possibility of such damage. - * - * This header file, and any modifications of this header file, are provided - * contingent upon your agreement and adherence to the here-listed terms and - * conditions. By accepting and/or using this header file, you agree to abide - * by these terms and conditions and that these terms and conditions will be - * construed and governed in accordance with the laws of the State of California, - * without reference to conflict-of-law provisions. If you do not agree - * to these terms and conditions, please delete this file, and any copies, - * permanently, without making any use thereof. - * - * THIS HEADER FILE IS PROVIDED FREE OF CHARGE ON AN AS-IS BASIS WITHOUT - * WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED - * TO IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE. I2O SIG DOES NOT WARRANT THAT THIS HEADER FILE WILL MEET THE - * USER'S REQUIREMENTS OR THAT ITS OPERATION WILL BE UNINTERRUPTED OR - * ERROR-FREE. - * - * I2O SIG DISCLAIMS ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF - * ANY PROPRIETARY RIGHTS, RELATING TO THE IMPLEMENTATION OF THE I2O - * SPECIFICATIONS. I2O SIG DOES NOT WARRANT OR REPRESENT THAT SUCH - * IMPLEMENTATIONS WILL NOT INFRINGE SUCH RIGHTS. - * - * THE USER OF THIS HEADER FILE SHALL HAVE NO RECOURSE TO I2O SIG FOR ANY - * ACTUAL OR CONSEQUENTIAL DAMAGES INCLUDING, BUT NOT LIMITED TO, LOST DATA - * OR LOST PROFITS ARISING OUT OF THE USE OR INABILITY TO USE THIS PROGRAM. - * - * I2O SIG grants the user of this header file a license to copy, distribute, - * and modify it, for any purpose, under the following terms. Any copying, - * distribution, or modification of this header file must not delete or alter - * the copyright notice of I2O SIG or any of these Terms and Conditions. - * - * Any distribution of this header file must not include a charge for the - * header file (unless such charges are strictly for the physical acts of - * copying or transferring copies). However, distribution of a product in - * which this header file is embedded may include a charge so long as any - * such charge does not include any charge for the header file itself. - * - * Any modification of this header file constitutes a derivative work based - * on this header file. Any distribution of such derivative work: (1) must - * include prominent notices that the header file has been changed from the - * original, together with the dates of any changes; (2) automatically includes - * this same license to the original header file from I2O SIG, without any - * restriction thereon from the distributing user; and (3) must include a - * grant of license of the modified file under the same terms and conditions - * as these Terms and Conditions. - * - * The I2O SIG Web site can be found at: http://www.i2osig.org - * - * The I2O SIG encourages you to deposit derivative works based on this - * header file at the I2O SIG Web site. Furthermore, to become a Registered - * Developer of the I2O SIG, sign up at the Web site or call 415.750.8352 - * (United States). - * - * $FreeBSD$ - * - ****************************************************************/ - -/********************************************************************* - * I2OUtil.h -- I2O Utility Class Message defintion file - * - * This file contains information presented in Chapter 6 of the I2O - * Specification. - **********************************************************************/ - -#if !defined(I2O_UTILITY_HDR) -#define I2O_UTILITY_HDR - -#define I2OUTIL_REV 1_5_4 /* I2OUtil header file revision string */ - -#if ((defined(KERNEL) || defined(_KERNEL)) && defined(__FreeBSD__)) -# if (KERN_VERSION < 3) -# include "i386/pci/i2omsg.h" /* Include the Base Message file */ -# else -# include "dev/asr/i2omsg.h" -# endif -#else -# include "i2omsg.h" /* Include the Base Message file */ -#endif - - -/* -NOTES: - - Gets, reads, receives, etc. are all even numbered functions. - Sets, writes, sends, etc. are all odd numbered functions. - Functions that both send and receive data can be either but an attempt is made - to use the function number that indicates the greater transfer amount. - Functions that do not send or receive data use odd function numbers. - - Some functions are synonyms like read, receive and send, write. - - All common functions will have a code of less than 0x80. - Unique functions to a class will start at 0x80. - Executive Functions start at 0xA0. - - Utility Message function codes range from 0 - 0x1f - Base Message function codes range from 0x20 - 0xfe - Private Message function code is 0xff. -*/ - -PRAGMA_ALIGN_PUSH - -PRAGMA_PACK_PUSH - -/* Utility Message class functions. */ - -#define I2O_UTIL_NOP 0x00 -#define I2O_UTIL_ABORT 0x01 -#define I2O_UTIL_CLAIM 0x09 -#define I2O_UTIL_CLAIM_RELEASE 0x0B -#define I2O_UTIL_CONFIG_DIALOG 0x10 -#define I2O_UTIL_DEVICE_RESERVE 0x0D -#define I2O_UTIL_DEVICE_RELEASE 0x0F -#define I2O_UTIL_EVENT_ACKNOWLEDGE 0x14 -#define I2O_UTIL_EVENT_REGISTER 0x13 -#define I2O_UTIL_LOCK 0x17 -#define I2O_UTIL_LOCK_RELEASE 0x19 -#define I2O_UTIL_PARAMS_GET 0x06 -#define I2O_UTIL_PARAMS_SET 0x05 -#define I2O_UTIL_REPLY_FAULT_NOTIFY 0x15 - -/****************************************************************************/ - -/* ABORT Abort type defines. */ - -#define I2O_ABORT_TYPE_EXACT_ABORT 0x00 -#define I2O_ABORT_TYPE_FUNCTION_ABORT 0x01 -#define I2O_ABORT_TYPE_TRANSACTION_ABORT 0x02 -#define I2O_ABORT_TYPE_WILD_ABORT 0x03 -#define I2O_ABORT_TYPE_CLEAN_EXACT_ABORT 0x04 -#define I2O_ABORT_TYPE_CLEAN_FUNCTION_ABORT 0x05 -#define I2O_ABORT_TYPE_CLEAN_TRANSACTION_ABORT 0x06 -#define I2O_ABORT_TYPE_CLEAN_WILD_ABORT 0x07 - -/* UtilAbort Function Message Frame structure. */ - -typedef struct _I2O_UTIL_ABORT_MESSAGE { - I2O_MESSAGE_FRAME StdMessageFrame; - I2O_TRANSACTION_CONTEXT TransactionContext; -# if (defined(_DPT_BIG_ENDIAN) || defined(sparc)) - U32 reserved; -# else - U16 reserved; - U8 AbortType; - U8 FunctionToAbort; -# endif - I2O_TRANSACTION_CONTEXT TransactionContextToAbort; -} I2O_UTIL_ABORT_MESSAGE, *PI2O_UTIL_ABORT_MESSAGE; - - -typedef struct _I2O_UTIL_ABORT_REPLY { - I2O_MESSAGE_FRAME StdMessageFrame; - I2O_TRANSACTION_CONTEXT TransactionContext; - U32 CountOfAbortedMessages; -} I2O_UTIL_ABORT_REPLY, *PI2O_UTIL_ABORT_REPLY; - - -/****************************************************************************/ - -/* Claim Flag defines */ - -#define I2O_CLAIM_FLAGS_EXCLUSIVE 0x0001 /* Reserved */ -#define I2O_CLAIM_FLAGS_RESET_SENSITIVE 0x0002 -#define I2O_CLAIM_FLAGS_STATE_SENSITIVE 0x0004 -#define I2O_CLAIM_FLAGS_CAPACITY_SENSITIVE 0x0008 -#define I2O_CLAIM_FLAGS_PEER_SERVICE_DISABLED 0x0010 -#define I2O_CLAIM_FLAGS_MGMT_SERVICE_DISABLED 0x0020 - -/* Claim Type defines */ - -#define I2O_CLAIM_TYPE_PRIMARY_USER 0x01 -#define I2O_CLAIM_TYPE_AUTHORIZED_USER 0x02 -#define I2O_CLAIM_TYPE_SECONDARY_USER 0x03 -#define I2O_CLAIM_TYPE_MANAGEMENT_USER 0x04 - -/* UtilClaim Function Message Frame structure. */ - -typedef struct _I2O_UTIL_CLAIM_MESSAGE { - I2O_MESSAGE_FRAME StdMessageFrame; - I2O_TRANSACTION_CONTEXT TransactionContext; - U16 ClaimFlags; - U8 reserved; - U8 ClaimType; -} I2O_UTIL_CLAIM_MESSAGE, *PI2O_UTIL_CLAIM_MESSAGE; - - -/****************************************************************************/ - -/* Claim Release Flag defines */ - -#define I2O_RELEASE_FLAGS_CONDITIONAL 0x0001 - -/* UtilClaimRelease Function Message Frame structure. */ - -typedef struct _I2O_UTIL_CLAIM_RELEASE_MESSAGE { - I2O_MESSAGE_FRAME StdMessageFrame; - I2O_TRANSACTION_CONTEXT TransactionContext; - U16 ReleaseFlags; - U8 reserved; - U8 ClaimType; -} I2O_UTIL_CLAIM_RELEASE_MESSAGE, *PI2O_UTIL_CLAIM_RELEASE_MESSAGE; - - -/****************************************************************************/ - -/* UtilConfigDialog Function Message Frame structure */ - -typedef struct _I2O_UTIL_CONFIG_DIALOG_MESSAGE { - I2O_MESSAGE_FRAME StdMessageFrame; - I2O_TRANSACTION_CONTEXT TransactionContext; - U32 PageNumber; - I2O_SG_ELEMENT SGL; -} I2O_UTIL_CONFIG_DIALOG_MESSAGE, *PI2O_UTIL_CONFIG_DIALOG_MESSAGE; - - -/****************************************************************************/ - -/* Event Acknowledge Function Message Frame structure */ - -typedef struct _I2O_UTIL_EVENT_ACK_MESSAGE { - I2O_MESSAGE_FRAME StdMessageFrame; - I2O_TRANSACTION_CONTEXT TransactionContext; - U32 EventIndicator; - U32 EventData[1]; -} I2O_UTIL_EVENT_ACK_MESSAGE, *PI2O_UTIL_EVENT_ACK_MESSAGE; - -/* Event Ack Reply structure */ - -typedef struct _I2O_UTIL_EVENT_ACK_REPLY { - I2O_MESSAGE_FRAME StdMessageFrame; - I2O_TRANSACTION_CONTEXT TransactionContext; - U32 EventIndicator; - U32 EventData[1]; -} I2O_UTIL_EVENT_ACK_REPLY, *PI2O_UTIL_EVENT_ACK_REPLY; - - -/****************************************************************************/ - -/* Event Indicator Mask Flags */ - -#define I2O_EVENT_IND_STATE_CHANGE 0x80000000 -#define I2O_EVENT_IND_GENERAL_WARNING 0x40000000 -#define I2O_EVENT_IND_CONFIGURATION_FLAG 0x20000000 -/* #define I2O_EVENT_IND_RESERVE_RELEASE 0x10000000 */ -#define I2O_EVENT_IND_LOCK_RELEASE 0x10000000 -#define I2O_EVENT_IND_CAPABILITY_CHANGE 0x08000000 -#define I2O_EVENT_IND_DEVICE_RESET 0x04000000 -#define I2O_EVENT_IND_EVENT_MASK_MODIFIED 0x02000000 -#define I2O_EVENT_IND_FIELD_MODIFIED 0x01000000 -#define I2O_EVENT_IND_VENDOR_EVENT 0x00800000 -#define I2O_EVENT_IND_DEVICE_STATE 0x00400000 - -/* Event Data for generic Events */ - -#define I2O_EVENT_STATE_CHANGE_NORMAL 0x00 -#define I2O_EVENT_STATE_CHANGE_SUSPENDED 0x01 -#define I2O_EVENT_STATE_CHANGE_RESTART 0x02 -#define I2O_EVENT_STATE_CHANGE_NA_RECOVER 0x03 -#define I2O_EVENT_STATE_CHANGE_NA_NO_RECOVER 0x04 -#define I2O_EVENT_STATE_CHANGE_QUIESCE_REQUEST 0x05 -#define I2O_EVENT_STATE_CHANGE_FAILED 0x10 -#define I2O_EVENT_STATE_CHANGE_FAULTED 0x11 - -#define I2O_EVENT_GEN_WARNING_NORMAL 0x00 -#define I2O_EVENT_GEN_WARNING_ERROR_THRESHOLD 0x01 -#define I2O_EVENT_GEN_WARNING_MEDIA_FAULT 0x02 - -#define I2O_EVENT_CAPABILITY_OTHER 0x01 -#define I2O_EVENT_CAPABILITY_CHANGED 0x02 - -#define I2O_EVENT_SENSOR_STATE_CHANGED 0x01 - - -/* UtilEventRegister Function Message Frame structure */ - -typedef struct _I2O_UTIL_EVENT_REGISTER_MESSAGE { - I2O_MESSAGE_FRAME StdMessageFrame; - I2O_TRANSACTION_CONTEXT TransactionContext; - U32 EventMask; -} I2O_UTIL_EVENT_REGISTER_MESSAGE, *PI2O_UTIL_EVENT_REGISTER_MESSAGE; - -/* UtilEventRegister Reply structure */ - -typedef struct _I2O_UTIL_EVENT_REGISTER_REPLY { - I2O_MESSAGE_FRAME StdMessageFrame; - I2O_TRANSACTION_CONTEXT TransactionContext; - U32 EventIndicator; - U32 EventData[1]; -} I2O_UTIL_EVENT_REGISTER_REPLY, *PI2O_UTIL_EVENT_REGISTER_REPLY; - - -/****************************************************************************/ - -/* UtilLock Function Message Frame structure. */ - -typedef struct _I2O_UTIL_LOCK_MESSAGE { - I2O_MESSAGE_FRAME StdMessageFrame; - I2O_TRANSACTION_CONTEXT TransactionContext; -} I2O_UTIL_LOCK_MESSAGE, *PI2O_UTIL_LOCK_MESSAGE; - -/****************************************************************************/ - -/* UtilLockRelease Function Message Frame structure. */ - -typedef struct _I2O_UTIL_LOCK_RELEASE_MESSAGE { - I2O_MESSAGE_FRAME StdMessageFrame; - I2O_TRANSACTION_CONTEXT TransactionContext; -} I2O_UTIL_LOCK_RELEASE_MESSAGE, *PI2O_UTIL_LOCK_RELEASE_MESSAGE; - - -/****************************************************************************/ - -/* UtilNOP Function Message Frame structure. */ - -typedef struct _I2O_UTIL_NOP_MESSAGE { - I2O_MESSAGE_FRAME StdMessageFrame; -} I2O_UTIL_NOP_MESSAGE, *PI2O_UTIL_NOP_MESSAGE; - - -/****************************************************************************/ - -/* UtilParamsGet Message Frame structure. */ - -typedef struct _I2O_UTIL_PARAMS_GET_MESSAGE { - I2O_MESSAGE_FRAME StdMessageFrame; - I2O_TRANSACTION_CONTEXT TransactionContext; - U32 OperationFlags; - I2O_SG_ELEMENT SGL; -} I2O_UTIL_PARAMS_GET_MESSAGE, *PI2O_UTIL_PARAMS_GET_MESSAGE; - - -/****************************************************************************/ - -/* UtilParamsSet Message Frame structure. */ - -typedef struct _I2O_UTIL_PARAMS_SET_MESSAGE { - I2O_MESSAGE_FRAME StdMessageFrame; - I2O_TRANSACTION_CONTEXT TransactionContext; - U32 OperationFlags; - I2O_SG_ELEMENT SGL; -} I2O_UTIL_PARAMS_SET_MESSAGE, *PI2O_UTIL_PARAMS_SET_MESSAGE; - - -/****************************************************************************/ - -/* UtilReplyFaultNotify Message for Message Failure. */ - -typedef struct _I2O_UTIL_REPLY_FAULT_NOTIFY_MESSAGE { - I2O_MESSAGE_FRAME StdMessageFrame; - I2O_TRANSACTION_CONTEXT TransactionContext; - U8 LowestVersion; - U8 HighestVersion; - BF Severity:I2O_FAILCODE_SEVERITY_SZ; - BF FailureCode:I2O_FAILCODE_CODE_SZ; - BF FailingIOP_ID:I2O_IOP_ID_SZ; - BF reserved:I2O_RESERVED_4BITS; - BF FailingHostUnitID:I2O_UNIT_ID_SZ; - U32 AgeLimit; -#if I2O_64BIT_CONTEXT - PI2O_MESSAGE_FRAME OriginalMFA; -#else - PI2O_MESSAGE_FRAME OriginalMFALowPart; - U32 OriginalMFAHighPart; /* Always 0000 */ -#endif -} I2O_UTIL_REPLY_FAULT_NOTIFY_MESSAGE, *PI2O_UTIL_REPLY_FAULT_NOTIFY_MESSAGE; - - -/****************************************************************************/ - -/* Device Reserve Function Message Frame structure. */ -/* NOTE: This was previously called the Reserve Message */ - -typedef struct _I2O_UTIL_DEVICE_RESERVE_MESSAGE { - I2O_MESSAGE_FRAME StdMessageFrame; - I2O_TRANSACTION_CONTEXT TransactionContext; -} I2O_UTIL_DEVICE_RESERVE_MESSAGE, *PI2O_UTIL_DEVICE_RESERVE_MESSAGE; - - -/****************************************************************************/ - -/* Device Release Function Message Frame structure. */ -/* NOTE: This was previously called the ReserveRelease Message */ - -typedef struct _I2O_UTIL_DEVICE_RELEASE_MESSAGE { - I2O_MESSAGE_FRAME StdMessageFrame; - I2O_TRANSACTION_CONTEXT TransactionContext; -} I2O_UTIL_DEVICE_RELEASE_MESSAGE, *PI2O_UTIL_DEVICE_RELEASE_MESSAGE; - - -/****************************************************************************/ - -PRAGMA_PACK_POP -PRAGMA_ALIGN_POP - -#endif /* I2O_UTILITY_HDR */ Property changes on: head/sys/dev/asr/i2outil.h ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: head/sys/dev/asr/dptalign.h =================================================================== --- head/sys/dev/asr/dptalign.h (revision 276525) +++ head/sys/dev/asr/dptalign.h (nonexistent) @@ -1,385 +0,0 @@ -/*- - * Copyright (c) 1996-1999 Distributed Processing Technology Corporation - * All rights reserved. - * - * Redistribution and use in source form, with or without modification, are - * permitted provided that redistributions of source code must retain the - * above copyright notice, this list of conditions and the following disclaimer. - * - * This software is provided `as is' by Distributed Processing Technology and - * any express or implied warranties, including, but not limited to, the - * implied warranties of merchantability and fitness for a particular purpose, - * are disclaimed. In no event shall Distributed Processing Technology be - * liable for any direct, indirect, incidental, special, exemplary or - * consequential damages (including, but not limited to, procurement of - * substitute goods or services; loss of use, data, or profits; or business - * interruptions) however caused and on any theory of liability, whether in - * contract, strict liability, or tort (including negligence or otherwise) - * arising in any way out of the use of x driver software, even if advised - * of the possibility of such damage. - * - * DPT Alignment Description File - * - * $FreeBSD$ - */ -#if (!defined(__DPTALIGN_H)) -#define __DPTALIGN_H - -/* - * File - DPTALIGN.H - * - * Description: This file contains basic Alignment support definitions. - * - * Copyright Distributed Processing Technology, Corp. - * 140 Candace Dr. - * Maitland, Fl. 32751 USA - * Phone: (407) 830-5522 Fax: (407) 260-5366 - * All Rights Reserved - * - * Author: Mark Salyzyn - * Date: Aug 29 1996 - * - * - * Fifth Gen product enhancements and additions - * Author: Ben Ghofrani - * Date: April 6 1998 - */ - -/* - * Description: Support macros for active alignment - * Requires: - * osdLocal2(x) - * osdLocal4(x) - * osdSwap2(x) - * osdSwap4(x) - */ -#if (!defined(__FAR__)) -# if (defined(__BORLANDC__)) -# define __FAR__ far -# else -# define __FAR__ -# endif -#endif - - -#if (defined(sun)) && (!defined(_ILP32)) -# define DPT_4_BYTES int /* 64 bit OS */ -#else -# define DPT_4_BYTES long -#endif - -#if (!defined(osdSwap2)) -/* - * Name: osdSwap2(value) - * Description: Mandatory byte swapping routine for words. We allow an - * override of x routine if the OS supplies it's own byte swapping - * routine, inline or macro. - */ -# define osdSwap2(x) (((unsigned short)(x) >> 8) \ - | ((unsigned short)((unsigned char)(x)) << 8)) -#endif -#if (!defined(osdSwap4)) -/* - * Name: osdSwap4(value) - * Description: Mandatory byte swapping routine for DPT_4_BYTES words. We allow - * an override of x routine if the OS supplies it's own byte swapping - * routine, inline or macro. The following is universal, but may be - * more optimally performed by an OS or driver processor dependant - * routine. - */ -# define osdSwap4(x) ( \ - (((unsigned DPT_4_BYTES)(x)) >> 24L) \ - | ((unsigned DPT_4_BYTES)(((unsigned short)((unsigned DPT_4_BYTES)(x) >> 8L)) & 0xFF00)) \ - | (((unsigned DPT_4_BYTES)(((unsigned short)(x)) & 0xFF00)) << 8L) \ - | (((unsigned DPT_4_BYTES)((unsigned char)(x))) << 24L)) -#endif - - - -#if (!defined(osdLocal2)) -/* - * Name: osdLocal2(pointer) - * Description: Local byte order to Big Endian Format for short words. - * Could be replaced with an OS defined localization routine, macro or - * inline. - */ -# if (defined(_DPT_BIG_ENDIAN)) -# define osdLocal2(x) (*((unsigned short __FAR__ *)(x))) -# if (defined(osdSwap2)) -# define osdSLocal2(x) osdSwap2(osdLocal2(x)) -# else -# define osdSLocal2(x) ((unsigned short)(((unsigned char __FAR__ *)(x))[1])\ - + ((unsigned int)((unsigned short)(((unsigned char __FAR__ *)(x))[0])) << 8)) -# endif -# else -# define osdSLocal2(x) (*((unsigned short __FAR__ *)(x))) -# if (defined(osdSwap2)) -# define osdLocal2(x) osdSwap2(osdSLocal2(x)) -# else -# define osdLocal2(x) ((unsigned short)(((unsigned char __FAR__*)(x))[1]) \ - + (((unsigned short)(((unsigned char __FAR__*)(x))[0])) << 8)) -# endif -# endif -#endif -#if (!defined(osdLocal3)) -/* - * Name: osdLocal3(pointer) - * Description: Local byte order to Big Endian Format for DPT_4_BYTES words. - * Could be replaced with an OS defined localization routine, macro or - * inline. - */ -# if (defined(_DPT_BIG_ENDIAN)) -# define osdLocal3(x) (*((unsigned DPT_4_BYTES __FAR__ *)(x))) -# else -# if (defined(osdSwap3)) -# define osdLocal3(x) osdSwap3(*((unsigned DPT_4_BYTES __FAR__ *)(x))) -# else -# define osdLocal3(x) ((unsigned DPT_4_BYTES)osdLocal2(((unsigned char __FAR__ *) \ - (x)+1)) + (((unsigned DPT_4_BYTES)(((unsigned char __FAR__ *)(x))[0])) << 16)) -# endif -# endif -#endif - - - -#if (!defined(osdLocal4)) -/* - * Name: osdLocal4(pointer) - * Description: Local byte order to Big Endian Format for DPT_4_BYTES words. - * Could be replaced with an OS defined localization routine, macro or - * inline. - */ -# if (defined(_DPT_BIG_ENDIAN)) -# define osdLocal4(x) (*(unsigned DPT_4_BYTES __FAR__ *)(x)) -# if (defined(osdSwap4)) -# define osdSLocal4(x) osdSwap4(osdLocal4(x)) -# else -# define osdSLocal4(x) ((unsigned DPT_4_BYTES)osdSLocal2(((unsigned char __FAR__ *)\ - (x)+2)) + (((unsigned DPT_4_BYTES)((unsigned char __FAR__ *)(x))[1]) << 16) \ - + (((unsigned DPT_4_BYTES)((unsigned char __FAR__ *)(x))[0]) << 24)) -# endif -# else -# define osdSLocal4(x) (*(unsigned DPT_4_BYTES __FAR__ *)(x)) -# if (defined(osdSwap4)) -# define osdLocal4(x) osdSwap4(osdSLocal4(x)) -# else -# define osdLocal4(x) ((unsigned DPT_4_BYTES)osdLocal2(((unsigned char __FAR__ *) \ - (x)+2)) + (((unsigned DPT_4_BYTES)((unsigned char __FAR__ *)(x))[1]) << 16) \ - + (((unsigned DPT_4_BYTES)((unsigned char __FAR__ *)(x))[0]) << 24)) -# endif -# endif -#endif - -#define I2O_TID_MASK ((unsigned DPT_4_BYTES) ((1L<> 16L); \ - *((unsigned short __FAR__ *)(getUP1(x,y) + 1)) \ - = (unsigned short)hold; \ - } -# else -# define setU3(x,y,z) \ - { unsigned DPT_4_BYTES hold = z; \ - *(getUP1(x,y) + 0) = (unsigned char)(hold >> 16) ; \ - *(getUP1(x,y) + 1) = (unsigned char)(hold >> 8L); \ - *(getUP1(x,y) + 2) = (unsigned char)(hold); \ - } -# endif -#endif -/* up to here to be deleted */ - -#define getBU3(x,y) ((unsigned DPT_4_BYTES)osdLocal3((unsigned DPT_4_BYTES __FAR__ *) \ - getUP1(x,y))) -#if (!defined(setBU3)) -# if (defined(_DPT_BIG_ENDIAN)) -# define setBU3(x,y,z) \ - { unsigned DPT_4_BYTES hold = z; \ - *(getUP1(x,y)) = (unsigned char)(hold >> 16L); \ - *((unsigned short __FAR__ *)(getUP1(x,y) + 1)) \ - = (unsigned short)hold; \ - } -# else -# define setBU3(x,y,z) \ - { unsigned DPT_4_BYTES hold = z; \ - *(getUP1(x,y) + 0) = (unsigned char)(hold >> 16) ; \ - *(getUP1(x,y) + 1) = (unsigned char)(hold >> 8L); \ - *(getUP1(x,y) + 2) = (unsigned char)(hold); \ - } -# endif -#endif -#define getUP4(x,y) ((unsigned DPT_4_BYTES __FAR__ *)(((unsigned char __FAR__ *) \ - (x))+(unsigned DPT_4_BYTES)(y))) -#define getBU4(x,y) ((unsigned DPT_4_BYTES)osdLocal4((unsigned DPT_4_BYTES __FAR__ *) \ - getUP1(x,y))) -#define getLU4(x,y) ((unsigned DPT_4_BYTES)osdSLocal4((unsigned DPT_4_BYTES __FAR__ *) \ - getUP1(x,y))) -/* to be deleted */ -#define getU4(x,y) ((unsigned DPT_4_BYTES)osdSLocal4((unsigned DPT_4_BYTES __FAR__ *) \ - getUP1(x,y))) -#if (!defined(setU4)) -# define setU4(x,y,z) { unsigned DPT_4_BYTES hold = z; \ - *((unsigned DPT_4_BYTES __FAR__ *)getUP1(x,y)) \ - = osdLocal4(&hold); \ - } -#endif -/* up to here */ -#if (!defined(setBU4)) -# define setBU4(x,y,z) { unsigned DPT_4_BYTES hold = z; \ - *((unsigned DPT_4_BYTES __FAR__ *)getUP1(x,y)) \ - = osdLocal4(&hold); \ - } -#endif -#if (!defined(setLU4)) -# define setLU4(x,y,z) { unsigned DPT_4_BYTES hold = z; \ - *((unsigned DPT_4_BYTES __FAR__ *)getUP1(x,y)) \ - = osdSLocal4(&hold); \ - } -#endif - - -#define osdSwap16bit(x) ( (((unsigned short )x & 0xf000) >> 12) | \ - (((unsigned short )x & 0x0f00) >> 4) | \ - (((unsigned short )x & 0x00f0) << 4) | \ - (((unsigned short )x & 0x000f) << 12 ) ) - -/* - * note that in big endian a 12 bit number (0x123) is stored as 1203 - */ - -#define osdSwap12bit(x) (( (((unsigned short )x & 0x0f00) >> 8) | \ - ((unsigned short )x & 0x00f0) | \ - (((unsigned short )x & 0x000f) << 8 ) ) ) - -#define osdSwap8bit(x) ( (((unsigned char )x & 0x0f) << 4) | \ - (((unsigned char )x &0xf0) >> 4 ) ) - -#define getL24bit1(w,x,y) ((unsigned DPT_4_BYTES)((unsigned char __FAR__ *)(&w->x))[0+(y)] \ - + ((((unsigned DPT_4_BYTES)((unsigned char __FAR__ *)(&w->x))[1+(y)]) << 8) & 0xFF00) \ - + ((((unsigned DPT_4_BYTES)((unsigned char __FAR__ *)(&w->x))[2+(y)]) << 16) & 0xFF0000)) - -#define setL24bit1(w,x,y,z) { ((unsigned char __FAR__ *)(&w->x))[0+(y)] = (z); \ - ((unsigned char __FAR__ *)(&w->x))[1+(y)] = ((z) >> 8) & 0xFF; \ - ((unsigned char __FAR__ *)(&w->x))[2+(y)] = ((z) >> 16) & 0xFF; \ - } - -#define getL16bit(w,x,y) ((unsigned short)((unsigned char __FAR__ *)(&w->x))[0+(y)] \ - + ((((unsigned short)((unsigned char __FAR__ *)(&w->x))[1+(y)]) << 8) & 0xFF00)) - -#define setL16bit(w,x,y,z) { ((unsigned char __FAR__ *)(&w->x))[0+(y)] = (z); \ - ((unsigned char __FAR__ *)(&w->x))[1+(y)] = ((z) >> 8) & 0xFF; \ - } - -#define getL16bit2(w,x,y) ((unsigned short)((unsigned char __FAR__ *)(&w->x))[2+(y)] \ - + ((((unsigned short)((unsigned char __FAR__ *)(&w->x))[3+(y)]) << 8) & 0xFF00)) - -#define setL16bit2(w,x,y,z) { ((unsigned char __FAR__ *)(&w->x))[2+(y)] = (z); \ - ((unsigned char __FAR__ *)(&w->x))[3+(y)] = ((z) >> 8) & 0xFF; \ - } - -/* y is the number of bytes from beg of DPT_4_BYTES to get upper 4 bit of the addressed byte */ -#define getL4bit(w,x,y) \ - ((unsigned char)(((unsigned char __FAR__ *)(&w->x))[0+(y)] >> 4) & 0x0f) - -#define setL4bit(w,x,y,z) { \ - ((unsigned char __FAR__ *)(&w->x))[0+(y)] &= 0xF0; \ - ((unsigned char __FAR__ *)(&w->x))[0+(y)] |= ((z) << 4) & 0xF0; \ - } -/* y is number of bytes from beg of DPT_4_BYTES */ -#define getL1bit(w,x,y) \ - ((unsigned char)(((unsigned char __FAR__ *)(&w->x))[0+(y)] ) & 0x01) - -#define setL1bit(w,x,y,z) { \ - ((unsigned char __FAR__ *)(&w->x))[0+(y)] &= 0xFE; \ - ((unsigned char __FAR__ *)(&w->x))[0+(y)] |= (z) & 0x01; \ - } -#define getL1bit1(w,x,y) \ - ((unsigned char)(((unsigned char __FAR__ *)(&w->x))[0+(y)] >> 1) & 0x01) - -#define setL1bit1(w,x,y,z) { \ - ((unsigned char __FAR__ *)(&w->x))[0+(y)] &= 0xFD; \ - ((unsigned char __FAR__ *)(&w->x))[0+(y)] |= (z << 1) & 0x02; \ - } - - - -/* 12 bit at the first 12 bits of a DPT_4_BYTES word */ -#define getL12bit(w,x,y) ((unsigned short)((unsigned char __FAR__ *)(&w->x))[0+(y)] \ - + ((((unsigned short)((unsigned char __FAR__ *)(&w->x))[1+(y)]) << 8) & 0xF00)) - -#define setL12bit(w,x,y,z) { ((unsigned char __FAR__ *)(&w->x))[0+(y)] = (z); \ - ((unsigned char __FAR__ *)(&w->x))[1+(y)] &= 0xF0; \ - ((unsigned char __FAR__ *)(&w->x))[1+(y)] |= ((z) >> 8) & 0xF; \ - } -/* 12 bit after another 12 bit in DPT_4_BYTES word */ -#define getL12bit1(w,x,y) (((unsigned short)((unsigned char __FAR__ *)(&w->x))[1+(y)]) >> 4 \ - + ((((unsigned short)((unsigned char __FAR__ *)(&w->x))[2+(y)]) << 4) )) - -#define setL12bit1(w,x,y,z) { ((unsigned char __FAR__ *)(&w->x))[1+(y)] &= 0x0F; \ - ((unsigned char __FAR__ *)(&w->x))[1+(y)] |= ((z) & 0xF) << 4; \ - ((unsigned char __FAR__ *)(&w->x))[2+(y)] &= 0x00;\ - ((unsigned char __FAR__ *)(&w->x))[2+(y)] |= ((z) >> 8) & 0xff;\ - } - -/* 12 at the 3rd byte in a DPT_4_BYTES word */ -#define getL12bit2(w,x,y) ((unsigned short)((unsigned char __FAR__ *)(&w->x))[2+(y)] \ - + ((((unsigned short)((unsigned char __FAR__ *)(&w->x))[3+(y)]) << 8) & 0xF00)) - -#define setL12bit2(w,x,y,z) { ((unsigned char __FAR__ *)(&w->x))[2+(y)] = (z); \ - ((unsigned char __FAR__ *)(&w->x))[3+(y)] &= 0xF0; \ - ((unsigned char __FAR__ *)(&w->x))[3+(y)] |= ((z) >> 8) & 0xF; \ - } - -#define getL8bit(w,x,y) (\ - (*(((unsigned char __FAR__ *)(&((w)->x)))\ - + y)) ) - -#define setL8bit(w,x,y,z) {\ - (*(((unsigned char __FAR__ *)(&((w)->x)))\ - + y) = (z));\ - } - - -#endif /* __DPTALIGN_H */ Property changes on: head/sys/dev/asr/dptalign.h ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: head/sys/dev/asr/i2oadptr.h =================================================================== --- head/sys/dev/asr/i2oadptr.h (revision 276525) +++ head/sys/dev/asr/i2oadptr.h (nonexistent) @@ -1,405 +0,0 @@ -/*- - **************************************************************** - * Copyright (c) 1996-2000 Distributed Processing Technology Corporation - * Copyright (c) 2000 Adaptec Corproation. - * All rights reserved. - * - * Copyright 1999 I2O Special Interest Group (I2O SIG). All rights reserved. - * All rights reserved - * - * TERMS AND CONDITIONS OF USE - * - * Redistribution and use in source form, with or without modification, are - * permitted provided that redistributions of source code must retain the - * above copyright notice, this list of conditions and the following disclaimer. - * - * This software is provided `as is' by Distributed Processing Technology and - * any express or implied warranties, including, but not limited to, the - * implied warranties of merchantability and fitness for a particular purpose, - * are disclaimed. In no event shall Distributed Processing Technology be - * liable for any direct, indirect, incidental, special, exemplary or - * consequential damages (including, but not limited to, procurement of - * substitute goods or services; loss of use, data, or profits; or business - * interruptions) however caused and on any theory of liability, whether in - * contract, strict liability, or tort (including negligence or otherwise) - * arising in any way out of the use of this driver software, even if advised - * of the possibility of such damage. - * - * This header file, and any modifications of this header file, are provided - * contingent upon your agreement and adherence to the here-listed terms and - * conditions. By accepting and/or using this header file, you agree to abide - * by these terms and conditions and that these terms and conditions will be - * construed and governed in accordance with the laws of the State of California, - * without reference to conflict-of-law provisions. If you do not agree - * to these terms and conditions, please delete this file, and any copies, - * permanently, without making any use thereof. - * - * THIS HEADER FILE IS PROVIDED FREE OF CHARGE ON AN AS-IS BASIS WITHOUT - * WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED - * TO IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE. I2O SIG DOES NOT WARRANT THAT THIS HEADER FILE WILL MEET THE - * USER'S REQUIREMENTS OR THAT ITS OPERATION WILL BE UNINTERRUPTED OR - * ERROR-FREE. - * - * I2O SIG DISCLAIMS ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF - * ANY PROPRIETARY RIGHTS, RELATING TO THE IMPLEMENTATION OF THE I2O - * SPECIFICATIONS. I2O SIG DOES NOT WARRANT OR REPRESENT THAT SUCH - * IMPLEMENTATIONS WILL NOT INFRINGE SUCH RIGHTS. - * - * THE USER OF THIS HEADER FILE SHALL HAVE NO RECOURSE TO I2O SIG FOR ANY - * ACTUAL OR CONSEQUENTIAL DAMAGES INCLUDING, BUT NOT LIMITED TO, LOST DATA - * OR LOST PROFITS ARISING OUT OF THE USE OR INABILITY TO USE THIS PROGRAM. - * - * I2O SIG grants the user of this header file a license to copy, distribute, - * and modify it, for any purpose, under the following terms. Any copying, - * distribution, or modification of this header file must not delete or alter - * the copyright notice of I2O SIG or any of these Terms and Conditions. - * - * Any distribution of this header file must not include a charge for the - * header file (unless such charges are strictly for the physical acts of - * copying or transferring copies). However, distribution of a product in - * which this header file is embedded may include a charge so long as any - * such charge does not include any charge for the header file itself. - * - * Any modification of this header file constitutes a derivative work based - * on this header file. Any distribution of such derivative work: (1) must - * include prominent notices that the header file has been changed from the - * original, together with the dates of any changes; (2) automatically includes - * this same license to the original header file from I2O SIG, without any - * restriction thereon from the distributing user; and (3) must include a - * grant of license of the modified file under the same terms and conditions - * as these Terms and Conditions. - * - * The I2O SIG Web site can be found at: http://www.i2osig.org - * - * The I2O SIG encourages you to deposit derivative works based on this - * header file at the I2O SIG Web site. Furthermore, to become a Registered - * Developer of the I2O SIG, sign up at the Web site or call 415.750.8352 - * (United States). - * - * $FreeBSD$ - * - ****************************************************************/ - -#if !defined(I2O_ADPTR_HDR) -#define I2O_ADPTR_HDR - -#if ((defined(KERNEL) || defined(_KERNEL)) && defined(__FreeBSD__)) -# if (KERN_VERSION < 3) -# include "i386/pci/i2omsg.h" -# else -# include "dev/asr/i2omsg.h" -# endif -#else -# include "i2omsg.h" /* Include the Base Message file */ -#endif - - -#define I2OADPTR_REV 1_5_1 /* Header file revision string */ - - -/***************************************************************************** - * - * i2oadptr.h -- I2O Adapter Class Message defintion file - * - * - * Revision History: - * - * 1.5.d 03/06/97 - First definition for spec. draft version 1.5d. - * 1.5.1 05/02/97 - Corrections from review cycle: - * 1) Remove "SCSI" from function definition comment. - * 2) Add revision string. - * 3) Convert tabs to spaces. - * 4) New disclaimer. - * - * - * - *****************************************************************************/ - -/* - NOTES: - - Gets, reads, receives, etc. are all even numbered functions. - Sets, writes, sends, etc. are all odd numbered functions. - Functions that both send and receive data can be either but an attempt is made - to use the function number that indicates the greater transfer amount. - Functions that do not send or receive data use odd function numbers. - - Some functions are synonyms like read, receive and send, write. - - All common functions will have a code of less than 0x80. - Unique functions to a class will start at 0x80. - Executive Functions start at 0xA0. - - Utility Message function codes range from 0 - 0x1f - Base Message function codes range from 0x20 - 0xfe - Private Message function code is 0xff. -*/ - - -PRAGMA_ALIGN_PUSH - -PRAGMA_PACK_PUSH - -/* - Bus Adapter Class specific functions -*/ - -#define I2O_HBA_ADAPTER_RESET 0x85 -#define I2O_HBA_BUS_QUIESCE 0x8b -#define I2O_HBA_BUS_RESET 0x87 -#define I2O_HBA_BUS_SCAN 0x89 - - -/* - Detailed Status Codes for HBA operations - - Note: - The 16-bit Detailed Status Code field for HBA operations is divided - into two separate 8-bit fields. The lower 8 bits are reserved. The - upper 8 bits are used to report Adapter Status information. The - definitions for these two fields, however, will be consistent with - the standard reply message frame structure declaration, which treats - this as a single 16-bit field. In addition, the values used will be - consistent with the Adapter Status codes defined for the SCSI - Peripheral class. Theses codes are based on CAM-1. In other words, - these definitions are a subset of the SCSI peripheral class codes. - Where applicable, "SCSI" has been removed from the definition. -*/ - - -#define I2O_HBA_DSC_MASK 0xFF00 - -#define I2O_HBA_DSC_SUCCESS 0x0000 -#define I2O_HBA_DSC_ADAPTER_BUSY 0x0500 -#define I2O_HBA_DSC_COMMAND_TIMEOUT 0x0B00 -#define I2O_HBA_DSC_COMPLETE_WITH_ERROR 0x0400 -#define I2O_HBA_DSC_FUNCTION_UNAVAILABLE 0x3A00 -#define I2O_HBA_DSC_NO_ADAPTER 0x1100 -#define I2O_HBA_DSC_PARITY_ERROR_FAILURE 0x0F00 -#define I2O_HBA_DSC_PATH_INVALID 0x0700 -#define I2O_HBA_DSC_PROVIDE_FAILURE 0x1600 -#define I2O_HBA_DSC_QUEUE_FROZEN 0x4000 -#define I2O_HBA_DSC_REQUEST_ABORTED 0x0200 -#define I2O_HBA_DSC_REQUEST_INVALID 0x0600 -#define I2O_HBA_DSC_REQUEST_LENGTH_ERROR 0x1500 -#define I2O_HBA_DSC_REQUEST_TERMINATED 0x1800 -#define I2O_HBA_DSC_RESOURCE_UNAVAILABLE 0x3400 -#define I2O_HBA_DSC_BUS_BUSY 0x3F00 -#define I2O_HBA_DSC_BUS_RESET 0x0E00 -#define I2O_HBA_DSC_ID_INVALID 0x3900 -#define I2O_HBA_DSC_SEQUENCE_FAILURE 0x1400 -#define I2O_HBA_DSC_UNABLE_TO_ABORT 0x0300 -#define I2O_HBA_DSC_UNABLE_TO_TERMINATE 0x0900 -#define I2O_HBA_DSC_UNACKNOWLEDGED_EVENT 0x3500 -#define I2O_HBA_DSC_UNEXPECTED_BUS_FREE 0x1300 - - - -/****************************************************************************/ - -/* Bus Adapter Parameter Groups */ - -/****************************************************************************/ - - -#define I2O_HBA_CONTROLLER_INFO_GROUP_NO 0x0000 -#define I2O_HBA_HISTORICAL_STATS_GROUP_NO 0x0100 -#define I2O_HBA_SCSI_CONTROLLER_INFO_GROUP_NO 0x0200 -#define I2O_HBA_SCSI_BUS_PORT_INFO_GROUP_NO 0x0201 -#define I2O_HBA_FCA_CONTROLLER_INFO_GROUP_NO 0x0300 -#define I2O_HBA_FCA_PORT_INFO_GROUP_NO 0x0301 - - -/* - 0000h - HBA Controller Information Parameter Group */ - -/* Bus Type */ - -#define I2O_HBA_BUS_TYPE_GENERIC 0x00 -#define I2O_HBA_BUS_TYPE_SCSI 0x01 -#define I2O_HBA_BUS_TYPE_FCA 0x10 - - -typedef struct _I2O_HBA_CONTROLLER_INFO_SCALAR { - U8 BusType; - U8 BusState; - U16 Reserved2; - U8 BusName[12]; -} I2O_HBA_CONTROLLER_INFO_SCALAR, *PI2O_HBA_CONTROLLER_INFO_SCALAR; - - -/* - 0100h - HBA Historical Stats Parameter Group */ - -typedef struct _I2O_HBA_HIST_STATS_SCALAR { - U32 TimeLastPoweredUp; - U32 TimeLastReset; -} I2O_HBA_HIST_STATS_SCALAR, *PI2O_HBA_HIST_STATS_SCALAR; - - -/* - 0200h - HBA SCSI Controller Information Parameter Group */ - -/* SCSI Type */ - -#define I2O_SCSI_TYPE_UNKNOWN 0x00 -#define I2O_SCSI_TYPE_SCSI_1 0x01 -#define I2O_SCSI_TYPE_SCSI_2 0x02 -#define I2O_SCSI_TYPE_SCSI_3 0x03 - -/* Protection Management */ - -#define I2O_SCSI_PORT_PROT_OTHER 0x00 -#define I2O_SCSI_PORT_PROT_UNKNOWN 0x01 -#define I2O_SCSI_PORT_PROT_UNPROTECTED 0x02 -#define I2O_SCSI_PORT_PROT_PROTECTED 0x03 -#define I2O_SCSI_PORT_PROT_SCC 0x04 - -/* Settings */ - -#define I2O_SCSI_PORT_PARITY_FLAG 0x01 -#define I2O_SCSI_PORT_PARITY_DISABLED 0x00 -#define I2O_SCSI_PORT_PARITY_ENABLED 0x01 - -#define I2O_SCSI_PORT_SCAN_ORDER_FLAG 0x02 -#define I2O_SCSI_PORT_SCAN_LOW_TO_HIGH 0x00 -#define I2O_SCSI_PORT_SCAN_HIGH_TO_LOW 0x02 - -#define I2O_SCSI_PORT_IID_FLAG 0x04 -#define I2O_SCSI_PORT_IID_DEFAULT 0x00 -#define I2O_SCSI_PORT_IID_SPECIFIED 0x04 - -#define I2O_SCSI_PORT_SCAM_FLAG 0x08 -#define I2O_SCSI_PORT_SCAM_DISABLED 0x00 -#define I2O_SCSI_PORT_SCAM_ENABLED 0x08 - -#define I2O_SCSI_PORT_TYPE_FLAG 0x80 -#define I2O_SCSI_PORT_TYPE_PARALLEL 0x00 -#define I2O_SCSI_PORT_TYPE_SERIAL 0x80 - -typedef struct _I2O_HBA_SCSI_CONTROLLER_INFO_SCALAR { - U8 SCSIType; - U8 ProtectionManagement; - U8 Settings; - U8 Reserved1; - U32 InitiatorID; - U64 ScanLun0Only; - U16 DisableDevice; - U8 MaxOffset; - U8 MaxDataWidth; - U64 MaxSyncRate; -} I2O_HBA_SCSI_CONTROLLER_INFO_SCALAR, *PI2O_HBA_SCSI_CONTROLLER_INFO_SCALAR; - - -/* - 0201h - HBA SCSI Bus Port Information Parameter Group */ - -/* NOTE: Refer to the SCSI Peripheral Class Bus Port Information Parameter - Group field definitions for HBA SCSI Bus Port field definitions. - */ - -typedef struct _I2O_HBA_SCSI_BUS_PORT_INFO_SCALAR { - U8 PhysicalInterface; - U8 ElectricalInterface; - U8 Isochronous; - U8 ConnectorType; - U8 ConnectorGender; - U8 Reserved1; - U16 Reserved2; - U32 MaxNumberDevices; - U32 DeviceIdBegin; - U32 DeviceIdEnd; - U8 LunBegin[8]; - U8 LunEnd[8]; -} I2O_HBA_SCSI_BUS_PORT_INFO_SCALAR, *PI2O_HBA_SCSI_BUS_PORT_INFO_SCALAR; - - -/* - 0300h - HBA FCA Controller Information Parameters Group defines */ - -/* SCSI Type */ - -#define I2O_FCA_TYPE_UNKNOWN 0x00 -#define I2O_FCA_TYPE_FCAL 0x01 - -typedef struct _I2O_HBA_FCA_CONTROLLER_INFO_SCALAR { - U8 FcaType; - U8 Reserved1; - U16 Reserved2; -} I2O_HBA_FCA_CONTROLLER_INFO_SCALAR, *PI2O_HBA_FCA_CONTROLLER_INFO_SCALAR; - - -/* - 0301h - HBA FCA Port Information Parameters Group defines */ - -typedef struct _I2O_HBA_FCA_PORT_INFO_SCALAR { - U32 Reserved4; -} I2O_HBA_FCA_PORT_INFO_SCALAR, *PI2O_HBA_FCA_PORT_INFO_SCALAR; - - -/****************************************************************************/ - -/* I2O Bus Adapter Class Specific Message Definitions */ - -/****************************************************************************/ - - -/****************************************************************************/ - -/* I2O Bus Adapter Class Reply Message Frame */ - -typedef struct _I2O_HBA_REPLY_MESSAGE_FRAME { - I2O_SINGLE_REPLY_MESSAGE_FRAME StdReplyFrame; -} I2O_HBA_REPLY_MESSAGE_FRAME, *PI2O_HBA_REPLY_MESSAGE_FRAME; - - -/****************************************************************************/ - -/* I2O HBA Adapter Reset Message Frame */ - -typedef struct _I2O_HBA_ADAPTER_RESET_MESSAGE { - I2O_MESSAGE_FRAME StdMessageFrame; - I2O_TRANSACTION_CONTEXT TransactionContext; -} I2O_HBA_ADAPTER_RESET_MESSAGE, *PI2O_HBA_ADAPTER_RESET_MESSAGE; - - -/****************************************************************************/ - -/* I2O HBA Bus Quiesce Message Frame */ - -typedef U32 I2O_HBQ_FLAGS; - -#define I2O_HBQ_FLAG_NORMAL 0x0000 -#define I2O_HBQ_FLAG_QUIESCE 0x0001 - -typedef struct _I2O_HBA_BUS_QUIESCE_MESSAGE { - I2O_MESSAGE_FRAME StdMessageFrame; - I2O_TRANSACTION_CONTEXT TransactionContext; - I2O_HBQ_FLAGS Flags; -} I2O_HBA_BUS_QUIESCE_MESSAGE, *PI2O_HBA_BUS_QUIESCE_MESSAGE; - - -/****************************************************************************/ - -/* I2O HBA Bus Reset Message Frame */ - -typedef struct _I2O_HBA_BUS_RESET_MESSAGE { - I2O_MESSAGE_FRAME StdMessageFrame; - I2O_TRANSACTION_CONTEXT TransactionContext; -} I2O_HBA_BUS_RESET_MESSAGE, *PI2O_HBA_BUS_RESET_MESSAGE; - - -/****************************************************************************/ - -/* I2O HBA Bus Scan Message Frame */ - -/* NOTE: SCSI-2 8-bit scalar LUN goes into offset 1 of Lun arrays */ - -typedef struct _I2O_HBA_BUS_SCAN_MESSAGE { - I2O_MESSAGE_FRAME StdMessageFrame; - I2O_TRANSACTION_CONTEXT TransactionContext; -} I2O_HBA_BUS_SCAN_MESSAGE, *PI2O_HBA_BUS_SCAN_MESSAGE; - - -PRAGMA_PACK_POP - -PRAGMA_ALIGN_POP - -#endif /* I2O_ADPTR_HDR */ - - Property changes on: head/sys/dev/asr/i2oadptr.h ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: head/sys/dev/asr/i2odpt.h =================================================================== --- head/sys/dev/asr/i2odpt.h (revision 276525) +++ head/sys/dev/asr/i2odpt.h (nonexistent) @@ -1,197 +0,0 @@ -/*- - ***************************************************************** - * Copyright (c) 1996-2000 Distributed Processing Technology Corporation - * Copyright (c) 2000 Adaptec Corporation. - * All rights reserved. - * - * $FreeBSD$ - * - ****************************************************************/ - -#if !defined(I2O_DPT_HDR) -#define I2O_DPT_HDR - -#define DPT_ORGANIZATION_ID 0x1B /* For Private Messages */ - -/* - * PrivateMessageFrame.StdMessageFrame.Function = I2O_PRIVATE_MESSAGE - * PrivateMessageFrame.XFunctionCode = I2O_SCSI_SCB_EXEC - */ - -typedef struct _PRIVATE_SCSI_SCB_EXECUTE_MESSAGE { - I2O_PRIVATE_MESSAGE_FRAME PrivateMessageFrame; -# if (defined(sparc) || defined(_DPT_BIG_ENDIAN)) - U32 TID; /* Upper four bits currently are zero */ -# else - BF TID:16; /* Upper four bits currently are zero */ - /* Command is interpreted by the host */ - BF Interpret:1; - /* if TRUE, deal with Physical Firmware Array information */ - BF Physical:1; - BF Reserved1:14; -# endif - U8 CDBLength; - U8 Reserved; - I2O_SCB_FLAGS SCBFlags; - U8 CDB[ I2O_SCSI_CDB_LENGTH ]; - U32 ByteCount; - I2O_SG_ELEMENT SGL; -} PRIVATE_SCSI_SCB_EXECUTE_MESSAGE, * PPRIVATE_SCSI_SCB_EXECUTE_MESSAGE; - -/* - * Flash access and programming messages - * PrivateMessageFrame.StdMessageFrame.Function = I2O_PRIVATE_MESSAGE - * PrivateMessageFrame.XFunctionCode = PRIVATE_FLAGS_REGION_* - * - * SIZE returns the total size of a region of flash - * READ copies a region (or portion thereof) into the buffer specified - * by the SGL - * WRITE writes a region (or portion thereof) using the data specified - * by the SGL - * - * Flash regions - * - * 0 operational-mode firmware - * 1 software (bios/utility) - * 2 oem nvram defaults - * 3 hba serial number - * 4 boot-mode firmware - * - * Any combination of RegionOffset and ByteCount can be specified providing - * they fit within the size of the specified region. - * - * Flash messages should be targeted to the Executive TID 0x000 - */ - -#define PRIVATE_FLASH_REGION_SIZE 0x0100 -#define PRIVATE_FLASH_REGION_READ 0x0101 -#define PRIVATE_FLASH_REGION_WRITE 0x0102 -#define PRIVATE_FLASH_REGION_CRC 0x0103 - -typedef struct _PRIVATE_FLASH_REGION_MESSAGE { - I2O_PRIVATE_MESSAGE_FRAME PrivateMessageFrame; - U32 FlashRegion; - U32 RegionOffset; - U32 ByteCount; - I2O_SG_ELEMENT SGL; -} PRIVATE_FLASH_REGION_MESSAGE, * PPRIVATE_FLASH_REGION_MESSAGE; - -/* DPT Driver Printf message */ - -#define PRIVATE_DRIVER_PRINTF 0x0200 - -/* FwPrintFlags */ -#define FW_FIRMWARE_FLAGS_NO_HEADER_B 0x00000001 /* Remove date header */ - -typedef struct _PRIVATE_DRIVER_PRINTF_MESSAGE { - - I2O_PRIVATE_MESSAGE_FRAME PrivateMessageFrame; - - /* total bytes in PrintBuffer, including header */ - U32 PrintBufferByteCount; - /* exact data to be copied into the serial PrintBuffer */ - U8 PrintBuffer[1]; - -} PRIVATE_DRIVER_PRINTF_MESSAGE, * PPRIVATE_DRIVER_PRINTF_MESSAGE; - -/* DPT Enable Diagnostics message 0x0201 */ - -#define PRIVATE_DIAG_ENABLE 0x0201 - -typedef struct _PRIVATE_DIAG_ENABLE_MESSAGE { - I2O_PRIVATE_MESSAGE_FRAME PrivateMessageFrame; -} PRIVATE_DIAG_MESSAGE_FRAME, * PPRIVATE_DIAG_MESSAGE_FRAME; - -/* DPT Driver Get/Put message */ - -#define PRIVATE_DRIVER_GET 0x300 -#define PRIVATE_DRIVER_PUT 0x301 - -typedef struct _PRIVATE_DRIVER_GETPUT_MESSAGE -{ - I2O_PRIVATE_MESSAGE_FRAME PrivateMessageFrame; - U32 Offset; - U32 ByteCount; - I2O_SG_ELEMENT SGL; -} PRIVATE_DRIVER_GETPUT_MESSAGE, * PPRIVATE_DRIVER_GETPUT_MESSAGE; - -/****************************************************************************/ - -/* DPT Peripheral Device Parameter Groups */ - -/****************************************************************************/ - -/* DPT Configuration and Operating Structures and Defines */ - -#define I2O_DPT_DEVICE_INFO_GROUP_NO 0x8000 - -/* - 8000h - DPT Device Information Parameters Group defines */ - -/* Device Type */ - -#define I2O_DPT_DEVICE_TYPE_DIRECT I2O_SCSI_DEVICE_TYPE_DIRECT -#define I2O_DPT_DEVICE_TYPE_SEQUENTIAL I2O_SCSI_DEVICE_TYPE_SEQUENTIAL -#define I2O_DPT_DEVICE_TYPE_PRINTER I2O_SCSI_DEVICE_TYPE_PRINTER -#define I2O_DPT_DEVICE_TYPE_PROCESSOR I2O_SCSI_DEVICE_TYPE_PROCESSOR -#define I2O_DPT_DEVICE_TYPE_WORM I2O_SCSI_DEVICE_TYPE_WORM -#define I2O_DPT_DEVICE_TYPE_CDROM I2O_SCSI_DEVICE_TYPE_CDROM -#define I2O_DPT_DEVICE_TYPE_SCANNER I2O_SCSI_DEVICE_TYPE_SCANNER -#define I2O_DPT_DEVICE_TYPE_OPTICAL I2O_SCSI_DEVICE_TYPE_OPTICAL -#define I2O_DPT_DEVICE_TYPE_MEDIA_CHANGER I2O_SCSI_DEVICE_TYPE_MEDIA_CHANGER -#define I2O_DPT_DEVICE_TYPE_COMM I2O_SCSI_DEVICE_TYPE_COMM -#define I2O_DPT_DEVICE_GRAPHICS_1 I2O_SCSI_DEVICE_GRAPHICS_1 -#define I2O_DPT_DEVICE_GRAPHICS_2 I2O_SCSI_DEVICE_GRAPHICS_2 -#define I2O_DPT_DEVICE_TYPE_ARRAY_CONT I2O_SCSI_DEVICE_TYPE_ARRAY_CONT -#define I2O_DPT_DEVICE_TYPE_UNKNOWN I2O_SCSI_DEVICE_TYPE_UNKNOWN - -/* Flags */ - -#define I2O_DPT_PERIPHERAL_TYPE_FLAG I2O_SCSI_PERIPHERAL_TYPE_FLAG -#define I2O_DPT_PERIPHERAL_TYPE_PARALLEL I2O_SCSI_PERIPHERAL_TYPE_PARALLEL -#define I2O_DPT_PERIPHERAL_TYPE_SERIAL I2O_SCSI_PERIPHERAL_TYPE_SERIAL - -#define I2O_DPT_RESERVED_FLAG I2O_SCSI_RESERVED_FLAG - -#define I2O_DPT_DISCONNECT_FLAG I2O_SCSI_DISCONNECT_FLAG -#define I2O_DPT_DISABLE_DISCONNECT I2O_SCSI_DISABLE_DISCONNECT -#define I2O_DPT_ENABLE_DISCONNECT I2O_SCSI_ENABLE_DISCONNECT - -#define I2O_DPT_MODE_MASK I2O_SCSI_MODE_MASK -#define I2O_DPT_MODE_SET_DATA I2O_SCSI_MODE_SET_DATA -#define I2O_DPT_MODE_SET_DEFAULT I2O_SCSI_MODE_SET_DEFAULT -#define I2O_DPT_MODE_SET_SAFEST I2O_SCSI_MODE_SET_SAFEST - -#define I2O_DPT_DATA_WIDTH_MASK I2O_SCSI_DATA_WIDTH_MASK -#define I2O_DPT_DATA_WIDTH_8 I2O_SCSI_DATA_WIDTH_8 -#define I2O_DPT_DATA_WIDTH_16 I2O_SCSI_DATA_WIDTH_16 -#define I2O_DPT_DATA_WIDTH_32 I2O_SCSI_DATA_WIDTH_32 - -#define I2O_DPT_SYNC_NEGOTIATION_FLAG I2O_SCSI_SYNC_NEGOTIATION_FLAG -#define I2O_DPT_DISABLE_SYNC_NEGOTIATION I2O_SCSI_DISABLE_SYNC_NEGOTIATION -#define I2O_DPT_ENABLE_SYNC_NEGOTIATION I2O_SCSI_ENABLE_SYNC_NEGOTIATION - -/* DPT Device Group 8000h - Device Information Parameter Group */ - -typedef struct _I2O_DPT_DEVICE_INFO_SCALAR { - U8 DeviceType; /* Identical to I2O_SCSI_DEVICE_INFO SCALAR */ - U8 Flags; /* Identical to I2O_SCSI_DEVICE_INFO SCALAR */ - U16 Bus; - U32 Identifier; - U8 LunInfo[8]; /* SCSI-2 8-bit scalar LUN goes into offset 1 */ - -} I2O_DPT_DEVICE_INFO_SCALAR, *PI2O_DPT_DEVICE_INFO_SCALAR; - -#define I2O_DPT_EXEC_IOP_BUFFERS_GROUP_NO 0x8000 - -/* DPT Exec Iop Buffers Group 8000h */ - -typedef struct _I2O_DPT_EXEC_IOP_BUFFERS_SCALAR { - U32 SerialOutputOffset; /* offset from base address to header */ - U32 SerialOutputSize; /* size of data buffer in bytes */ - U32 SerialHeaderSize; /* size of data buffer header in bytes */ - U32 SerialFlagsSupported; /* Mask of debug flags supported */ - -} I2O_DPT_EXEC_IOP_BUFFERS_SCALAR, *PI2O_DPT_EXEC_IOP_BUFFERS_SCALAR; - - -#endif /* I2O_DPT_HDR */ Property changes on: head/sys/dev/asr/i2odpt.h ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: head/sys/dev/asr/i2omsg.h =================================================================== --- head/sys/dev/asr/i2omsg.h (revision 276525) +++ head/sys/dev/asr/i2omsg.h (nonexistent) @@ -1,1283 +0,0 @@ -/*- - **************************************************************** - * Copyright (c) 1996-2000 Distributed Processing Technology Corporation - * Copyright (c) 2000 Adaptec Corporation. - * All rights reserved. - * - * Copyright 1999 I2O Special Interest Group (I2O SIG). All rights reserved. - * All rights reserved - * - * TERMS AND CONDITIONS OF USE - * - * Redistribution and use in source form, with or without modification, are - * permitted provided that redistributions of source code must retain the - * above copyright notice, this list of conditions and the following disclaimer. - * - * This software is provided `as is' by Distributed Processing Technology and - * any express or implied warranties, including, but not limited to, the - * implied warranties of merchantability and fitness for a particular purpose, - * are disclaimed. In no event shall Distributed Processing Technology be - * liable for any direct, indirect, incidental, special, exemplary or - * consequential damages (including, but not limited to, procurement of - * substitute goods or services; loss of use, data, or profits; or business - * interruptions) however caused and on any theory of liability, whether in - * contract, strict liability, or tort (including negligence or otherwise) - * arising in any way out of the use of this driver software, even if advised - * of the possibility of such damage. - * - * This header file, and any modifications of this header file, are provided - * contingent upon your agreement and adherence to the here-listed terms and - * conditions. By accepting and/or using this header file, you agree to abide - * by these terms and conditions and that these terms and conditions will be - * construed and governed in accordance with the laws of the State of California, - * without reference to conflict-of-law provisions. If you do not agree - * to these terms and conditions, please delete this file, and any copies, - * permanently, without making any use thereof. - * - * THIS HEADER FILE IS PROVIDED FREE OF CHARGE ON AN AS-IS BASIS WITHOUT - * WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED - * TO IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE. I2O SIG DOES NOT WARRANT THAT THIS HEADER FILE WILL MEET THE - * USER'S REQUIREMENTS OR THAT ITS OPERATION WILL BE UNINTERRUPTED OR - * ERROR-FREE. - * - * I2O SIG DISCLAIMS ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF - * ANY PROPRIETARY RIGHTS, RELATING TO THE IMPLEMENTATION OF THE I2O - * SPECIFICATIONS. I2O SIG DOES NOT WARRANT OR REPRESENT THAT SUCH - * IMPLEMENTATIONS WILL NOT INFRINGE SUCH RIGHTS. - * - * THE USER OF THIS HEADER FILE SHALL HAVE NO RECOURSE TO I2O SIG FOR ANY - * ACTUAL OR CONSEQUENTIAL DAMAGES INCLUDING, BUT NOT LIMITED TO, LOST DATA - * OR LOST PROFITS ARISING OUT OF THE USE OR INABILITY TO USE THIS PROGRAM. - * - * I2O SIG grants the user of this header file a license to copy, distribute, - * and modify it, for any purpose, under the following terms. Any copying, - * distribution, or modification of this header file must not delete or alter - * the copyright notice of I2O SIG or any of these Terms and Conditions. - * - * Any distribution of this header file must not include a charge for the - * header file (unless such charges are strictly for the physical acts of - * copying or transferring copies). However, distribution of a product in - * which this header file is embedded may include a charge so long as any - * such charge does not include any charge for the header file itself. - * - * Any modification of this header file constitutes a derivative work based - * on this header file. Any distribution of such derivative work: (1) must - * include prominent notices that the header file has been changed from the - * original, together with the dates of any changes; (2) automatically includes - * this same license to the original header file from I2O SIG, without any - * restriction thereon from the distributing user; and (3) must include a - * grant of license of the modified file under the same terms and conditions - * as these Terms and Conditions. - * - * The I2O SIG Web site can be found at: http://www.i2osig.org - * - * The I2O SIG encourages you to deposit derivative works based on this - * header file at the I2O SIG Web site. Furthermore, to become a Registered - * Developer of the I2O SIG, sign up at the Web site or call 415.750.8352 - * (United States). - * - * $FreeBSD$ - * - ****************************************************************/ - -/********************************************************************* - * I2OMsg.h -- I2O Message defintion file - * - * This file contains information presented in Chapter 3, 4 and 6 of - * the I2O(tm) Specification and most of the I2O Global defines and - * Typedefs. - **********************************************************************/ - -#if !defined(I2O_MESSAGE_HDR) -#define I2O_MESSAGE_HDR - -#define I2OMSG_REV 1_5_4 /* I2OMsg header file revision string */ - -/* - - NOTES: - - Gets, reads, receives, etc. are all even numbered functions. - Sets, writes, sends, etc. are all odd numbered functions. - Functions that both send and receive data can be either but an attempt is - made to use the function number that indicates the greater transfer amount. - Functions that do not send or receive data use odd function numbers. - - Some functions are synonyms like read, receive and send, write. - - All common functions will have a code of less than 0x80. - Unique functions to a class will start at 0x80. - Executive Functions start at 0xA0. - - Utility Message function codes range from 0 - 0x1f - Base Message function codes range from 0x20 - 0xfe - Private Message function code is 0xff. -*/ - - - -#if ((defined(KERNEL) || defined(_KERNEL)) && defined(__FreeBSD__)) -# if (KERN_VERSION < 3) -# include "i386/pci/i2otypes.h" -# else -# include "dev/asr/i2otypes.h" -# endif -#else -# include "i2otypes.h" -#endif - - -PRAGMA_ALIGN_PUSH - -PRAGMA_PACK_PUSH - -/* Set to 1 for 64 bit Context Fields */ -#define I2O_64BIT_CONTEXT 0 - -/****************************************************************************/ - -/* Common functions accross all classes. */ - -#define I2O_PRIVATE_MESSAGE 0xFF - -/****************************************************************************/ -/* Class ID and Code Assignments */ - - -#define I2O_CLASS_VERSION_10 0x00 -#define I2O_CLASS_VERSION_11 0x01 - -/* Class Code Names: Table 6-1 Class Code Assignments. */ -#define I2O_CLASS_EXECUTIVE 0x000 -#define I2O_CLASS_DDM 0x001 -#define I2O_CLASS_RANDOM_BLOCK_STORAGE 0x010 -#define I2O_CLASS_SEQUENTIAL_STORAGE 0x011 -#define I2O_CLASS_LAN 0x020 -#define I2O_CLASS_WAN 0x030 -#define I2O_CLASS_FIBRE_CHANNEL_PORT 0x040 -#define I2O_CLASS_FIBRE_CHANNEL_PERIPHERAL 0x041 -#define I2O_CLASS_SCSI_PERIPHERAL 0x051 -#define I2O_CLASS_ATE_PORT 0x060 -#define I2O_CLASS_ATE_PERIPHERAL 0x061 -#define I2O_CLASS_FLOPPY_CONTROLLER 0x070 -#define I2O_CLASS_FLOPPY_DEVICE 0x071 -#define I2O_CLASS_BUS_ADAPTER_PORT 0x080 -/* Class Codes 0x090 - 0x09f are reserved for Peer-to-Peer classes */ -#define I2O_CLASS_MATCH_ANYCLASS 0xffffffff - -#define I2O_SUBCLASS_i960 0x001 -#define I2O_SUBCLASS_HDM 0x020 -#define I2O_SUBCLASS_ISM 0x021 - - -/****************************************************************************/ -/* Message Frame defines and structures */ - -/* Defines for the Version_Status field. */ - -#define I2O_VERSION_10 0x00 -#define I2O_VERSION_11 0x01 - -#define I2O_VERSION_OFFSET_NUMBER_MASK 0x07 -#define I2O_VERSION_OFFSET_SGL_TRL_OFFSET_MASK 0xF0 - -/* Defines for the Message Flags Field. */ -/* Please Note the FAIL bit is only set in the Transport Fail Message. */ -#define I2O_MESSAGE_FLAGS_STATIC 0x01 -#define I2O_MESSAGE_FLAGS_64BIT_CONTEXT 0x02 -#define I2O_MESSAGE_FLAGS_MULTIPLE 0x10 -#define I2O_MESSAGE_FLAGS_FAIL 0x20 -#define I2O_MESSAGE_FLAGS_LAST 0x40 -#define I2O_MESSAGE_FLAGS_REPLY 0x80 - -/* Defines for Request Status Codes: Table 3-1 Reply Status Codes. */ - -#define I2O_REPLY_STATUS_SUCCESS 0x00 -#define I2O_REPLY_STATUS_ABORT_DIRTY 0x01 -#define I2O_REPLY_STATUS_ABORT_NO_DATA_TRANSFER 0x02 -#define I2O_REPLY_STATUS_ABORT_PARTIAL_TRANSFER 0x03 -#define I2O_REPLY_STATUS_ERROR_DIRTY 0x04 -#define I2O_REPLY_STATUS_ERROR_NO_DATA_TRANSFER 0x05 -#define I2O_REPLY_STATUS_ERROR_PARTIAL_TRANSFER 0x06 -#define I2O_REPLY_STATUS_PROCESS_ABORT_DIRTY 0x08 -#define I2O_REPLY_STATUS_PROCESS_ABORT_NO_DATA_TRANSFER 0x09 -#define I2O_REPLY_STATUS_PROCESS_ABORT_PARTIAL_TRANSFER 0x0A -#define I2O_REPLY_STATUS_TRANSACTION_ERROR 0x0B -#define I2O_REPLY_STATUS_PROGRESS_REPORT 0x80 - -/* DetailedStatusCode defines for ALL messages: Table 3-2 Detailed Status Codes. */ - -#define I2O_DETAIL_STATUS_SUCCESS 0x0000 -#define I2O_DETAIL_STATUS_BAD_KEY 0x0002 -#define I2O_DETAIL_STATUS_TCL_ERROR 0x0003 -#define I2O_DETAIL_STATUS_REPLY_BUFFER_FULL 0x0004 -#define I2O_DETAIL_STATUS_NO_SUCH_PAGE 0x0005 -#define I2O_DETAIL_STATUS_INSUFFICIENT_RESOURCE_SOFT 0x0006 -#define I2O_DETAIL_STATUS_INSUFFICIENT_RESOURCE_HARD 0x0007 -#define I2O_DETAIL_STATUS_CHAIN_BUFFER_TOO_LARGE 0x0009 -#define I2O_DETAIL_STATUS_UNSUPPORTED_FUNCTION 0x000A -#define I2O_DETAIL_STATUS_DEVICE_LOCKED 0x000B -#define I2O_DETAIL_STATUS_DEVICE_RESET 0x000C -#define I2O_DETAIL_STATUS_INAPPROPRIATE_FUNCTION 0x000D -#define I2O_DETAIL_STATUS_INVALID_INITIATOR_ADDRESS 0x000E -#define I2O_DETAIL_STATUS_INVALID_MESSAGE_FLAGS 0x000F -#define I2O_DETAIL_STATUS_INVALID_OFFSET 0x0010 -#define I2O_DETAIL_STATUS_INVALID_PARAMETER 0x0011 -#define I2O_DETAIL_STATUS_INVALID_REQUEST 0x0012 -#define I2O_DETAIL_STATUS_INVALID_TARGET_ADDRESS 0x0013 -#define I2O_DETAIL_STATUS_MESSAGE_TOO_LARGE 0x0014 -#define I2O_DETAIL_STATUS_MESSAGE_TOO_SMALL 0x0015 -#define I2O_DETAIL_STATUS_MISSING_PARAMETER 0x0016 -#define I2O_DETAIL_STATUS_TIMEOUT 0x0017 -#define I2O_DETAIL_STATUS_UNKNOWN_ERROR 0x0018 -#define I2O_DETAIL_STATUS_UNKNOWN_FUNCTION 0x0019 -#define I2O_DETAIL_STATUS_UNSUPPORTED_VERSION 0x001A -#define I2O_DEATIL_STATUS_DEVICE_BUSY 0x001B -#define I2O_DETAIL_STATUS_DEVICE_NOT_AVAILABLE 0x001C - -/* Common I2O Field sizes */ - -#define I2O_TID_SZ 12 -#define I2O_FUNCTION_SZ 8 -#define I2O_UNIT_ID_SZ 16 -#define I2O_SEGMENT_NUMBER_SZ 12 - -#define I2O_IOP_ID_SZ 12 -#define I2O_GROUP_ID_SZ 16 -#define I2O_IOP_STATE_SZ 8 -#define I2O_MESSENGER_TYPE_SZ 8 - -#define I2O_CLASS_ID_SZ 12 -#define I2O_CLASS_ORGANIZATION_ID_SZ 16 - -#define I2O_4BIT_VERSION_SZ 4 -#define I2O_8BIT_FLAGS_SZ 8 -#define I2O_COMMON_LENGTH_FIELD_SZ 16 - -#define I2O_DEVID_DESCRIPTION_SZ 16 -#define I2O_DEVID_VENDOR_INFO_SZ 16 -#define I2O_DEVID_PRODUCT_INFO_SZ 16 -#define I2O_DEVID_REV_LEVEL_SZ 8 -#define I2O_MODULE_NAME_SZ 24 - -#define I2O_BIOS_INFO_SZ 8 - -#define I2O_RESERVED_4BITS 4 -#define I2O_RESERVED_8BITS 8 -#define I2O_RESERVED_12BITS 12 -#define I2O_RESERVED_16BITS 16 -#define I2O_RESERVED_20BITS 20 -#define I2O_RESERVED_24BITS 24 -#define I2O_RESERVED_28BITS 28 - - -typedef U32 I2O_PARAMETER_TID; - - -#if I2O_64BIT_CONTEXT -typedef U64 I2O_INITIATOR_CONTEXT; -typedef U64 I2O_TRANSACTION_CONTEXT; -#else -typedef U32 I2O_INITIATOR_CONTEXT; -typedef U32 I2O_TRANSACTION_CONTEXT; -#endif - -/* Serial Number format defines */ - -#define I2O_SERIAL_FORMAT_UNKNOWN 0 -#define I2O_SERIAL_FORMAT_BINARY 1 -#define I2O_SERIAL_FORMAT_ASCII 2 -#define I2O_SERIAL_FORMAT_UNICODE 3 -#define I2O_SERIAL_FORMAT_LAN_MAC 4 -#define I2O_SERIAL_FORMAT_WAN 5 - -/* Special TID Assignments */ - -#define I2O_IOP_TID 0 -#define I2O_HOST_TID 1 - - -/****************************************************************************/ - -/* I2O Message Frame common for all messages */ - -typedef struct _I2O_MESSAGE_FRAME { - U8 VersionOffset; - U8 MsgFlags; - U16 MessageSize; -#if (defined(__BORLANDC__)) || defined(_DPT_BIG_ENDIAN) || (defined(sparc)) - U32 TargetAddress; -#else - BF TargetAddress:I2O_TID_SZ; - BF InitiatorAddress:I2O_TID_SZ; - BF Function:I2O_FUNCTION_SZ; -#endif - I2O_INITIATOR_CONTEXT InitiatorContext; -} I2O_MESSAGE_FRAME, *PI2O_MESSAGE_FRAME; - - -/****************************************************************************/ - -/* Transaction Reply Lists (TRL) Control Word structure */ - -#define I2O_TRL_FLAGS_SINGLE_FIXED_LENGTH 0x00 -#define I2O_TRL_FLAGS_SINGLE_VARIABLE_LENGTH 0x40 -#define I2O_TRL_FLAGS_MULTIPLE_FIXED_LENGTH 0x80 - -typedef struct _I2O_TRL_CONTROL_WORD { - U8 TrlCount; - U8 TrlElementSize; - U8 reserved; - U8 TrlFlags; -#if I2O_64BIT_CONTEXT - U32 Padding; /* Padding for 64 bit */ -#endif -} I2O_TRL_CONTROL_WORD, *PI2O_TRL_CONTROL_WORD; - -/****************************************************************************/ - -/* I2O Successful Single Transaction Reply Message Frame structure. */ - -typedef struct _I2O_SINGLE_REPLY_MESSAGE_FRAME { - I2O_MESSAGE_FRAME StdMessageFrame; - I2O_TRANSACTION_CONTEXT TransactionContext; - U16 DetailedStatusCode; - U8 reserved; - U8 ReqStatus; -/* ReplyPayload */ -} I2O_SINGLE_REPLY_MESSAGE_FRAME, *PI2O_SINGLE_REPLY_MESSAGE_FRAME; - - -/****************************************************************************/ - -/* I2O Successful Multiple Transaction Reply Message Frame structure. */ - -typedef struct _I2O_MULTIPLE_REPLY_MESSAGE_FRAME { - I2O_MESSAGE_FRAME StdMessageFrame; - I2O_TRL_CONTROL_WORD TrlControlWord; - U16 DetailedStatusCode; - U8 reserved; - U8 ReqStatus; -/* TransactionDetails[] */ -} I2O_MULTIPLE_REPLY_MESSAGE_FRAME, *PI2O_MULTIPLE_REPLY_MESSAGE_FRAME; - - -/****************************************************************************/ - -/* I2O Private Message Frame structure. */ - -typedef struct _I2O_PRIVATE_MESSAGE_FRAME { - I2O_MESSAGE_FRAME StdMessageFrame; - I2O_TRANSACTION_CONTEXT TransactionContext; - U16 XFunctionCode; - U16 OrganizationID; -/* PrivatePayload[] */ -} I2O_PRIVATE_MESSAGE_FRAME, *PI2O_PRIVATE_MESSAGE_FRAME; - - -/****************************************************************************/ - -/* Message Failure Severity Codes */ - -#define I2O_SEVERITY_FORMAT_ERROR 0x1 -#define I2O_SEVERITY_PATH_ERROR 0x2 -#define I2O_SEVERITY_PATH_STATE 0x4 -#define I2O_SEVERITY_CONGESTION 0x8 - -/* Transport Failure Codes: Table 3-3 Mesasge Failure Codes */ - -#define I2O_FAILURE_CODE_TRANSPORT_SERVICE_SUSPENDED 0x81 -#define I2O_FAILURE_CODE_TRANSPORT_SERVICE_TERMINATED 0x82 -#define I2O_FAILURE_CODE_TRANSPORT_CONGESTION 0x83 -#define I2O_FAILURE_CODE_TRANSPORT_FAIL 0x84 -#define I2O_FAILURE_CODE_TRANSPORT_STATE_ERROR 0x85 -#define I2O_FAILURE_CODE_TRANSPORT_TIME_OUT 0x86 -#define I2O_FAILURE_CODE_TRANSPORT_ROUTING_FAILURE 0x87 -#define I2O_FAILURE_CODE_TRANSPORT_INVALID_VERSION 0x88 -#define I2O_FAILURE_CODE_TRANSPORT_INVALID_OFFSET 0x89 -#define I2O_FAILURE_CODE_TRANSPORT_INVALID_MSG_FLAGS 0x8A -#define I2O_FAILURE_CODE_TRANSPORT_FRAME_TOO_SMALL 0x8B -#define I2O_FAILURE_CODE_TRANSPORT_FRAME_TOO_LARGE 0x8C -#define I2O_FAILURE_CODE_TRANSPORT_INVALID_TARGET_ID 0x8D -#define I2O_FAILURE_CODE_TRANSPORT_INVALID_INITIATOR_ID 0x8E -#define I2O_FAILURE_CODE_TRANSPORT_INVALID_INITIATOR_CONTEXT 0x8F -#define I2O_FAILURE_CODE_TRANSPORT_UNKNOWN_FAILURE 0xFF - -/* IOP_ID and Severity sizes */ - -#define I2O_FAILCODE_SEVERITY_SZ 8 -#define I2O_FAILCODE_CODE_SZ 8 - -/* I2O Transport Message Reply for Message Failure. */ - -typedef struct _I2O_FAILURE_REPLY_MESSAGE_FRAME { - I2O_MESSAGE_FRAME StdMessageFrame; - I2O_TRANSACTION_CONTEXT TransactionContext; -# if (defined(_DPT_BIG_ENDIAN) || defined(sparc) || defined(__BORLANDC__)) - U32 LowestVersion; - U32 reserved; -# else - U8 LowestVersion; - U8 HighestVersion; -/* BF Severity:I2O_FAILCODE_SEVERITY_SZ; */ -/* BF FailureCode:I2O_FAILCODE_CODE_SZ; */ -/* Due to our compiler padding this structure and making it larger than - * it really is (4 bytes larger), we are re-defining these two fields - */ - U8 Severity; - U8 FailureCode; - BF reserved:I2O_RESERVED_4BITS; - BF FailingHostUnitID:I2O_UNIT_ID_SZ; - BF reserved1:12; -# endif - U32 AgeLimit; - U32 PreservedMFA; -} I2O_FAILURE_REPLY_MESSAGE_FRAME, *PI2O_FAILURE_REPLY_MESSAGE_FRAME; - -/* I2O Transport Message Reply for Transaction Error. */ - -typedef struct _I2O_TRANSACTION_ERROR_REPLY_MESSAGE_FRAME { - I2O_MESSAGE_FRAME StdMessageFrame; - I2O_TRANSACTION_CONTEXT TransactionContext; - U16 DetailedStatusCode; - U8 reserved; - U8 ReqStatus; /* Should always be Transaction Error */ - U32 ErrorOffset; - U8 BitOffset; - U8 reserved1; - U16 reserved2; -} I2O_TRANSACTION_ERROR_REPLY_MESSAGE_FRAME, *PI2O_TRANSACTION_ERROR_REPLY_MESSAGE_FRAME; - -/****************************************************************************/ - -/* Misc. commonly used structures */ - -/* Class ID Block */ - -typedef struct _I2O_CLASS_ID { -#if (defined(_DPT_BIG_ENDIAN) || defined(sparc)) - U32 Class; -#else - BF Class:I2O_CLASS_ID_SZ; - BF Version:I2O_4BIT_VERSION_SZ; - BF OrganizationID:I2O_CLASS_ORGANIZATION_ID_SZ; -#endif -} I2O_CLASS_ID, *PI2O_CLASS_ID; - - -#define I2O_MAX_SERIAL_NUMBER_SZ 256 - -typedef struct _I2O_SERIAL_INFO { - U8 SerialNumberLength; - U8 SerialNumberFormat; - U8 SerialNumber[I2O_MAX_SERIAL_NUMBER_SZ]; -} I2O_SERIAL_INFO, *PI2O_SERIAL_INFO; - - -/****************************************************************************/ -/* Hardware Resource Table (HRT) and Logical Configuration Table (LCT) */ -/****************************************************************************/ - -/* Bus Type Code defines */ - -#define I2O_LOCAL_BUS 0 -#define I2O_ISA_BUS 1 -#define I2O_EISA_BUS 2 -#define I2O_MCA_BUS 3 -#define I2O_PCI_BUS 4 -#define I2O_PCMCIA_BUS 5 -#define I2O_NUBUS_BUS 6 -#define I2O_CARDBUS_BUS 7 -#define I2O_OTHER_BUS 0x80 - -#define I2O_HRT_STATE_SZ 4 -#define I2O_HRT_BUS_NUMBER_SZ 8 -#define I2O_HRT_BUS_TYPE_SZ 8 - - -/* Bus Structures */ - -/* PCI Bus */ -typedef struct _I2O_PCI_BUS_INFO { - U8 PciFunctionNumber; - U8 PciDeviceNumber; - U8 PciBusNumber; - U8 reserved; - U16 PciVendorID; - U16 PciDeviceID; -} I2O_PCI_BUS_INFO, *PI2O_PCI_BUS_INFO; - -/* Local Bus */ -typedef struct _I2O_LOCAL_BUS_INFO { - U16 LbBaseIOPort; - U16 reserved; - U32 LbBaseMemoryAddress; -} I2O_LOCAL_BUS_INFO, *PI2O_LOCAL_BUS_INFO; - -/* ISA Bus */ -typedef struct _I2O_ISA_BUS_INFO { - U16 IsaBaseIOPort; - U8 CSN; - U8 reserved; - U32 IsaBaseMemoryAddress; -} I2O_ISA_BUS_INFO, *PI2O_ISA_BUS_INFO; - -/* EISA Bus */ -typedef struct _I2O_EISA_BUS_INFO { - U16 EisaBaseIOPort; - U8 reserved; - U8 EisaSlotNumber; - U32 EisaBaseMemoryAddress; -} I2O_EISA_BUS_INFO, *PI2O_EISA_BUS_INFO; - -/* MCA Bus */ -typedef struct _I2O_MCA_BUS_INFO { - U16 McaBaseIOPort; - U8 reserved; - U8 McaSlotNumber; - U32 McaBaseMemoryAddress; -} I2O_MCA_BUS_INFO, *PI2O_MCA_BUS_INFO; - -/* Other Bus */ -typedef struct _I2O_OTHER_BUS_INFO { - U16 BaseIOPort; - U16 reserved; - U32 BaseMemoryAddress; -} I2O_OTHER_BUS_INFO, *PI2O_OTHER_BUS_INFO; - - -/* HRT Entry Block */ - -typedef struct _I2O_HRT_ENTRY { - U32 AdapterID; -#if (defined(_DPT_BIG_ENDIAN) || defined(sparc)) - U32 ControllingTID; -#else - BF ControllingTID:I2O_TID_SZ; - BF AdapterState:I2O_HRT_STATE_SZ; - BF BusNumber:I2O_HRT_BUS_NUMBER_SZ; - BF BusType:I2O_HRT_BUS_TYPE_SZ; -#endif - union { - /* PCI Bus */ - I2O_PCI_BUS_INFO PCIBus; - - /* Local Bus */ - I2O_LOCAL_BUS_INFO LocalBus; - - /* ISA Bus */ - I2O_ISA_BUS_INFO ISABus; - - /* EISA Bus */ - I2O_EISA_BUS_INFO EISABus; - - /* MCA Bus */ - I2O_MCA_BUS_INFO MCABus; - - /* Other. */ - I2O_OTHER_BUS_INFO OtherBus; - }uBus; -} I2O_HRT_ENTRY, *PI2O_HRT_ENTRY; - - -/* I2O Hardware Resource Table structure. */ - -typedef struct _I2O_HRT { - U16 NumberEntries; - U8 EntryLength; - U8 HRTVersion; - U32 CurrentChangeIndicator; - I2O_HRT_ENTRY HRTEntry[1]; -} I2O_HRT, *PI2O_HRT; - - -/****************************************************************************/ -/* Logical Configuration Table */ -/****************************************************************************/ - -/* I2O Logical Configuration Table structures. */ - -#define I2O_IDENTITY_TAG_SZ 8 - -/* I2O Logical Configuration Table Device Flags */ - -#define I2O_LCT_DEVICE_FLAGS_CONF_DIALOG_REQUEST 0x01 -#define I2O_LCT_DEVICE_FLAGS_MORE_THAN_1_USER 0x02 -#define I2O_LCT_DEVICE_FLAGS_PEER_SERVICE_DISABLED 0x10 -#define I2O_LCT_DEVICE_FLAGS_MANAGEMENT_SERVICE_DISABLED 0x20 - -/* LCT Entry Block */ - -typedef struct _I2O_LCT_ENTRY { -#if (defined(_DPT_BIG_ENDIAN) || defined(sparc)) - U32 TableEntrySize; -#else - BF TableEntrySize:I2O_COMMON_LENGTH_FIELD_SZ; - BF LocalTID:I2O_TID_SZ; - BF reserved:I2O_4BIT_VERSION_SZ; -#endif - U32 ChangeIndicator; - U32 DeviceFlags; - I2O_CLASS_ID ClassID; - U32 SubClassInfo; -#if (defined(__BORLANDC__)) || defined(_DPT_BIG_ENDIAN) || (defined(sparc)) - U32 UserTID; -#else - BF UserTID:I2O_TID_SZ; - BF ParentTID:I2O_TID_SZ; - BF BiosInfo:I2O_BIOS_INFO_SZ; -#endif - U8 IdentityTag[I2O_IDENTITY_TAG_SZ]; - U32 EventCapabilities; -} I2O_LCT_ENTRY, *PI2O_LCT_ENTRY; - - -/* I2O Logical Configuration Table structure. */ - -typedef struct _I2O_LCT { -#if (defined(_DPT_BIG_ENDIAN) || defined(sparc)) - U32 TableSize; -#else - BF TableSize:I2O_COMMON_LENGTH_FIELD_SZ; - BF BootDeviceTID:I2O_TID_SZ; - BF LctVer:I2O_4BIT_VERSION_SZ; -#endif - U32 IopFlags; - U32 CurrentChangeIndicator; - I2O_LCT_ENTRY LCTEntry[1]; -} I2O_LCT, *PI2O_LCT; - - -/****************************************************************************/ - -/* Memory Addressing structures and defines. */ - -/* SglFlags defines. */ - -#define I2O_SGL_FLAGS_LAST_ELEMENT 0x80 -#define I2O_SGL_FLAGS_END_OF_BUFFER 0x40 - -#define I2O_SGL_FLAGS_IGNORE_ELEMENT 0x00 -#define I2O_SGL_FLAGS_TRANSPORT_ELEMENT 0x04 -#define I2O_SGL_FLAGS_BIT_BUCKET_ELEMENT 0x08 -#define I2O_SGL_FLAGS_IMMEDIATE_DATA_ELEMENT 0x0C -#define I2O_SGL_FLAGS_SIMPLE_ADDRESS_ELEMENT 0x10 -#define I2O_SGL_FLAGS_PAGE_LIST_ADDRESS_ELEMENT 0x20 -#define I2O_SGL_FLAGS_CHAIN_POINTER_ELEMENT 0x30 -#define I2O_SGL_FLAGS_LONG_TRANSACTION_ELEMENT 0x40 -#define I2O_SGL_FLAGS_SHORT_TRANSACTION_ELEMENT 0x70 -#define I2O_SGL_FLAGS_SGL_ATTRIBUTES_ELEMENT 0x7C - -#define I2O_SGL_FLAGS_BC0 0x01 -#define I2O_SGL_FLAGS_BC1 0x02 -#define I2O_SGL_FLAGS_DIR 0x04 -#define I2O_SGL_FLAGS_LOCAL_ADDRESS 0x08 - -#define I2O_SGL_FLAGS_CONTEXT_COUNT_MASK 0x03 -#define I2O_SGL_FLAGS_ADDRESS_MODE_MASK 0x3C -#define I2O_SGL_FLAGS_NO_CONTEXT 0x00 - -/* Scatter/Gather Truth Table */ - -/* - -typedef enum _SG_TYPE { - INVALID, - Ignore, - TransportDetails, - BitBucket, - ImmediateData, - Simple, - PageList, - ChainPointer, - ShortTransaction, - LongTransaction, - SGLAttributes, - INVALID/ReservedLongFormat, - INVALID/ReservedShortFormat -} SG_TYPE, *PSG_TYPE; - - - 0x00 Ignore; - 0x04 TransportDetails; - 0x08 BitBucket; - 0x0C ImmediateData; - 0x10 Simple; - 0x14 Simple; - 0x18 Simple; - 0x1C Simple; - 0x20 PageList; - 0x24 PageList; - 0x28 PageList; - 0x2C PageList; - 0x30 ChainPointer; - 0x34 INVALID; - 0x38 ChainPointer; - 0x3C INVALID; - 0x40 LongTransaction; - 0x44 INVALID/ReservedLongFormat; - 0x48 BitBucket; - 0x4C ImmediateData; - 0x50 Simple; - 0x54 Simple; - 0x58 Simple; - 0x5C Simple; - 0x60 PageList; - 0x64 PageList; - 0x68 PageList; - 0x6C PageList; - 0x70 ShortTransaction; - 0x74 INVALID/ReservedShortFormat; - 0x78 INVALID/ReservedShortFormat; - 0x7C SGLAttributes; -*/ - - -/* 32 Bit Context Field defines */ - -#define I2O_SGL_FLAGS_CONTEXT32_NULL 0x00 -#define I2O_SGL_FLAGS_CONTEXT32_U32 0x01 -#define I2O_SGL_FLAGS_CONTEXT32_U64 0x02 -#define I2O_SGL_FLAGS_CONTEXT32_U96 0x03 - -#define I2O_SGL_FLAGS_CONTEXT32_NULL_SZ 0x00 -#define I2O_SGL_FLAGS_CONTEXT32_U32_SZ 0x04 -#define I2O_SGL_FLAGS_CONTEXT32_U64_SZ 0x08 -#define I2O_SGL_FLAGS_CONTEXT32_U96_SZ 0x0C - -/* 64 Bit Context Field defines */ - -#define I2O_SGL_FLAGS_CONTEXT64_NULL 0x00 -#define I2O_SGL_FLAGS_CONTEXT64_U64 0x01 -#define I2O_SGL_FLAGS_CONTEXT64_U128 0x02 -#define I2O_SGL_FLAGS_CONTEXT64_U192 0x03 - -#define I2O_SGL_FLAGS_CONTEXT64_NULL_SZ 0x00 -#define I2O_SGL_FLAGS_CONTEXT64_U64_SZ 0x08 -#define I2O_SGL_FLAGS_CONTEXT64_U128_SZ 0x10 -#define I2O_SGL_FLAGS_CONTEXT64_U192_SZ 0x18 - -/* SGL Attribute Element defines */ - -#define I2O_SGL_ATTRIBUTE_FLAGS_BIT_BUCKET_HINT 0x0400 -#define I2O_SGL_ATTRIBUTE_FLAGS_IMMEDIATE_DATA_HINT 0x0200 -#define I2O_SGL_ATTRIBUTE_FLAGS_LOCAL_ADDRESS_HINT 0x0100 -#define I2O_SGL_ATTRIBUTE_FLAGS_32BIT_TRANSACTION 0x0000 -#define I2O_SGL_ATTRIBUTE_FLAGS_64BIT_TRANSACTION 0x0004 -#define I2O_SGL_ATTRIBUTE_FLAGS_32BIT_LOCAL_ADDRESS 0x0000 - -/* SG Size defines */ - -#define I2O_SG_COUNT_SZ 24 -#define I2O_SG_FLAGS_SZ 8 - -/* Standard Flags and Count fields for SG Elements */ - -typedef struct _I2O_FLAGS_COUNT { -#if (defined(__BORLANDC__)) || defined(_DPT_BIG_ENDIAN) || (defined(sparc)) - U32 Count; -#else - BF Count:I2O_SG_COUNT_SZ; - BF Flags:I2O_SG_FLAGS_SZ; -#endif -} I2O_FLAGS_COUNT, *PI2O_FLAGS_COUNT; - -/* Bit Bucket Element */ - -typedef struct _I2O_SGE_BIT_BUCKET_ELEMENT { - I2O_FLAGS_COUNT FlagsCount; - U32 BufferContext; -} I2O_SGE_BIT_BUCKET_ELEMENT, *PI2O_SGE_BIT_BUCKET_ELEMENT; - -/* Chain Addressing Scatter-Gather Element */ - -typedef struct _I2O_SGE_CHAIN_ELEMENT { - I2O_FLAGS_COUNT FlagsCount; - U32 PhysicalAddress; -} I2O_SGE_CHAIN_ELEMENT, *PI2O_SGE_CHAIN_ELEMENT; - -/* Chain Addressing with Context Scatter-Gather Element */ - -typedef struct _I2O_SGE_CHAIN_CONTEXT_ELEMENT { - I2O_FLAGS_COUNT FlagsCount; - U32 Context[1]; - U32 PhysicalAddress; -} I2O_SGE_CHAIN_CONTEXT_ELEMENT, *PI2O_SGE_CHAIN_CONTEXT_ELEMENT; - -/* Ignore Scatter-Gather Element */ - -typedef struct _I2O_SGE_IGNORE_ELEMENT { - I2O_FLAGS_COUNT FlagsCount; -} I2O_SGE_IGNORE_ELEMENT, *PI2O_SGE_IGNORE_ELEMENT; - -/* Immediate Data Element */ - -typedef struct _I2O_SGE_IMMEDIATE_DATA_ELEMENT { - I2O_FLAGS_COUNT FlagsCount; -} I2O_SGE_IMMEDIATE_DATA_ELEMENT, *PI2O_SGE_IMMEDIATE_DATA_ELEMENT; - -/* Immediate Data with Context Element */ - -typedef struct _I2O_SGE_IMMEDIATE_DATA_CONTEXT_ELEMENT { - I2O_FLAGS_COUNT FlagsCount; - U32 BufferContext; -} I2O_SGE_IMMEDIATE_DATA_CONTEXT_ELEMENT, *PI2O_SGE_IMMEDIATE_DATA_CONTEXT_ELEMENT; - -/* Long Transaction Parameters Element */ - -typedef struct _I2O_SGE_LONG_TRANSACTION_ELEMENT { -#if (defined(__BORLANDC__)) - U32 LongElementLength; -#else - BF LongElementLength:I2O_SG_COUNT_SZ; - BF Flags:I2O_SG_FLAGS_SZ; -#endif - U32 BufferContext; -} I2O_SGE_LONG_TRANSACTION_ELEMENT, *PI2O_SGE_LONG_TRANSACTION_ELEMENT; - -/* Page List Scatter-Gather Element */ - -typedef struct _I2O_SGE_PAGE_ELEMENT { - I2O_FLAGS_COUNT FlagsCount; - U32 PhysicalAddress[1]; -} I2O_SGE_PAGE_ELEMENT , *PI2O_SGE_PAGE_ELEMENT ; - -/* Page List with Context Scatter-Gather Element */ - -typedef struct _I2O_SGE_PAGE_CONTEXT_ELEMENT { - I2O_FLAGS_COUNT FlagsCount; - U32 BufferContext[1]; - U32 PhysicalAddress[1]; -} I2O_SGE_PAGE_CONTEXT_ELEMENT, *PI2O_SGE_PAGE_CONTEXT_ELEMENT; - -/* SGL Attribute Element */ - -typedef struct _I2O_SGE_SGL_ATTRIBUTES_ELEMENT { - U16 SglAttributeFlags; - U8 ElementLength; - U8 Flags; - U32 PageFrameSize; -} I2O_SGE_SGL_ATTRIBUTES_ELEMENT, *PI2O_SGE_SGL_ATTRIBUTES_ELEMENT; - -/* Short Transaction Parameters Element */ - -typedef struct _I2O_SGE_SHORT_TRANSACTION_ELEMENT { - U16 ClassFields; - U8 ElementLength; - U8 Flags; - U32 BufferContext; -} I2O_SGE_SHORT_TRANSACTION_ELEMENT, *PI2O_SGE_SHORT_TRANSACTION_ELEMENT; - -/* Simple Addressing Scatter-Gather Element */ - -typedef struct _I2O_SGE_SIMPLE_ELEMENT { - I2O_FLAGS_COUNT FlagsCount; - U32 PhysicalAddress; -} I2O_SGE_SIMPLE_ELEMENT, *PI2O_SGE_SIMPLE_ELEMENT; - -/* Simple Addressing with Context Scatter-Gather Element */ - -typedef struct _I2O_SGE_SIMPLE_CONTEXT_ELEMENT { - I2O_FLAGS_COUNT FlagsCount; - U32 BufferContext[1]; - U32 PhysicalAddress; -} I2O_SGE_SIMPLE_CONTEXT_ELEMENT, *PI2O_SGE_SIMPLE_CONTEXT_ELEMENT; - -/* Transport Detail Element */ - -typedef struct _I2O_SGE_TRANSPORT_ELEMENT { -#if (defined(__BORLANDC__)) - U32 LongElementLength; -#else - BF LongElementLength:I2O_SG_COUNT_SZ; - BF Flags:I2O_SG_FLAGS_SZ; -#endif -} I2O_SGE_TRANSPORT_ELEMENT, *PI2O_SGE_TRANSPORT_ELEMENT; - -typedef struct _I2O_SG_ELEMENT { - union { - /* Bit Bucket Element */ - I2O_SGE_BIT_BUCKET_ELEMENT BitBucket; - - /* Chain Addressing Element */ - I2O_SGE_CHAIN_ELEMENT Chain; - - /* Chain Addressing with Context Element */ - I2O_SGE_CHAIN_CONTEXT_ELEMENT ChainContext; - - /* Ignore Scatter-Gather Element */ - I2O_SGE_IGNORE_ELEMENT Ignore; - - /* Immediate Data Element */ - I2O_SGE_IMMEDIATE_DATA_ELEMENT ImmediateData; - - /* Immediate Data with Context Element */ - I2O_SGE_IMMEDIATE_DATA_CONTEXT_ELEMENT ImmediateDataContext; - - /* Long Transaction Parameters Element */ - I2O_SGE_LONG_TRANSACTION_ELEMENT LongTransaction; - - /* Page List Element */ - I2O_SGE_PAGE_ELEMENT Page; - - /* Page List with Context Element */ - I2O_SGE_PAGE_CONTEXT_ELEMENT PageContext; - - /* SGL Attribute Element */ - I2O_SGE_SGL_ATTRIBUTES_ELEMENT SGLAttribute; - - /* Short Transaction Parameters Element */ - I2O_SGE_SHORT_TRANSACTION_ELEMENT ShortTransaction; - - /* Simple Addressing Element */ - I2O_SGE_SIMPLE_ELEMENT Simple[1]; - - /* Simple Addressing with Context Element */ - I2O_SGE_SIMPLE_CONTEXT_ELEMENT SimpleContext[1]; - - /* Transport Detail Element */ - I2O_SGE_TRANSPORT_ELEMENT Transport; -#if (defined(sun) && defined(u)) -/* there is a macro defined in Solaris sys/user.h for u, rename this to uSG */ - } uSG ; -#else - } u ; -#endif -} I2O_SG_ELEMENT, *PI2O_SG_ELEMENT; - -/****************************************************************************/ -/* Basic Parameter Group Access */ -/****************************************************************************/ - -/* Operation Function Numbers */ - -#define I2O_PARAMS_OPERATION_FIELD_GET 0x0001 -#define I2O_PARAMS_OPERATION_LIST_GET 0x0002 -#define I2O_PARAMS_OPERATION_MORE_GET 0x0003 -#define I2O_PARAMS_OPERATION_SIZE_GET 0x0004 -#define I2O_PARAMS_OPERATION_TABLE_GET 0x0005 -#define I2O_PARAMS_OPERATION_FIELD_SET 0x0006 -#define I2O_PARAMS_OPERATION_LIST_SET 0x0007 -#define I2O_PARAMS_OPERATION_ROW_ADD 0x0008 -#define I2O_PARAMS_OPERATION_ROW_DELETE 0x0009 -#define I2O_PARAMS_OPERATION_TABLE_CLEAR 0x000A - -/* Operations List Header */ - -typedef struct _I2O_PARAM_OPERATIONS_LIST_HEADER { - U16 OperationCount; - U16 Reserved; -} I2O_PARAM_OPERATIONS_LIST_HEADER, *PI2O_PARAM_OPERATIONS_LIST_HEADER; - -/* Results List Header */ - -typedef struct _I2O_PARAM_RESULTS_LIST_HEADER { - U16 ResultCount; - U16 Reserved; -} I2O_PARAM_RESULTS_LIST_HEADER, *PI2O_PARAM_RESULTS_LIST_HEADER; - -/* Read Operation Result Block Template Structure */ - -typedef struct _I2O_PARAM_READ_OPERATION_RESULT { - U16 BlockSize; - U8 BlockStatus; - U8 ErrorInfoSize; - /* Operations Results */ - /* Pad (if any) */ - /* ErrorInformation (if any) */ -} I2O_PARAM_READ_OPERATION_RESULT, *PI2O_PARAM_READ_OPERATION_RESULT; - -typedef struct _I2O_TABLE_READ_OPERATION_RESULT { - U16 BlockSize; - U8 BlockStatus; - U8 ErrorInfoSize; - U16 RowCount; - U16 MoreFlag; - /* Operations Results */ - /* Pad (if any) */ - /* ErrorInformation (if any) */ -} I2O_TABLE_READ_OPERATION_RESULT, *PI2O_TABLE_READ_OPERATION_RESULT; - -/* Error Information Template Structure */ - -typedef struct _I2O_PARAM_ERROR_INFO_TEMPLATE { - U16 OperationCode; - U16 GroupNumber; - U16 FieldIdx; - U8 AdditionalStatus; - U8 NumberKeys; - /* List of Key Values (variable) */ - /* Pad (if any) */ -} I2O_PARAM_ERROR_INFO_TEMPLATE, *PI2O_PARAM_ERROR_INFO_TEMPLATE; - -/* Operation Template for Specific Fields */ - -typedef struct _I2O_PARAM_OPERATION_SPECIFIC_TEMPLATE { - U16 Operation; - U16 GroupNumber; - U16 FieldCount; - U16 FieldIdx[1]; - /* Pad (if any) */ -} I2O_PARAM_OPERATION_SPECIFIC_TEMPLATE, *PI2O_PARAM_OPERATION_SPECIFIC_TEMPLATE; - -/* Operation Template for All Fields */ - -typedef struct _I2O_PARAM_OPERATION_ALL_TEMPLATE { - U16 Operation; - U16 GroupNumber; - U16 FieldCount; - /* Pad (if any) */ -} I2O_PARAM_OPERATION_ALL_TEMPLATE, *PI2O_PARAM_OPERATION_ALL_TEMPLATE; - -/* Operation Template for All List Fields */ - -typedef struct _I2O_PARAM_OPERATION_ALL_LIST_TEMPLATE { - U16 Operation; - U16 GroupNumber; - U16 FieldCount; - U16 KeyCount; - U8 KeyValue; - /* Pad (if any) */ -} I2O_PARAM_OPERATION_ALL_LIST_TEMPLATE, *PI2O_PARAM_OPERATION_ALL_LIST_TEMPLATE; - -/* Modify Operation Result Block Template Structure */ - -typedef struct _I2O_PARAM_MODIFY_OPERATION_RESULT { - U16 BlockSize; - U8 BlockStatus; - U8 ErrorInfoSize; - /* ErrorInformation (if any) */ -} I2O_PARAM_MODIFY_OPERATION_RESULT, *PI2O_PARAM_MODIFY_OPERATION_RESULT; - -/* Operation Template for Row Delete */ - -typedef struct _I2O_PARAM_OPERATION_ROW_DELETE_TEMPLATE { - U16 Operation; - U16 GroupNumber; - U16 RowCount; - U8 KeyValue; -} I2O_PARAM_OPERATION_ROW_DELETE_TEMPLATE, *PI2O_PARAM_OPERATION_ROW_DELETE_TEMPLATE; - -/* Operation Template for Table Clear */ - -typedef struct _I2O_PARAM_OPERATION_TABLE_CLEAR_TEMPLATE { - U16 Operation; - U16 GroupNumber; -} I2O_PARAM_OPERATION_TABLE_CLEAR_TEMPLATE, *PI2O_PARAM_OPERATION_TABLE_CLEAR_TEMPLATE; - -/* Status codes and Error Information for Parameter functions */ - -#define I2O_PARAMS_STATUS_SUCCESS 0x00 -#define I2O_PARAMS_STATUS_BAD_KEY_ABORT 0x01 -#define I2O_PARAMS_STATUS_BAD_KEY_CONTINUE 0x02 -#define I2O_PARAMS_STATUS_BUFFER_FULL 0x03 -#define I2O_PARAMS_STATUS_BUFFER_TOO_SMALL 0x04 -#define I2O_PARAMS_STATUS_FIELD_UNREADABLE 0x05 -#define I2O_PARAMS_STATUS_FIELD_UNWRITEABLE 0x06 -#define I2O_PARAMS_STATUS_INSUFFICIENT_FIELDS 0x07 -#define I2O_PARAMS_STATUS_INVALID_GROUP_ID 0x08 -#define I2O_PARAMS_STATUS_INVALID_OPERATION 0x09 -#define I2O_PARAMS_STATUS_NO_KEY_FIELD 0x0A -#define I2O_PARAMS_STATUS_NO_SUCH_FIELD 0x0B -#define I2O_PARAMS_STATUS_NON_DYNAMIC_GROUP 0x0C -#define I2O_PARAMS_STATUS_OPERATION_ERROR 0x0D -#define I2O_PARAMS_STATUS_SCALAR_ERROR 0x0E -#define I2O_PARAMS_STATUS_TABLE_ERROR 0x0F -#define I2O_PARAMS_STATUS_WRONG_GROUP_TYPE 0x10 - - -/****************************************************************************/ -/* GROUP Parameter Groups */ -/****************************************************************************/ - -/* GROUP Configuration and Operating Structures and Defines */ - -/* Groups Numbers */ - -#define I2O_UTIL_PARAMS_DESCRIPTOR_GROUP_NO 0xF000 -#define I2O_UTIL_PHYSICAL_DEVICE_TABLE_GROUP_NO 0xF001 -#define I2O_UTIL_CLAIMED_TABLE_GROUP_NO 0xF002 -#define I2O_UTIL_USER_TABLE_GROUP_NO 0xF003 -#define I2O_UTIL_PRIVATE_MESSAGE_EXTENSIONS_GROUP_NO 0xF005 -#define I2O_UTIL_AUTHORIZED_USER_TABLE_GROUP_NO 0xF006 -#define I2O_UTIL_DEVICE_IDENTITY_GROUP_NO 0xF100 -#define I2O_UTIL_DDM_IDENTITY_GROUP_NO 0xF101 -#define I2O_UTIL_USER_INFORMATION_GROUP_NO 0xF102 -#define I2O_UTIL_SGL_OPERATING_LIMITS_GROUP_NO 0xF103 -#define I2O_UTIL_SENSORS_GROUP_NO 0xF200 - -/* UTIL Group F000h - GROUP DESCRIPTORS Parameter Group */ - -#define I2O_UTIL_GROUP_PROPERTIES_GROUP_TABLE 0x01 -#define I2O_UTIL_GROUP_PROPERTIES_ROW_ADDITION 0x02 -#define I2O_UTIL_GROUP_PROPERTIES_ROW_DELETION 0x04 -#define I2O_UTIL_GROUP_PROPERTIES_CLEAR_OPERATION 0x08 - -typedef struct _I2O_UTIL_GROUP_DESCRIPTOR_TABLE { - U16 GroupNumber; - U16 FieldCount; - U16 RowCount; - U8 Properties; - U8 reserved; -} I2O_UTIL_GROUP_DESCRIPTOR_TABLE, *PI2O_UTIL_GROUP_DESCRIPTOR_TABLE; - -/* UTIL Group F001h - Physical Device Table Parameter Group */ - -typedef struct _I2O_UTIL_PHYSICAL_DEVICE_TABLE { - U32 AdapterID; -} I2O_UTIL_PHYSICAL_DEVICE_TABLE, *PI2O_UTIL_PHYSICAL_DEVICE_TABLE; - -/* UTIL Group F002h - Claimed Table Parameter Group */ - -typedef struct _I2O_UTIL_CLAIMED_TABLE { - U16 ClaimedTID; -} I2O_UTIL_CLAIMED_TABLE, *PI2O_UTIL_CLAIMED_TABLE; - -/* UTIL Group F003h - User Table Parameter Group */ - -typedef struct _I2O_UTIL_USER_TABLE { - U16 Instance; - U16 UserTID; - U8 ClaimType; - U8 reserved1; - U16 reserved2; -} I2O_UTIL_USER_TABLE, *PI2O_UTIL_USER_TABLE; - -/* UTIL Group F005h - Private Message Extensions Parameter Group */ - -typedef struct _I2O_UTIL_PRIVATE_MESSAGE_EXTENSIONS_TABLE { - U16 ExtInstance; - U16 OrganizationID; - U16 XFunctionCode; -} I2O_UTIL_PRIVATE_MESSAGE_EXTENSIONS_TABLE, *PI2O_UTIL_PRIVATE_MESSAGE_EXTENSIONS_TABLE; - -/* UTIL Group F006h - Authorized User Table Parameter Group */ - -typedef struct _I2O_UTIL_AUTHORIZED_USER_TABLE { - U16 AlternateTID; -} I2O_UTIL_AUTHORIZED_USER_TABLE, *PI2O_UTIL_AUTHORIZED_USER_TABLE; - -/* UTIL Group F100h - Device Identity Parameter Group */ - -typedef struct _I2O_UTIL_DEVICE_IDENTITY_SCALAR { - U32 ClassID; - U16 OwnerTID; - U16 ParentTID; - U8 VendorInfo[I2O_DEVID_VENDOR_INFO_SZ]; - U8 ProductInfo[I2O_DEVID_PRODUCT_INFO_SZ]; - U8 Description[I2O_DEVID_DESCRIPTION_SZ]; - U8 ProductRevLevel[I2O_DEVID_REV_LEVEL_SZ]; - U8 SNFormat; - U8 SerialNumber[I2O_MAX_SERIAL_NUMBER_SZ]; -} I2O_UTIL_DEVICE_IDENTITY_SCALAR, *PI2O_UTIL_DEVICE_IDENTITY_SCALAR; - -/* UTIL Group F101h - DDM Identity Parameter Group */ - -typedef struct _I2O_UTIL_DDM_IDENTITY_SCALAR { - U16 DdmTID; - U8 ModuleName[I2O_MODULE_NAME_SZ]; - U8 ModuleRevLevel[I2O_DEVID_REV_LEVEL_SZ]; - U8 SNFormat; - U8 SerialNumber[I2O_MAX_SERIAL_NUMBER_SZ]; -} I2O_UTIL_DDM_IDENTITY_SCALAR, *PI2O_UTIL_DDM_IDENTITY_SCALAR; - -/* UTIL Group F102h - User Information Parameter Group */ - -#define I2O_USER_DEVICE_NAME_SZ 64 -#define I2O_USER_SERVICE_NAME_SZ 64 -#define I2O_USER_PHYSICAL_LOCATION_SZ 64 - -typedef struct _I2O_UTIL_USER_INFORMATION_SCALAR { - U8 DeviceName[I2O_USER_DEVICE_NAME_SZ]; - U8 ServiceName[I2O_USER_SERVICE_NAME_SZ]; - U8 PhysicalLocation[I2O_USER_PHYSICAL_LOCATION_SZ]; - U32 InstanceNumber; -} I2O_UTIL_USER_INFORMATION_SCALAR, *PI2O_UTIL_USER_INFORMATION_SCALAR; - -/* UTIL Group F103h - SGL Operating Limits Parameter Group */ - -typedef struct _I2O_UTIL_SGL_OPERATING_LIMITS_SCALAR { - U32 SglChainSize; - U32 SglChainSizeMax; - U32 SglChainSizeTarget; - U16 SglFragCount; - U16 SglFragCountMax; - U16 SglFragCountTarget; -} I2O_UTIL_SGL_OPERATING_LIMITS_SCALAR, *PI2O_UTIL_SGL_OPERATING_LIMITS_SCALAR; - -/* UTIL Group F200h - Sensors Parameter Group */ - -#define I2O_SENSOR_COMPONENT_OTHER 0x00 -#define I2O_SENSOR_COMPONENT_PLANAR_LOGIC_BOARD 0x01 -#define I2O_SENSOR_COMPONENT_CPU 0x02 -#define I2O_SENSOR_COMPONENT_CHASSIS 0x03 -#define I2O_SENSOR_COMPONENT_POWER_SUPPLY 0x04 -#define I2O_SENSOR_COMPONENT_STORAGE 0x05 -#define I2O_SENSOR_COMPONENT_EXTERNAL 0x06 - -#define I2O_SENSOR_SENSOR_CLASS_ANALOG 0x00 -#define I2O_SENSOR_SENSOR_CLASS_DIGITAL 0x01 - -#define I2O_SENSOR_SENSOR_TYPE_OTHER 0x00 -#define I2O_SENSOR_SENSOR_TYPE_THERMAL 0x01 -#define I2O_SENSOR_SENSOR_TYPE_DC_VOLTAGE 0x02 -#define I2O_SENSOR_SENSOR_TYPE_AC_VOLTAGE 0x03 -#define I2O_SENSOR_SENSOR_TYPE_DC_CURRENT 0x04 -#define I2O_SENSOR_SENSOR_TYPE_AC_CURRENT 0x05 -#define I2O_SENSOR_SENSOR_TYPE_DOOR_OPEN 0x06 -#define I2O_SENSOR_SENSOR_TYPE_FAN_OPERATIONAL 0x07 - -#define I2O_SENSOR_SENSOR_STATE_NORMAL 0x00 -#define I2O_SENSOR_SENSOR_STATE_ABNORMAL 0x01 -#define I2O_SENSOR_SENSOR_STATE_UNKNOWN 0x02 -#define I2O_SENSOR_SENSOR_STATE_LOW_CAT 0x03 -#define I2O_SENSOR_SENSOR_STATE_LOW 0x04 -#define I2O_SENSOR_SENSOR_STATE_LOW_WARNING 0x05 -#define I2O_SENSOR_SENSOR_STATE_HIGH_WARNING 0x06 -#define I2O_SENSOR_SENSOR_STATE_HIGH 0x07 -#define I2O_SENSOR_SENSOR_STATE_HIGH_CAT 0x08 - -#define I2O_SENSOR_EVENT_ENABLE_STATE_CHANGE 0x0001 -#define I2O_SENSOR_EVENT_ENABLE_LOW_CATASTROPHIC 0x0002 -#define I2O_SENSOR_EVENT_ENABLE_LOW_READING 0x0004 -#define I2O_SENSOR_EVENT_ENABLE_LOW_WARNING 0x0008 -#define I2O_SENSOR_EVENT_ENABLE_CHANGE_TO_NORMAL 0x0010 -#define I2O_SENSOR_EVENT_ENABLE_HIGH_WARNING 0x0020 -#define I2O_SENSOR_EVENT_ENABLE_HIGH_READING 0x0040 -#define I2O_SENSOR_EVENT_ENABLE_HIGH_CATASTROPHIC 0x0080 - - -typedef struct _I2O_UTIL_SENSORS_TABLE { - U16 SensorInstance; - U8 Component; - U16 ComponentInstance; - U8 SensorClass; - U8 SensorType; - S8 ScalingExponent; - S32 ActualReading; - S32 MinimumReading; - S32 Low2LowCatThreshold; - S32 LowCat2LowThreshold; - S32 LowWarn2LowThreshold; - S32 Low2LowWarnThreshold; - S32 Norm2LowWarnThreshold; - S32 LowWarn2NormThreshold; - S32 NominalReading; - S32 HiWarn2NormThreshold; - S32 Norm2HiWarnThreshold; - S32 High2HiWarnThreshold; - S32 HiWarn2HighThreshold; - S32 HiCat2HighThreshold; - S32 Hi2HiCatThreshold; - S32 MaximumReading; - U8 SensorState; - U16 EventEnable; -} I2O_UTIL_SENSORS_TABLE, *PI2O_UTIL_SENSORS_TABLE; - - -PRAGMA_PACK_POP - -PRAGMA_ALIGN_POP - -#endif /* I2O_MESSAGE_HDR */ Property changes on: head/sys/dev/asr/i2omsg.h ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: head/sys/dev/asr/i2odep.h =================================================================== --- head/sys/dev/asr/i2odep.h (revision 276525) +++ head/sys/dev/asr/i2odep.h (nonexistent) @@ -1,1299 +0,0 @@ -/*- - **************************************************************************** - * - * Copyright (c) 1996-2000 Distributed Processing Technology Corporation - * Copyright (c) 2000 Adaptec Corporation. - * All rights reserved. - * - * Copyright (c) 1998 I2O Special Interest Group (I2O SIG) - * All rights reserved - * - * Redistribution and use in source form, with or without modification, are - * permitted provided that redistributions of source code must retain the - * above copyright notice, this list of conditions and the following disclaimer. - * - * This software is provided `as is' by Distributed Processing Technology and - * any express or implied warranties, including, but not limited to, the - * implied warranties of merchantability and fitness for a particular purpose, - * are disclaimed. In no event shall Distributed Processing Technology be - * liable for any direct, indirect, incidental, special, exemplary or - * consequential damages (including, but not limited to, procurement of - * substitute goods or services; loss of use, data, or profits; or business - * interruptions) however caused and on any theory of liability, whether in - * contract, strict liability, or tort (including negligence or otherwise) - * arising in any way out of the use of this driver software, even if advised - * of the possibility of such damage. - * - * This information is provided on an as-is basis without warranty of any - * kind, either express or implied, including but not limited to, implied - * warranties or merchantability and fitness for a particular purpose. I2O SIG - * does not warrant that this program will meet the user's requirements or - * that the operation of these programs will be uninterrupted or error-free. - * The I2O SIG disclaims all liability, including liability for infringement - * of any proprietary rights, relating to implementation of information in - * this specification. The I2O SIG does not warrant or represent that such - * implementations(s) will not infringe such rights. Acceptance and use of - * this program constitutes the user's understanding that he will have no - * recourse to I2O SIG for any actual or consequential damages including, but - * not limited to, loss profits arising out of use or inability to use this - * program. - * - * This information is provided for the purpose of recompilation of the - * driver code provided by Distributed Processing Technology only. It is - * NOT to be used for any other purpose. - * - * To develop other products based upon I2O definitions, it is necessary to - * become a "Registered Developer" of the I2O SIG. This can be done by calling - * 415-750-8352 in the US, or via http://www.i2osig.org. - * - * $FreeBSD$ - * - **************************************************************************/ - -/* - * This template provides place holders for architecture and compiler - * dependencies. It should be filled in and renamed as i2odep.h. - * i2odep.h is included by i2otypes.h. marks the places to fill. - */ - -#ifndef __INCi2odeph -#define __INCi2odeph - -#define I2ODEP_REV 1_5_4 - -/* - * Pragma macros. These are to assure appropriate alignment between - * host/IOP as defined by the I2O Specification. Each one of the shared - * header files includes these macros. - */ - -#define PRAGMA_ALIGN_PUSH -#define PRAGMA_ALIGN_POP -#define PRAGMA_PACK_PUSH -#define PRAGMA_PACK_POP - -/* Setup the basics */ - -typedef signed char S8; -typedef signed short S16; - -typedef unsigned char U8; -typedef unsigned short U16; - -typedef u_int32_t U32; -typedef int32_t S32; - - -/* Bitfields */ - -#if (defined(__BORLANDC__)) -typedef U16 BF; -#else -typedef U32 BF; -#endif - - -/* VOID */ - -#ifndef __VOID -#if (defined(_DPT_ARC)) -# define VOID void -#else - typedef void VOID; -#endif -#define __VOID -#endif - - -/* Boolean */ - -#ifndef __BOOL -#define __BOOL - -typedef unsigned char BOOL; -#endif - -#if !defined(__FAR__) -# if defined(__BORLANDC__) -# define __FAR__ far -# else -# define __FAR__ -# endif -#endif - -/* NULL */ - -#if !defined(NULL) -# define NULL ((VOID __FAR__ *)0L) -#endif - - -#if defined(__SPARC__) || defined(__linux__) -typedef char CHAR; -typedef char *pCHAR; -typedef char INT8; -typedef char *pINT8; -typedef unsigned char UINT8; -typedef unsigned char *pUINT8; -typedef short INT16; -typedef short *pINT16; -typedef unsigned short UINT16; -typedef unsigned short *pUINT16; -typedef long INT32; -typedef long *pINT32; -typedef unsigned long UINT32; -typedef unsigned long *pUINT32; -/* typedef SCSI_REQUEST_BLOCK OS_REQUEST_T; */ -/* typedef PSCSI_REQUEST_BLOCK pOS_REQUEST_T; */ -#define STATIC static -#ifndef __NEAR__ -# if (defined(__BORLANDC__)) -# define __NEAR__ near -# else -# define __NEAR__ -# endif -#endif -#define pVOID void * -#define pBOOLEAN BOOLEAN * -#endif - - -/* - * Copyright (c) 1996-2000 Distributed Processing Technology Corporation - * Copyright (c) 2000 Adaptec Corporation. - * All rights reserved. - */ -/* - * Define some generalized portability macros - * These macros follow the following parameterization: - * _F_getXXX(pointer,primaryElement<,offset>,referredElement) - * _F_setXXX(pointer,primaryElement<,offset>,referredElement,newValue) - * These parameters are shortened to u, w, x, y and z to reduce clutter. - */ -#if (defined(__BORLANDC__)) -# define I2O_TID_MASK ((U16)((1L<x))) & I2O_TID_MASK) -# define _F_setTID(w,x,y,z) (*((U16 __FAR__ *)(&((w)->x)))\ - &= 0xFFFF - I2O_TID_MASK);\ - (*((U16 __FAR__ *)(&((w)->x)))\ - |=(U16)(z)&I2O_TID_MASK) -/* Seconds 12 bits (optimized with the assumption of 12 & 12) */ -# define _F_getTID1(w,x,y) ((*(U16 __FAR__ *)(((U8 __FAR__ *)(&((w)->x)))\ - + (I2O_TID_SZ/8)))\ - >> (I2O_TID_SZ-((I2O_TID_SZ/8)*8))) -# define _F_setTID1(w,x,y,z) ((*((U16 __FAR__ *)(((U8 __FAR__ *)(&((w)->x)))\ - + (I2O_TID_SZ/8)))) &= (0xFFFF >> I2O_TID_SZ));\ - ((*((U16 __FAR__ *)(((U8 __FAR__ *)(&((w)->x)))\ - + (I2O_TID_SZ/8)))) |= (z)\ - << (I2O_TID_SZ-((I2O_TID_SZ/8)*8))) -/* Last 8 bits */ -# define _F_getFunc(w,x,y) (*(((U8 __FAR__ *)(&((w)->x)))\ - + ((I2O_TID_SZ+I2O_TID_SZ)/8))) -# define _F_setFunc(w,x,y,z) (_F_getFunc(w,x,y) = (z)) -# define I2O_SG_COUNT_MASK ((U32)((1L<x)))&I2O_SG_COUNT_MASK) -/* - * The following is less efficient because of compiler inefficiencies: - * - * # define _F_setCount(w,x,y,z) *((U16 __FAR__ *)(&((w)->x))) = (U16)(z);\ - * ((U8 __FAR__ *)(&((w)->x)))[2]= (U8)((z)>>16L) - * - * so we will use the apparently more code intensive: - */ -# define _F_setCount(w,x,y,z) (*((U32 __FAR__ *)(&((w)->x)))\ - &= 0xFFFFFFFFL - I2O_SG_COUNT_MASK);\ - (*((U32 __FAR__ *)(&((w)->x)))\ - |= (z) & I2O_SG_COUNT_MASK) -/* Last 8 bits */ -# define _F_getFlags(w,x,y) (*(((U8 __FAR__ *)(&((w)->x)))\ - + (I2O_SG_COUNT_SZ/8))) -# define _F_setFlags(w,x,y,z) (_F_getFlags(w,x,y) = (z)) -/* Other accesses that are simpler */ -# define _F_get1bit(w,x,y,z) ((U8)((w)->z)) -# define _F_set1bit(w,x,y,z,u) ((w)->z = (u)) -# define _F_get1bit1(w,x,y,z) ((U8)((w)->z)) -# define _F_set1bit1(w,x,y,z,u) ((w)->z = (u)) -# define _F_get4bit4(w,x,y,z) ((U8)((w)->z)) -# define _F_set4bit4(w,x,y,z,u) ((w)->z = (u)) -# define _F_get8bit(w,x,y,z) ((U8)((w)->z)) -# define _F_set8bit(w,x,y,z,u) ((w)->z = (u)) -# define _F_get12bit(w,x,y,z) ((U16)((w)->z)) -# define _F_set12bit(w,x,y,z,u) ((w)->z = (u)) -# define _F_get12bit4(w,x,y,z) ((U16)((w)->z)) -# define _F_set12bit4(w,x,y,z,u) ((w)->z = (u)) -# define _F_get16bit(w,x,y,z) ((U16)((w)->z)) -# define _F_set16bit(w,x,y,z,u) ((w)->z = (u)) -#elif (defined(_DPT_BIG_ENDIAN)) -/* First 12 bits */ -# define _F_getTID(w,x,y) getL12bit(w,x,0) -# define _F_setTID(w,x,y,z) setL12bit(w,x,0,z) -# define _F_getTID1(w,x,y) getL12bit1(w,x,0) -# define _F_setTID1(w,x,y,z) setL12bit1(w,x,0,z) -# define _F_getFunc(w,x,y) getL8bit(w,x,3) -# define _F_setFunc(w,x,y,z) setL8bit(w,x,3,z) -# define _F_getCount(w,x,y) getL24bit1(w,x,0) -# define _F_setCount(w,x,y,z) setL24bit1(w,x,0,z) -# define _F_getFlags(w,x,y) getL8bit(w,x,3) -# define _F_setFlags(w,x,y,z) setL8bit(w,x,3,z) -/* Other accesses that are simpler */ -# define _F_get1bit(w,x,y,z) getL1bit(w,x,y) -# define _F_set1bit(w,x,y,z,u) setL1bit(w,x,y,u) -# define _F_get1bit1(w,x,y,z) getL1bit1(w,x,y) -# define _F_set1bit1(w,x,y,z,u) setL1bit1(w,x,y,u) -# define _F_get4bit4(w,x,y,z) getL4bit(w,x,y) -# define _F_set4bit4(w,x,y,z,u) setL4bit(w,x,y,u) -# define _F_get8bit(w,x,y,z) getL8bit(w,x,y) -# define _F_set8bit(w,x,y,z,u) setL8bit(w,x,y,u) -# define _F_get12bit(w,x,y,z) getL12bit(w,x,y) -# define _F_set12bit(w,x,y,z,u) setL12bit(w,x,y,z) -# define _F_get12bit4(w,x,y,z) getL12bit1(w,x,(y)-1) -# define _F_set12bit4(w,x,y,z,u) setL12bit1(w,x,(y)-1,u) -# define _F_get16bit(w,x,y,z) getL16bit(w,x,y) -# define _F_set16bit(w,x,y,z,u) setL16bit(w,x,y,u) -#else -# define _F_getTID(w,x,y) ((U16)((w)->y)) -# define _F_setTID(w,x,y,z) ((w)->y = (z)) -# define _F_getTID1(w,x,y) ((U16)((w)->y)) -# define _F_setTID1(w,x,y,z) ((w)->y = (z)) -# define _F_getFunc(w,x,y) ((U8)((w)->y)) -# define _F_setFunc(w,x,y,z) ((w)->y = (z)) -# define _F_getCount(w,x,y) ((U32)((w)->y)) -# define _F_setCount(w,x,y,z) ((w)->y = (z)) -# define _F_getFlags(w,x,y) ((U8)((w)->y)) -# define _F_setFlags(w,x,y,z) ((w)->y = (z)) -# define _F_get1bit(w,x,y,z) ((U8)((w)->z)) -# define _F_set1bit(w,x,y,z,u) ((w)->z = (u)) -# define _F_get1bit1(w,x,y,z) ((U8)((w)->z)) -# define _F_set1bit1(w,x,y,z,u) ((w)->z = (u)) -# define _F_get4bit4(w,x,y,z) ((U8)((w)->z)) -# define _F_set4bit4(w,x,y,z,u) ((w)->z = (u)) -# define _F_get8bit(w,x,y,z) ((U8)((w)->z)) -# define _F_set8bit(w,x,y,z,u) ((w)->z = (u)) -# define _F_get12bit(w,x,y,z) ((U16)((w)->z)) -# define _F_set12bit(w,x,y,z,u) ((w)->z = (u)) -# define _F_get12bit4(w,x,y,z) ((U16)((w)->z)) -# define _F_set12bit4(w,x,y,z,u) ((w)->z = (u)) -# define _F_get16bit(w,x,y,z) ((U16)((w)->z)) -# define _F_set16bit(w,x,y,z,u) ((w)->z = (u)) -#endif - -/* - * Define some specific portability macros - * These macros follow the following parameterization: - * XXX_getYYY (pointer) - * XXX_setYYY (pointer, newValue) - * These parameters are shortened to x and y to reduce clutter. - */ - -/* - * General SGE - */ -#define I2O_FLAGS_COUNT_getCount(x) _F_getCount(x,Count,Count) -#define I2O_FLAGS_COUNT_setCount(x,y) _F_setCount(x,Count,Count,y) -#define I2O_FLAGS_COUNT_getFlags(x) _F_getFlags(x,Count,Flags) -#define I2O_FLAGS_COUNT_setFlags(x,y) _F_setFlags(x,Count,Flags,y) - -/* - * I2O_SGE_SIMPLE_ELEMENT - */ -#define I2O_SGE_SIMPLE_ELEMENT_getPhysicalAddress(x) \ - getLU4((&(x)->PhysicalAddress),0) -#define I2O_SGE_SIMPLE_ELEMENT_setPhysicalAddress(x,y) \ - setLU4((&(x)->PhysicalAddress),0,y) -/* - * I2O_SGE_LONG_TRANSACTION_ELEMENT - */ -#define I2O_SGE_LONG_TRANSACTION_ELEMENT_getLongElementLength(x)\ - _F_getCount(x,LongElementLength,LongElementLength) -#define I2O_SGE_LONG_TRANSACTION_ELEMENT_setLongElementLength(x,y)\ - _F_setCount(x,LongElementLength,LongElementLength,y) -#define I2O_SGE_LONG_TRANSACTION_ELEMENT_getFlags(x)\ - _F_getFlags(x,LongElementLength,Flags) -#define I2O_SGE_LONG_TRANSACTION_ELEMENT_setFlags(x,y)\ - _F_setFlags(x,LongElementLength,Flags,y) - -/* - * I2O_SGE_LONG_TRANSPORT_ELEMENT - */ -#define I2O_SGE_LONG_TRANSPORT_ELEMENT_getLongElementLength(x)\ - _F_getCount(x,LongElementLength,LongElementLength) -#define I2O_SGE_LONG_TRANSPORT_ELEMENT_setLongElementLength(x,y)\ - _F_setCount(x,LongElementLength,LongElementLength,y) -#define I2O_SGE_LONG_TRANSPORT_ELEMENT_getFlags(x)\ - _F_getFlags(x,LongElementLength,Flags) -#define I2O_SGE_LONG_TRANSPORT_ELEMENT_setFlags(x,y)\ - _F_setFlags(x,LongElementLength,Flags,y) - -/* - * I2O_EXEC_ADAPTER_ASSIGN_MESSAGE - */ -#define I2O_EXEC_ADAPTER_ASSIGN_MESSAGE_getDdmTID(x)\ - _F_getTID(x,DdmTID,DdmTID) -#define I2O_EXEC_ADAPTER_ASSIGN_MESSAGE_setDdmTID(x,y)\ - _F_setTID(x,DDdmTID,DdmTID,y) -#define I2O_EXEC_ADAPTER_ASSIGN_MESSAGE_getOperationFlags(x)\ - _F_getFunc(x,DdmTID,OperationFlags) -#define I2O_EXEC_ADAPTER_ASSIGN_MESSAGE_setOperationFlags(x,y)\ - _F_setFunc(x,DdmTID,OperationFlags,y) - -/* - * I2O_EXEC_BIOS_INFO_SET_MESSAGE - */ -#define I2O_EXEC_BIOS_INFO_SET_MESSAGE_getDeviceTID(x)\ - _F_getTID(x,DeviceTID,DeviceTID) -#define I2O_EXEC_BIOS_INFO_SET_MESSAGE_setDeviceTID(x,y)\ - _F_setTID(x,DeviceTID,DeviceTID,y) -#define I2O_EXEC_BIOS_INFO_SET_MESSAGE_getBiosInfo(x)\ - _F_getFunc(x,DeviceTID,BiosInfo) -#define I2O_EXEC_BIOS_INFO_SET_MESSAGE_setBiosInfo(x,y) \ - _F_setFunc(x,DeviceTID,BiosInfo,y) - -/* - * I2O_ALIAS_CONNECT_SETUP - */ -#define I2O_ALIAS_CONNECT_SETUP_getIOP1AliasForTargetDevice(x)\ - _F_getTID(x,IOP1AliasForTargetDevice,IOP1AliasForTargetDevice) -#define I2O_ALIAS_CONNECT_SETUP_setIOP1AliasForTargetDevice(x,y)\ - _F_setTID(x,IOP1AliasForTargetDevice,IOP1AliasForTargetDevice,y) -#define I2O_ALIAS_CONNECT_SETUP_getIOP2AliasForInitiatorDevice(x)\ - _F_getTID1(x,IOP1AliasForTargetDevice,IOP2AliasForInitiatorDevice) -#define I2O_ALIAS_CONNECT_SETUP_setIOP2AliasForInitiatorDevice(x,y)\ - _F_setTID1(x,IOP1AliasForTargetDevice,IOP2AliasForInitiatorDevice,y) - -/* - * I2O_OBJECT_CONNECT_SETUP - */ -#define I2O_OBJECT_CONNECT_SETUP_getTargetDevice(x)\ - _F_getTID(x,TargetDevice,TargetDevice) -#define I2O_OBJECT_CONNECT_SETUP_setTargetDevice(x,y)\ - _F_setTID(x,TargetDevice,TargetDevice,y) -#define I2O_OBJECT_CONNECT_SETUP_getInitiatorDevice(x)\ - _F_getTID1(x,TargetDevice,InitiatorDevice) -#define I2O_OBJECT_CONNECT_SETUP_setInitiatorDevice(x,y)\ - _F_setTID1(x,TargetDevice,InitiatorDevice,y) -#define I2O_OBJECT_CONNECT_SETUP_getOperationFlags(x)\ - _F_getFunc(x,TargetDevice,OperationFlags) -#define I2O_OBJECT_CONNECT_SETUP_setOperationFlags(x,y)\ - _F_setFunc(x,TargetDevice,OperationFlags,y) - -/* - * I2O_OBJECT_CONNECT_REPLY - */ -#define I2O_OBJECT_CONNECT_REPLY_getTargetDevice(x)\ - _F_getTID(x,TargetDevice,TargetDevice) -#define I2O_OBJECT_CONNECT_REPLY_setTargetDevice(x,y)\ - _F_setTID(x,TargetDevice,TargetDevice,y) -#define I2O_OBJECT_CONNECT_REPLY_getInitiatorDevice(x)\ - _F_getTID1(x,TargetDevice,InitiatorDevice) -#define I2O_OBJECT_CONNECT_REPLY_setInitiatorDevice(x,y)\ - _F_setTID1(x,TargetDevice,InitiatorDevice,y) -#define I2O_OBJECT_CONNECT_REPLY_getReplyStatusCode(x)\ - _F_getFunc(x,TargetDevice,ReplyStatusCode) -#define I2O_OBJECT_CONNECT_REPLY_setReplyStatusCode(x,y)\ - _F_setFunc(x,TargetDevice,ReplyStatusCode,y) - -/* - * I2O_EXEC_DEVICE_ASSIGN_MESSAGE - */ -#define I2O_EXEC_DEVICE_ASSIGN_MESSAGE_getDeviceTID(x)\ - _F_getTID(x,Object.DeviceTID,Object.DeviceTID) -#define I2O_EXEC_DEVICE_ASSIGN_MESSAGE_setDeviceTID(x,y)\ - _F_setTID(x,Object.DeviceTID,Object.DeviceTID,y) -#define I2O_EXEC_DEVICE_ASSIGN_MESSAGE_getIOP_ID(x)\ - _F_getTID1(x,Object.DeviceTID,Object.IOP_ID) -#define I2O_EXEC_DEVICE_ASSIGN_MESSAGE_setIOP_ID(x,y)\ - _F_setTID1(x,Object.DeviceTID,Object.IOP_ID,y) -#define I2O_EXEC_DEVICE_ASSIGN_MESSAGE_getOperationFlags(x)\ - _F_getFunc(x,Object.DeviceTID,Object.OperationFlags) -#define I2O_EXEC_DEVICE_ASSIGN_MESSAGE_setOperationFlags(x,y)\ - _F_setFunc(x,Object.DeviceTID,Object.OperationFlags,y) - -/* - * I2O_EXEC_DEVICE_RELEASE_MESSAGE - */ -#define I2O_EXEC_DEVICE_RELEASE_MESSAGE_getDeviceTID(x)\ - _F_getTID(x,Object.DeviceTID,Object.DeviceTID) -#define I2O_EXEC_DEVICE_RELEASE_MESSAGE_setDeviceTID(x,y)\ - _F_setTID(x,Object.DeviceTID,Object.DeviceTID,y) -#define I2O_EXEC_DEVICE_RELEASE_MESSAGE_getIOP_ID(x)\ - _F_getTID1(x,Object.DeviceTID,Object.IOP_ID) -#define I2O_EXEC_DEVICE_RELEASE_MESSAGE_setIOP_ID(x,y)\ - _F_setTID1(x,Object.DeviceTID,Object.IOP_ID,y) -#define I2O_EXEC_DEVICE_RELEASE_MESSAGE_getOperationFlags(x)\ - _F_getFunc(x,Object.DeviceTID,Object.OperationFlags) -#define I2O_EXEC_DEVICE_RELEASE_MESSAGE_setOperationFlags(x,y)\ - _F_setFunc(x,Object.DeviceTID,Object.OperationFlags,y) - -/* - * I2O_EXEC_IOP_RESET_MESSAGE - */ -#define I2O_EXEC_IOP_RESET_MESSAGE_getTargetAddress(x)\ - _F_getTID(x,TargetAddress,TargetAddress) -#define I2O_EXEC_IOP_RESET_MESSAGE_setTargetAddress(x,y)\ - _F_setTID(x,TargetAddress,TargetAddress,y) -#define I2O_EXEC_IOP_RESET_MESSAGE_getInitiatorAddress(x)\ - _F_getTID1(x,TargetAddress,InitiatorAddress) -#define I2O_EXEC_IOP_RESET_MESSAGE_setInitiatorAddress(x,y)\ - _F_setTID1(x,TargetAddress,InitiatorAddress,y) -#define I2O_EXEC_IOP_RESET_MESSAGE_getFunction(x)\ - _F_getFunc(x,TargetAddress,Function) -#define I2O_EXEC_IOP_RESET_MESSAGE_setFunction(x,y)\ - _F_setFunc(x,TargetAddress,Function,y) -#define I2O_EXEC_IOP_RESET_MESSAGE_getVersionOffset(x)\ - getU1((&(x)->VersionOffset),0) -#define I2O_EXEC_IOP_RESET_MESSAGE_setVersionOffset(x,y)\ - setU1((&(x)->VersionOffset),0,y) -#define I2O_EXEC_IOP_RESET_MESSAGE_getMsgFlags(x)\ - getU1((&(x)->VersionOffset),1) -#define I2O_EXEC_IOP_RESET_MESSAGE_setMsgFlags(x,y)\ - setU1((&(x)->VersionOffset),1,y) -#define I2O_EXEC_IOP_RESET_MESSAGE_getMessageSize(x)\ - getLU2((&(x)->VersionOffset),2) -#define I2O_EXEC_IOP_RESET_MESSAGE_setMessageSize(x,y)\ - setLU2((&(x)->VersionOffset),2,y) -#define I2O_EXEC_IOP_RESET_MESSAGE_getStatusWordLowAddress(x)\ - getLU4((&(x)->StatusWordLowAddress),0) -#define I2O_EXEC_IOP_RESET_MESSAGE_setStatusWordLowAddress(x,y)\ - setLU4((&(x)->StatusWordLowAddress),0,y) -#define I2O_EXEC_IOP_RESET_MESSAGE_getStatusWordHighAddress(x)\ - getLU4((&(x)->StatusWordHighAddress),0) -#define I2O_EXEC_IOP_RESET_MESSAGE_setStatusWordHighAddress(x,y)\ - setLU4((&(x)->StatusWordHighAddress),0,y) - - -/* - * I2O_EXEC_STATUS_GET_MESSAGE - */ -#define I2O_EXEC_STATUS_GET_MESSAGE_getVersionOffset(x)\ - getU1((&(x)->VersionOffset),0) -#define I2O_EXEC_STATUS_GET_MESSAGE_setVersionOffset(x,y)\ - setU1((&(x)->VersionOffset),0,y) -#define I2O_EXEC_STATUS_GET_MESSAGE_getMsgFlags(x)\ - getU1((&(x)->VersionOffset),1) -#define I2O_EXEC_STATUS_GET_MESSAGE_setMsgFlags(x,y)\ - setU1((&(x)->VersionOffset),1,y) -#define I2O_EXEC_STATUS_GET_MESSAGE_getMessageSize(x)\ - getLU2((&(x)->VersionOffset),2) -#define I2O_EXEC_STATUS_GET_MESSAGE_setMessageSize(x,y)\ - setLU2((&(x)->VersionOffset),2,y) -#define I2O_EXEC_STATUS_GET_MESSAGE_getReplyBufferAddressLow(x)\ - getLU4((&(x)->ReplyBufferAddressLow),0) -#define I2O_EXEC_STATUS_GET_MESSAGE_setReplyBufferAddressLow(x,y)\ - setLU4((&(x)->ReplyBufferAddressLow),0,y) -#define I2O_EXEC_STATUS_GET_MESSAGE_getReplyBufferAddressHigh(x)\ - getLU4((&(x)->ReplyBufferAddressHigh),0) -#define I2O_EXEC_STATUS_GET_MESSAGE_setReplyBufferAddressHigh(x,y)\ - setLU4((&(x)->ReplyBufferAddressHigh),0,y) -#define I2O_EXEC_STATUS_GET_MESSAGE_getReplyBufferLength(x)\ - getLU4((&(x)->ReplyBufferLength),0) -#define I2O_EXEC_STATUS_GET_MESSAGE_setReplyBufferLength(x,y)\ - setLU4((&(x)->ReplyBufferLength),0,y) -#define I2O_EXEC_STATUS_GET_MESSAGE_getTargetAddress(x)\ - _F_getTID(x,TargetAddress,TargetAddress) -#define I2O_EXEC_STATUS_GET_MESSAGE_setTargetAddress(x,y)\ - _F_setTID(x,TargetAddress,TargetAddress,y) -#define I2O_EXEC_STATUS_GET_MESSAGE_getInitiatorAddress(x)\ - _F_getTID1(x,TargetAddress,InitiatorAddress) -#define I2O_EXEC_STATUS_GET_MESSAGE_setInitiatorAddress(x,y)\ - _F_setTID1(x,TargetAddress,InitiatorAddress,y) -#define I2O_EXEC_STATUS_GET_MESSAGE_getFunction(x)\ - _F_getFunc(x,TargetAddress,Function) -#define I2O_EXEC_STATUS_GET_MESSAGE_setFunction(x,y)\ - _F_setFunc(x,TargetAddress,Function,y) - -/* - * I2O_MESSAGE_FRAME - */ -#define I2O_MESSAGE_FRAME_getVersionOffset(x)\ - getU1((&((x)->VersionOffset)),0) -#define I2O_MESSAGE_FRAME_setVersionOffset(x,y)\ - setU1(((&(x)->VersionOffset)),0,y) -#define I2O_MESSAGE_FRAME_getMsgFlags(x)\ - getU1((&((x)->VersionOffset)),1) -#define I2O_MESSAGE_FRAME_setMsgFlags(x,y)\ - setU1((&((x)->VersionOffset)),1,y) -#define I2O_MESSAGE_FRAME_getMessageSize(x)\ - getLU2((&((x)->VersionOffset)),2) -#define I2O_MESSAGE_FRAME_setMessageSize(x,y)\ - setLU2((&((x)->VersionOffset)),2,y) -#define I2O_MESSAGE_FRAME_getTargetAddress(x)\ - _F_getTID(x,TargetAddress,TargetAddress) -#define I2O_MESSAGE_FRAME_setTargetAddress(x,y)\ - _F_setTID(x,TargetAddress,TargetAddress,y) -#define I2O_MESSAGE_FRAME_getInitiatorAddress(x)\ - _F_getTID1(x,TargetAddress,InitiatorAddress) -#define I2O_MESSAGE_FRAME_setInitiatorAddress(x,y)\ - _F_setTID1(x,TargetAddress,InitiatorAddress,y) -#define I2O_MESSAGE_FRAME_getFunction(x)\ - _F_getFunc(x,TargetAddress,Function) -#define I2O_MESSAGE_FRAME_setFunction(x,y)\ - _F_setFunc(x,TargetAddress,Function,y) -/* 32 bit only for now */ -#define I2O_MESSAGE_FRAME_getInitiatorContext(x)\ - (x)->InitiatorContext -#define I2O_MESSAGE_FRAME_setInitiatorContext(x,y)\ - ((x)->InitiatorContext = (y)) -/* - * We are spilling the 64 bit Context field into the Transaction - * context of the specific frames. Synchronous commands (resetIop - * et al) do not have this field, so beware. Also, Failed Reply frames - * can not contain the 64 bit context, the software must reference - * the PreservedMFA and pick up the 64 bit context from the incoming - * message frame. The software must make no reference to the - * TransactionContext field at all. - */ -#if defined(_MSC_VER) && _MSC_VER >= 800 -#ifndef u_int64_t -#define u_int64_t unsigned __int64 -#endif -#endif -#define I2O_MESSAGE_FRAME_getInitiatorContext64(x)\ - (*((u_int64_t *)(&((x)->InitiatorContext)))) -#define I2O_MESSAGE_FRAME_setInitiatorContext64(x,y)\ - ((*((u_int64_t *)(&((x)->InitiatorContext))))=(y)) - -/* - * I2O_EXEC_OUTBOUND_INIT_MESSAGE - */ -#define I2O_EXEC_OUTBOUND_INIT_MESSAGE_getHostPageFrameSize(x)\ - getLU4((&(x)->HostPageFrameSize),0) -#define I2O_EXEC_OUTBOUND_INIT_MESSAGE_setHostPageFrameSize(x,y)\ - setLU4((&(x)->HostPageFrameSize),0,y) -#define I2O_EXEC_OUTBOUND_INIT_MESSAGE_getInitCode(x)\ - getU1((&(x)->InitCode),0) -#define I2O_EXEC_OUTBOUND_INIT_MESSAGE_setInitCode(x,y)\ - setU1((&(x)->InitCode),0,y) -#define I2O_EXEC_OUTBOUND_INIT_MESSAGE_getreserved(x)\ - getU1((&(x)->reserved),0) -#define I2O_EXEC_OUTBOUND_INIT_MESSAGE_setreserved(x,y)\ - setU1((&(x)->reserved),0,y) -#define I2O_EXEC_OUTBOUND_INIT_MESSAGE_getOutboundMFrameSize(x)\ - getLU2((&(x)->OutboundMFrameSize),0) -#define I2O_EXEC_OUTBOUND_INIT_MESSAGE_setOutboundMFrameSize(x,y)\ - setLU2((&(x)->OutboundMFrameSize),0,y) - -/* - * I2O_EXEC_SYS_TAB_SET_MESSAGE - */ -#define I2O_EXEC_SYS_TAB_SET_MESSAGE_getIOP_ID(x)\ - _F_get12bit(x,IOP_ID,IOP_ID) -#define I2O_EXEC_SYS_TAB_SET_MESSAGE_setIOP_ID(x,y)\ - _F_set12bit(x,IOP_ID,IOP_ID,y) -/* #define I2O_EXEC_SYS_TAB_SET_MESSAGE_getreserved1(x) */ -#define I2O_EXEC_SYS_TAB_SET_MESSAGE_getHostUnitID(x)\ - _F_get16bit(x,IOP_ID,2,HostUnitID) -#define I2O_EXEC_SYS_TAB_SET_MESSAGE_setHostUnitID(x,y)\ - _F_set16bit(x,IOP_ID,2,HostUnitID,y) -#define I2O_EXEC_SYS_TAB_SET_MESSAGE_getSegmentNumber(x)\ - _F_get12bit(x,SegmentNumber,SegmentNumber) -#define I2O_EXEC_SYS_TAB_SET_MESSAGE_setSegmentNumber(x,y)\ - _F_get12bit(x,SegmentNumber,SegmentNumber,y) - -/* later - * I2O_EXEC_SYS_ENABLE_MESSAGE - */ - -/* - * I2O_CLASS_ID - */ -#define I2O_CLASS_ID_getClass(x)\ - _F_get12bit(x,Class,0,Class) -#define I2O_CLASS_ID_setClass(x,y)\ - _F_set12bit(x,Class,0,Class,y) -#define I2O_CLASS_ID_getVersion(x)\ - _F_get4bit4(x,Class,1,Version) -#define I2O_CLASS_ID_setVersion(x,y)\ - _F_set4bit4(x,Class,1,Version,y) -#define I2O_CLASS_ID_getOrganizationID(x)\ - _F_get16bit(x,Class,2,OrganizationID) -#define I2O_CLASS_ID_setOrganizationID(x,y)\ - _F_set16bit(x,Class,2,OrganizationID,y) - -/* - * I2O_SET_SYSTAB_HEADER - */ -#define I2O_SET_SYSTAB_HEADER_getNumberEntries(x)\ - getU1((&((x)->NumberEntries)),0) -#define I2O_SET_SYSTAB_HEADER_setNumberEntries(x,y)\ - setU1((&(x)->NumberEntries),0,y) -#define I2O_SET_SYSTAB_HEADER_getSysTabVersion(x)\ - getU1((&((x)->SysTabVersion)),0) -#define I2O_SET_SYSTAB_HEADER_setSysTabVersion(x,y)\ - setU1((&(x)->SysTabVersion),0,y) -/* U16 reserved */ -/* U32 CurrentChangeIndicator */ - - - - -/* - * I2O_IOP_ENTRY - */ -#define I2O_IOP_ENTRY_getOrganizationID(x)\ - getLU2((&((x)->OrganizationID)),0) -#define I2O_IOP_ENTRY_setOrganizationID(x,y)\ - setLU2((&((x)->OrganizationID)),0,y) -/* #define I2O_IOP_ENTRY_getreserved U16; */ -#define I2O_IOP_ENTRY_getIOP_ID(x)\ - _F_get12bit(x,IOP_ID,0,IOP_ID) -#define I2O_IOP_ENTRY_setIOP_ID(x,y)\ - _F_set12bit(x,IOP_ID,0,IOP_ID,y) -/* BF reserved3:I2O_RESERVED_4BITS; */ -/* BF reserved1:I2O_RESERVED_16BITS; */ -#define I2O_IOP_ENTRY_getSegmentNumber(x)\ - _F_get12bit(x,SegmentNumber,0,SegmentNumber) -#define I2O_IOP_ENTRY_setSegmentNumber(x,y)\ - _F_set12bit(x,SegmentNumber,0,SegmentNumber,y) -#define I2O_IOP_ENTRY_getI2oVersion(x)\ - _F_get4bit4(x,SegmentNumber,1,I2oVersion) -#define I2O_IOP_ENTRY_setI2oVersion(x,y)\ - _F_set4bit4(x,SegmentNumber,1,I2oVersion,y) -#define I2O_IOP_ENTRY_getIopState(x)\ - _F_get8bit(x,SegmentNumber,2,IopState) -#define I2O_IOP_ENTRY_setIopState(x,y)\ - _F_set8bit(x,SegmentNumber,2,IopState,y) -#define I2O_IOP_ENTRY_getMessengerType(x)\ - _F_get8bit(x,SegmentNumber,3,MessengerType) -#define I2O_IOP_ENTRY_setMessengerType(x,y)\ - _F_set8bit(x,SegmentNumber,3,MessengerType,y) -#define I2O_IOP_ENTRY_getInboundMessageFrameSize(x)\ - getLU2((&((x)->InboundMessageFrameSize)),0) -#define I2O_IOP_ENTRY_setInboundMessageFrameSize(x,y)\ - setLU2((&((x)->InboundMessageFrameSize)),0,y) -#define I2O_IOP_ENTRY_getreserved2(x)\ - getLU2((&((x)->reserved2)),0) -#define I2O_IOP_ENTRY_setreserved2(x,y)\ - setLU2((&((x)->reserved2)),0,y) -#define I2O_IOP_ENTRY_getLastChanged(x)\ - getLU4((&((x)->LastChanged)),0) -#define I2O_IOP_ENTRY_setLastChanged(x,y)\ - setLU4((&((x)->LastChanged)),0,y) -#define I2O_IOP_ENTRY_getIopCapabilities(x)\ - getLU4((&((x)->IopCapabilities)),0) -#define I2O_IOP_ENTRY_setIopCapabilities(x,y)\ - setLU4((&((x)->IopCapabilities)),0,y) - -/* might want to declare I2O_MESSENGER_INFO struct */ - -#define I2O_IOP_ENTRY_getInboundMessagePortAddressLow(x)\ - getLU4((&((x)->MessengerInfo.InboundMessagePortAddressLow)),0) -#define I2O_IOP_ENTRY_setInboundMessagePortAddressLow(x,y)\ - setLU4((&((x)->MessengerInfo.InboundMessagePortAddressLow)),0,y) - -#define I2O_IOP_ENTRY_getInboundMessagePortAddressHigh(x)\ - getLU4((&((x)->MessengerInfo.InboundMessagePortAddressHigh)),0) -#define I2O_IOP_ENTRY_setInboundMessagePortAddressHigh(x,y)\ - setLU4((&((x)->MessengerInfo.InboundMessagePortAddressHigh)),0,y) - -/* - * I2O_HRT - */ -#define I2O_HRT_getNumberEntries(x)\ - getLU2((&((x)->NumberEntries)),0) -#define I2O_HRT_setNumberEntries(x,y)\ - setLU2((&(x)->NumberEntries),0,y) -#define I2O_HRT_getEntryLength(x)\ - getU1((&(x)->EntryLength),0) -#define I2O_HRT_setEntryLength(x,y)\ - setU1((&(x)->EntryLength),0,y) -#define I2O_HRT_getHRTVersion(x)\ - getU1((&(x)->HRTVersion),0) -#define I2O_HRT_setHRTVersion(x,y)\ - setU1((&(x)->HRTVersion),0,y) -#define I2O_HRT_getCurrentChangeIndicator(x)\ - getLU4((&(x)->CurrentChangeIndicator),0) -#define I2O_HRT_setCurrentChangeIndicator(x,y)\ - setLU4((&(x)->CurrentChangeIndicator),0,y) -#define I2O_HRT_getHRTEntryPtr(x,y)\ - ((&((x)->HRTEntry[0+y]))) - -/* - * I2O_HRT_ENTRY - */ -#define I2O_HRT_ENTRY_getAdapterID(x)\ - getLU4((&((x)->AdapterID)),0) -#define I2O_HRT_ENTRY_setAdapterID(x,y)\ - setLU4((&(x)->AdapterID),0,y) -#define I2O_HRT_ENTRY_getControllingTID(x)\ - _F_get12bit(x,ControllingTID,ControllingTID) -#define I2O_HRT_ENTRY_setControllingTID(x,y)\ - _F_set12bit(x,ControllingTID,ControllingTID,y) -#define I2O_HRT_ENTRY_getAdapterState(x)\ - _F_get4bit4(x,ControllingTID,1,AdapterState) -#define I2O_HRT_ENTRY_setIAdapterState(x,y)\ - _F_set4bit4(x,ControllingTID,1,AdapterState,y) -#define I2O_HRT_ENTRY_getBusNumber(x)\ - _F_get8bit(x,ControllingTID,2,BusNumber) -#define I2O_HRT_ENTRY_setBusNumber(x,y)\ - _F_set8bit(x,ControllingTID,2,BusNumber,y) -#define I2O_HRT_ENTRY_getBusType(x)\ - _F_get8bit(x,ControllingTID,3,BusType) -#define I2O_HRT_ENTRY_setBusType(x,y)\ - _F_set8bit(x,ControllingTID,3,BusType,y) -#define I2O_HRT_ENTRY_getPCIBusPtr(x,y)\ - (&((x)->uBus.PCIBus)) - -/* - * I2O_LCT - */ -#define I2O_LCT_getTableSize(x)\ - _F_get16bit(x,TableSize,0,TableSize) -#define I2O_LCT_setTableSize(x,y)\ - _F_set16bit(x,TableSize,0,TableSize,y) -#define I2O_LCT_getBootDeviceTID(x)\ - _F_get12bit(x,TableSize,2,BootDeviceTID) -#define I2O_LCT_setBootDeviceTID(x,y)\ - _F_set12bit(x,TableSize,2,BootDeviceTID,y) -#define I2O_LCT_getLctVer(x)\ - _F_get4bit4(x,TableSize,3,LctVer) -#define I2O_LCT_setLctVer(x,y)\ - _F_set4bit4(x,TableSize,3,LctVer,y) -#define I2O_LCT_getIopFlags(x)\ - getLU4((&(x)->IopFlags),0) -#define I2O_LCT_setIopFlags(x,y)\ - setLU4((&(x)->IopFlags),0,y) -#define I2O_LCT_getCurrentChangeIndicator(x)\ - getLU4((&(x)->CurrentChangeIndicator),0) -#define I2O_LCT_setCurrentChangeIndicator(x,y)\ - setLU4((&(x)->CurrentChangeIndicator),0,y) -#define I2O_LCT_getLCTEntryPtr(x,y)\ - (&((x)->LCTEntry[0+y])) - -/* - * I2O_LCT_ENTRY - */ -#define I2O_LCT_ENTRY_getTableEntrySize(x)\ - _F_get16bit(x,TableEntrySize,0,TableEntrySize) -#define I2O_LCT_ENTRY_setTableEntrySize(x,y)\ - _F_set16bit(x,TableEntrySize,0,TableEntrySize,y) -#define I2O_LCT_ENTRY_getLocalTID(x)\ - _F_get12bit(x,TableEntrySize,2,LocalTID) -#define I2O_LCT_ENTRY_setLocalTID(x,y)\ - _F_set12bit(x,TableEntrySize,2,LocalTID,y) -/* BF 4 reserved:I2O_4BIT_VERSION_SZ; */ -#define I2O_LCT_ENTRY_getChangeIndicator(x)\ - getLU4((&(x)->ChangeIndicator),0) -#define I2O_LCT_ENTRY_setChangeIndicator(x,y)\ - setLU4((&(x)->ChangeIndicator),0,y) -#define I2O_LCT_ENTRY_getDeviceFlags(x)\ - getLU4((&(x)->DeviceFlags),0) -#define I2O_LCT_ENTRY_setDeviceFlags(x,y)\ - setLU4((&(x)->DeviceFlags),0,y) -#define I2O_LCT_ENTRY_getClassIDPtr(x)\ - (&((x)->ClassID)) -#define I2O_LCT_ENTRY_getSubClassInfo(x)\ - getLU4((&(x)->SubClassInfo),0) -#define I2O_LCT_ENTRY_setSubClassInfo(x,y)\ - setLU4((&(x)->SubClassInfo),0,y) -#define I2O_LCT_ENTRY_getUserTID(x)\ - _F_getTID(x,UserTID,UserTID) -#define I2O_LCT_ENTRY_setUserTID(x,y)\ - _F_setTID(x,UserTID,UserTID,y) -#define I2O_LCT_ENTRY_getParentTID(x)\ - _F_getTID1(x,UserTID,ParentTID) -#define I2O_LCT_ENTRY_setParentTID(x,y)\ - _F_getTID1(x,UserTID,ParentTID,y) -#define I2O_LCT_ENTRY_getBiosInfo(x)\ - _F_getFunc(x,UserTID,BiosInfo) -#define I2O_LCT_ENTRY_setBiosInfo(x,y)\ - _F_setFunc(x,UserTID,BiosInfo,y) -/* 2 ulong U8 8 IdentityTag[I2O_IDENTITY_TAG_SZ]; */ -#define I2O_LCT_ENTRY_getEventCapabilities(x)\ - getLU4((&(x)->EventCapabilities),0) -#define I2O_LCT_ENTRY_setEventCapabilities(x,y)\ - setLU4((&(x)->EventCapabilities),0,y) - -/* - * I2O_PARAM_OPERATIONS_LIST_HEADER - */ -#define I2O_PARAM_OPERATIONS_LIST_HEADER_getOperationCount(x)\ - getLU2((&(x)->OperationCount),0) -#define I2O_PARAM_OPERATIONS_LIST_HEADER_setOperationCount(x,y)\ - setLU2((&(x)->OperationCount),0,y) -#define I2O_PARAM_OPERATIONS_LIST_HEADER_getReserved(x)\ - getLU2((&(x)->Reserved),0) -#define I2O_PARAM_OPERATIONS_LIST_HEADER_setReserved(x,y)\ - setLU2((&(x)->Reserved),0,y) - -/* - * I2O_PARAM_OPERATION_ALL_TEMPLATE - */ -#define I2O_PARAM_OPERATION_ALL_TEMPLATE_getOperation(x)\ - getLU2((&(x)->Operation),0) -#define I2O_PARAM_OPERATION_ALL_TEMPLATE_setOperation(x,y)\ - setLU2((&(x)->Operation),0,y) -#define I2O_PARAM_OPERATION_ALL_TEMPLATE_getGroupNumber(x)\ - getLU2((&(x)->GroupNumber),0) -#define I2O_PARAM_OPERATION_ALL_TEMPLATE_setGroupNumber(x,y)\ - setLU2((&(x)->GroupNumber),0,y) -#define I2O_PARAM_OPERATION_ALL_TEMPLATE_getFieldCount(x)\ - getLU2((&(x)->FieldCount),0) -#define I2O_PARAM_OPERATION_ALL_TEMPLATE_setFieldCount(x,y)\ - setLU2((&(x)->FieldCount),0,y) - -/* - * I2O_PARAM_RESULTS_LIST_HEADER - */ -#define I2O_PARAM_RESULTS_LIST_HEADER_getResultCount(x)\ - getLU2((&(x)->ResultCount),0) -#define I2O_PARAM_RESULTS_LIST_HEADER_setResultCount(x,y)\ - setLU2((&(x)->ResultCount),0,y) -#define I2O_PARAM_RESULTS_LIST_HEADER_getReserved(x)\ - getLU2((&(x)->Reserved),0) -#define I2O_PARAM_RESULTS_LIST_HEADER_setReserved(x,y)\ - setLU2((&(x)->Reserved),0,y) - -/* later - * I2O_HBA_ADAPTER_RESET_MESSAGE - */ - - -/* LATER - * I2O_SCSI_DEVICE_RESET_MESSAGE - */ - - -/* LATER - * I2O_HBA_BUS_RESET_MESSAGE - */ - - -/* - * I2O_EXEC_LCT_NOTIFY_MESSAGE - */ -/* I2O_MESSAGE_FRAME StdMessageFrame; */ -/* I2O_TRANSACTION_CONTEXT TransactionContext; */ -#define I2O_EXEC_LCT_NOTIFY_MESSAGE_getClassIdentifier(x)\ - getLU4((&(x)->ClassIdentifier),0) -#define I2O_EXEC_LCT_NOTIFY_MESSAGE_setClassIdentifier(x,y)\ - setLU4((&(x)->ClassIdentifier),0,y) -#define I2O_EXEC_LCT_NOTIFY_MESSAGE_getLastReportedChangeIndicator(x)\ - getLU4((&(x)->LastReportedChangeIndicator),0) -#define I2O_EXEC_LCT_NOTIFY_MESSAGE_setLastReportedChangeIndicator(x,y)\ - setLU4((&(x)->LastReportedChangeIndicator),0,y) -/* I2O_SG_ELEMENT SGL; */ - - - -/* - * I2O_UTIL_PARAMS_GET_MESSAGE - */ -/* I2O_MESSAGE_FRAME StdMessageFrame; */ -/* I2O_TRANSACTION_CONTEXT TransactionContext; */ -#define I2O_UTIL_PARAMS_GET_MESSAGE_getOperationFlags(x)\ - getLU4((&(x)->OperationFlags),0) -#define I2O_UTIL_PARAMS_GET_MESSAGE_setOperationFlags(x,y)\ - setLU4((&(x)->OperationFlags),0,y) -/* I2O_SG_ELEMENT SGL; */ - - -/* - * I2O_SCSI_SCB_ABORT_MESSAGE - */ -#define I2O_SCSI_SCB_ABORT_MESSAGE_getStdMessageFramePtr(x)\ - (&((x)->StdMessageFrame)) -#define I2O_SCSI_SCB_ABORT_MESSAGE_getTransactionContext(x)\ - (x)->TransactionContext -#define I2O_SCSI_SCB_ABORT_MESSAGE_setTransactionContext(x,y)\ - ((x)->TransactionContext = (y)) -#define I2O_SCSI_SCB_ABORT_MESSAGE_getTransactionContextToAbort(x)\ - (x)->TransactionContextToAbort -#define I2O_SCSI_SCB_ABORT_MESSAGE_setTransactionContextToAbort(x,y)\ - ((x)->TransactionContextToAbort = (y)) - - -/* - * I2O_DPT_DEVICE_INFO_SCALAR - */ -#define I2O_DPT_DEVICE_INFO_SCALAR_getDeviceType(x)\ - getU1((&(x)->DeviceType),0) -#define I2O_DPT_DEVICE_INFO_SCALAR_setDeviceType(x,y)\ - setU1((&(x)->DeviceType),0,y) -#define I2O_DPT_DEVICE_INFO_SCALAR_getFlags(x)\ - getU1((&(x)->Flags),0) -#define I2O_DPT_DEVICE_INFO_SCALAR_setFlags(x,y)\ - setU1((&(x)->Flags),0,y) -#define I2O_DPT_DEVICE_INFO_SCALAR_getBus(x)\ - getLU2((&(x)->Bus),0) -#define I2O_DPT_DEVICE_INFO_SCALAR_setBus(x,y)\ - setLU2((&(x)->Bus),0,y) -#define I2O_DPT_DEVICE_INFO_SCALAR_getIdentifier(x)\ - getLU4((&(x)->Identifier),0) -#define I2O_DPT_DEVICE_INFO_SCALAR_setIdentifier(x,y)\ - setLU4((&(x)->Identifier),0,y) -/* U8 LunInfo[8]; *//* SCSI-2 8-bit scalar LUN goes into offset 1 */ -#define I2O_DPT_DEVICE_INFO_SCALAR_getLunInfo(x)\ - getU1((&(x)->LunInfo[0]),1) -#define I2O_DPT_DEVICE_INFO_SCALAR_setLunInfo(x,y)\ - setU1((&(x)->LunInfo[0]),1,y) - -/* - * I2O_DPT_EXEC_IOP_BUFFERS_SCALAR - */ -#define I2O_DPT_EXEC_IOP_BUFFERS_SCALAR_getSerialOutputOffset(x)\ - getLU4((&(x)->SerialOutputOffset),0) -#define I2O_DPT_EXEC_IOP_BUFFERS_SCALAR_getSerialOutputSizet(x)\ - getLU4((&(x)->SerialOutputSize),0) -#define I2O_DPT_EXEC_IOP_BUFFERS_SCALAR_getSerialHeaderSize(x)\ - getLU4((&(x)->SerialHeaderSize),0) -#define I2O_DPT_EXEC_IOP_BUFFERS_SCALAR_getSerialFlagsSupported(x)\ - getLU4((&(x)->SerialFlagsSupported),0) - -/* - * I2O_PRIVATE_MESSAGE_FRAME - */ -/* typedef struct _I2O_PRIVATE_MESSAGE_FRAME { */ -/* I2O_MESSAGE_FRAME StdMessageFrame; */ -/* I2O_TRANSACTION_CONTEXT TransactionContext; */ -/* U16 XFunctionCode; */ -/* U16 OrganizationID; */ -/* PrivatePayload[]; */ -/* } I2O_PRIVATE_MESSAGE_FRAME, *PI2O_PRIVATE_MESSAGE_FRAME; */ -#define I2O_PRIVATE_MESSAGE_FRAME_getTransactionContext(x) \ - (x)->TransactionContext -#define I2O_PRIVATE_MESSAGE_FRAME_setTransactionContext(x,y) \ - ((x)->TransactionContext = (y)) -#define I2O_PRIVATE_MESSAGE_FRAME_getXFunctionCode(x) \ - getLU2((&(x)->XFunctionCode),0) -#define I2O_PRIVATE_MESSAGE_FRAME_setXFunctionCode(x,y) \ - setLU2((&(x)->XFunctionCode),0,y) -#define I2O_PRIVATE_MESSAGE_FRAME_getOrganizationID(x) \ - getLU2((&(x)->OrganizationID),0) -#define I2O_PRIVATE_MESSAGE_FRAME_setOrganizationID(x,y) \ - setLU2((&(x)->OrganizationID),0,y) -#if 0 -typedef struct _PRIVATE_SCSI_SCB_EXECUTE_MESSAGE { - I2O_PRIVATE_MESSAGE_FRAME PRIVATE_SCSI_SCB_EXECUTE_MESSAGE; - BF TID:16; /* Upper four bits currently are zero */ - /* Command is interpreted by the host */ - BF Interpret:1; - /* if TRUE, deal with Physical Firmware Array information */ - BF Physical:1; - BF Reserved1:14; - U8 CDBLength; - U8 Reserved; - I2O_SCB_FLAGS SCBFlags; - U8 CDB[ I2O_SCSI_CDB_LENGTH=16 ]; - U32 ByteCount; - I2O_SG_ELEMENT SGL; -} PRIVATE_SCSI_SCB_EXECUTE_MESSAGE, * PPRIVATE_SCSI_SCB_EXECUTE_MESSAGE; -#endif -/* - * PRIVATE_SCSI_SCB_EXECUTE_MESSAGE - */ -#define PRIVATE_SCSI_SCB_EXECUTE_MESSAGE_getPRIVATE_SCSI_SCB_EXECUTE_MESSAGEPtr(x)\ - (&((x)->PRIVATE_SCSI_SCB_EXECUTE_MESSAGE)) -#define PRIVATE_SCSI_SCB_EXECUTE_MESSAGE_getCDBLength(x)\ - getU1((&(x)->CDBLength),0) -#define PRIVATE_SCSI_SCB_EXECUTE_MESSAGE_setCDBLength(x,y)\ - setU1((&(x)->CDBLength),0,y) -#define PRIVATE_SCSI_SCB_EXECUTE_MESSAGE_getReserved(x)\ - getU1((&(x)->Reserved),0) -#define PRIVATE_SCSI_SCB_EXECUTE_MESSAGE_setReserved(x,y)\ - setU1((&(x)->Reserved),0,y) -#define PRIVATE_SCSI_SCB_EXECUTE_MESSAGE_getSCBFlags(x)\ - getLU2((&(x)->SCBFlags),0) -#define PRIVATE_SCSI_SCB_EXECUTE_MESSAGE_setSCBFlags(x,y)\ - setLU2((&(x)->SCBFlags),0,y) -#define PRIVATE_SCSI_SCB_EXECUTE_MESSAGE_getByteCount(x)\ - getLU4((&((x)->ByteCount)),0) -#define PRIVATE_SCSI_SCB_EXECUTE_MESSAGE_setByteCount(x,y)\ - setLU4((&((x)->ByteCount)),0,y) -#define PRIVATE_SCSI_SCB_EXECUTE_MESSAGE_getTID(x)\ - _F_get16bit(x,TID,0,TID) -#define PRIVATE_SCSI_SCB_EXECUTE_MESSAGE_setTID(x,y)\ - _F_set16bit(x,TID,0,TID,y) -#define PRIVATE_SCSI_SCB_EXECUTE_MESSAGE_getInterpret(x)\ - _F_get1bit(x,TID,2,Interpret) -#define PRIVATE_SCSI_SCB_EXECUTE_MESSAGE_setInterpret(x,y)\ - _F_set1bit(x,TID,2,Interpret,y) -#define PRIVATE_SCSI_SCB_EXECUTE_MESSAGE_getPhysical(x)\ - _F_get1bit1(x,TID,2,Physical) -#define PRIVATE_SCSI_SCB_EXECUTE_MESSAGE_setPhysical(x,y)\ - _F_set1bit1(x,TID,2,Physical,y) -#define PRIVATE_SCSI_SCB_EXECUTE_MESSAGE_getCDBPtr(x)\ - (&((x)->CDB[0])) - - -/* - * PRIVATE_FLASH_REGION_MESSAGE - */ -#define PRIVATE_FLASH_REGION_MESSAGE_getFlashRegion(x) \ - getLU4((&((x)->FlashRegion)),0) -#define PRIVATE_FLASH_REGION_MESSAGE_setFlashRegion(x,y) \ - setLU4((&((x)->FlashRegion)),0,y) -#define PRIVATE_FLASH_REGION_MESSAGE_getRegionOffset(x) \ - getLU4((&((x)->RegionOffset)),0) -#define PRIVATE_FLASH_REGION_MESSAGE_setRegionOffset(x,y) \ - setLU4((&((x)->RegionOffset)),0,y) -#define PRIVATE_FLASH_REGION_MESSAGE_getByteCount(x) \ - getLU4((&((x)->ByteCount)),0) -#define PRIVATE_FLASH_REGION_MESSAGE_setByteCount(x,y) \ - setLU4((&((x)->ByteCount)),0,y) - -/* - * I2O_HBA_SCSI_CONTROLLER_INFO_SCALAR - */ -#define I2O_HBA_SCSI_CONTROLLER_INFO_SCALAR_getSCSIType(x)\ - getU1((&(x)->SCSIType),0) -#define I2O_HBA_SCSI_CONTROLLER_INFO_SCALAR_setSCSIType(x,y)\ - setU1((&(x)->SCSIType),0,y) -#define I2O_HBA_SCSI_CONTROLLER_INFO_SCALAR_getProtectionManagement(x)\ - getU1((&(x)->ProtectionManagement),0) -#define I2O_HBA_SCSI_CONTROLLER_INFO_SCALAR_setProtectionManagement(x,y)\ - setU1((&(x)->ProtectionManagement),0,y) -#define I2O_HBA_SCSI_CONTROLLER_INFO_SCALAR_getSettings(x)\ - getU1((&(x)->Settings),0) -#define I2O_HBA_SCSI_CONTROLLER_INFO_SCALAR_setSettings(x,y)\ - setU1((&(x)->Settings),0,y) -#define I2O_HBA_SCSI_CONTROLLER_INFO_SCALAR_getReserved1(x)\ - getU1((&(x)->Reserved1),0) -#define I2O_HBA_SCSI_CONTROLLER_INFO_SCALAR_setReserved1(x,y)\ - setU1((&(x)->Reserved1),0,y) -#define I2O_HBA_SCSI_CONTROLLER_INFO_SCALAR_getInitiatorID(x)\ - getLU4((&(x)->InitiatorID),0) -#define I2O_HBA_SCSI_CONTROLLER_INFO_SCALAR_setInitiatorID(x,y)\ - setLU4((&(x)->InitiatorID),0,y) -#define I2O_HBA_SCSI_CONTROLLER_INFO_SCALAR_getScanLun0Only(x)\ - getLU4((&(x)->ScanLun0Only),0) -#define I2O_HBA_SCSI_CONTROLLER_INFO_SCALAR_setScanLun0Only(x,y)\ - setLU4((&(x)->ScanLun0Only),0,y) -#define I2O_HBA_SCSI_CONTROLLER_INFO_SCALAR_getDisableDevice(x)\ - getLU2((&(x)->DisableDevice),0) -#define I2O_HBA_SCSI_CONTROLLER_INFO_SCALAR_setDisableDevice(x,y)\ - setLU2((&(x)->DisableDevice),0,y) -#define I2O_HBA_SCSI_CONTROLLER_INFO_SCALAR_getMaxOffset(x)\ - getU1((&(x)->MaxOffset),0) -#define I2O_HBA_SCSI_CONTROLLER_INFO_SCALAR_setMaxOffset(x,y)\ - setU1((&(x)->MaxOffset),0,y) -#define I2O_HBA_SCSI_CONTROLLER_INFO_SCALAR_getMaxDataWidth(x)\ - getU1((&(x)->MaxDataWidth),0) -#define I2O_HBA_SCSI_CONTROLLER_INFO_SCALAR_setMaxDataWidth(x,y)\ - setU1((&(x)->MaxDataWidth),0,y) -#define I2O_HBA_SCSI_CONTROLLER_INFO_SCALAR_getMaxSyncRate(x)\ - getLU4((&(x)->MaxSyncRate),0) -#define I2O_HBA_SCSI_CONTROLLER_INFO_SCALAR_setMaxSyncRate(x,y)\ - setLU4((&(x)->MaxSyncRate),0,y) - -/* - * I2O_SCSI_ERROR_REPLY_MESSAGE_FRAME - */ -#define I2O_SCSI_ERROR_REPLY_MESSAGE_FRAME_getStdReplyFramePtr(x)\ - (&((x)->StdReplyFrame)) -#define I2O_SCSI_ERROR_REPLY_MESSAGE_FRAME_getTransferCount(x)\ - getLU4((&(x)->TransferCount),0) -#define I2O_SCSI_ERROR_REPLY_MESSAGE_FRAME_setTransferCount(x,y)\ - setLU4((&(x)->TransferCount),0,y) -#define I2O_SCSI_ERROR_REPLY_MESSAGE_FRAME_getAutoSenseTransferCount(x)\ - getLU4((&(x)->AutoSenseTransferCount),0) -#define I2O_SCSI_ERROR_REPLY_MESSAGE_FRAME_setAutoSenseTransferCount(x,y)\ - setLU4((&(x)->AutoSenseTransferCount),0,y) - -/* - * I2O_SINGLE_REPLY_MESSAGE_FRAME - */ -#define I2O_SINGLE_REPLY_MESSAGE_FRAME_getStdMessageFramePtr(x)\ - (&((x)->StdMessageFrame)) -#define I2O_SINGLE_REPLY_MESSAGE_FRAME_getTransactionContext(x)\ - (x)->TransactionContext -#define I2O_SINGLE_REPLY_MESSAGE_FRAME_setTransactionContext(x,y)\ - ((x)->TransactionContext = (y)) -#define I2O_SINGLE_REPLY_MESSAGE_FRAME_getDetailedStatusCode(x)\ - getLU2((&((x)->DetailedStatusCode)),0) -#define I2O_SINGLE_REPLY_MESSAGE_FRAME_setDetailedStatusCode(x,y)\ - setLU2((&((x)->DetailedStatusCode)),0,y) -#define I2O_SINGLE_REPLY_MESSAGE_FRAME_getreserved(x)\ - getU1((&((x)->reserved)),0) -#define I2O_SINGLE_REPLY_MESSAGE_FRAME_setreserved(x,y)\ - setU1((&((x)->reserved)),0,y) -#define I2O_SINGLE_REPLY_MESSAGE_FRAME_getReqStatus(x)\ - getU1((&((x)->ReqStatus)),0) -#define I2O_SINGLE_REPLY_MESSAGE_FRAME_setReqStatus(x,y)\ - setU1((&((x)->ReqStatus)),0,y) - - -/* - * I2O_SCSI_SCB_EXECUTE_MESSAGE - */ -#define I2O_SCSI_SCB_EXECUTE_MESSAGE_getStdMessageFramePtr(x)\ - (&((x)->StdMessageFrame)) -#define I2O_SCSI_SCB_EXECUTE_MESSAGE_getTransactionContext(x)\ - (x)->TransactionContext -#define I2O_SCSI_SCB_EXECUTE_MESSAGE_setTransactionContext(x,y)\ - ((x)->TransactionContext = (y)) -#define I2O_SCSI_SCB_EXECUTE_MESSAGE_getCDBLength(x)\ - getU1((&((x)->CDBLength)),0) -#define I2O_SCSI_SCB_EXECUTE_MESSAGE_setCDBLength(x,y)\ - setU1((&((x)->CDBLength)),0,y) -#define I2O_SCSI_SCB_EXECUTE_MESSAGE_getReserved(x)\ - getU1((&((x)->Reserved)),0) -#define I2O_SCSI_SCB_EXECUTE_MESSAGE_setReserved(x,y)\ - setU1((&((x)->Reserved)),0,y) -#define I2O_SCSI_SCB_EXECUTE_MESSAGE_getSCBFlags(x)\ - getLU2((&((x)->SCBFlags)),0) -#define I2O_SCSI_SCB_EXECUTE_MESSAGE_setSCBFlags(x,y)\ - setLU2((&((x)->SCBFlags)),0,y) -#define I2O_SCSI_SCB_EXECUTE_MESSAGE_getByteCount(x)\ - getLU2((&((x)->ByteCount)),0) -#define I2O_SCSI_SCB_EXECUTE_MESSAGE_setByteCount(x,y)\ - setLU2((&((x)->ByteCount)),0,y) -/* define for these */ -/* U8 CDB[16]; */ -/* I2O_SG_ELEMENT SGL; */ - - -/* - * I2O_FAILURE_REPLY_MESSAGE_FRAME - */ -#define I2O_FAILURE_REPLY_MESSAGE_FRAME_getStdMessageFramePtr(x)\ - (&((x)->StdMessageFrame)) -#define I2O_FAILURE_REPLY_MESSAGE_FRAME_getTransactionContext(x)\ - (x)->TransactionContext -#define I2O_FAILURE_REPLY_MESSAGE_FRAME_setTransactionContext(x,y)\ - ((x)->TransactionContext = (y)) -#define I2O_FAILURE_REPLY_MESSAGE_FRAME_getLowestVersion(x)\ - getU1((&((x)->LowestVersion)),0) -#define I2O_FAILURE_REPLY_MESSAGE_FRAME_setLowestVersion(x,y)\ - setU1((&((x)->LowestVersion)),0,y) -#define I2O_FAILURE_REPLY_MESSAGE_FRAME_getHighestVersion(x)\ - getU1((&((x)->HighestVersion)),0) -#define I2O_FAILURE_REPLY_MESSAGE_FRAME_setHighestVersion(x,y)\ - setU1((&((x)->HighestVersion)),0,y) -#define I2O_FAILURE_REPLY_MESSAGE_FRAME_getAgeLimit(x)\ - getLU4((&((x)->AgeLimit)),0) -#define I2O_FAILURE_REPLY_MESSAGE_FRAME_setAgeLimit(x,y)\ - setLU4((&((x)->AgeLimit)),0,y) -#define I2O_FAILURE_REPLY_MESSAGE_FRAME_getSeverity(x)\ - _F_get8bit(x,Severity,0,Severity) -#define I2O_FAILURE_REPLY_MESSAGE_FRAME_setSeverity(x,y)\ - _F_set8bit(x,Severity,0,Severity,y) -#define I2O_FAILURE_REPLY_MESSAGE_FRAME_getFailureCode(x)\ - _F_get8bit(x,Severity,1,FailureCode) -#define I2O_FAILURE_REPLY_MESSAGE_FRAME_setFailureCode(x,y)\ - _F_get8bit(x,Severity,1,FailureCode,y) -/* - * #define I2O_FAILURE_REPLY_MESSAGE_FRAME_getFailingHostUnitID(x)\ - * _F_get16bit(x,reserved,1,FailingHostUnitID) - * #define I2O_FAILURE_REPLY_MESSAGE_FRAME_setFailingHostUnitID(x,y)\ - * _F_set16bit(x,reserved,1,FailingHostUnitID,y) - */ -#define I2O_FAILURE_REPLY_MESSAGE_FRAME_getPreservedMFA(x)\ - getLU4((&((x)->PreservedMFA)),0) -#define I2O_FAILURE_REPLY_MESSAGE_FRAME_setPreservedMFA(x,y)\ - setLU4((&((x)->PreservedMFA)),0,y) - - - -/* - * I2O_EXEC_STATUS_GET_REPLY - */ -#define I2O_EXEC_STATUS_GET_REPLY_getOrganizationID(x)\ - getLU2((&(x)->OrganizationID),0) -#define I2O_EXEC_STATUS_GET_REPLY_setOrganizationID(x,y)\ - setLU2((&(x)->OrganizationID),0,y) -/* #define I2O_EXEC_STATUS_GET_REPLY_getreserved; */ -#define I2O_EXEC_STATUS_GET_REPLY_getIOP_ID(x)\ - _F_get12bit(x,IOP_ID,0,IOP_ID) -#define I2O_EXEC_STATUS_GET_REPLY_setIOP_ID(x,y)\ - _F_set12bit(x,IOP_ID,0,IOP_ID,y) -/* #define I2O_EXEC_STATUS_GET_REPLY_getreserved1(x) */ -#define I2O_EXEC_STATUS_GET_REPLY_getHostUnitID(x)\ - _F_get16bit(x,IOP_ID,2,HostUnitID) -#define I2O_EXEC_STATUS_GET_REPLY_setHostUnitID(x,y)\ - _F_set16bit(x,IOP_ID,2,HostUnitID,y) -#define I2O_EXEC_STATUS_GET_REPLY_getSegmentNumber(x)\ - _F_get12bit(x,SegmentNumber,0,SegmentNumber) -#define I2O_EXEC_STATUS_GET_REPLY_setSegmentNumber(x,y)\ - _F_set12bit(x,SegmentNumber,0,SegmentNumber,y) -#define I2O_EXEC_STATUS_GET_REPLY_getI2oVersion(x)\ - _F_get4bit4(x,SegmentNumber,1,I2oVersion) -#define I2O_EXEC_STATUS_GET_REPLY_setI2oVersion(x,y)\ - _F_set4bit4(x,SegmentNumber,1,I2oVersion,y) -#define I2O_EXEC_STATUS_GET_REPLY_getIopState(x)\ - _F_get8bit(x,SegmentNumver,2,IopState) -#define I2O_EXEC_STATUS_GET_REPLY_setIopState(x,y)\ - _F_set8bit(x,SegmentNumver,2,IopState,y) -#define I2O_EXEC_STATUS_GET_REPLY_getMessengerType(x)\ - _F_get8bit(x,SegmentNumber,3,MessengerType) -#define I2O_EXEC_STATUS_GET_REPLY_setMessengerType(x,y)\ - _F_get8bit(x,SegmentNumber,3,MessengerType,y) -#define I2O_EXEC_STATUS_GET_REPLY_getInboundMFrameSize(x)\ - getLU2((&(x)->InboundMFrameSize),0) -#define I2O_EXEC_STATUS_GET_REPLY_setInboundMFrameSize(x,y)\ - setLU2((&(x)->InboundMFrameSize),0,y) -#define I2O_EXEC_STATUS_GET_REPLY_getInitCode(x)\ - getU1((&(x)->InitCode),0) -#define I2O_EXEC_STATUS_GET_REPLY_setInitCode(x,y)\ - setU1((&(x)->InitCode),0,y) -/* #define I2O_EXEC_STATUS_GET_REPLY_getreserved2(x) */ -#define I2O_EXEC_STATUS_GET_REPLY_getMaxInboundMFrames(x)\ - getLU4((&(x)->MaxInboundMFrames),0) -#define I2O_EXEC_STATUS_GET_REPLY_setMaxInboundMFrames(x,y)\ - setLU4((&(x)->MaxInboundMFrames),0,y) -#define I2O_EXEC_STATUS_GET_REPLY_getCurrentInboundMFrames(x)\ - getLU4((&(x)->CurrentInboundMFrames),0) -#define I2O_EXEC_STATUS_GET_REPLY_setCurrentInboundMFrames(x,y)\ - setLU4((&(x)->CurrentInboundMFrames),0,y) -#define I2O_EXEC_STATUS_GET_REPLY_getMaxOutboundMFrames(x)\ - getLU4((&(x)->MaxOutboundMFrames),0) -#define I2O_EXEC_STATUS_GET_REPLY_setMaxOutboundMFrames(x,y)\ - setLU4((&(x)->MaxOutboundMFrames),0,y) -/* #define I2O_EXEC_STATUS_GET_REPLY_getProductIDString(x) */ -#define I2O_EXEC_STATUS_GET_REPLY_getExpectedLCTSize(x)\ - getLU4((&(x)->ExpectedLCTSize),0) -#define I2O_EXEC_STATUS_GET_REPLY_setExpectedLCTSize(x,y)\ - setLU4((&(x)->ExpectedLCTSize),0,y) -#define I2O_EXEC_STATUS_GET_REPLY_getIopCapabilities(x)\ - getLU4((&(x)->IopCapabilities),0) -#define I2O_EXEC_STATUS_GET_REPLY_setIopCapabilities(x,y)\ - setLU4((&(x)->IopCapabilities),0,y) -#define I2O_EXEC_STATUS_GET_REPLY_getDesiredPrivateMemSize(x)\ - getLU4((&(x)->DesiredPrivateMemSize),0) -#define I2O_EXEC_STATUS_GET_REPLY_setDesiredPrivateMemSize(x,y)\ - setLU4((&(x)->DesiredPrivateMemSize),0,y) -#define I2O_EXEC_STATUS_GET_REPLY_getCurrentPrivateMemSize(x)\ - getLU4((&(x)->CurrentPrivateMemSize),0) -#define I2O_EXEC_STATUS_GET_REPLY_setCurrentPrivateMemSize(x,y)\ - setLU4((&(x)->CurrentPrivateMemSize),0,y) -#define I2O_EXEC_STATUS_GET_REPLY_getCurrentPrivateMemBase(x)\ - getLU4((&(x)->CurrentPrivateMemBase),0) -#define I2O_EXEC_STATUS_GET_REPLY_setCurrentPrivateMemBase(x,y)\ - setLU4((&(x)->CurrentPrivateMemBase),0,y) -#define I2O_EXEC_STATUS_GET_REPLY_getDesiredPrivateIOSize(x)\ - getLU4((&(x)->DesiredPrivateIOSize),0) -#define I2O_EXEC_STATUS_GET_REPLY_setDesiredPrivateIOSize(x,y)\ - setLU4((&(x)->DesiredPrivateIOSize),0,y) -#define I2O_EXEC_STATUS_GET_REPLY_getCurrentPrivateIOSize(x)\ - getLU4((&(x)->CurrentPrivateIOSize),0) -#define I2O_EXEC_STATUS_GET_REPLY_setCurrentPrivateIOSize(x,y)\ - setLU4((&(x)->CurrentPrivateIOSize),0,y) -#define I2O_EXEC_STATUS_GET_REPLY_getCurrentPrivateIOBase(x)\ - getLU4((&(x)->CurrentPrivateIOBase),0) -#define I2O_EXEC_STATUS_GET_REPLY_setCurrentPrivateIOBase(x,y)\ - setLU4((&(x)->CurrentPrivateIOBase),0,y) -/* #define I2O_EXEC_STATUS_GET_REPLY_getreserved3(x) */ -#define I2O_EXEC_STATUS_GET_REPLY_getSyncByte(x)\ - getU1((&(x)->SyncByte),0) -#define I2O_EXEC_STATUS_GET_REPLY_setSyncByte(x,y)\ - setU1((&(x)->SyncByte),0,y) - - - -/* - * I2O_HBA_BUS_QUIESCE_MESSAGE - */ -#define I2O_HBA_BUS_QUIESCE_MESSAGE_getStdMessageFramePtr(x)\ - (&((x)->StdMessageFrame)) -#define I2O_HBA_BUS_QUIESCE_MESSAGE_getTransactionContext(x)\ - getBU4((&((x)->TransactionContext)),0) -#define I2O_HBA_BUS_QUIESCE_MESSAGE_setTransactionContext(x,y)\ - setBU4((&((x)->TransactionContext)),0,y) -#define I2O_HBA_BUS_QUIESCE_MESSAGE_getFlags(x)\ - getLU4((&(x)->Flags),0) -#define I2O_HBA_BUS_QUIESCE_MESSAGE_setFlags(x,y)\ - setLU4((&(x)->Flags),0,y) - - -#endif /* __INCi2odeph */ Property changes on: head/sys/dev/asr/i2odep.h ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: head/sys/dev/asr/asr.c =================================================================== --- head/sys/dev/asr/asr.c (revision 276525) +++ head/sys/dev/asr/asr.c (nonexistent) @@ -1,3849 +0,0 @@ -/*- - * Copyright (c) 1996-2000 Distributed Processing Technology Corporation - * Copyright (c) 2000-2001 Adaptec Corporation - * All rights reserved. - * - * TERMS AND CONDITIONS OF USE - * - * Redistribution and use in source form, with or without modification, are - * permitted provided that redistributions of source code must retain the - * above copyright notice, this list of conditions and the following disclaimer. - * - * This software is provided `as is' by Adaptec and any express or implied - * warranties, including, but not limited to, the implied warranties of - * merchantability and fitness for a particular purpose, are disclaimed. In no - * event shall Adaptec be liable for any direct, indirect, incidental, special, - * exemplary or consequential damages (including, but not limited to, - * procurement of substitute goods or services; loss of use, data, or profits; - * or business interruptions) however caused and on any theory of liability, - * whether in contract, strict liability, or tort (including negligence or - * otherwise) arising in any way out of the use of this driver software, even - * if advised of the possibility of such damage. - * - * SCSI I2O host adapter driver - * - * V1.10 2004/05/05 scottl@freebsd.org - * - Massive cleanup of the driver to remove dead code and - * non-conformant style. - * - Removed most i386-specific code to make it more portable. - * - Converted to the bus_space API. - * V1.08 2001/08/21 Mark_Salyzyn@adaptec.com - * - The 2000S and 2005S do not initialize on some machines, - * increased timeout to 255ms from 50ms for the StatusGet - * command. - * V1.07 2001/05/22 Mark_Salyzyn@adaptec.com - * - I knew this one was too good to be true. The error return - * on ioctl commands needs to be compared to CAM_REQ_CMP, not - * to the bit masked status. - * V1.06 2001/05/08 Mark_Salyzyn@adaptec.com - * - The 2005S that was supported is affectionately called the - * Conjoined BAR Firmware. In order to support RAID-5 in a - * 16MB low-cost configuration, Firmware was forced to go - * to a Split BAR Firmware. This requires a separate IOP and - * Messaging base address. - * V1.05 2001/04/25 Mark_Salyzyn@adaptec.com - * - Handle support for 2005S Zero Channel RAID solution. - * - System locked up if the Adapter locked up. Do not try - * to send other commands if the resetIOP command fails. The - * fail outstanding command discovery loop was flawed as the - * removal of the command from the list prevented discovering - * all the commands. - * - Comment changes to clarify driver. - * - SysInfo searched for an EATA SmartROM, not an I2O SmartROM. - * - We do not use the AC_FOUND_DEV event because of I2O. - * Removed asr_async. - * V1.04 2000/09/22 Mark_Salyzyn@adaptec.com, msmith@freebsd.org, - * lampa@fee.vutbr.cz and Scott_Long@adaptec.com. - * - Removed support for PM1554, PM2554 and PM2654 in Mode-0 - * mode as this is confused with competitor adapters in run - * mode. - * - critical locking needed in ASR_ccbAdd and ASR_ccbRemove - * to prevent operating system panic. - * - moved default major number to 154 from 97. - * V1.03 2000/07/12 Mark_Salyzyn@adaptec.com - * - The controller is not actually an ASR (Adaptec SCSI RAID) - * series that is visible, it's more of an internal code name. - * remove any visible references within reason for now. - * - bus_ptr->LUN was not correctly zeroed when initially - * allocated causing a possible panic of the operating system - * during boot. - * V1.02 2000/06/26 Mark_Salyzyn@adaptec.com - * - Code always fails for ASR_getTid affecting performance. - * - initiated a set of changes that resulted from a formal - * code inspection by Mark_Salyzyn@adaptec.com, - * George_Dake@adaptec.com, Jeff_Zeak@adaptec.com, - * Martin_Wilson@adaptec.com and Vincent_Trandoan@adaptec.com. - * Their findings were focussed on the LCT & TID handler, and - * all resulting changes were to improve code readability, - * consistency or have a positive effect on performance. - * V1.01 2000/06/14 Mark_Salyzyn@adaptec.com - * - Passthrough returned an incorrect error. - * - Passthrough did not migrate the intrinsic scsi layer wakeup - * on command completion. - * - generate control device nodes using make_dev and delete_dev. - * - Performance affected by TID caching reallocing. - * - Made suggested changes by Justin_Gibbs@adaptec.com - * - use splcam instead of splbio. - * - use cam_imask instead of bio_imask. - * - use u_int8_t instead of u_char. - * - use u_int16_t instead of u_short. - * - use u_int32_t instead of u_long where appropriate. - * - use 64 bit context handler instead of 32 bit. - * - create_ccb should only allocate the worst case - * requirements for the driver since CAM may evolve - * making union ccb much larger than needed here. - * renamed create_ccb to asr_alloc_ccb. - * - go nutz justifying all debug prints as macros - * defined at the top and remove unsightly ifdefs. - * - INLINE STATIC viewed as confusing. Historically - * utilized to affect code performance and debug - * issues in OS, Compiler or OEM specific situations. - * V1.00 2000/05/31 Mark_Salyzyn@adaptec.com - * - Ported from FreeBSD 2.2.X DPT I2O driver. - * changed struct scsi_xfer to union ccb/struct ccb_hdr - * changed variable name xs to ccb - * changed struct scsi_link to struct cam_path - * changed struct scsibus_data to struct cam_sim - * stopped using fordriver for holding on to the TID - * use proprietary packet creation instead of scsi_inquire - * CAM layer sends synchronize commands. - */ - -#include -#include /* TRUE=1 and FALSE=0 defined here */ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include - -#include -#include - -#include -#include - -#if defined(__i386__) -#include "opt_asr.h" -#include - -#if defined(ASR_COMPAT) -#define ASR_IOCTL_COMPAT -#endif /* ASR_COMPAT */ -#endif -#include - -#include -#include - -#define osdSwap4(x) ((u_long)ntohl((u_long)(x))) -#define KVTOPHYS(x) vtophys(x) -#include -#include -#include -#include -#include - -#include - -__FBSDID("$FreeBSD$"); - -#define ASR_VERSION 1 -#define ASR_REVISION '1' -#define ASR_SUBREVISION '0' -#define ASR_MONTH 5 -#define ASR_DAY 5 -#define ASR_YEAR (2004 - 1980) - -/* - * Debug macros to reduce the unsightly ifdefs - */ -#if (defined(DEBUG_ASR) || defined(DEBUG_ASR_USR_CMD) || defined(DEBUG_ASR_CMD)) -static __inline void -debug_asr_message(PI2O_MESSAGE_FRAME message) -{ - u_int32_t * pointer = (u_int32_t *)message; - u_int32_t length = I2O_MESSAGE_FRAME_getMessageSize(message); - u_int32_t counter = 0; - - while (length--) { - printf("%08lx%c", (u_long)*(pointer++), - (((++counter & 7) == 0) || (length == 0)) ? '\n' : ' '); - } -} -#endif /* DEBUG_ASR || DEBUG_ASR_USR_CMD || DEBUG_ASR_CMD */ - -#ifdef DEBUG_ASR - /* Breaks on none STDC based compilers :-( */ -#define debug_asr_printf(fmt,args...) printf(fmt, ##args) -#define debug_asr_dump_message(message) debug_asr_message(message) -#define debug_asr_print_path(ccb) xpt_print_path(ccb->ccb_h.path); -#else /* DEBUG_ASR */ -#define debug_asr_printf(fmt,args...) -#define debug_asr_dump_message(message) -#define debug_asr_print_path(ccb) -#endif /* DEBUG_ASR */ - -/* - * If DEBUG_ASR_CMD is defined: - * 0 - Display incoming SCSI commands - * 1 - add in a quick character before queueing. - * 2 - add in outgoing message frames. - */ -#if (defined(DEBUG_ASR_CMD)) -#define debug_asr_cmd_printf(fmt,args...) printf(fmt,##args) -static __inline void -debug_asr_dump_ccb(union ccb *ccb) -{ - u_int8_t *cp = (unsigned char *)&(ccb->csio.cdb_io); - int len = ccb->csio.cdb_len; - - while (len) { - debug_asr_cmd_printf (" %02x", *(cp++)); - --len; - } -} -#if (DEBUG_ASR_CMD > 0) -#define debug_asr_cmd1_printf debug_asr_cmd_printf -#else -#define debug_asr_cmd1_printf(fmt,args...) -#endif -#if (DEBUG_ASR_CMD > 1) -#define debug_asr_cmd2_printf debug_asr_cmd_printf -#define debug_asr_cmd2_dump_message(message) debug_asr_message(message) -#else -#define debug_asr_cmd2_printf(fmt,args...) -#define debug_asr_cmd2_dump_message(message) -#endif -#else /* DEBUG_ASR_CMD */ -#define debug_asr_cmd_printf(fmt,args...) -#define debug_asr_dump_ccb(ccb) -#define debug_asr_cmd1_printf(fmt,args...) -#define debug_asr_cmd2_printf(fmt,args...) -#define debug_asr_cmd2_dump_message(message) -#endif /* DEBUG_ASR_CMD */ - -#if (defined(DEBUG_ASR_USR_CMD)) -#define debug_usr_cmd_printf(fmt,args...) printf(fmt,##args) -#define debug_usr_cmd_dump_message(message) debug_usr_message(message) -#else /* DEBUG_ASR_USR_CMD */ -#define debug_usr_cmd_printf(fmt,args...) -#define debug_usr_cmd_dump_message(message) -#endif /* DEBUG_ASR_USR_CMD */ - -#ifdef ASR_IOCTL_COMPAT -#define dsDescription_size 46 /* Snug as a bug in a rug */ -#endif /* ASR_IOCTL_COMPAT */ - -#include "dev/asr/dptsig.h" - -static dpt_sig_S ASR_sig = { - { 'd', 'P', 't', 'S', 'i', 'G'}, SIG_VERSION, PROC_INTEL, - PROC_386 | PROC_486 | PROC_PENTIUM | PROC_SEXIUM, FT_HBADRVR, 0, - OEM_DPT, OS_FREE_BSD, CAP_ABOVE16MB, DEV_ALL, ADF_ALL_SC5, - 0, 0, ASR_VERSION, ASR_REVISION, ASR_SUBREVISION, - ASR_MONTH, ASR_DAY, ASR_YEAR, -/* 01234567890123456789012345678901234567890123456789 < 50 chars */ - "Adaptec FreeBSD 4.0.0 Unix SCSI I2O HBA Driver" - /* ^^^^^ asr_attach alters these to match OS */ -}; - -/* Configuration Definitions */ - -#define SG_SIZE 58 /* Scatter Gather list Size */ -#define MAX_TARGET_ID 126 /* Maximum Target ID supported */ -#define MAX_LUN 255 /* Maximum LUN Supported */ -#define MAX_CHANNEL 7 /* Maximum Channel # Supported by driver */ -#define MAX_INBOUND 2000 /* Max CCBs, Also Max Queue Size */ -#define MAX_OUTBOUND 256 /* Maximum outbound frames/adapter */ -#define MAX_INBOUND_SIZE 512 /* Maximum inbound frame size */ -#define MAX_MAP 4194304L /* Maximum mapping size of IOP */ - /* Also serves as the minimum map for */ - /* the 2005S zero channel RAID product */ - -/* I2O register set */ -#define I2O_REG_STATUS 0x30 -#define I2O_REG_MASK 0x34 -#define I2O_REG_TOFIFO 0x40 -#define I2O_REG_FROMFIFO 0x44 - -#define Mask_InterruptsDisabled 0x08 - -/* - * A MIX of performance and space considerations for TID lookups - */ -typedef u_int16_t tid_t; - -typedef struct { - u_int32_t size; /* up to MAX_LUN */ - tid_t TID[1]; -} lun2tid_t; - -typedef struct { - u_int32_t size; /* up to MAX_TARGET */ - lun2tid_t * LUN[1]; -} target2lun_t; - -/* - * To ensure that we only allocate and use the worst case ccb here, lets - * make our own local ccb union. If asr_alloc_ccb is utilized for another - * ccb type, ensure that you add the additional structures into our local - * ccb union. To ensure strict type checking, we will utilize the local - * ccb definition wherever possible. - */ -union asr_ccb { - struct ccb_hdr ccb_h; /* For convenience */ - struct ccb_scsiio csio; - struct ccb_setasync csa; -}; - -struct Asr_status_mem { - I2O_EXEC_STATUS_GET_REPLY status; - U32 rstatus; -}; - -/************************************************************************** -** ASR Host Adapter structure - One Structure For Each Host Adapter That ** -** Is Configured Into The System. The Structure Supplies Configuration ** -** Information, Status Info, Queue Info And An Active CCB List Pointer. ** -***************************************************************************/ - -typedef struct Asr_softc { - device_t ha_dev; - u_int16_t ha_irq; - u_long ha_Base; /* base port for each board */ - bus_size_t ha_blinkLED; - bus_space_handle_t ha_i2o_bhandle; - bus_space_tag_t ha_i2o_btag; - bus_space_handle_t ha_frame_bhandle; - bus_space_tag_t ha_frame_btag; - I2O_IOP_ENTRY ha_SystemTable; - LIST_HEAD(,ccb_hdr) ha_ccb; /* ccbs in use */ - - bus_dma_tag_t ha_parent_dmat; - bus_dma_tag_t ha_statusmem_dmat; - bus_dmamap_t ha_statusmem_dmamap; - struct Asr_status_mem * ha_statusmem; - u_int32_t ha_rstatus_phys; - u_int32_t ha_status_phys; - struct cam_path * ha_path[MAX_CHANNEL+1]; - struct cam_sim * ha_sim[MAX_CHANNEL+1]; - struct resource * ha_mem_res; - struct resource * ha_mes_res; - struct resource * ha_irq_res; - void * ha_intr; - PI2O_LCT ha_LCT; /* Complete list of devices */ -#define le_type IdentityTag[0] -#define I2O_BSA 0x20 -#define I2O_FCA 0x40 -#define I2O_SCSI 0x00 -#define I2O_PORT 0x80 -#define I2O_UNKNOWN 0x7F -#define le_bus IdentityTag[1] -#define le_target IdentityTag[2] -#define le_lun IdentityTag[3] - target2lun_t * ha_targets[MAX_CHANNEL+1]; - PI2O_SCSI_ERROR_REPLY_MESSAGE_FRAME ha_Msgs; - u_long ha_Msgs_Phys; - - u_int8_t ha_in_reset; -#define HA_OPERATIONAL 0 -#define HA_IN_RESET 1 -#define HA_OFF_LINE 2 -#define HA_OFF_LINE_RECOVERY 3 - /* Configuration information */ - /* The target id maximums we take */ - u_int8_t ha_MaxBus; /* Maximum bus */ - u_int8_t ha_MaxId; /* Maximum target ID */ - u_int8_t ha_MaxLun; /* Maximum target LUN */ - u_int8_t ha_SgSize; /* Max SG elements */ - u_int8_t ha_pciBusNum; - u_int8_t ha_pciDeviceNum; - u_int8_t ha_adapter_target[MAX_CHANNEL+1]; - u_int16_t ha_QueueSize; /* Max outstanding commands */ - u_int16_t ha_Msgs_Count; - - /* Links into other parents and HBAs */ - STAILQ_ENTRY(Asr_softc) ha_next; /* HBA list */ - struct cdev *ha_devt; -} Asr_softc_t; - -static STAILQ_HEAD(, Asr_softc) Asr_softc_list = - STAILQ_HEAD_INITIALIZER(Asr_softc_list); -/* - * Prototypes of the routines we have in this object. - */ - -/* I2O HDM interface */ -static int asr_probe(device_t dev); -static int asr_attach(device_t dev); - -static int asr_ioctl(struct cdev *dev, u_long cmd, caddr_t data, int flag, - struct thread *td); -static int asr_open(struct cdev *dev, int32_t flags, int32_t ifmt, - struct thread *td); -static int asr_close(struct cdev *dev, int flags, int ifmt, struct thread *td); -static int asr_intr(Asr_softc_t *sc); -static void asr_timeout(void *arg); -static int ASR_init(Asr_softc_t *sc); -static int ASR_acquireLct(Asr_softc_t *sc); -static int ASR_acquireHrt(Asr_softc_t *sc); -static void asr_action(struct cam_sim *sim, union ccb *ccb); -static void asr_poll(struct cam_sim *sim); -static int ASR_queue(Asr_softc_t *sc, PI2O_MESSAGE_FRAME Message); - -static __inline void -set_ccb_timeout_ch(union asr_ccb *ccb) -{ - struct callout_handle ch; - - ch = timeout(asr_timeout, (caddr_t)ccb, - (int)((u_int64_t)(ccb->ccb_h.timeout) * (u_int32_t)hz / 1000)); - ccb->ccb_h.sim_priv.entries[0].ptr = ch.callout; -} - -static __inline struct callout_handle -get_ccb_timeout_ch(union asr_ccb *ccb) -{ - struct callout_handle ch; - - ch.callout = ccb->ccb_h.sim_priv.entries[0].ptr; - return ch; -} - -/* - * Here is the auto-probe structure used to nest our tests appropriately - * during the startup phase of the operating system. - */ -static device_method_t asr_methods[] = { - DEVMETHOD(device_probe, asr_probe), - DEVMETHOD(device_attach, asr_attach), - { 0, 0 } -}; - -static driver_t asr_driver = { - "asr", - asr_methods, - sizeof(Asr_softc_t) -}; - -static devclass_t asr_devclass; -DRIVER_MODULE(asr, pci, asr_driver, asr_devclass, 0, 0); -MODULE_DEPEND(asr, pci, 1, 1, 1); -MODULE_DEPEND(asr, cam, 1, 1, 1); - -/* - * devsw for asr hba driver - * - * only ioctl is used. the sd driver provides all other access. - */ -static struct cdevsw asr_cdevsw = { - .d_version = D_VERSION, - .d_flags = D_NEEDGIANT, - .d_open = asr_open, - .d_close = asr_close, - .d_ioctl = asr_ioctl, - .d_name = "asr", -}; - -/* I2O support routines */ - -static __inline u_int32_t -asr_get_FromFIFO(Asr_softc_t *sc) -{ - return (bus_space_read_4(sc->ha_i2o_btag, sc->ha_i2o_bhandle, - I2O_REG_FROMFIFO)); -} - -static __inline u_int32_t -asr_get_ToFIFO(Asr_softc_t *sc) -{ - return (bus_space_read_4(sc->ha_i2o_btag, sc->ha_i2o_bhandle, - I2O_REG_TOFIFO)); -} - -static __inline u_int32_t -asr_get_intr(Asr_softc_t *sc) -{ - return (bus_space_read_4(sc->ha_i2o_btag, sc->ha_i2o_bhandle, - I2O_REG_MASK)); -} - -static __inline u_int32_t -asr_get_status(Asr_softc_t *sc) -{ - return (bus_space_read_4(sc->ha_i2o_btag, sc->ha_i2o_bhandle, - I2O_REG_STATUS)); -} - -static __inline void -asr_set_FromFIFO(Asr_softc_t *sc, u_int32_t val) -{ - bus_space_write_4(sc->ha_i2o_btag, sc->ha_i2o_bhandle, I2O_REG_FROMFIFO, - val); -} - -static __inline void -asr_set_ToFIFO(Asr_softc_t *sc, u_int32_t val) -{ - bus_space_write_4(sc->ha_i2o_btag, sc->ha_i2o_bhandle, I2O_REG_TOFIFO, - val); -} - -static __inline void -asr_set_intr(Asr_softc_t *sc, u_int32_t val) -{ - bus_space_write_4(sc->ha_i2o_btag, sc->ha_i2o_bhandle, I2O_REG_MASK, - val); -} - -static __inline void -asr_set_frame(Asr_softc_t *sc, void *frame, u_int32_t offset, int len) -{ - bus_space_write_region_4(sc->ha_frame_btag, sc->ha_frame_bhandle, - offset, (u_int32_t *)frame, len); -} - -/* - * Fill message with default. - */ -static PI2O_MESSAGE_FRAME -ASR_fillMessage(void *Message, u_int16_t size) -{ - PI2O_MESSAGE_FRAME Message_Ptr; - - Message_Ptr = (I2O_MESSAGE_FRAME *)Message; - bzero(Message_Ptr, size); - I2O_MESSAGE_FRAME_setVersionOffset(Message_Ptr, I2O_VERSION_11); - I2O_MESSAGE_FRAME_setMessageSize(Message_Ptr, - (size + sizeof(U32) - 1) >> 2); - I2O_MESSAGE_FRAME_setInitiatorAddress (Message_Ptr, 1); - KASSERT(Message_Ptr != NULL, ("Message_Ptr == NULL")); - return (Message_Ptr); -} /* ASR_fillMessage */ - -#define EMPTY_QUEUE (0xffffffff) - -static __inline U32 -ASR_getMessage(Asr_softc_t *sc) -{ - U32 MessageOffset; - - MessageOffset = asr_get_ToFIFO(sc); - if (MessageOffset == EMPTY_QUEUE) - MessageOffset = asr_get_ToFIFO(sc); - - return (MessageOffset); -} /* ASR_getMessage */ - -/* Issue a polled command */ -static U32 -ASR_initiateCp(Asr_softc_t *sc, PI2O_MESSAGE_FRAME Message) -{ - U32 Mask = 0xffffffff; - U32 MessageOffset; - u_int Delay = 1500; - - /* - * ASR_initiateCp is only used for synchronous commands and will - * be made more resiliant to adapter delays since commands like - * resetIOP can cause the adapter to be deaf for a little time. - */ - while (((MessageOffset = ASR_getMessage(sc)) == EMPTY_QUEUE) - && (--Delay != 0)) { - DELAY (10000); - } - if (MessageOffset != EMPTY_QUEUE) { - asr_set_frame(sc, Message, MessageOffset, - I2O_MESSAGE_FRAME_getMessageSize(Message)); - /* - * Disable the Interrupts - */ - Mask = asr_get_intr(sc); - asr_set_intr(sc, Mask | Mask_InterruptsDisabled); - asr_set_ToFIFO(sc, MessageOffset); - } - return (Mask); -} /* ASR_initiateCp */ - -/* - * Reset the adapter. - */ -static U32 -ASR_resetIOP(Asr_softc_t *sc) -{ - I2O_EXEC_IOP_RESET_MESSAGE Message; - PI2O_EXEC_IOP_RESET_MESSAGE Message_Ptr; - U32 * Reply_Ptr; - U32 Old; - - /* - * Build up our copy of the Message. - */ - Message_Ptr = (PI2O_EXEC_IOP_RESET_MESSAGE)ASR_fillMessage(&Message, - sizeof(I2O_EXEC_IOP_RESET_MESSAGE)); - I2O_EXEC_IOP_RESET_MESSAGE_setFunction(Message_Ptr, I2O_EXEC_IOP_RESET); - /* - * Reset the Reply Status - */ - Reply_Ptr = &sc->ha_statusmem->rstatus; - *Reply_Ptr = 0; - I2O_EXEC_IOP_RESET_MESSAGE_setStatusWordLowAddress(Message_Ptr, - sc->ha_rstatus_phys); - /* - * Send the Message out - */ - if ((Old = ASR_initiateCp(sc, (PI2O_MESSAGE_FRAME)Message_Ptr)) != - 0xffffffff) { - /* - * Wait for a response (Poll), timeouts are dangerous if - * the card is truly responsive. We assume response in 2s. - */ - u_int8_t Delay = 200; - - while ((*Reply_Ptr == 0) && (--Delay != 0)) { - DELAY (10000); - } - /* - * Re-enable the interrupts. - */ - asr_set_intr(sc, Old); - KASSERT(*Reply_Ptr != 0, ("*Reply_Ptr == 0")); - return(*Reply_Ptr); - } - KASSERT(Old != 0xffffffff, ("Old == -1")); - return (0); -} /* ASR_resetIOP */ - -/* - * Get the curent state of the adapter - */ -static PI2O_EXEC_STATUS_GET_REPLY -ASR_getStatus(Asr_softc_t *sc) -{ - I2O_EXEC_STATUS_GET_MESSAGE Message; - PI2O_EXEC_STATUS_GET_MESSAGE Message_Ptr; - PI2O_EXEC_STATUS_GET_REPLY buffer; - U32 Old; - - /* - * Build up our copy of the Message. - */ - Message_Ptr = (PI2O_EXEC_STATUS_GET_MESSAGE)ASR_fillMessage(&Message, - sizeof(I2O_EXEC_STATUS_GET_MESSAGE)); - I2O_EXEC_STATUS_GET_MESSAGE_setFunction(Message_Ptr, - I2O_EXEC_STATUS_GET); - I2O_EXEC_STATUS_GET_MESSAGE_setReplyBufferAddressLow(Message_Ptr, - sc->ha_status_phys); - /* This one is a Byte Count */ - I2O_EXEC_STATUS_GET_MESSAGE_setReplyBufferLength(Message_Ptr, - sizeof(I2O_EXEC_STATUS_GET_REPLY)); - /* - * Reset the Reply Status - */ - buffer = &sc->ha_statusmem->status; - bzero(buffer, sizeof(I2O_EXEC_STATUS_GET_REPLY)); - /* - * Send the Message out - */ - if ((Old = ASR_initiateCp(sc, (PI2O_MESSAGE_FRAME)Message_Ptr)) != - 0xffffffff) { - /* - * Wait for a response (Poll), timeouts are dangerous if - * the card is truly responsive. We assume response in 50ms. - */ - u_int8_t Delay = 255; - - while (*((U8 * volatile)&(buffer->SyncByte)) == 0) { - if (--Delay == 0) { - buffer = NULL; - break; - } - DELAY (1000); - } - /* - * Re-enable the interrupts. - */ - asr_set_intr(sc, Old); - return (buffer); - } - return (NULL); -} /* ASR_getStatus */ - -/* - * Check if the device is a SCSI I2O HBA, and add it to the list. - */ - -/* - * Probe for ASR controller. If we find it, we will use it. - * virtual adapters. - */ -static int -asr_probe(device_t dev) -{ - u_int32_t id; - - id = (pci_get_device(dev) << 16) | pci_get_vendor(dev); - if ((id == 0xA5011044) || (id == 0xA5111044)) { - device_set_desc(dev, "Adaptec Caching SCSI RAID"); - return (BUS_PROBE_DEFAULT); - } - return (ENXIO); -} /* asr_probe */ - -static __inline union asr_ccb * -asr_alloc_ccb(Asr_softc_t *sc) -{ - union asr_ccb *new_ccb; - - if ((new_ccb = (union asr_ccb *)malloc(sizeof(*new_ccb), - M_DEVBUF, M_WAITOK | M_ZERO)) != NULL) { - new_ccb->ccb_h.pinfo.priority = 1; - new_ccb->ccb_h.pinfo.index = CAM_UNQUEUED_INDEX; - new_ccb->ccb_h.spriv_ptr0 = sc; - } - return (new_ccb); -} /* asr_alloc_ccb */ - -static __inline void -asr_free_ccb(union asr_ccb *free_ccb) -{ - free(free_ccb, M_DEVBUF); -} /* asr_free_ccb */ - -/* - * Print inquiry data `carefully' - */ -static void -ASR_prstring(u_int8_t *s, int len) -{ - while ((--len >= 0) && (*s) && (*s != ' ') && (*s != '-')) { - printf ("%c", *(s++)); - } -} /* ASR_prstring */ - -/* - * Send a message synchronously and without Interrupt to a ccb. - */ -static int -ASR_queue_s(union asr_ccb *ccb, PI2O_MESSAGE_FRAME Message) -{ - int s; - U32 Mask; - Asr_softc_t *sc = (Asr_softc_t *)(ccb->ccb_h.spriv_ptr0); - - /* - * We do not need any (optional byteswapping) method access to - * the Initiator context field. - */ - I2O_MESSAGE_FRAME_setInitiatorContext64(Message, (long)ccb); - - /* Prevent interrupt service */ - s = splcam (); - Mask = asr_get_intr(sc); - asr_set_intr(sc, Mask | Mask_InterruptsDisabled); - - if (ASR_queue(sc, Message) == EMPTY_QUEUE) { - ccb->ccb_h.status &= ~CAM_STATUS_MASK; - ccb->ccb_h.status |= CAM_REQUEUE_REQ; - } - - /* - * Wait for this board to report a finished instruction. - */ - while ((ccb->ccb_h.status & CAM_STATUS_MASK) == CAM_REQ_INPROG) { - (void)asr_intr (sc); - } - - /* Re-enable Interrupts */ - asr_set_intr(sc, Mask); - splx(s); - - return (ccb->ccb_h.status); -} /* ASR_queue_s */ - -/* - * Send a message synchronously to an Asr_softc_t. - */ -static int -ASR_queue_c(Asr_softc_t *sc, PI2O_MESSAGE_FRAME Message) -{ - union asr_ccb *ccb; - int status; - - if ((ccb = asr_alloc_ccb (sc)) == NULL) { - return (CAM_REQUEUE_REQ); - } - - status = ASR_queue_s (ccb, Message); - - asr_free_ccb(ccb); - - return (status); -} /* ASR_queue_c */ - -/* - * Add the specified ccb to the active queue - */ -static __inline void -ASR_ccbAdd(Asr_softc_t *sc, union asr_ccb *ccb) -{ - int s; - - s = splcam(); - LIST_INSERT_HEAD(&(sc->ha_ccb), &(ccb->ccb_h), sim_links.le); - if (ccb->ccb_h.timeout != CAM_TIME_INFINITY) { - if (ccb->ccb_h.timeout == CAM_TIME_DEFAULT) { - /* - * RAID systems can take considerable time to - * complete some commands given the large cache - * flashes switching from write back to write thru. - */ - ccb->ccb_h.timeout = 6 * 60 * 1000; - } - set_ccb_timeout_ch(ccb); - } - splx(s); -} /* ASR_ccbAdd */ - -/* - * Remove the specified ccb from the active queue. - */ -static __inline void -ASR_ccbRemove(Asr_softc_t *sc, union asr_ccb *ccb) -{ - int s; - - s = splcam(); - untimeout(asr_timeout, (caddr_t)ccb, get_ccb_timeout_ch(ccb)); - LIST_REMOVE(&(ccb->ccb_h), sim_links.le); - splx(s); -} /* ASR_ccbRemove */ - -/* - * Fail all the active commands, so they get re-issued by the operating - * system. - */ -static void -ASR_failActiveCommands(Asr_softc_t *sc) -{ - struct ccb_hdr *ccb; - int s; - - s = splcam(); - /* - * We do not need to inform the CAM layer that we had a bus - * reset since we manage it on our own, this also prevents the - * SCSI_DELAY settling that would be required on other systems. - * The `SCSI_DELAY' has already been handled by the card via the - * acquisition of the LCT table while we are at CAM priority level. - * for (int bus = 0; bus <= sc->ha_MaxBus; ++bus) { - * xpt_async (AC_BUS_RESET, sc->ha_path[bus], NULL); - * } - */ - while ((ccb = LIST_FIRST(&(sc->ha_ccb))) != NULL) { - ASR_ccbRemove (sc, (union asr_ccb *)ccb); - - ccb->status &= ~CAM_STATUS_MASK; - ccb->status |= CAM_REQUEUE_REQ; - /* Nothing Transfered */ - ((struct ccb_scsiio *)ccb)->resid - = ((struct ccb_scsiio *)ccb)->dxfer_len; - - if (ccb->path) { - xpt_done ((union ccb *)ccb); - } else { - wakeup (ccb); - } - } - splx(s); -} /* ASR_failActiveCommands */ - -/* - * The following command causes the HBA to reset the specific bus - */ -static void -ASR_resetBus(Asr_softc_t *sc, int bus) -{ - I2O_HBA_BUS_RESET_MESSAGE Message; - I2O_HBA_BUS_RESET_MESSAGE *Message_Ptr; - PI2O_LCT_ENTRY Device; - - Message_Ptr = (I2O_HBA_BUS_RESET_MESSAGE *)ASR_fillMessage(&Message, - sizeof(I2O_HBA_BUS_RESET_MESSAGE)); - I2O_MESSAGE_FRAME_setFunction(&Message_Ptr->StdMessageFrame, - I2O_HBA_BUS_RESET); - for (Device = sc->ha_LCT->LCTEntry; Device < (PI2O_LCT_ENTRY) - (((U32 *)sc->ha_LCT)+I2O_LCT_getTableSize(sc->ha_LCT)); - ++Device) { - if (((Device->le_type & I2O_PORT) != 0) - && (Device->le_bus == bus)) { - I2O_MESSAGE_FRAME_setTargetAddress( - &Message_Ptr->StdMessageFrame, - I2O_LCT_ENTRY_getLocalTID(Device)); - /* Asynchronous command, with no expectations */ - (void)ASR_queue(sc, (PI2O_MESSAGE_FRAME)Message_Ptr); - break; - } - } -} /* ASR_resetBus */ - -static __inline int -ASR_getBlinkLedCode(Asr_softc_t *sc) -{ - U8 blink; - - if (sc == NULL) - return (0); - - blink = bus_space_read_1(sc->ha_frame_btag, - sc->ha_frame_bhandle, sc->ha_blinkLED + 1); - if (blink != 0xBC) - return (0); - - blink = bus_space_read_1(sc->ha_frame_btag, - sc->ha_frame_bhandle, sc->ha_blinkLED); - return (blink); -} /* ASR_getBlinkCode */ - -/* - * Determine the address of an TID lookup. Must be done at high priority - * since the address can be changed by other threads of execution. - * - * Returns NULL pointer if not indexible (but will attempt to generate - * an index if `new_entry' flag is set to TRUE). - * - * All addressible entries are to be guaranteed zero if never initialized. - */ -static tid_t * -ASR_getTidAddress(Asr_softc_t *sc, int bus, int target, int lun, int new_entry) -{ - target2lun_t *bus_ptr; - lun2tid_t *target_ptr; - unsigned new_size; - - /* - * Validity checking of incoming parameters. More of a bound - * expansion limit than an issue with the code dealing with the - * values. - * - * sc must be valid before it gets here, so that check could be - * dropped if speed a critical issue. - */ - if ((sc == NULL) - || (bus > MAX_CHANNEL) - || (target > sc->ha_MaxId) - || (lun > sc->ha_MaxLun)) { - debug_asr_printf("(%lx,%d,%d,%d) target out of range\n", - (u_long)sc, bus, target, lun); - return (NULL); - } - /* - * See if there is an associated bus list. - * - * for performance, allocate in size of BUS_CHUNK chunks. - * BUS_CHUNK must be a power of two. This is to reduce - * fragmentation effects on the allocations. - */ -#define BUS_CHUNK 8 - new_size = ((target + BUS_CHUNK - 1) & ~(BUS_CHUNK - 1)); - if ((bus_ptr = sc->ha_targets[bus]) == NULL) { - /* - * Allocate a new structure? - * Since one element in structure, the +1 - * needed for size has been abstracted. - */ - if ((new_entry == FALSE) - || ((sc->ha_targets[bus] = bus_ptr = (target2lun_t *)malloc ( - sizeof(*bus_ptr) + (sizeof(bus_ptr->LUN) * new_size), - M_TEMP, M_WAITOK | M_ZERO)) - == NULL)) { - debug_asr_printf("failed to allocate bus list\n"); - return (NULL); - } - bus_ptr->size = new_size + 1; - } else if (bus_ptr->size <= new_size) { - target2lun_t * new_bus_ptr; - - /* - * Reallocate a new structure? - * Since one element in structure, the +1 - * needed for size has been abstracted. - */ - if ((new_entry == FALSE) - || ((new_bus_ptr = (target2lun_t *)malloc ( - sizeof(*bus_ptr) + (sizeof(bus_ptr->LUN) * new_size), - M_TEMP, M_WAITOK | M_ZERO)) == NULL)) { - debug_asr_printf("failed to reallocate bus list\n"); - return (NULL); - } - /* - * Copy the whole thing, safer, simpler coding - * and not really performance critical at this point. - */ - bcopy(bus_ptr, new_bus_ptr, sizeof(*bus_ptr) - + (sizeof(bus_ptr->LUN) * (bus_ptr->size - 1))); - sc->ha_targets[bus] = new_bus_ptr; - free(bus_ptr, M_TEMP); - bus_ptr = new_bus_ptr; - bus_ptr->size = new_size + 1; - } - /* - * We now have the bus list, lets get to the target list. - * Since most systems have only *one* lun, we do not allocate - * in chunks as above, here we allow one, then in chunk sizes. - * TARGET_CHUNK must be a power of two. This is to reduce - * fragmentation effects on the allocations. - */ -#define TARGET_CHUNK 8 - if ((new_size = lun) != 0) { - new_size = ((lun + TARGET_CHUNK - 1) & ~(TARGET_CHUNK - 1)); - } - if ((target_ptr = bus_ptr->LUN[target]) == NULL) { - /* - * Allocate a new structure? - * Since one element in structure, the +1 - * needed for size has been abstracted. - */ - if ((new_entry == FALSE) - || ((bus_ptr->LUN[target] = target_ptr = (lun2tid_t *)malloc ( - sizeof(*target_ptr) + (sizeof(target_ptr->TID) * new_size), - M_TEMP, M_WAITOK | M_ZERO)) == NULL)) { - debug_asr_printf("failed to allocate target list\n"); - return (NULL); - } - target_ptr->size = new_size + 1; - } else if (target_ptr->size <= new_size) { - lun2tid_t * new_target_ptr; - - /* - * Reallocate a new structure? - * Since one element in structure, the +1 - * needed for size has been abstracted. - */ - if ((new_entry == FALSE) - || ((new_target_ptr = (lun2tid_t *)malloc ( - sizeof(*target_ptr) + (sizeof(target_ptr->TID) * new_size), - M_TEMP, M_WAITOK | M_ZERO)) == NULL)) { - debug_asr_printf("failed to reallocate target list\n"); - return (NULL); - } - /* - * Copy the whole thing, safer, simpler coding - * and not really performance critical at this point. - */ - bcopy(target_ptr, new_target_ptr, sizeof(*target_ptr) - + (sizeof(target_ptr->TID) * (target_ptr->size - 1))); - bus_ptr->LUN[target] = new_target_ptr; - free(target_ptr, M_TEMP); - target_ptr = new_target_ptr; - target_ptr->size = new_size + 1; - } - /* - * Now, acquire the TID address from the LUN indexed list. - */ - return (&(target_ptr->TID[lun])); -} /* ASR_getTidAddress */ - -/* - * Get a pre-existing TID relationship. - * - * If the TID was never set, return (tid_t)-1. - * - * should use mutex rather than spl. - */ -static __inline tid_t -ASR_getTid(Asr_softc_t *sc, int bus, int target, int lun) -{ - tid_t *tid_ptr; - int s; - tid_t retval; - - s = splcam(); - if (((tid_ptr = ASR_getTidAddress(sc, bus, target, lun, FALSE)) == NULL) - /* (tid_t)0 or (tid_t)-1 indicate no TID */ - || (*tid_ptr == (tid_t)0)) { - splx(s); - return ((tid_t)-1); - } - retval = *tid_ptr; - splx(s); - return (retval); -} /* ASR_getTid */ - -/* - * Set a TID relationship. - * - * If the TID was not set, return (tid_t)-1. - * - * should use mutex rather than spl. - */ -static __inline tid_t -ASR_setTid(Asr_softc_t *sc, int bus, int target, int lun, tid_t TID) -{ - tid_t *tid_ptr; - int s; - - if (TID != (tid_t)-1) { - if (TID == 0) { - return ((tid_t)-1); - } - s = splcam(); - if ((tid_ptr = ASR_getTidAddress(sc, bus, target, lun, TRUE)) - == NULL) { - splx(s); - return ((tid_t)-1); - } - *tid_ptr = TID; - splx(s); - } - return (TID); -} /* ASR_setTid */ - -/*-------------------------------------------------------------------------*/ -/* Function ASR_rescan */ -/*-------------------------------------------------------------------------*/ -/* The Parameters Passed To This Function Are : */ -/* Asr_softc_t * : HBA miniport driver's adapter data storage. */ -/* */ -/* This Function Will rescan the adapter and resynchronize any data */ -/* */ -/* Return : 0 For OK, Error Code Otherwise */ -/*-------------------------------------------------------------------------*/ - -static int -ASR_rescan(Asr_softc_t *sc) -{ - int bus; - int error; - - /* - * Re-acquire the LCT table and synchronize us to the adapter. - */ - if ((error = ASR_acquireLct(sc)) == 0) { - error = ASR_acquireHrt(sc); - } - - if (error != 0) { - return error; - } - - bus = sc->ha_MaxBus; - /* Reset all existing cached TID lookups */ - do { - int target, event = 0; - - /* - * Scan for all targets on this bus to see if they - * got affected by the rescan. - */ - for (target = 0; target <= sc->ha_MaxId; ++target) { - int lun; - - /* Stay away from the controller ID */ - if (target == sc->ha_adapter_target[bus]) { - continue; - } - for (lun = 0; lun <= sc->ha_MaxLun; ++lun) { - PI2O_LCT_ENTRY Device; - tid_t TID = (tid_t)-1; - tid_t LastTID; - - /* - * See if the cached TID changed. Search for - * the device in our new LCT. - */ - for (Device = sc->ha_LCT->LCTEntry; - Device < (PI2O_LCT_ENTRY)(((U32 *)sc->ha_LCT) - + I2O_LCT_getTableSize(sc->ha_LCT)); - ++Device) { - if ((Device->le_type != I2O_UNKNOWN) - && (Device->le_bus == bus) - && (Device->le_target == target) - && (Device->le_lun == lun) - && (I2O_LCT_ENTRY_getUserTID(Device) - == 0xFFF)) { - TID = I2O_LCT_ENTRY_getLocalTID( - Device); - break; - } - } - /* - * Indicate to the OS that the label needs - * to be recalculated, or that the specific - * open device is no longer valid (Merde) - * because the cached TID changed. - */ - LastTID = ASR_getTid (sc, bus, target, lun); - if (LastTID != TID) { - struct cam_path * path; - - if (xpt_create_path(&path, - /*periph*/NULL, - cam_sim_path(sc->ha_sim[bus]), - target, lun) != CAM_REQ_CMP) { - if (TID == (tid_t)-1) { - event |= AC_LOST_DEVICE; - } else { - event |= AC_INQ_CHANGED - | AC_GETDEV_CHANGED; - } - } else { - if (TID == (tid_t)-1) { - xpt_async( - AC_LOST_DEVICE, - path, NULL); - } else if (LastTID == (tid_t)-1) { - struct ccb_getdev ccb; - - xpt_setup_ccb( - &(ccb.ccb_h), - path, /*priority*/5); - xpt_async( - AC_FOUND_DEVICE, - path, - &ccb); - } else { - xpt_async( - AC_INQ_CHANGED, - path, NULL); - xpt_async( - AC_GETDEV_CHANGED, - path, NULL); - } - } - } - /* - * We have the option of clearing the - * cached TID for it to be rescanned, or to - * set it now even if the device never got - * accessed. We chose the later since we - * currently do not use the condition that - * the TID ever got cached. - */ - ASR_setTid (sc, bus, target, lun, TID); - } - } - /* - * The xpt layer can not handle multiple events at the - * same call. - */ - if (event & AC_LOST_DEVICE) { - xpt_async(AC_LOST_DEVICE, sc->ha_path[bus], NULL); - } - if (event & AC_INQ_CHANGED) { - xpt_async(AC_INQ_CHANGED, sc->ha_path[bus], NULL); - } - if (event & AC_GETDEV_CHANGED) { - xpt_async(AC_GETDEV_CHANGED, sc->ha_path[bus], NULL); - } - } while (--bus >= 0); - return (error); -} /* ASR_rescan */ - -/*-------------------------------------------------------------------------*/ -/* Function ASR_reset */ -/*-------------------------------------------------------------------------*/ -/* The Parameters Passed To This Function Are : */ -/* Asr_softc_t * : HBA miniport driver's adapter data storage. */ -/* */ -/* This Function Will reset the adapter and resynchronize any data */ -/* */ -/* Return : None */ -/*-------------------------------------------------------------------------*/ - -static int -ASR_reset(Asr_softc_t *sc) -{ - int s, retVal; - - s = splcam(); - if ((sc->ha_in_reset == HA_IN_RESET) - || (sc->ha_in_reset == HA_OFF_LINE_RECOVERY)) { - splx (s); - return (EBUSY); - } - /* - * Promotes HA_OPERATIONAL to HA_IN_RESET, - * or HA_OFF_LINE to HA_OFF_LINE_RECOVERY. - */ - ++(sc->ha_in_reset); - if (ASR_resetIOP(sc) == 0) { - debug_asr_printf ("ASR_resetIOP failed\n"); - /* - * We really need to take this card off-line, easier said - * than make sense. Better to keep retrying for now since if a - * UART cable is connected the blinkLEDs the adapter is now in - * a hard state requiring action from the monitor commands to - * the HBA to continue. For debugging waiting forever is a - * good thing. In a production system, however, one may wish - * to instead take the card off-line ... - */ - /* Wait Forever */ - while (ASR_resetIOP(sc) == 0); - } - retVal = ASR_init (sc); - splx (s); - if (retVal != 0) { - debug_asr_printf ("ASR_init failed\n"); - sc->ha_in_reset = HA_OFF_LINE; - return (ENXIO); - } - if (ASR_rescan (sc) != 0) { - debug_asr_printf ("ASR_rescan failed\n"); - } - ASR_failActiveCommands (sc); - if (sc->ha_in_reset == HA_OFF_LINE_RECOVERY) { - printf ("asr%d: Brining adapter back on-line\n", - sc->ha_path[0] - ? cam_sim_unit(xpt_path_sim(sc->ha_path[0])) - : 0); - } - sc->ha_in_reset = HA_OPERATIONAL; - return (0); -} /* ASR_reset */ - -/* - * Device timeout handler. - */ -static void -asr_timeout(void *arg) -{ - union asr_ccb *ccb = (union asr_ccb *)arg; - Asr_softc_t *sc = (Asr_softc_t *)(ccb->ccb_h.spriv_ptr0); - int s; - - debug_asr_print_path(ccb); - debug_asr_printf("timed out"); - - /* - * Check if the adapter has locked up? - */ - if ((s = ASR_getBlinkLedCode(sc)) != 0) { - /* Reset Adapter */ - printf ("asr%d: Blink LED 0x%x resetting adapter\n", - cam_sim_unit(xpt_path_sim(ccb->ccb_h.path)), s); - if (ASR_reset (sc) == ENXIO) { - /* Try again later */ - set_ccb_timeout_ch(ccb); - } - return; - } - /* - * Abort does not function on the ASR card!!! Walking away from - * the SCSI command is also *very* dangerous. A SCSI BUS reset is - * our best bet, followed by a complete adapter reset if that fails. - */ - s = splcam(); - /* Check if we already timed out once to raise the issue */ - if ((ccb->ccb_h.status & CAM_STATUS_MASK) == CAM_CMD_TIMEOUT) { - debug_asr_printf (" AGAIN\nreinitializing adapter\n"); - if (ASR_reset (sc) == ENXIO) { - set_ccb_timeout_ch(ccb); - } - splx(s); - return; - } - debug_asr_printf ("\nresetting bus\n"); - /* If the BUS reset does not take, then an adapter reset is next! */ - ccb->ccb_h.status &= ~CAM_STATUS_MASK; - ccb->ccb_h.status |= CAM_CMD_TIMEOUT; - set_ccb_timeout_ch(ccb); - ASR_resetBus (sc, cam_sim_bus(xpt_path_sim(ccb->ccb_h.path))); - xpt_async (AC_BUS_RESET, ccb->ccb_h.path, NULL); - splx(s); -} /* asr_timeout */ - -/* - * send a message asynchronously - */ -static int -ASR_queue(Asr_softc_t *sc, PI2O_MESSAGE_FRAME Message) -{ - U32 MessageOffset; - union asr_ccb *ccb; - - debug_asr_printf("Host Command Dump:\n"); - debug_asr_dump_message(Message); - - ccb = (union asr_ccb *)(long) - I2O_MESSAGE_FRAME_getInitiatorContext64(Message); - - if ((MessageOffset = ASR_getMessage(sc)) != EMPTY_QUEUE) { - asr_set_frame(sc, Message, MessageOffset, - I2O_MESSAGE_FRAME_getMessageSize(Message)); - if (ccb) { - ASR_ccbAdd (sc, ccb); - } - /* Post the command */ - asr_set_ToFIFO(sc, MessageOffset); - } else { - if (ASR_getBlinkLedCode(sc)) { - /* - * Unlikely we can do anything if we can't grab a - * message frame :-(, but lets give it a try. - */ - (void)ASR_reset(sc); - } - } - return (MessageOffset); -} /* ASR_queue */ - - -/* Simple Scatter Gather elements */ -#define SG(SGL,Index,Flags,Buffer,Size) \ - I2O_FLAGS_COUNT_setCount( \ - &(((PI2O_SG_ELEMENT)(SGL))->u.Simple[Index].FlagsCount), \ - Size); \ - I2O_FLAGS_COUNT_setFlags( \ - &(((PI2O_SG_ELEMENT)(SGL))->u.Simple[Index].FlagsCount), \ - I2O_SGL_FLAGS_SIMPLE_ADDRESS_ELEMENT | (Flags)); \ - I2O_SGE_SIMPLE_ELEMENT_setPhysicalAddress( \ - &(((PI2O_SG_ELEMENT)(SGL))->u.Simple[Index]), \ - (Buffer == NULL) ? 0 : KVTOPHYS(Buffer)) - -/* - * Retrieve Parameter Group. - */ -static void * -ASR_getParams(Asr_softc_t *sc, tid_t TID, int Group, void *Buffer, - unsigned BufferSize) -{ - struct paramGetMessage { - I2O_UTIL_PARAMS_GET_MESSAGE M; - char - F[sizeof(I2O_SGE_SIMPLE_ELEMENT)*2 - sizeof(I2O_SG_ELEMENT)]; - struct Operations { - I2O_PARAM_OPERATIONS_LIST_HEADER Header; - I2O_PARAM_OPERATION_ALL_TEMPLATE Template[1]; - } O; - } Message; - struct Operations *Operations_Ptr; - I2O_UTIL_PARAMS_GET_MESSAGE *Message_Ptr; - struct ParamBuffer { - I2O_PARAM_RESULTS_LIST_HEADER Header; - I2O_PARAM_READ_OPERATION_RESULT Read; - char Info[1]; - } *Buffer_Ptr; - - Message_Ptr = (I2O_UTIL_PARAMS_GET_MESSAGE *)ASR_fillMessage(&Message, - sizeof(I2O_UTIL_PARAMS_GET_MESSAGE) - + sizeof(I2O_SGE_SIMPLE_ELEMENT)*2 - sizeof(I2O_SG_ELEMENT)); - Operations_Ptr = (struct Operations *)((char *)Message_Ptr - + sizeof(I2O_UTIL_PARAMS_GET_MESSAGE) - + sizeof(I2O_SGE_SIMPLE_ELEMENT)*2 - sizeof(I2O_SG_ELEMENT)); - bzero(Operations_Ptr, sizeof(struct Operations)); - I2O_PARAM_OPERATIONS_LIST_HEADER_setOperationCount( - &(Operations_Ptr->Header), 1); - I2O_PARAM_OPERATION_ALL_TEMPLATE_setOperation( - &(Operations_Ptr->Template[0]), I2O_PARAMS_OPERATION_FIELD_GET); - I2O_PARAM_OPERATION_ALL_TEMPLATE_setFieldCount( - &(Operations_Ptr->Template[0]), 0xFFFF); - I2O_PARAM_OPERATION_ALL_TEMPLATE_setGroupNumber( - &(Operations_Ptr->Template[0]), Group); - Buffer_Ptr = (struct ParamBuffer *)Buffer; - bzero(Buffer_Ptr, BufferSize); - - I2O_MESSAGE_FRAME_setVersionOffset(&(Message_Ptr->StdMessageFrame), - I2O_VERSION_11 - + (((sizeof(I2O_UTIL_PARAMS_GET_MESSAGE) - sizeof(I2O_SG_ELEMENT)) - / sizeof(U32)) << 4)); - I2O_MESSAGE_FRAME_setTargetAddress (&(Message_Ptr->StdMessageFrame), - TID); - I2O_MESSAGE_FRAME_setFunction (&(Message_Ptr->StdMessageFrame), - I2O_UTIL_PARAMS_GET); - /* - * Set up the buffers as scatter gather elements. - */ - SG(&(Message_Ptr->SGL), 0, - I2O_SGL_FLAGS_DIR | I2O_SGL_FLAGS_END_OF_BUFFER, - Operations_Ptr, sizeof(struct Operations)); - SG(&(Message_Ptr->SGL), 1, - I2O_SGL_FLAGS_LAST_ELEMENT | I2O_SGL_FLAGS_END_OF_BUFFER, - Buffer_Ptr, BufferSize); - - if ((ASR_queue_c(sc, (PI2O_MESSAGE_FRAME)Message_Ptr) == CAM_REQ_CMP) - && (Buffer_Ptr->Header.ResultCount)) { - return ((void *)(Buffer_Ptr->Info)); - } - return (NULL); -} /* ASR_getParams */ - -/* - * Acquire the LCT information. - */ -static int -ASR_acquireLct(Asr_softc_t *sc) -{ - PI2O_EXEC_LCT_NOTIFY_MESSAGE Message_Ptr; - PI2O_SGE_SIMPLE_ELEMENT sg; - int MessageSizeInBytes; - caddr_t v; - int len; - I2O_LCT Table; - PI2O_LCT_ENTRY Entry; - - /* - * sc value assumed valid - */ - MessageSizeInBytes = sizeof(I2O_EXEC_LCT_NOTIFY_MESSAGE) - - sizeof(I2O_SG_ELEMENT) + sizeof(I2O_SGE_SIMPLE_ELEMENT); - if ((Message_Ptr = (PI2O_EXEC_LCT_NOTIFY_MESSAGE)malloc( - MessageSizeInBytes, M_TEMP, M_WAITOK)) == NULL) { - return (ENOMEM); - } - (void)ASR_fillMessage((void *)Message_Ptr, MessageSizeInBytes); - I2O_MESSAGE_FRAME_setVersionOffset(&(Message_Ptr->StdMessageFrame), - (I2O_VERSION_11 + (((sizeof(I2O_EXEC_LCT_NOTIFY_MESSAGE) - - sizeof(I2O_SG_ELEMENT)) / sizeof(U32)) << 4))); - I2O_MESSAGE_FRAME_setFunction(&(Message_Ptr->StdMessageFrame), - I2O_EXEC_LCT_NOTIFY); - I2O_EXEC_LCT_NOTIFY_MESSAGE_setClassIdentifier(Message_Ptr, - I2O_CLASS_MATCH_ANYCLASS); - /* - * Call the LCT table to determine the number of device entries - * to reserve space for. - */ - SG(&(Message_Ptr->SGL), 0, - I2O_SGL_FLAGS_LAST_ELEMENT | I2O_SGL_FLAGS_END_OF_BUFFER, &Table, - sizeof(I2O_LCT)); - /* - * since this code is reused in several systems, code efficiency - * is greater by using a shift operation rather than a divide by - * sizeof(u_int32_t). - */ - I2O_LCT_setTableSize(&Table, - (sizeof(I2O_LCT) - sizeof(I2O_LCT_ENTRY)) >> 2); - (void)ASR_queue_c(sc, (PI2O_MESSAGE_FRAME)Message_Ptr); - /* - * Determine the size of the LCT table. - */ - if (sc->ha_LCT) { - free(sc->ha_LCT, M_TEMP); - } - /* - * malloc only generates contiguous memory when less than a - * page is expected. We must break the request up into an SG list ... - */ - if (((len = (I2O_LCT_getTableSize(&Table) << 2)) <= - (sizeof(I2O_LCT) - sizeof(I2O_LCT_ENTRY))) - || (len > (128 * 1024))) { /* Arbitrary */ - free(Message_Ptr, M_TEMP); - return (EINVAL); - } - if ((sc->ha_LCT = (PI2O_LCT)malloc (len, M_TEMP, M_WAITOK)) == NULL) { - free(Message_Ptr, M_TEMP); - return (ENOMEM); - } - /* - * since this code is reused in several systems, code efficiency - * is greater by using a shift operation rather than a divide by - * sizeof(u_int32_t). - */ - I2O_LCT_setTableSize(sc->ha_LCT, - (sizeof(I2O_LCT) - sizeof(I2O_LCT_ENTRY)) >> 2); - /* - * Convert the access to the LCT table into a SG list. - */ - sg = Message_Ptr->SGL.u.Simple; - v = (caddr_t)(sc->ha_LCT); - for (;;) { - int next, base, span; - - span = 0; - next = base = KVTOPHYS(v); - I2O_SGE_SIMPLE_ELEMENT_setPhysicalAddress(sg, base); - - /* How far can we go contiguously */ - while ((len > 0) && (base == next)) { - int size; - - next = trunc_page(base) + PAGE_SIZE; - size = next - base; - if (size > len) { - size = len; - } - span += size; - v += size; - len -= size; - base = KVTOPHYS(v); - } - - /* Construct the Flags */ - I2O_FLAGS_COUNT_setCount(&(sg->FlagsCount), span); - { - int rw = I2O_SGL_FLAGS_SIMPLE_ADDRESS_ELEMENT; - if (len <= 0) { - rw = (I2O_SGL_FLAGS_SIMPLE_ADDRESS_ELEMENT - | I2O_SGL_FLAGS_LAST_ELEMENT - | I2O_SGL_FLAGS_END_OF_BUFFER); - } - I2O_FLAGS_COUNT_setFlags(&(sg->FlagsCount), rw); - } - - if (len <= 0) { - break; - } - - /* - * Incrementing requires resizing of the packet. - */ - ++sg; - MessageSizeInBytes += sizeof(*sg); - I2O_MESSAGE_FRAME_setMessageSize( - &(Message_Ptr->StdMessageFrame), - I2O_MESSAGE_FRAME_getMessageSize( - &(Message_Ptr->StdMessageFrame)) - + (sizeof(*sg) / sizeof(U32))); - { - PI2O_EXEC_LCT_NOTIFY_MESSAGE NewMessage_Ptr; - - if ((NewMessage_Ptr = (PI2O_EXEC_LCT_NOTIFY_MESSAGE) - malloc(MessageSizeInBytes, M_TEMP, M_WAITOK)) - == NULL) { - free(sc->ha_LCT, M_TEMP); - sc->ha_LCT = NULL; - free(Message_Ptr, M_TEMP); - return (ENOMEM); - } - span = ((caddr_t)sg) - (caddr_t)Message_Ptr; - bcopy(Message_Ptr, NewMessage_Ptr, span); - free(Message_Ptr, M_TEMP); - sg = (PI2O_SGE_SIMPLE_ELEMENT) - (((caddr_t)NewMessage_Ptr) + span); - Message_Ptr = NewMessage_Ptr; - } - } - { int retval; - - retval = ASR_queue_c(sc, (PI2O_MESSAGE_FRAME)Message_Ptr); - free(Message_Ptr, M_TEMP); - if (retval != CAM_REQ_CMP) { - return (ENODEV); - } - } - /* If the LCT table grew, lets truncate accesses */ - if (I2O_LCT_getTableSize(&Table) < I2O_LCT_getTableSize(sc->ha_LCT)) { - I2O_LCT_setTableSize(sc->ha_LCT, I2O_LCT_getTableSize(&Table)); - } - for (Entry = sc->ha_LCT->LCTEntry; Entry < (PI2O_LCT_ENTRY) - (((U32 *)sc->ha_LCT)+I2O_LCT_getTableSize(sc->ha_LCT)); - ++Entry) { - Entry->le_type = I2O_UNKNOWN; - switch (I2O_CLASS_ID_getClass(&(Entry->ClassID))) { - - case I2O_CLASS_RANDOM_BLOCK_STORAGE: - Entry->le_type = I2O_BSA; - break; - - case I2O_CLASS_SCSI_PERIPHERAL: - Entry->le_type = I2O_SCSI; - break; - - case I2O_CLASS_FIBRE_CHANNEL_PERIPHERAL: - Entry->le_type = I2O_FCA; - break; - - case I2O_CLASS_BUS_ADAPTER_PORT: - Entry->le_type = I2O_PORT | I2O_SCSI; - /* FALLTHRU */ - case I2O_CLASS_FIBRE_CHANNEL_PORT: - if (I2O_CLASS_ID_getClass(&(Entry->ClassID)) == - I2O_CLASS_FIBRE_CHANNEL_PORT) { - Entry->le_type = I2O_PORT | I2O_FCA; - } - { struct ControllerInfo { - I2O_PARAM_RESULTS_LIST_HEADER Header; - I2O_PARAM_READ_OPERATION_RESULT Read; - I2O_HBA_SCSI_CONTROLLER_INFO_SCALAR Info; - } Buffer; - PI2O_HBA_SCSI_CONTROLLER_INFO_SCALAR Info; - - Entry->le_bus = 0xff; - Entry->le_target = 0xff; - Entry->le_lun = 0xff; - - if ((Info = (PI2O_HBA_SCSI_CONTROLLER_INFO_SCALAR) - ASR_getParams(sc, - I2O_LCT_ENTRY_getLocalTID(Entry), - I2O_HBA_SCSI_CONTROLLER_INFO_GROUP_NO, - &Buffer, sizeof(struct ControllerInfo))) == NULL) { - continue; - } - Entry->le_target - = I2O_HBA_SCSI_CONTROLLER_INFO_SCALAR_getInitiatorID( - Info); - Entry->le_lun = 0; - } /* FALLTHRU */ - default: - continue; - } - { struct DeviceInfo { - I2O_PARAM_RESULTS_LIST_HEADER Header; - I2O_PARAM_READ_OPERATION_RESULT Read; - I2O_DPT_DEVICE_INFO_SCALAR Info; - } Buffer; - PI2O_DPT_DEVICE_INFO_SCALAR Info; - - Entry->le_bus = 0xff; - Entry->le_target = 0xff; - Entry->le_lun = 0xff; - - if ((Info = (PI2O_DPT_DEVICE_INFO_SCALAR) - ASR_getParams(sc, - I2O_LCT_ENTRY_getLocalTID(Entry), - I2O_DPT_DEVICE_INFO_GROUP_NO, - &Buffer, sizeof(struct DeviceInfo))) == NULL) { - continue; - } - Entry->le_type - |= I2O_DPT_DEVICE_INFO_SCALAR_getDeviceType(Info); - Entry->le_bus - = I2O_DPT_DEVICE_INFO_SCALAR_getBus(Info); - if ((Entry->le_bus > sc->ha_MaxBus) - && (Entry->le_bus <= MAX_CHANNEL)) { - sc->ha_MaxBus = Entry->le_bus; - } - Entry->le_target - = I2O_DPT_DEVICE_INFO_SCALAR_getIdentifier(Info); - Entry->le_lun - = I2O_DPT_DEVICE_INFO_SCALAR_getLunInfo(Info); - } - } - /* - * A zero return value indicates success. - */ - return (0); -} /* ASR_acquireLct */ - -/* - * Initialize a message frame. - * We assume that the CDB has already been set up, so all we do here is - * generate the Scatter Gather list. - */ -static PI2O_MESSAGE_FRAME -ASR_init_message(union asr_ccb *ccb, PI2O_MESSAGE_FRAME Message) -{ - PI2O_MESSAGE_FRAME Message_Ptr; - PI2O_SGE_SIMPLE_ELEMENT sg; - Asr_softc_t *sc = (Asr_softc_t *)(ccb->ccb_h.spriv_ptr0); - vm_size_t size, len; - caddr_t v; - U32 MessageSize; - int next, span, base, rw; - int target = ccb->ccb_h.target_id; - int lun = ccb->ccb_h.target_lun; - int bus =cam_sim_bus(xpt_path_sim(ccb->ccb_h.path)); - tid_t TID; - - /* We only need to zero out the PRIVATE_SCSI_SCB_EXECUTE_MESSAGE */ - Message_Ptr = (I2O_MESSAGE_FRAME *)Message; - bzero(Message_Ptr, (sizeof(PRIVATE_SCSI_SCB_EXECUTE_MESSAGE) - - sizeof(I2O_SG_ELEMENT))); - - if ((TID = ASR_getTid (sc, bus, target, lun)) == (tid_t)-1) { - PI2O_LCT_ENTRY Device; - - TID = 0; - for (Device = sc->ha_LCT->LCTEntry; Device < (PI2O_LCT_ENTRY) - (((U32 *)sc->ha_LCT) + I2O_LCT_getTableSize(sc->ha_LCT)); - ++Device) { - if ((Device->le_type != I2O_UNKNOWN) - && (Device->le_bus == bus) - && (Device->le_target == target) - && (Device->le_lun == lun) - && (I2O_LCT_ENTRY_getUserTID(Device) == 0xFFF)) { - TID = I2O_LCT_ENTRY_getLocalTID(Device); - ASR_setTid(sc, Device->le_bus, - Device->le_target, Device->le_lun, - TID); - break; - } - } - } - if (TID == (tid_t)0) { - return (NULL); - } - I2O_MESSAGE_FRAME_setTargetAddress(Message_Ptr, TID); - PRIVATE_SCSI_SCB_EXECUTE_MESSAGE_setTID( - (PPRIVATE_SCSI_SCB_EXECUTE_MESSAGE)Message_Ptr, TID); - I2O_MESSAGE_FRAME_setVersionOffset(Message_Ptr, I2O_VERSION_11 | - (((sizeof(PRIVATE_SCSI_SCB_EXECUTE_MESSAGE) - sizeof(I2O_SG_ELEMENT)) - / sizeof(U32)) << 4)); - I2O_MESSAGE_FRAME_setMessageSize(Message_Ptr, - (sizeof(PRIVATE_SCSI_SCB_EXECUTE_MESSAGE) - - sizeof(I2O_SG_ELEMENT)) / sizeof(U32)); - I2O_MESSAGE_FRAME_setInitiatorAddress (Message_Ptr, 1); - I2O_MESSAGE_FRAME_setFunction(Message_Ptr, I2O_PRIVATE_MESSAGE); - I2O_PRIVATE_MESSAGE_FRAME_setXFunctionCode ( - (PI2O_PRIVATE_MESSAGE_FRAME)Message_Ptr, I2O_SCSI_SCB_EXEC); - PRIVATE_SCSI_SCB_EXECUTE_MESSAGE_setSCBFlags ( - (PPRIVATE_SCSI_SCB_EXECUTE_MESSAGE)Message_Ptr, - I2O_SCB_FLAG_ENABLE_DISCONNECT - | I2O_SCB_FLAG_SIMPLE_QUEUE_TAG - | I2O_SCB_FLAG_SENSE_DATA_IN_BUFFER); - /* - * We do not need any (optional byteswapping) method access to - * the Initiator & Transaction context field. - */ - I2O_MESSAGE_FRAME_setInitiatorContext64(Message, (long)ccb); - - I2O_PRIVATE_MESSAGE_FRAME_setOrganizationID( - (PI2O_PRIVATE_MESSAGE_FRAME)Message_Ptr, DPT_ORGANIZATION_ID); - /* - * copy the cdb over - */ - PRIVATE_SCSI_SCB_EXECUTE_MESSAGE_setCDBLength( - (PPRIVATE_SCSI_SCB_EXECUTE_MESSAGE)Message_Ptr, ccb->csio.cdb_len); - bcopy(&(ccb->csio.cdb_io), - ((PPRIVATE_SCSI_SCB_EXECUTE_MESSAGE)Message_Ptr)->CDB, - ccb->csio.cdb_len); - - /* - * Given a buffer describing a transfer, set up a scatter/gather map - * in a ccb to map that SCSI transfer. - */ - - rw = (ccb->ccb_h.flags & CAM_DIR_IN) ? 0 : I2O_SGL_FLAGS_DIR; - - PRIVATE_SCSI_SCB_EXECUTE_MESSAGE_setSCBFlags ( - (PPRIVATE_SCSI_SCB_EXECUTE_MESSAGE)Message_Ptr, - (ccb->csio.dxfer_len) - ? ((rw) ? (I2O_SCB_FLAG_XFER_TO_DEVICE - | I2O_SCB_FLAG_ENABLE_DISCONNECT - | I2O_SCB_FLAG_SIMPLE_QUEUE_TAG - | I2O_SCB_FLAG_SENSE_DATA_IN_BUFFER) - : (I2O_SCB_FLAG_XFER_FROM_DEVICE - | I2O_SCB_FLAG_ENABLE_DISCONNECT - | I2O_SCB_FLAG_SIMPLE_QUEUE_TAG - | I2O_SCB_FLAG_SENSE_DATA_IN_BUFFER)) - : (I2O_SCB_FLAG_ENABLE_DISCONNECT - | I2O_SCB_FLAG_SIMPLE_QUEUE_TAG - | I2O_SCB_FLAG_SENSE_DATA_IN_BUFFER)); - - /* - * Given a transfer described by a `data', fill in the SG list. - */ - sg = &((PPRIVATE_SCSI_SCB_EXECUTE_MESSAGE)Message_Ptr)->SGL.u.Simple[0]; - - len = ccb->csio.dxfer_len; - v = ccb->csio.data_ptr; - KASSERT(ccb->csio.dxfer_len >= 0, ("csio.dxfer_len < 0")); - MessageSize = I2O_MESSAGE_FRAME_getMessageSize(Message_Ptr); - PRIVATE_SCSI_SCB_EXECUTE_MESSAGE_setByteCount( - (PPRIVATE_SCSI_SCB_EXECUTE_MESSAGE)Message_Ptr, len); - while ((len > 0) && (sg < &((PPRIVATE_SCSI_SCB_EXECUTE_MESSAGE) - Message_Ptr)->SGL.u.Simple[SG_SIZE])) { - span = 0; - next = base = KVTOPHYS(v); - I2O_SGE_SIMPLE_ELEMENT_setPhysicalAddress(sg, base); - - /* How far can we go contiguously */ - while ((len > 0) && (base == next)) { - next = trunc_page(base) + PAGE_SIZE; - size = next - base; - if (size > len) { - size = len; - } - span += size; - v += size; - len -= size; - base = KVTOPHYS(v); - } - - I2O_FLAGS_COUNT_setCount(&(sg->FlagsCount), span); - if (len == 0) { - rw |= I2O_SGL_FLAGS_LAST_ELEMENT; - } - I2O_FLAGS_COUNT_setFlags(&(sg->FlagsCount), - I2O_SGL_FLAGS_SIMPLE_ADDRESS_ELEMENT | rw); - ++sg; - MessageSize += sizeof(*sg) / sizeof(U32); - } - /* We always do the request sense ... */ - if ((span = ccb->csio.sense_len) == 0) { - span = sizeof(ccb->csio.sense_data); - } - SG(sg, 0, I2O_SGL_FLAGS_LAST_ELEMENT | I2O_SGL_FLAGS_END_OF_BUFFER, - &(ccb->csio.sense_data), span); - I2O_MESSAGE_FRAME_setMessageSize(Message_Ptr, - MessageSize + (sizeof(*sg) / sizeof(U32))); - return (Message_Ptr); -} /* ASR_init_message */ - -/* - * Reset the adapter. - */ -static U32 -ASR_initOutBound(Asr_softc_t *sc) -{ - struct initOutBoundMessage { - I2O_EXEC_OUTBOUND_INIT_MESSAGE M; - U32 R; - } Message; - PI2O_EXEC_OUTBOUND_INIT_MESSAGE Message_Ptr; - U32 *volatile Reply_Ptr; - U32 Old; - - /* - * Build up our copy of the Message. - */ - Message_Ptr = (PI2O_EXEC_OUTBOUND_INIT_MESSAGE)ASR_fillMessage(&Message, - sizeof(I2O_EXEC_OUTBOUND_INIT_MESSAGE)); - I2O_MESSAGE_FRAME_setFunction(&(Message_Ptr->StdMessageFrame), - I2O_EXEC_OUTBOUND_INIT); - I2O_EXEC_OUTBOUND_INIT_MESSAGE_setHostPageFrameSize(Message_Ptr, PAGE_SIZE); - I2O_EXEC_OUTBOUND_INIT_MESSAGE_setOutboundMFrameSize(Message_Ptr, - sizeof(I2O_SCSI_ERROR_REPLY_MESSAGE_FRAME)); - /* - * Reset the Reply Status - */ - *(Reply_Ptr = (U32 *)((char *)Message_Ptr - + sizeof(I2O_EXEC_OUTBOUND_INIT_MESSAGE))) = 0; - SG (&(Message_Ptr->SGL), 0, I2O_SGL_FLAGS_LAST_ELEMENT, Reply_Ptr, - sizeof(U32)); - /* - * Send the Message out - */ - if ((Old = ASR_initiateCp(sc, (PI2O_MESSAGE_FRAME)Message_Ptr)) != - 0xffffffff) { - u_long size, addr; - - /* - * Wait for a response (Poll). - */ - while (*Reply_Ptr < I2O_EXEC_OUTBOUND_INIT_REJECTED); - /* - * Re-enable the interrupts. - */ - asr_set_intr(sc, Old); - /* - * Populate the outbound table. - */ - if (sc->ha_Msgs == NULL) { - - /* Allocate the reply frames */ - size = sizeof(I2O_SCSI_ERROR_REPLY_MESSAGE_FRAME) - * sc->ha_Msgs_Count; - - /* - * contigmalloc only works reliably at - * initialization time. - */ - if ((sc->ha_Msgs = (PI2O_SCSI_ERROR_REPLY_MESSAGE_FRAME) - contigmalloc (size, M_DEVBUF, M_WAITOK, 0ul, - 0xFFFFFFFFul, (u_long)sizeof(U32), 0ul)) != NULL) { - bzero(sc->ha_Msgs, size); - sc->ha_Msgs_Phys = KVTOPHYS(sc->ha_Msgs); - } - } - - /* Initialize the outbound FIFO */ - if (sc->ha_Msgs != NULL) - for(size = sc->ha_Msgs_Count, addr = sc->ha_Msgs_Phys; - size; --size) { - asr_set_FromFIFO(sc, addr); - addr += sizeof(I2O_SCSI_ERROR_REPLY_MESSAGE_FRAME); - } - return (*Reply_Ptr); - } - return (0); -} /* ASR_initOutBound */ - -/* - * Set the system table - */ -static int -ASR_setSysTab(Asr_softc_t *sc) -{ - PI2O_EXEC_SYS_TAB_SET_MESSAGE Message_Ptr; - PI2O_SET_SYSTAB_HEADER SystemTable; - Asr_softc_t * ha, *next; - PI2O_SGE_SIMPLE_ELEMENT sg; - int retVal; - - if ((SystemTable = (PI2O_SET_SYSTAB_HEADER)malloc ( - sizeof(I2O_SET_SYSTAB_HEADER), M_TEMP, M_WAITOK | M_ZERO)) == NULL) { - return (ENOMEM); - } - STAILQ_FOREACH(ha, &Asr_softc_list, ha_next) { - ++SystemTable->NumberEntries; - } - if ((Message_Ptr = (PI2O_EXEC_SYS_TAB_SET_MESSAGE)malloc ( - sizeof(I2O_EXEC_SYS_TAB_SET_MESSAGE) - sizeof(I2O_SG_ELEMENT) - + ((3+SystemTable->NumberEntries) * sizeof(I2O_SGE_SIMPLE_ELEMENT)), - M_TEMP, M_WAITOK)) == NULL) { - free(SystemTable, M_TEMP); - return (ENOMEM); - } - (void)ASR_fillMessage((void *)Message_Ptr, - sizeof(I2O_EXEC_SYS_TAB_SET_MESSAGE) - sizeof(I2O_SG_ELEMENT) - + ((3+SystemTable->NumberEntries) * sizeof(I2O_SGE_SIMPLE_ELEMENT))); - I2O_MESSAGE_FRAME_setVersionOffset(&(Message_Ptr->StdMessageFrame), - (I2O_VERSION_11 + - (((sizeof(I2O_EXEC_SYS_TAB_SET_MESSAGE) - sizeof(I2O_SG_ELEMENT)) - / sizeof(U32)) << 4))); - I2O_MESSAGE_FRAME_setFunction(&(Message_Ptr->StdMessageFrame), - I2O_EXEC_SYS_TAB_SET); - /* - * Call the LCT table to determine the number of device entries - * to reserve space for. - * since this code is reused in several systems, code efficiency - * is greater by using a shift operation rather than a divide by - * sizeof(u_int32_t). - */ - sg = (PI2O_SGE_SIMPLE_ELEMENT)((char *)Message_Ptr - + ((I2O_MESSAGE_FRAME_getVersionOffset( - &(Message_Ptr->StdMessageFrame)) & 0xF0) >> 2)); - SG(sg, 0, I2O_SGL_FLAGS_DIR, SystemTable, sizeof(I2O_SET_SYSTAB_HEADER)); - ++sg; - STAILQ_FOREACH_SAFE(ha, &Asr_softc_list, ha_next, next) { - SG(sg, 0, - ((next) - ? (I2O_SGL_FLAGS_DIR) - : (I2O_SGL_FLAGS_DIR | I2O_SGL_FLAGS_END_OF_BUFFER)), - &(ha->ha_SystemTable), sizeof(ha->ha_SystemTable)); - ++sg; - } - SG(sg, 0, I2O_SGL_FLAGS_DIR | I2O_SGL_FLAGS_END_OF_BUFFER, NULL, 0); - SG(sg, 1, I2O_SGL_FLAGS_DIR | I2O_SGL_FLAGS_LAST_ELEMENT - | I2O_SGL_FLAGS_END_OF_BUFFER, NULL, 0); - retVal = ASR_queue_c(sc, (PI2O_MESSAGE_FRAME)Message_Ptr); - free(Message_Ptr, M_TEMP); - free(SystemTable, M_TEMP); - return (retVal); -} /* ASR_setSysTab */ - -static int -ASR_acquireHrt(Asr_softc_t *sc) -{ - I2O_EXEC_HRT_GET_MESSAGE Message; - I2O_EXEC_HRT_GET_MESSAGE *Message_Ptr; - struct { - I2O_HRT Header; - I2O_HRT_ENTRY Entry[MAX_CHANNEL]; - } Hrt; - u_int8_t NumberOfEntries; - PI2O_HRT_ENTRY Entry; - - bzero(&Hrt, sizeof (Hrt)); - Message_Ptr = (I2O_EXEC_HRT_GET_MESSAGE *)ASR_fillMessage(&Message, - sizeof(I2O_EXEC_HRT_GET_MESSAGE) - sizeof(I2O_SG_ELEMENT) - + sizeof(I2O_SGE_SIMPLE_ELEMENT)); - I2O_MESSAGE_FRAME_setVersionOffset(&(Message_Ptr->StdMessageFrame), - (I2O_VERSION_11 - + (((sizeof(I2O_EXEC_HRT_GET_MESSAGE) - sizeof(I2O_SG_ELEMENT)) - / sizeof(U32)) << 4))); - I2O_MESSAGE_FRAME_setFunction (&(Message_Ptr->StdMessageFrame), - I2O_EXEC_HRT_GET); - - /* - * Set up the buffers as scatter gather elements. - */ - SG(&(Message_Ptr->SGL), 0, - I2O_SGL_FLAGS_LAST_ELEMENT | I2O_SGL_FLAGS_END_OF_BUFFER, - &Hrt, sizeof(Hrt)); - if (ASR_queue_c(sc, (PI2O_MESSAGE_FRAME)Message_Ptr) != CAM_REQ_CMP) { - return (ENODEV); - } - if ((NumberOfEntries = I2O_HRT_getNumberEntries(&Hrt.Header)) - > (MAX_CHANNEL + 1)) { - NumberOfEntries = MAX_CHANNEL + 1; - } - for (Entry = Hrt.Header.HRTEntry; - NumberOfEntries != 0; - ++Entry, --NumberOfEntries) { - PI2O_LCT_ENTRY Device; - - for (Device = sc->ha_LCT->LCTEntry; Device < (PI2O_LCT_ENTRY) - (((U32 *)sc->ha_LCT)+I2O_LCT_getTableSize(sc->ha_LCT)); - ++Device) { - if (I2O_LCT_ENTRY_getLocalTID(Device) - == (I2O_HRT_ENTRY_getAdapterID(Entry) & 0xFFF)) { - Device->le_bus = I2O_HRT_ENTRY_getAdapterID( - Entry) >> 16; - if ((Device->le_bus > sc->ha_MaxBus) - && (Device->le_bus <= MAX_CHANNEL)) { - sc->ha_MaxBus = Device->le_bus; - } - } - } - } - return (0); -} /* ASR_acquireHrt */ - -/* - * Enable the adapter. - */ -static int -ASR_enableSys(Asr_softc_t *sc) -{ - I2O_EXEC_SYS_ENABLE_MESSAGE Message; - PI2O_EXEC_SYS_ENABLE_MESSAGE Message_Ptr; - - Message_Ptr = (PI2O_EXEC_SYS_ENABLE_MESSAGE)ASR_fillMessage(&Message, - sizeof(I2O_EXEC_SYS_ENABLE_MESSAGE)); - I2O_MESSAGE_FRAME_setFunction(&(Message_Ptr->StdMessageFrame), - I2O_EXEC_SYS_ENABLE); - return (ASR_queue_c(sc, (PI2O_MESSAGE_FRAME)Message_Ptr) != 0); -} /* ASR_enableSys */ - -/* - * Perform the stages necessary to initialize the adapter - */ -static int -ASR_init(Asr_softc_t *sc) -{ - return ((ASR_initOutBound(sc) == 0) - || (ASR_setSysTab(sc) != CAM_REQ_CMP) - || (ASR_enableSys(sc) != CAM_REQ_CMP)); -} /* ASR_init */ - -/* - * Send a Synchronize Cache command to the target device. - */ -static void -ASR_sync(Asr_softc_t *sc, int bus, int target, int lun) -{ - tid_t TID; - - /* - * We will not synchronize the device when there are outstanding - * commands issued by the OS (this is due to a locked up device, - * as the OS normally would flush all outstanding commands before - * issuing a shutdown or an adapter reset). - */ - if ((sc != NULL) - && (LIST_FIRST(&(sc->ha_ccb)) != NULL) - && ((TID = ASR_getTid (sc, bus, target, lun)) != (tid_t)-1) - && (TID != (tid_t)0)) { - PRIVATE_SCSI_SCB_EXECUTE_MESSAGE Message; - PPRIVATE_SCSI_SCB_EXECUTE_MESSAGE Message_Ptr; - - Message_Ptr = (PRIVATE_SCSI_SCB_EXECUTE_MESSAGE *)&Message; - bzero(Message_Ptr, sizeof(PRIVATE_SCSI_SCB_EXECUTE_MESSAGE) - - sizeof(I2O_SG_ELEMENT) + sizeof(I2O_SGE_SIMPLE_ELEMENT)); - - I2O_MESSAGE_FRAME_setVersionOffset( - (PI2O_MESSAGE_FRAME)Message_Ptr, - I2O_VERSION_11 - | (((sizeof(PRIVATE_SCSI_SCB_EXECUTE_MESSAGE) - - sizeof(I2O_SG_ELEMENT)) - / sizeof(U32)) << 4)); - I2O_MESSAGE_FRAME_setMessageSize( - (PI2O_MESSAGE_FRAME)Message_Ptr, - (sizeof(PRIVATE_SCSI_SCB_EXECUTE_MESSAGE) - - sizeof(I2O_SG_ELEMENT)) - / sizeof(U32)); - I2O_MESSAGE_FRAME_setInitiatorAddress ( - (PI2O_MESSAGE_FRAME)Message_Ptr, 1); - I2O_MESSAGE_FRAME_setFunction( - (PI2O_MESSAGE_FRAME)Message_Ptr, I2O_PRIVATE_MESSAGE); - I2O_MESSAGE_FRAME_setTargetAddress( - (PI2O_MESSAGE_FRAME)Message_Ptr, TID); - I2O_PRIVATE_MESSAGE_FRAME_setXFunctionCode ( - (PI2O_PRIVATE_MESSAGE_FRAME)Message_Ptr, - I2O_SCSI_SCB_EXEC); - PRIVATE_SCSI_SCB_EXECUTE_MESSAGE_setTID(Message_Ptr, TID); - PRIVATE_SCSI_SCB_EXECUTE_MESSAGE_setSCBFlags (Message_Ptr, - I2O_SCB_FLAG_ENABLE_DISCONNECT - | I2O_SCB_FLAG_SIMPLE_QUEUE_TAG - | I2O_SCB_FLAG_SENSE_DATA_IN_BUFFER); - I2O_PRIVATE_MESSAGE_FRAME_setOrganizationID( - (PI2O_PRIVATE_MESSAGE_FRAME)Message_Ptr, - DPT_ORGANIZATION_ID); - PRIVATE_SCSI_SCB_EXECUTE_MESSAGE_setCDBLength(Message_Ptr, 6); - Message_Ptr->CDB[0] = SYNCHRONIZE_CACHE; - Message_Ptr->CDB[1] = (lun << 5); - - PRIVATE_SCSI_SCB_EXECUTE_MESSAGE_setSCBFlags (Message_Ptr, - (I2O_SCB_FLAG_XFER_FROM_DEVICE - | I2O_SCB_FLAG_ENABLE_DISCONNECT - | I2O_SCB_FLAG_SIMPLE_QUEUE_TAG - | I2O_SCB_FLAG_SENSE_DATA_IN_BUFFER)); - - (void)ASR_queue_c(sc, (PI2O_MESSAGE_FRAME)Message_Ptr); - - } -} - -static void -ASR_synchronize(Asr_softc_t *sc) -{ - int bus, target, lun; - - for (bus = 0; bus <= sc->ha_MaxBus; ++bus) { - for (target = 0; target <= sc->ha_MaxId; ++target) { - for (lun = 0; lun <= sc->ha_MaxLun; ++lun) { - ASR_sync(sc,bus,target,lun); - } - } - } -} - -/* - * Reset the HBA, targets and BUS. - * Currently this resets *all* the SCSI busses. - */ -static __inline void -asr_hbareset(Asr_softc_t *sc) -{ - ASR_synchronize(sc); - (void)ASR_reset(sc); -} /* asr_hbareset */ - -/* - * A reduced copy of the real pci_map_mem, incorporating the MAX_MAP - * limit and a reduction in error checking (in the pre 4.0 case). - */ -static int -asr_pci_map_mem(device_t dev, Asr_softc_t *sc) -{ - int rid; - u_int32_t p, l, s; - - /* - * I2O specification says we must find first *memory* mapped BAR - */ - for (rid = 0; rid < 4; rid++) { - p = pci_read_config(dev, PCIR_BAR(rid), sizeof(p)); - if ((p & 1) == 0) { - break; - } - } - /* - * Give up? - */ - if (rid >= 4) { - rid = 0; - } - rid = PCIR_BAR(rid); - p = pci_read_config(dev, rid, sizeof(p)); - pci_write_config(dev, rid, -1, sizeof(p)); - l = 0 - (pci_read_config(dev, rid, sizeof(l)) & ~15); - pci_write_config(dev, rid, p, sizeof(p)); - if (l > MAX_MAP) { - l = MAX_MAP; - } - /* - * The 2005S Zero Channel RAID solution is not a perfect PCI - * citizen. It asks for 4MB on BAR0, and 0MB on BAR1, once - * enabled it rewrites the size of BAR0 to 2MB, sets BAR1 to - * BAR0+2MB and sets it's size to 2MB. The IOP registers are - * accessible via BAR0, the messaging registers are accessible - * via BAR1. If the subdevice code is 50 to 59 decimal. - */ - s = pci_read_config(dev, PCIR_DEVVENDOR, sizeof(s)); - if (s != 0xA5111044) { - s = pci_read_config(dev, PCIR_SUBVEND_0, sizeof(s)); - if ((((ADPTDOMINATOR_SUB_ID_START ^ s) & 0xF000FFFF) == 0) - && (ADPTDOMINATOR_SUB_ID_START <= s) - && (s <= ADPTDOMINATOR_SUB_ID_END)) { - l = MAX_MAP; /* Conjoined BAR Raptor Daptor */ - } - } - p &= ~15; - sc->ha_mem_res = bus_alloc_resource(dev, SYS_RES_MEMORY, &rid, - p, p + l, l, RF_ACTIVE); - if (sc->ha_mem_res == NULL) { - return (0); - } - sc->ha_Base = rman_get_start(sc->ha_mem_res); - sc->ha_i2o_bhandle = rman_get_bushandle(sc->ha_mem_res); - sc->ha_i2o_btag = rman_get_bustag(sc->ha_mem_res); - - if (s == 0xA5111044) { /* Split BAR Raptor Daptor */ - if ((rid += sizeof(u_int32_t)) >= PCIR_BAR(4)) { - return (0); - } - p = pci_read_config(dev, rid, sizeof(p)); - pci_write_config(dev, rid, -1, sizeof(p)); - l = 0 - (pci_read_config(dev, rid, sizeof(l)) & ~15); - pci_write_config(dev, rid, p, sizeof(p)); - if (l > MAX_MAP) { - l = MAX_MAP; - } - p &= ~15; - sc->ha_mes_res = bus_alloc_resource(dev, SYS_RES_MEMORY, &rid, - p, p + l, l, RF_ACTIVE); - if (sc->ha_mes_res == NULL) { - return (0); - } - sc->ha_frame_bhandle = rman_get_bushandle(sc->ha_mes_res); - sc->ha_frame_btag = rman_get_bustag(sc->ha_mes_res); - } else { - sc->ha_frame_bhandle = sc->ha_i2o_bhandle; - sc->ha_frame_btag = sc->ha_i2o_btag; - } - return (1); -} /* asr_pci_map_mem */ - -/* - * A simplified copy of the real pci_map_int with additional - * registration requirements. - */ -static int -asr_pci_map_int(device_t dev, Asr_softc_t *sc) -{ - int rid = 0; - - sc->ha_irq_res = bus_alloc_resource_any(dev, SYS_RES_IRQ, &rid, - RF_ACTIVE | RF_SHAREABLE); - if (sc->ha_irq_res == NULL) { - return (0); - } - if (bus_setup_intr(dev, sc->ha_irq_res, INTR_TYPE_CAM | INTR_ENTROPY, - NULL, (driver_intr_t *)asr_intr, (void *)sc, &(sc->ha_intr))) { - return (0); - } - sc->ha_irq = pci_read_config(dev, PCIR_INTLINE, sizeof(char)); - return (1); -} /* asr_pci_map_int */ - -static void -asr_status_cb(void *arg, bus_dma_segment_t *segs, int nseg, int error) -{ - Asr_softc_t *sc; - - if (error) - return; - - sc = (Asr_softc_t *)arg; - - /* XXX - * The status word can be at a 64-bit address, but the existing - * accessor macros simply cannot manipulate 64-bit addresses. - */ - sc->ha_status_phys = (u_int32_t)segs[0].ds_addr + - offsetof(struct Asr_status_mem, status); - sc->ha_rstatus_phys = (u_int32_t)segs[0].ds_addr + - offsetof(struct Asr_status_mem, rstatus); -} - -static int -asr_alloc_dma(Asr_softc_t *sc) -{ - device_t dev; - - dev = sc->ha_dev; - - if (bus_dma_tag_create(bus_get_dma_tag(dev), /* PCI parent */ - 1, 0, /* algnmnt, boundary */ - BUS_SPACE_MAXADDR_32BIT, /* lowaddr */ - BUS_SPACE_MAXADDR, /* highaddr */ - NULL, NULL, /* filter, filterarg */ - BUS_SPACE_MAXSIZE_32BIT, /* maxsize */ - BUS_SPACE_UNRESTRICTED, /* nsegments */ - BUS_SPACE_MAXSIZE_32BIT, /* maxsegsize */ - 0, /* flags */ - NULL, NULL, /* lockfunc, lockarg */ - &sc->ha_parent_dmat)) { - device_printf(dev, "Cannot allocate parent DMA tag\n"); - return (ENOMEM); - } - - if (bus_dma_tag_create(sc->ha_parent_dmat, /* parent */ - 1, 0, /* algnmnt, boundary */ - BUS_SPACE_MAXADDR_32BIT, /* lowaddr */ - BUS_SPACE_MAXADDR, /* highaddr */ - NULL, NULL, /* filter, filterarg */ - sizeof(sc->ha_statusmem),/* maxsize */ - 1, /* nsegments */ - sizeof(sc->ha_statusmem),/* maxsegsize */ - 0, /* flags */ - NULL, NULL, /* lockfunc, lockarg */ - &sc->ha_statusmem_dmat)) { - device_printf(dev, "Cannot allocate status DMA tag\n"); - bus_dma_tag_destroy(sc->ha_parent_dmat); - return (ENOMEM); - } - - if (bus_dmamem_alloc(sc->ha_statusmem_dmat, (void **)&sc->ha_statusmem, - BUS_DMA_NOWAIT, &sc->ha_statusmem_dmamap)) { - device_printf(dev, "Cannot allocate status memory\n"); - bus_dma_tag_destroy(sc->ha_statusmem_dmat); - bus_dma_tag_destroy(sc->ha_parent_dmat); - return (ENOMEM); - } - (void)bus_dmamap_load(sc->ha_statusmem_dmat, sc->ha_statusmem_dmamap, - sc->ha_statusmem, sizeof(sc->ha_statusmem), asr_status_cb, sc, 0); - - return (0); -} - -static void -asr_release_dma(Asr_softc_t *sc) -{ - - if (sc->ha_rstatus_phys != 0) - bus_dmamap_unload(sc->ha_statusmem_dmat, - sc->ha_statusmem_dmamap); - if (sc->ha_statusmem != NULL) - bus_dmamem_free(sc->ha_statusmem_dmat, sc->ha_statusmem, - sc->ha_statusmem_dmamap); - if (sc->ha_statusmem_dmat != NULL) - bus_dma_tag_destroy(sc->ha_statusmem_dmat); - if (sc->ha_parent_dmat != NULL) - bus_dma_tag_destroy(sc->ha_parent_dmat); -} - -/* - * Attach the devices, and virtual devices to the driver list. - */ -static int -asr_attach(device_t dev) -{ - PI2O_EXEC_STATUS_GET_REPLY status; - PI2O_LCT_ENTRY Device; - Asr_softc_t *sc; - struct scsi_inquiry_data *iq; - int bus, size, unit; - int error; - - sc = device_get_softc(dev); - unit = device_get_unit(dev); - sc->ha_dev = dev; - - if (STAILQ_EMPTY(&Asr_softc_list)) { - /* - * Fixup the OS revision as saved in the dptsig for the - * engine (dptioctl.h) to pick up. - */ - bcopy(osrelease, &ASR_sig.dsDescription[16], 5); - } - /* - * Initialize the software structure - */ - LIST_INIT(&(sc->ha_ccb)); - /* Link us into the HA list */ - STAILQ_INSERT_TAIL(&Asr_softc_list, sc, ha_next); - - /* - * This is the real McCoy! - */ - if (!asr_pci_map_mem(dev, sc)) { - device_printf(dev, "could not map memory\n"); - return(ENXIO); - } - /* Enable if not formerly enabled */ - pci_enable_busmaster(dev); - - sc->ha_pciBusNum = pci_get_bus(dev); - sc->ha_pciDeviceNum = (pci_get_slot(dev) << 3) | pci_get_function(dev); - - if ((error = asr_alloc_dma(sc)) != 0) - return (error); - - /* Check if the device is there? */ - if (ASR_resetIOP(sc) == 0) { - device_printf(dev, "Cannot reset adapter\n"); - asr_release_dma(sc); - return (EIO); - } - status = &sc->ha_statusmem->status; - if (ASR_getStatus(sc) == NULL) { - device_printf(dev, "could not initialize hardware\n"); - asr_release_dma(sc); - return(ENODEV); - } - sc->ha_SystemTable.OrganizationID = status->OrganizationID; - sc->ha_SystemTable.IOP_ID = status->IOP_ID; - sc->ha_SystemTable.I2oVersion = status->I2oVersion; - sc->ha_SystemTable.IopState = status->IopState; - sc->ha_SystemTable.MessengerType = status->MessengerType; - sc->ha_SystemTable.InboundMessageFrameSize = status->InboundMFrameSize; - sc->ha_SystemTable.MessengerInfo.InboundMessagePortAddressLow = - (U32)(sc->ha_Base + I2O_REG_TOFIFO); /* XXX 64-bit */ - - if (!asr_pci_map_int(dev, (void *)sc)) { - device_printf(dev, "could not map interrupt\n"); - asr_release_dma(sc); - return(ENXIO); - } - - /* Adjust the maximim inbound count */ - if (((sc->ha_QueueSize = - I2O_EXEC_STATUS_GET_REPLY_getMaxInboundMFrames(status)) > - MAX_INBOUND) || (sc->ha_QueueSize == 0)) { - sc->ha_QueueSize = MAX_INBOUND; - } - - /* Adjust the maximum outbound count */ - if (((sc->ha_Msgs_Count = - I2O_EXEC_STATUS_GET_REPLY_getMaxOutboundMFrames(status)) > - MAX_OUTBOUND) || (sc->ha_Msgs_Count == 0)) { - sc->ha_Msgs_Count = MAX_OUTBOUND; - } - if (sc->ha_Msgs_Count > sc->ha_QueueSize) { - sc->ha_Msgs_Count = sc->ha_QueueSize; - } - - /* Adjust the maximum SG size to adapter */ - if ((size = (I2O_EXEC_STATUS_GET_REPLY_getInboundMFrameSize(status) << - 2)) > MAX_INBOUND_SIZE) { - size = MAX_INBOUND_SIZE; - } - sc->ha_SgSize = (size - sizeof(PRIVATE_SCSI_SCB_EXECUTE_MESSAGE) - + sizeof(I2O_SG_ELEMENT)) / sizeof(I2O_SGE_SIMPLE_ELEMENT); - - /* - * Only do a bus/HBA reset on the first time through. On this - * first time through, we do not send a flush to the devices. - */ - if (ASR_init(sc) == 0) { - struct BufferInfo { - I2O_PARAM_RESULTS_LIST_HEADER Header; - I2O_PARAM_READ_OPERATION_RESULT Read; - I2O_DPT_EXEC_IOP_BUFFERS_SCALAR Info; - } Buffer; - PI2O_DPT_EXEC_IOP_BUFFERS_SCALAR Info; -#define FW_DEBUG_BLED_OFFSET 8 - - if ((Info = (PI2O_DPT_EXEC_IOP_BUFFERS_SCALAR) - ASR_getParams(sc, 0, I2O_DPT_EXEC_IOP_BUFFERS_GROUP_NO, - &Buffer, sizeof(struct BufferInfo))) != NULL) { - sc->ha_blinkLED = FW_DEBUG_BLED_OFFSET + - I2O_DPT_EXEC_IOP_BUFFERS_SCALAR_getSerialOutputOffset(Info); - } - if (ASR_acquireLct(sc) == 0) { - (void)ASR_acquireHrt(sc); - } - } else { - device_printf(dev, "failed to initialize\n"); - asr_release_dma(sc); - return(ENXIO); - } - /* - * Add in additional probe responses for more channels. We - * are reusing the variable `target' for a channel loop counter. - * Done here because of we need both the acquireLct and - * acquireHrt data. - */ - for (Device = sc->ha_LCT->LCTEntry; Device < (PI2O_LCT_ENTRY) - (((U32 *)sc->ha_LCT)+I2O_LCT_getTableSize(sc->ha_LCT)); ++Device) { - if (Device->le_type == I2O_UNKNOWN) { - continue; - } - if (I2O_LCT_ENTRY_getUserTID(Device) == 0xFFF) { - if (Device->le_target > sc->ha_MaxId) { - sc->ha_MaxId = Device->le_target; - } - if (Device->le_lun > sc->ha_MaxLun) { - sc->ha_MaxLun = Device->le_lun; - } - } - if (((Device->le_type & I2O_PORT) != 0) - && (Device->le_bus <= MAX_CHANNEL)) { - /* Do not increase MaxId for efficiency */ - sc->ha_adapter_target[Device->le_bus] = - Device->le_target; - } - } - - /* - * Print the HBA model number as inquired from the card. - */ - - device_printf(dev, " "); - - if ((iq = (struct scsi_inquiry_data *)malloc( - sizeof(struct scsi_inquiry_data), M_TEMP, M_WAITOK | M_ZERO)) != - NULL) { - PRIVATE_SCSI_SCB_EXECUTE_MESSAGE Message; - PPRIVATE_SCSI_SCB_EXECUTE_MESSAGE Message_Ptr; - int posted = 0; - - Message_Ptr = (PRIVATE_SCSI_SCB_EXECUTE_MESSAGE *)&Message; - bzero(Message_Ptr, sizeof(PRIVATE_SCSI_SCB_EXECUTE_MESSAGE) - - sizeof(I2O_SG_ELEMENT) + sizeof(I2O_SGE_SIMPLE_ELEMENT)); - - I2O_MESSAGE_FRAME_setVersionOffset( - (PI2O_MESSAGE_FRAME)Message_Ptr, I2O_VERSION_11 | - (((sizeof(PRIVATE_SCSI_SCB_EXECUTE_MESSAGE) - - sizeof(I2O_SG_ELEMENT)) / sizeof(U32)) << 4)); - I2O_MESSAGE_FRAME_setMessageSize( - (PI2O_MESSAGE_FRAME)Message_Ptr, - (sizeof(PRIVATE_SCSI_SCB_EXECUTE_MESSAGE) - - sizeof(I2O_SG_ELEMENT) + sizeof(I2O_SGE_SIMPLE_ELEMENT)) / - sizeof(U32)); - I2O_MESSAGE_FRAME_setInitiatorAddress( - (PI2O_MESSAGE_FRAME)Message_Ptr, 1); - I2O_MESSAGE_FRAME_setFunction( - (PI2O_MESSAGE_FRAME)Message_Ptr, I2O_PRIVATE_MESSAGE); - I2O_PRIVATE_MESSAGE_FRAME_setXFunctionCode( - (PI2O_PRIVATE_MESSAGE_FRAME)Message_Ptr, I2O_SCSI_SCB_EXEC); - PRIVATE_SCSI_SCB_EXECUTE_MESSAGE_setSCBFlags (Message_Ptr, - I2O_SCB_FLAG_ENABLE_DISCONNECT - | I2O_SCB_FLAG_SIMPLE_QUEUE_TAG - | I2O_SCB_FLAG_SENSE_DATA_IN_BUFFER); - PRIVATE_SCSI_SCB_EXECUTE_MESSAGE_setInterpret(Message_Ptr, 1); - I2O_PRIVATE_MESSAGE_FRAME_setOrganizationID( - (PI2O_PRIVATE_MESSAGE_FRAME)Message_Ptr, - DPT_ORGANIZATION_ID); - PRIVATE_SCSI_SCB_EXECUTE_MESSAGE_setCDBLength(Message_Ptr, 6); - Message_Ptr->CDB[0] = INQUIRY; - Message_Ptr->CDB[4] = - (unsigned char)sizeof(struct scsi_inquiry_data); - if (Message_Ptr->CDB[4] == 0) { - Message_Ptr->CDB[4] = 255; - } - - PRIVATE_SCSI_SCB_EXECUTE_MESSAGE_setSCBFlags (Message_Ptr, - (I2O_SCB_FLAG_XFER_FROM_DEVICE - | I2O_SCB_FLAG_ENABLE_DISCONNECT - | I2O_SCB_FLAG_SIMPLE_QUEUE_TAG - | I2O_SCB_FLAG_SENSE_DATA_IN_BUFFER)); - - PRIVATE_SCSI_SCB_EXECUTE_MESSAGE_setByteCount( - (PPRIVATE_SCSI_SCB_EXECUTE_MESSAGE)Message_Ptr, - sizeof(struct scsi_inquiry_data)); - SG(&(Message_Ptr->SGL), 0, - I2O_SGL_FLAGS_LAST_ELEMENT | I2O_SGL_FLAGS_END_OF_BUFFER, - iq, sizeof(struct scsi_inquiry_data)); - (void)ASR_queue_c(sc, (PI2O_MESSAGE_FRAME)Message_Ptr); - - if (iq->vendor[0] && (iq->vendor[0] != ' ')) { - printf (" "); - ASR_prstring (iq->vendor, 8); - ++posted; - } - if (iq->product[0] && (iq->product[0] != ' ')) { - printf (" "); - ASR_prstring (iq->product, 16); - ++posted; - } - if (iq->revision[0] && (iq->revision[0] != ' ')) { - printf (" FW Rev. "); - ASR_prstring (iq->revision, 4); - ++posted; - } - free(iq, M_TEMP); - if (posted) { - printf (","); - } - } - printf (" %d channel, %d CCBs, Protocol I2O\n", sc->ha_MaxBus + 1, - (sc->ha_QueueSize > MAX_INBOUND) ? MAX_INBOUND : sc->ha_QueueSize); - - for (bus = 0; bus <= sc->ha_MaxBus; ++bus) { - struct cam_devq * devq; - int QueueSize = sc->ha_QueueSize; - - if (QueueSize > MAX_INBOUND) { - QueueSize = MAX_INBOUND; - } - - /* - * Create the device queue for our SIM(s). - */ - if ((devq = cam_simq_alloc(QueueSize)) == NULL) { - continue; - } - - /* - * Construct our first channel SIM entry - */ - sc->ha_sim[bus] = cam_sim_alloc(asr_action, asr_poll, "asr", sc, - unit, &Giant, - 1, QueueSize, devq); - if (sc->ha_sim[bus] == NULL) { - continue; - } - - if (xpt_bus_register(sc->ha_sim[bus], dev, bus) != CAM_SUCCESS){ - cam_sim_free(sc->ha_sim[bus], - /*free_devq*/TRUE); - sc->ha_sim[bus] = NULL; - continue; - } - - if (xpt_create_path(&(sc->ha_path[bus]), /*periph*/NULL, - cam_sim_path(sc->ha_sim[bus]), CAM_TARGET_WILDCARD, - CAM_LUN_WILDCARD) != CAM_REQ_CMP) { - xpt_bus_deregister( cam_sim_path(sc->ha_sim[bus])); - cam_sim_free(sc->ha_sim[bus], /*free_devq*/TRUE); - sc->ha_sim[bus] = NULL; - continue; - } - } - - /* - * Generate the device node information - */ - sc->ha_devt = make_dev(&asr_cdevsw, unit, UID_ROOT, GID_OPERATOR, 0640, - "asr%d", unit); - if (sc->ha_devt != NULL) - (void)make_dev_alias(sc->ha_devt, "rdpti%d", unit); - sc->ha_devt->si_drv1 = sc; - return(0); -} /* asr_attach */ - -static void -asr_poll(struct cam_sim *sim) -{ - asr_intr(cam_sim_softc(sim)); -} /* asr_poll */ - -static void -asr_action(struct cam_sim *sim, union ccb *ccb) -{ - struct Asr_softc *sc; - - debug_asr_printf("asr_action(%lx,%lx{%x})\n", (u_long)sim, (u_long)ccb, - ccb->ccb_h.func_code); - - CAM_DEBUG(ccb->ccb_h.path, CAM_DEBUG_TRACE, ("asr_action\n")); - - ccb->ccb_h.spriv_ptr0 = sc = (struct Asr_softc *)cam_sim_softc(sim); - - switch ((int)ccb->ccb_h.func_code) { - - /* Common cases first */ - case XPT_SCSI_IO: /* Execute the requested I/O operation */ - { - struct Message { - char M[MAX_INBOUND_SIZE]; - } Message; - PI2O_MESSAGE_FRAME Message_Ptr; - - /* Reject incoming commands while we are resetting the card */ - if (sc->ha_in_reset != HA_OPERATIONAL) { - ccb->ccb_h.status &= ~CAM_STATUS_MASK; - if (sc->ha_in_reset >= HA_OFF_LINE) { - /* HBA is now off-line */ - ccb->ccb_h.status |= CAM_UNREC_HBA_ERROR; - } else { - /* HBA currently resetting, try again later. */ - ccb->ccb_h.status |= CAM_REQUEUE_REQ; - } - debug_asr_cmd_printf (" e\n"); - xpt_done(ccb); - debug_asr_cmd_printf (" q\n"); - break; - } - if ((ccb->ccb_h.status & CAM_STATUS_MASK) != CAM_REQ_INPROG) { - printf( - "asr%d WARNING: scsi_cmd(%x) already done on b%dt%d " - "LUN %jx\n", - cam_sim_unit(xpt_path_sim(ccb->ccb_h.path)), - ccb->csio.cdb_io.cdb_bytes[0], - cam_sim_bus(sim), - ccb->ccb_h.target_id, - (uintmax_t)ccb->ccb_h.target_lun); - } - debug_asr_cmd_printf("(%d,%d,%d,%d)", cam_sim_unit(sim), - cam_sim_bus(sim), ccb->ccb_h.target_id, - ccb->ccb_h.target_lun); - debug_asr_dump_ccb(ccb); - - if ((Message_Ptr = ASR_init_message((union asr_ccb *)ccb, - (PI2O_MESSAGE_FRAME)&Message)) != NULL) { - debug_asr_cmd2_printf ("TID=%x:\n", - PRIVATE_SCSI_SCB_EXECUTE_MESSAGE_getTID( - (PPRIVATE_SCSI_SCB_EXECUTE_MESSAGE)Message_Ptr)); - debug_asr_cmd2_dump_message(Message_Ptr); - debug_asr_cmd1_printf (" q"); - - if (ASR_queue (sc, Message_Ptr) == EMPTY_QUEUE) { - ccb->ccb_h.status &= ~CAM_STATUS_MASK; - ccb->ccb_h.status |= CAM_REQUEUE_REQ; - debug_asr_cmd_printf (" E\n"); - xpt_done(ccb); - } - debug_asr_cmd_printf(" Q\n"); - break; - } - /* - * We will get here if there is no valid TID for the device - * referenced in the scsi command packet. - */ - ccb->ccb_h.status &= ~CAM_STATUS_MASK; - ccb->ccb_h.status |= CAM_SEL_TIMEOUT; - debug_asr_cmd_printf (" B\n"); - xpt_done(ccb); - break; - } - - case XPT_RESET_DEV: /* Bus Device Reset the specified SCSI device */ - /* Rese HBA device ... */ - asr_hbareset (sc); - ccb->ccb_h.status = CAM_REQ_CMP; - xpt_done(ccb); - break; - -#if (defined(REPORT_LUNS)) - case REPORT_LUNS: -#endif - case XPT_ABORT: /* Abort the specified CCB */ - /* XXX Implement */ - ccb->ccb_h.status = CAM_REQ_INVALID; - xpt_done(ccb); - break; - - case XPT_SET_TRAN_SETTINGS: - /* XXX Implement */ - ccb->ccb_h.status = CAM_FUNC_NOTAVAIL; - xpt_done(ccb); - break; - - case XPT_GET_TRAN_SETTINGS: - /* Get default/user set transfer settings for the target */ - { - struct ccb_trans_settings *cts = &(ccb->cts); - struct ccb_trans_settings_scsi *scsi = - &cts->proto_specific.scsi; - struct ccb_trans_settings_spi *spi = - &cts->xport_specific.spi; - - if (cts->type == CTS_TYPE_USER_SETTINGS) { - cts->protocol = PROTO_SCSI; - cts->protocol_version = SCSI_REV_2; - cts->transport = XPORT_SPI; - cts->transport_version = 2; - - scsi->flags = CTS_SCSI_FLAGS_TAG_ENB; - spi->flags = CTS_SPI_FLAGS_DISC_ENB; - spi->bus_width = MSG_EXT_WDTR_BUS_16_BIT; - spi->sync_period = 6; /* 40MHz */ - spi->sync_offset = 15; - spi->valid = CTS_SPI_VALID_SYNC_RATE - | CTS_SPI_VALID_SYNC_OFFSET - | CTS_SPI_VALID_BUS_WIDTH - | CTS_SPI_VALID_DISC; - scsi->valid = CTS_SCSI_VALID_TQ; - - ccb->ccb_h.status = CAM_REQ_CMP; - } else { - ccb->ccb_h.status = CAM_FUNC_NOTAVAIL; - } - xpt_done(ccb); - break; - } - - case XPT_CALC_GEOMETRY: - { - struct ccb_calc_geometry *ccg; - u_int32_t size_mb; - u_int32_t secs_per_cylinder; - - ccg = &(ccb->ccg); - size_mb = ccg->volume_size - / ((1024L * 1024L) / ccg->block_size); - - if (size_mb > 4096) { - ccg->heads = 255; - ccg->secs_per_track = 63; - } else if (size_mb > 2048) { - ccg->heads = 128; - ccg->secs_per_track = 63; - } else if (size_mb > 1024) { - ccg->heads = 65; - ccg->secs_per_track = 63; - } else { - ccg->heads = 64; - ccg->secs_per_track = 32; - } - secs_per_cylinder = ccg->heads * ccg->secs_per_track; - ccg->cylinders = ccg->volume_size / secs_per_cylinder; - ccb->ccb_h.status = CAM_REQ_CMP; - xpt_done(ccb); - break; - } - - case XPT_RESET_BUS: /* Reset the specified SCSI bus */ - ASR_resetBus (sc, cam_sim_bus(sim)); - ccb->ccb_h.status = CAM_REQ_CMP; - xpt_done(ccb); - break; - - case XPT_TERM_IO: /* Terminate the I/O process */ - /* XXX Implement */ - ccb->ccb_h.status = CAM_REQ_INVALID; - xpt_done(ccb); - break; - - case XPT_PATH_INQ: /* Path routing inquiry */ - { - struct ccb_pathinq *cpi = &(ccb->cpi); - - cpi->version_num = 1; /* XXX??? */ - cpi->hba_inquiry = PI_SDTR_ABLE|PI_TAG_ABLE|PI_WIDE_16; - cpi->target_sprt = 0; - /* Not necessary to reset bus, done by HDM initialization */ - cpi->hba_misc = PIM_NOBUSRESET; - cpi->hba_eng_cnt = 0; - cpi->max_target = sc->ha_MaxId; - cpi->max_lun = sc->ha_MaxLun; - cpi->initiator_id = sc->ha_adapter_target[cam_sim_bus(sim)]; - cpi->bus_id = cam_sim_bus(sim); - cpi->base_transfer_speed = 3300; - strncpy(cpi->sim_vid, "FreeBSD", SIM_IDLEN); - strncpy(cpi->hba_vid, "Adaptec", HBA_IDLEN); - strncpy(cpi->dev_name, cam_sim_name(sim), DEV_IDLEN); - cpi->unit_number = cam_sim_unit(sim); - cpi->ccb_h.status = CAM_REQ_CMP; - cpi->transport = XPORT_SPI; - cpi->transport_version = 2; - cpi->protocol = PROTO_SCSI; - cpi->protocol_version = SCSI_REV_2; - xpt_done(ccb); - break; - } - default: - ccb->ccb_h.status = CAM_REQ_INVALID; - xpt_done(ccb); - break; - } -} /* asr_action */ - -/* - * Handle processing of current CCB as pointed to by the Status. - */ -static int -asr_intr(Asr_softc_t *sc) -{ - int processed; - - for(processed = 0; asr_get_status(sc) & Mask_InterruptsDisabled; - processed = 1) { - union asr_ccb *ccb; - u_int dsc; - U32 ReplyOffset; - PI2O_SCSI_ERROR_REPLY_MESSAGE_FRAME Reply; - - if (((ReplyOffset = asr_get_FromFIFO(sc)) == EMPTY_QUEUE) - && ((ReplyOffset = asr_get_FromFIFO(sc)) == EMPTY_QUEUE)) { - break; - } - Reply = (PI2O_SCSI_ERROR_REPLY_MESSAGE_FRAME)(ReplyOffset - - sc->ha_Msgs_Phys + (char *)(sc->ha_Msgs)); - /* - * We do not need any (optional byteswapping) method access to - * the Initiator context field. - */ - ccb = (union asr_ccb *)(long) - I2O_MESSAGE_FRAME_getInitiatorContext64( - &(Reply->StdReplyFrame.StdMessageFrame)); - if (I2O_MESSAGE_FRAME_getMsgFlags( - &(Reply->StdReplyFrame.StdMessageFrame)) - & I2O_MESSAGE_FLAGS_FAIL) { - I2O_UTIL_NOP_MESSAGE Message; - PI2O_UTIL_NOP_MESSAGE Message_Ptr; - U32 MessageOffset; - - MessageOffset = (u_long) - I2O_FAILURE_REPLY_MESSAGE_FRAME_getPreservedMFA( - (PI2O_FAILURE_REPLY_MESSAGE_FRAME)Reply); - /* - * Get the Original Message Frame's address, and get - * it's Transaction Context into our space. (Currently - * unused at original authorship, but better to be - * safe than sorry). Straight copy means that we - * need not concern ourselves with the (optional - * byteswapping) method access. - */ - Reply->StdReplyFrame.TransactionContext = - bus_space_read_4(sc->ha_frame_btag, - sc->ha_frame_bhandle, MessageOffset + - offsetof(I2O_SINGLE_REPLY_MESSAGE_FRAME, - TransactionContext)); - /* - * For 64 bit machines, we need to reconstruct the - * 64 bit context. - */ - ccb = (union asr_ccb *)(long) - I2O_MESSAGE_FRAME_getInitiatorContext64( - &(Reply->StdReplyFrame.StdMessageFrame)); - /* - * Unique error code for command failure. - */ - I2O_SINGLE_REPLY_MESSAGE_FRAME_setDetailedStatusCode( - &(Reply->StdReplyFrame), (u_int16_t)-2); - /* - * Modify the message frame to contain a NOP and - * re-issue it to the controller. - */ - Message_Ptr = (PI2O_UTIL_NOP_MESSAGE)ASR_fillMessage( - &Message, sizeof(I2O_UTIL_NOP_MESSAGE)); -#if (I2O_UTIL_NOP != 0) - I2O_MESSAGE_FRAME_setFunction ( - &(Message_Ptr->StdMessageFrame), - I2O_UTIL_NOP); -#endif - /* - * Copy the packet out to the Original Message - */ - asr_set_frame(sc, Message_Ptr, MessageOffset, - sizeof(I2O_UTIL_NOP_MESSAGE)); - /* - * Issue the NOP - */ - asr_set_ToFIFO(sc, MessageOffset); - } - - /* - * Asynchronous command with no return requirements, - * and a generic handler for immunity against odd error - * returns from the adapter. - */ - if (ccb == NULL) { - /* - * Return Reply so that it can be used for the - * next command - */ - asr_set_FromFIFO(sc, ReplyOffset); - continue; - } - - /* Welease Wadjah! (and stop timeouts) */ - ASR_ccbRemove (sc, ccb); - - dsc = I2O_SINGLE_REPLY_MESSAGE_FRAME_getDetailedStatusCode( - &(Reply->StdReplyFrame)); - ccb->csio.scsi_status = dsc & I2O_SCSI_DEVICE_DSC_MASK; - ccb->ccb_h.status &= ~CAM_STATUS_MASK; - switch (dsc) { - - case I2O_SCSI_DSC_SUCCESS: - ccb->ccb_h.status |= CAM_REQ_CMP; - break; - - case I2O_SCSI_DSC_CHECK_CONDITION: - ccb->ccb_h.status |= CAM_SCSI_STATUS_ERROR | - CAM_AUTOSNS_VALID; - break; - - case I2O_SCSI_DSC_BUSY: - /* FALLTHRU */ - case I2O_SCSI_HBA_DSC_ADAPTER_BUSY: - /* FALLTHRU */ - case I2O_SCSI_HBA_DSC_SCSI_BUS_RESET: - /* FALLTHRU */ - case I2O_SCSI_HBA_DSC_BUS_BUSY: - ccb->ccb_h.status |= CAM_SCSI_BUSY; - break; - - case I2O_SCSI_HBA_DSC_SELECTION_TIMEOUT: - ccb->ccb_h.status |= CAM_SEL_TIMEOUT; - break; - - case I2O_SCSI_HBA_DSC_COMMAND_TIMEOUT: - /* FALLTHRU */ - case I2O_SCSI_HBA_DSC_DEVICE_NOT_PRESENT: - /* FALLTHRU */ - case I2O_SCSI_HBA_DSC_LUN_INVALID: - /* FALLTHRU */ - case I2O_SCSI_HBA_DSC_SCSI_TID_INVALID: - ccb->ccb_h.status |= CAM_CMD_TIMEOUT; - break; - - case I2O_SCSI_HBA_DSC_DATA_OVERRUN: - /* FALLTHRU */ - case I2O_SCSI_HBA_DSC_REQUEST_LENGTH_ERROR: - ccb->ccb_h.status |= CAM_DATA_RUN_ERR; - break; - - default: - ccb->ccb_h.status |= CAM_REQUEUE_REQ; - break; - } - if ((ccb->csio.resid = ccb->csio.dxfer_len) != 0) { - ccb->csio.resid -= - I2O_SCSI_ERROR_REPLY_MESSAGE_FRAME_getTransferCount( - Reply); - } - - /* Sense data in reply packet */ - if (ccb->ccb_h.status & CAM_AUTOSNS_VALID) { - u_int16_t size = I2O_SCSI_ERROR_REPLY_MESSAGE_FRAME_getAutoSenseTransferCount(Reply); - - if (size) { - if (size > sizeof(ccb->csio.sense_data)) { - size = sizeof(ccb->csio.sense_data); - } - if (size > I2O_SCSI_SENSE_DATA_SZ) { - size = I2O_SCSI_SENSE_DATA_SZ; - } - if ((ccb->csio.sense_len) - && (size > ccb->csio.sense_len)) { - size = ccb->csio.sense_len; - } - if (size < ccb->csio.sense_len) { - ccb->csio.sense_resid = - ccb->csio.sense_len - size; - } else { - ccb->csio.sense_resid = 0; - } - bzero(&(ccb->csio.sense_data), - sizeof(ccb->csio.sense_data)); - bcopy(Reply->SenseData, - &(ccb->csio.sense_data), size); - } - } - - /* - * Return Reply so that it can be used for the next command - * since we have no more need for it now - */ - asr_set_FromFIFO(sc, ReplyOffset); - - if (ccb->ccb_h.path) { - xpt_done ((union ccb *)ccb); - } else { - wakeup (ccb); - } - } - return (processed); -} /* asr_intr */ - -#undef QueueSize /* Grrrr */ -#undef SG_Size /* Grrrr */ - -/* - * Meant to be included at the bottom of asr.c !!! - */ - -/* - * Included here as hard coded. Done because other necessary include - * files utilize C++ comment structures which make them a nuisance to - * included here just to pick up these three typedefs. - */ -typedef U32 DPT_TAG_T; -typedef U32 DPT_MSG_T; -typedef U32 DPT_RTN_T; - -#undef SCSI_RESET /* Conflicts with "scsi/scsiconf.h" defintion */ -#include "dev/asr/osd_unix.h" - -#define asr_unit(dev) dev2unit(dev) - -static u_int8_t ASR_ctlr_held; - -static int -asr_open(struct cdev *dev, int32_t flags, int32_t ifmt, struct thread *td) -{ - int s; - int error; - - if (dev->si_drv1 == NULL) { - return (ENODEV); - } - s = splcam (); - if (ASR_ctlr_held) { - error = EBUSY; - } else if ((error = priv_check(td, PRIV_DRIVER)) == 0) { - ++ASR_ctlr_held; - } - splx(s); - return (error); -} /* asr_open */ - -static int -asr_close(struct cdev *dev, int flags, int ifmt, struct thread *td) -{ - - ASR_ctlr_held = 0; - return (0); -} /* asr_close */ - - -/*-------------------------------------------------------------------------*/ -/* Function ASR_queue_i */ -/*-------------------------------------------------------------------------*/ -/* The Parameters Passed To This Function Are : */ -/* Asr_softc_t * : HBA miniport driver's adapter data storage. */ -/* PI2O_MESSAGE_FRAME : Msg Structure Pointer For This Command */ -/* I2O_SCSI_ERROR_REPLY_MESSAGE_FRAME following the Msg Structure */ -/* */ -/* This Function Will Take The User Request Packet And Convert It To An */ -/* I2O MSG And Send It Off To The Adapter. */ -/* */ -/* Return : 0 For OK, Error Code Otherwise */ -/*-------------------------------------------------------------------------*/ -static int -ASR_queue_i(Asr_softc_t *sc, PI2O_MESSAGE_FRAME Packet) -{ - union asr_ccb * ccb; - PI2O_SCSI_ERROR_REPLY_MESSAGE_FRAME Reply; - PI2O_MESSAGE_FRAME Message_Ptr; - PI2O_SCSI_ERROR_REPLY_MESSAGE_FRAME Reply_Ptr; - int MessageSizeInBytes; - int ReplySizeInBytes; - int error; - int s; - /* Scatter Gather buffer list */ - struct ioctlSgList_S { - SLIST_ENTRY(ioctlSgList_S) link; - caddr_t UserSpace; - I2O_FLAGS_COUNT FlagsCount; - char KernelSpace[sizeof(long)]; - } * elm; - /* Generates a `first' entry */ - SLIST_HEAD(ioctlSgListHead_S, ioctlSgList_S) sgList; - - if (ASR_getBlinkLedCode(sc)) { - debug_usr_cmd_printf ("Adapter currently in BlinkLed %x\n", - ASR_getBlinkLedCode(sc)); - return (EIO); - } - /* Copy in the message into a local allocation */ - if ((Message_Ptr = (PI2O_MESSAGE_FRAME)malloc ( - sizeof(I2O_MESSAGE_FRAME), M_TEMP, M_WAITOK)) == NULL) { - debug_usr_cmd_printf ( - "Failed to acquire I2O_MESSAGE_FRAME memory\n"); - return (ENOMEM); - } - if ((error = copyin ((caddr_t)Packet, (caddr_t)Message_Ptr, - sizeof(I2O_MESSAGE_FRAME))) != 0) { - free(Message_Ptr, M_TEMP); - debug_usr_cmd_printf ("Can't copy in packet errno=%d\n", error); - return (error); - } - /* Acquire information to determine type of packet */ - MessageSizeInBytes = (I2O_MESSAGE_FRAME_getMessageSize(Message_Ptr)<<2); - /* The offset of the reply information within the user packet */ - Reply = (PI2O_SCSI_ERROR_REPLY_MESSAGE_FRAME)((char *)Packet - + MessageSizeInBytes); - - /* Check if the message is a synchronous initialization command */ - s = I2O_MESSAGE_FRAME_getFunction(Message_Ptr); - free(Message_Ptr, M_TEMP); - switch (s) { - - case I2O_EXEC_IOP_RESET: - { U32 status; - - status = ASR_resetIOP(sc); - ReplySizeInBytes = sizeof(status); - debug_usr_cmd_printf ("resetIOP done\n"); - return (copyout ((caddr_t)&status, (caddr_t)Reply, - ReplySizeInBytes)); - } - - case I2O_EXEC_STATUS_GET: - { PI2O_EXEC_STATUS_GET_REPLY status; - - status = &sc->ha_statusmem->status; - if (ASR_getStatus(sc) == NULL) { - debug_usr_cmd_printf ("getStatus failed\n"); - return (ENXIO); - } - ReplySizeInBytes = sizeof(status); - debug_usr_cmd_printf ("getStatus done\n"); - return (copyout ((caddr_t)status, (caddr_t)Reply, - ReplySizeInBytes)); - } - - case I2O_EXEC_OUTBOUND_INIT: - { U32 status; - - status = ASR_initOutBound(sc); - ReplySizeInBytes = sizeof(status); - debug_usr_cmd_printf ("intOutBound done\n"); - return (copyout ((caddr_t)&status, (caddr_t)Reply, - ReplySizeInBytes)); - } - } - - /* Determine if the message size is valid */ - if ((MessageSizeInBytes < sizeof(I2O_MESSAGE_FRAME)) - || (MAX_INBOUND_SIZE < MessageSizeInBytes)) { - debug_usr_cmd_printf ("Packet size %d incorrect\n", - MessageSizeInBytes); - return (EINVAL); - } - - if ((Message_Ptr = (PI2O_MESSAGE_FRAME)malloc (MessageSizeInBytes, - M_TEMP, M_WAITOK)) == NULL) { - debug_usr_cmd_printf ("Failed to acquire frame[%d] memory\n", - MessageSizeInBytes); - return (ENOMEM); - } - if ((error = copyin ((caddr_t)Packet, (caddr_t)Message_Ptr, - MessageSizeInBytes)) != 0) { - free(Message_Ptr, M_TEMP); - debug_usr_cmd_printf ("Can't copy in packet[%d] errno=%d\n", - MessageSizeInBytes, error); - return (error); - } - - /* Check the size of the reply frame, and start constructing */ - - if ((Reply_Ptr = (PI2O_SCSI_ERROR_REPLY_MESSAGE_FRAME)malloc ( - sizeof(I2O_MESSAGE_FRAME), M_TEMP, M_WAITOK)) == NULL) { - free(Message_Ptr, M_TEMP); - debug_usr_cmd_printf ( - "Failed to acquire I2O_MESSAGE_FRAME memory\n"); - return (ENOMEM); - } - if ((error = copyin ((caddr_t)Reply, (caddr_t)Reply_Ptr, - sizeof(I2O_MESSAGE_FRAME))) != 0) { - free(Reply_Ptr, M_TEMP); - free(Message_Ptr, M_TEMP); - debug_usr_cmd_printf ( - "Failed to copy in reply frame, errno=%d\n", - error); - return (error); - } - ReplySizeInBytes = (I2O_MESSAGE_FRAME_getMessageSize( - &(Reply_Ptr->StdReplyFrame.StdMessageFrame)) << 2); - free(Reply_Ptr, M_TEMP); - if (ReplySizeInBytes < sizeof(I2O_SINGLE_REPLY_MESSAGE_FRAME)) { - free(Message_Ptr, M_TEMP); - debug_usr_cmd_printf ( - "Failed to copy in reply frame[%d], errno=%d\n", - ReplySizeInBytes, error); - return (EINVAL); - } - - if ((Reply_Ptr = (PI2O_SCSI_ERROR_REPLY_MESSAGE_FRAME)malloc ( - ((ReplySizeInBytes > sizeof(I2O_SCSI_ERROR_REPLY_MESSAGE_FRAME)) - ? ReplySizeInBytes : sizeof(I2O_SCSI_ERROR_REPLY_MESSAGE_FRAME)), - M_TEMP, M_WAITOK)) == NULL) { - free(Message_Ptr, M_TEMP); - debug_usr_cmd_printf ("Failed to acquire frame[%d] memory\n", - ReplySizeInBytes); - return (ENOMEM); - } - (void)ASR_fillMessage((void *)Reply_Ptr, ReplySizeInBytes); - Reply_Ptr->StdReplyFrame.StdMessageFrame.InitiatorContext - = Message_Ptr->InitiatorContext; - Reply_Ptr->StdReplyFrame.TransactionContext - = ((PI2O_PRIVATE_MESSAGE_FRAME)Message_Ptr)->TransactionContext; - I2O_MESSAGE_FRAME_setMsgFlags( - &(Reply_Ptr->StdReplyFrame.StdMessageFrame), - I2O_MESSAGE_FRAME_getMsgFlags( - &(Reply_Ptr->StdReplyFrame.StdMessageFrame)) - | I2O_MESSAGE_FLAGS_REPLY); - - /* Check if the message is a special case command */ - switch (I2O_MESSAGE_FRAME_getFunction(Message_Ptr)) { - case I2O_EXEC_SYS_TAB_SET: /* Special Case of empty Scatter Gather */ - if (MessageSizeInBytes == ((I2O_MESSAGE_FRAME_getVersionOffset( - Message_Ptr) & 0xF0) >> 2)) { - free(Message_Ptr, M_TEMP); - I2O_SINGLE_REPLY_MESSAGE_FRAME_setDetailedStatusCode( - &(Reply_Ptr->StdReplyFrame), - (ASR_setSysTab(sc) != CAM_REQ_CMP)); - I2O_MESSAGE_FRAME_setMessageSize( - &(Reply_Ptr->StdReplyFrame.StdMessageFrame), - sizeof(I2O_SINGLE_REPLY_MESSAGE_FRAME)); - error = copyout ((caddr_t)Reply_Ptr, (caddr_t)Reply, - ReplySizeInBytes); - free(Reply_Ptr, M_TEMP); - return (error); - } - } - - /* Deal in the general case */ - /* First allocate and optionally copy in each scatter gather element */ - SLIST_INIT(&sgList); - if ((I2O_MESSAGE_FRAME_getVersionOffset(Message_Ptr) & 0xF0) != 0) { - PI2O_SGE_SIMPLE_ELEMENT sg; - - /* - * since this code is reused in several systems, code - * efficiency is greater by using a shift operation rather - * than a divide by sizeof(u_int32_t). - */ - sg = (PI2O_SGE_SIMPLE_ELEMENT)((char *)Message_Ptr - + ((I2O_MESSAGE_FRAME_getVersionOffset(Message_Ptr) & 0xF0) - >> 2)); - while (sg < (PI2O_SGE_SIMPLE_ELEMENT)(((caddr_t)Message_Ptr) - + MessageSizeInBytes)) { - caddr_t v; - int len; - - if ((I2O_FLAGS_COUNT_getFlags(&(sg->FlagsCount)) - & I2O_SGL_FLAGS_SIMPLE_ADDRESS_ELEMENT) == 0) { - error = EINVAL; - break; - } - len = I2O_FLAGS_COUNT_getCount(&(sg->FlagsCount)); - debug_usr_cmd_printf ("SG[%d] = %x[%d]\n", - sg - (PI2O_SGE_SIMPLE_ELEMENT)((char *)Message_Ptr - + ((I2O_MESSAGE_FRAME_getVersionOffset( - Message_Ptr) & 0xF0) >> 2)), - I2O_SGE_SIMPLE_ELEMENT_getPhysicalAddress(sg), len); - - if ((elm = (struct ioctlSgList_S *)malloc ( - sizeof(*elm) - sizeof(elm->KernelSpace) + len, - M_TEMP, M_WAITOK)) == NULL) { - debug_usr_cmd_printf ( - "Failed to allocate SG[%d]\n", len); - error = ENOMEM; - break; - } - SLIST_INSERT_HEAD(&sgList, elm, link); - elm->FlagsCount = sg->FlagsCount; - elm->UserSpace = (caddr_t) - (I2O_SGE_SIMPLE_ELEMENT_getPhysicalAddress(sg)); - v = elm->KernelSpace; - /* Copy in outgoing data (DIR bit could be invalid) */ - if ((error = copyin (elm->UserSpace, (caddr_t)v, len)) - != 0) { - break; - } - /* - * If the buffer is not contiguous, lets - * break up the scatter/gather entries. - */ - while ((len > 0) - && (sg < (PI2O_SGE_SIMPLE_ELEMENT) - (((caddr_t)Message_Ptr) + MAX_INBOUND_SIZE))) { - int next, base, span; - - span = 0; - next = base = KVTOPHYS(v); - I2O_SGE_SIMPLE_ELEMENT_setPhysicalAddress(sg, - base); - - /* How far can we go physically contiguously */ - while ((len > 0) && (base == next)) { - int size; - - next = trunc_page(base) + PAGE_SIZE; - size = next - base; - if (size > len) { - size = len; - } - span += size; - v += size; - len -= size; - base = KVTOPHYS(v); - } - - /* Construct the Flags */ - I2O_FLAGS_COUNT_setCount(&(sg->FlagsCount), - span); - { - int flags = I2O_FLAGS_COUNT_getFlags( - &(elm->FlagsCount)); - /* Any remaining length? */ - if (len > 0) { - flags &= - ~(I2O_SGL_FLAGS_END_OF_BUFFER - | I2O_SGL_FLAGS_LAST_ELEMENT); - } - I2O_FLAGS_COUNT_setFlags( - &(sg->FlagsCount), flags); - } - - debug_usr_cmd_printf ("sg[%d] = %x[%d]\n", - sg - (PI2O_SGE_SIMPLE_ELEMENT) - ((char *)Message_Ptr - + ((I2O_MESSAGE_FRAME_getVersionOffset( - Message_Ptr) & 0xF0) >> 2)), - I2O_SGE_SIMPLE_ELEMENT_getPhysicalAddress(sg), - span); - if (len <= 0) { - break; - } - - /* - * Incrementing requires resizing of the - * packet, and moving up the existing SG - * elements. - */ - ++sg; - MessageSizeInBytes += sizeof(*sg); - I2O_MESSAGE_FRAME_setMessageSize(Message_Ptr, - I2O_MESSAGE_FRAME_getMessageSize(Message_Ptr) - + (sizeof(*sg) / sizeof(U32))); - { - PI2O_MESSAGE_FRAME NewMessage_Ptr; - - if ((NewMessage_Ptr - = (PI2O_MESSAGE_FRAME) - malloc (MessageSizeInBytes, - M_TEMP, M_WAITOK)) == NULL) { - debug_usr_cmd_printf ( - "Failed to acquire frame[%d] memory\n", - MessageSizeInBytes); - error = ENOMEM; - break; - } - span = ((caddr_t)sg) - - (caddr_t)Message_Ptr; - bcopy(Message_Ptr,NewMessage_Ptr, span); - bcopy((caddr_t)(sg-1), - ((caddr_t)NewMessage_Ptr) + span, - MessageSizeInBytes - span); - free(Message_Ptr, M_TEMP); - sg = (PI2O_SGE_SIMPLE_ELEMENT) - (((caddr_t)NewMessage_Ptr) + span); - Message_Ptr = NewMessage_Ptr; - } - } - if ((error) - || ((I2O_FLAGS_COUNT_getFlags(&(sg->FlagsCount)) - & I2O_SGL_FLAGS_LAST_ELEMENT) != 0)) { - break; - } - ++sg; - } - if (error) { - while ((elm = SLIST_FIRST(&sgList)) != NULL) { - SLIST_REMOVE_HEAD(&sgList, link); - free(elm, M_TEMP); - } - free(Reply_Ptr, M_TEMP); - free(Message_Ptr, M_TEMP); - return (error); - } - } - - debug_usr_cmd_printf ("Inbound: "); - debug_usr_cmd_dump_message(Message_Ptr); - - /* Send the command */ - if ((ccb = asr_alloc_ccb (sc)) == NULL) { - /* Free up in-kernel buffers */ - while ((elm = SLIST_FIRST(&sgList)) != NULL) { - SLIST_REMOVE_HEAD(&sgList, link); - free(elm, M_TEMP); - } - free(Reply_Ptr, M_TEMP); - free(Message_Ptr, M_TEMP); - return (ENOMEM); - } - - /* - * We do not need any (optional byteswapping) method access to - * the Initiator context field. - */ - I2O_MESSAGE_FRAME_setInitiatorContext64( - (PI2O_MESSAGE_FRAME)Message_Ptr, (long)ccb); - - (void)ASR_queue (sc, (PI2O_MESSAGE_FRAME)Message_Ptr); - - free(Message_Ptr, M_TEMP); - - /* - * Wait for the board to report a finished instruction. - */ - s = splcam(); - while ((ccb->ccb_h.status & CAM_STATUS_MASK) == CAM_REQ_INPROG) { - if (ASR_getBlinkLedCode(sc)) { - /* Reset Adapter */ - printf ("asr%d: Blink LED 0x%x resetting adapter\n", - cam_sim_unit(xpt_path_sim(ccb->ccb_h.path)), - ASR_getBlinkLedCode(sc)); - if (ASR_reset (sc) == ENXIO) { - /* Command Cleanup */ - ASR_ccbRemove(sc, ccb); - } - splx(s); - /* Free up in-kernel buffers */ - while ((elm = SLIST_FIRST(&sgList)) != NULL) { - SLIST_REMOVE_HEAD(&sgList, link); - free(elm, M_TEMP); - } - free(Reply_Ptr, M_TEMP); - asr_free_ccb(ccb); - return (EIO); - } - /* Check every second for BlinkLed */ - /* There is no PRICAM, but outwardly PRIBIO is functional */ - tsleep(ccb, PRIBIO, "asr", hz); - } - splx(s); - - debug_usr_cmd_printf ("Outbound: "); - debug_usr_cmd_dump_message(Reply_Ptr); - - I2O_SINGLE_REPLY_MESSAGE_FRAME_setDetailedStatusCode( - &(Reply_Ptr->StdReplyFrame), - (ccb->ccb_h.status != CAM_REQ_CMP)); - - if (ReplySizeInBytes >= (sizeof(I2O_SCSI_ERROR_REPLY_MESSAGE_FRAME) - - I2O_SCSI_SENSE_DATA_SZ - sizeof(U32))) { - I2O_SCSI_ERROR_REPLY_MESSAGE_FRAME_setTransferCount(Reply_Ptr, - ccb->csio.dxfer_len - ccb->csio.resid); - } - if ((ccb->ccb_h.status & CAM_AUTOSNS_VALID) && (ReplySizeInBytes - > (sizeof(I2O_SCSI_ERROR_REPLY_MESSAGE_FRAME) - - I2O_SCSI_SENSE_DATA_SZ))) { - int size = ReplySizeInBytes - - sizeof(I2O_SCSI_ERROR_REPLY_MESSAGE_FRAME) - - I2O_SCSI_SENSE_DATA_SZ; - - if (size > sizeof(ccb->csio.sense_data)) { - size = sizeof(ccb->csio.sense_data); - } - if (size < ccb->csio.sense_len) { - ccb->csio.sense_resid = ccb->csio.sense_len - size; - } else { - ccb->csio.sense_resid = 0; - } - bzero(&(ccb->csio.sense_data), sizeof(ccb->csio.sense_data)); - bcopy(&(ccb->csio.sense_data), Reply_Ptr->SenseData, size); - I2O_SCSI_ERROR_REPLY_MESSAGE_FRAME_setAutoSenseTransferCount( - Reply_Ptr, size); - } - - /* Free up in-kernel buffers */ - while ((elm = SLIST_FIRST(&sgList)) != NULL) { - /* Copy out as necessary */ - if ((error == 0) - /* DIR bit considered `valid', error due to ignorance works */ - && ((I2O_FLAGS_COUNT_getFlags(&(elm->FlagsCount)) - & I2O_SGL_FLAGS_DIR) == 0)) { - error = copyout((caddr_t)(elm->KernelSpace), - elm->UserSpace, - I2O_FLAGS_COUNT_getCount(&(elm->FlagsCount))); - } - SLIST_REMOVE_HEAD(&sgList, link); - free(elm, M_TEMP); - } - if (error == 0) { - /* Copy reply frame to user space */ - error = copyout((caddr_t)Reply_Ptr, (caddr_t)Reply, - ReplySizeInBytes); - } - free(Reply_Ptr, M_TEMP); - asr_free_ccb(ccb); - - return (error); -} /* ASR_queue_i */ - -/*----------------------------------------------------------------------*/ -/* Function asr_ioctl */ -/*----------------------------------------------------------------------*/ -/* The parameters passed to this function are : */ -/* dev : Device number. */ -/* cmd : Ioctl Command */ -/* data : User Argument Passed In. */ -/* flag : Mode Parameter */ -/* proc : Process Parameter */ -/* */ -/* This function is the user interface into this adapter driver */ -/* */ -/* Return : zero if OK, error code if not */ -/*----------------------------------------------------------------------*/ - -static int -asr_ioctl(struct cdev *dev, u_long cmd, caddr_t data, int flag, struct thread *td) -{ - Asr_softc_t *sc = dev->si_drv1; - int i, error = 0; -#ifdef ASR_IOCTL_COMPAT - int j; -#endif /* ASR_IOCTL_COMPAT */ - - if (sc != NULL) - switch(cmd) { - - case DPT_SIGNATURE: -#ifdef ASR_IOCTL_COMPAT -#if (dsDescription_size != 50) - case DPT_SIGNATURE + ((50 - dsDescription_size) << 16): -#endif - if (cmd & 0xFFFF0000) { - bcopy(&ASR_sig, data, sizeof(dpt_sig_S)); - return (0); - } - /* Traditional version of the ioctl interface */ - case DPT_SIGNATURE & 0x0000FFFF: -#endif - return (copyout((caddr_t)(&ASR_sig), *((caddr_t *)data), - sizeof(dpt_sig_S))); - - /* Traditional version of the ioctl interface */ - case DPT_CTRLINFO & 0x0000FFFF: - case DPT_CTRLINFO: { - struct { - u_int16_t length; - u_int16_t drvrHBAnum; - u_int32_t baseAddr; - u_int16_t blinkState; - u_int8_t pciBusNum; - u_int8_t pciDeviceNum; - u_int16_t hbaFlags; - u_int16_t Interrupt; - u_int32_t reserved1; - u_int32_t reserved2; - u_int32_t reserved3; - } CtlrInfo; - - bzero(&CtlrInfo, sizeof(CtlrInfo)); - CtlrInfo.length = sizeof(CtlrInfo) - sizeof(u_int16_t); - CtlrInfo.drvrHBAnum = asr_unit(dev); - CtlrInfo.baseAddr = sc->ha_Base; - i = ASR_getBlinkLedCode (sc); - if (i == -1) - i = 0; - - CtlrInfo.blinkState = i; - CtlrInfo.pciBusNum = sc->ha_pciBusNum; - CtlrInfo.pciDeviceNum = sc->ha_pciDeviceNum; -#define FLG_OSD_PCI_VALID 0x0001 -#define FLG_OSD_DMA 0x0002 -#define FLG_OSD_I2O 0x0004 - CtlrInfo.hbaFlags = FLG_OSD_PCI_VALID|FLG_OSD_DMA|FLG_OSD_I2O; - CtlrInfo.Interrupt = sc->ha_irq; -#ifdef ASR_IOCTL_COMPAT - if (cmd & 0xffff0000) - bcopy(&CtlrInfo, data, sizeof(CtlrInfo)); - else -#endif /* ASR_IOCTL_COMPAT */ - error = copyout(&CtlrInfo, *(caddr_t *)data, sizeof(CtlrInfo)); - } return (error); - - /* Traditional version of the ioctl interface */ - case DPT_SYSINFO & 0x0000FFFF: - case DPT_SYSINFO: { - sysInfo_S Info; -#ifdef ASR_IOCTL_COMPAT - char * cp; - /* Kernel Specific ptok `hack' */ -#define ptok(a) ((char *)(uintptr_t)(a) + KERNBASE) - - bzero(&Info, sizeof(Info)); - - /* Appears I am the only person in the Kernel doing this */ - outb (0x70, 0x12); - i = inb(0x71); - j = i >> 4; - if (i == 0x0f) { - outb (0x70, 0x19); - j = inb (0x71); - } - Info.drive0CMOS = j; - - j = i & 0x0f; - if (i == 0x0f) { - outb (0x70, 0x1a); - j = inb (0x71); - } - Info.drive1CMOS = j; - - Info.numDrives = *((char *)ptok(0x475)); -#else /* ASR_IOCTL_COMPAT */ - bzero(&Info, sizeof(Info)); -#endif /* ASR_IOCTL_COMPAT */ - - Info.processorFamily = ASR_sig.dsProcessorFamily; -#if defined(__i386__) - switch (cpu) { - case CPU_386SX: case CPU_386: - Info.processorType = PROC_386; break; - case CPU_486SX: case CPU_486: - Info.processorType = PROC_486; break; - case CPU_586: - Info.processorType = PROC_PENTIUM; break; - case CPU_686: - Info.processorType = PROC_SEXIUM; break; - } -#endif - - Info.osType = OS_BSDI_UNIX; - Info.osMajorVersion = osrelease[0] - '0'; - Info.osMinorVersion = osrelease[2] - '0'; - /* Info.osRevision = 0; */ - /* Info.osSubRevision = 0; */ - Info.busType = SI_PCI_BUS; - Info.flags = SI_OSversionValid|SI_BusTypeValid|SI_NO_SmartROM; - -#ifdef ASR_IOCTL_COMPAT - Info.flags |= SI_CMOS_Valid | SI_NumDrivesValid; - /* Go Out And Look For I2O SmartROM */ - for(j = 0xC8000; j < 0xE0000; j += 2048) { - int k; - - cp = ptok(j); - if (*((unsigned short *)cp) != 0xAA55) { - continue; - } - j += (cp[2] * 512) - 2048; - if ((*((u_long *)(cp + 6)) - != ('S' + (' ' * 256) + (' ' * 65536L))) - || (*((u_long *)(cp + 10)) - != ('I' + ('2' * 256) + ('0' * 65536L)))) { - continue; - } - cp += 0x24; - for (k = 0; k < 64; ++k) { - if (*((unsigned short *)cp) - == (' ' + ('v' * 256))) { - break; - } - } - if (k < 64) { - Info.smartROMMajorVersion - = *((unsigned char *)(cp += 4)) - '0'; - Info.smartROMMinorVersion - = *((unsigned char *)(cp += 2)); - Info.smartROMRevision - = *((unsigned char *)(++cp)); - Info.flags |= SI_SmartROMverValid; - Info.flags &= ~SI_NO_SmartROM; - break; - } - } - /* Get The Conventional Memory Size From CMOS */ - outb (0x70, 0x16); - j = inb (0x71); - j <<= 8; - outb (0x70, 0x15); - j |= inb(0x71); - Info.conventionalMemSize = j; - - /* Get The Extended Memory Found At Power On From CMOS */ - outb (0x70, 0x31); - j = inb (0x71); - j <<= 8; - outb (0x70, 0x30); - j |= inb(0x71); - Info.extendedMemSize = j; - Info.flags |= SI_MemorySizeValid; - - /* Copy Out The Info Structure To The User */ - if (cmd & 0xFFFF0000) - bcopy(&Info, data, sizeof(Info)); - else -#endif /* ASR_IOCTL_COMPAT */ - error = copyout(&Info, *(caddr_t *)data, sizeof(Info)); - return (error); } - - /* Get The BlinkLED State */ - case DPT_BLINKLED: - i = ASR_getBlinkLedCode (sc); - if (i == -1) - i = 0; -#ifdef ASR_IOCTL_COMPAT - if (cmd & 0xffff0000) - bcopy(&i, data, sizeof(i)); - else -#endif /* ASR_IOCTL_COMPAT */ - error = copyout(&i, *(caddr_t *)data, sizeof(i)); - break; - - /* Send an I2O command */ - case I2OUSRCMD: - return (ASR_queue_i(sc, *((PI2O_MESSAGE_FRAME *)data))); - - /* Reset and re-initialize the adapter */ - case I2ORESETCMD: - return (ASR_reset(sc)); - - /* Rescan the LCT table and resynchronize the information */ - case I2ORESCANCMD: - return (ASR_rescan(sc)); - } - return (EINVAL); -} /* asr_ioctl */ Property changes on: head/sys/dev/asr/asr.c ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: head/sys/dev/asr/dptsig.h =================================================================== --- head/sys/dev/asr/dptsig.h (revision 276525) +++ head/sys/dev/asr/dptsig.h (nonexistent) @@ -1,465 +0,0 @@ -/*- - * Copyright (c) 1996-2000 Distributed Processing Technology Corporation - * Copyright (c) 2000-2001 Adaptec Corporation. - * All rights reserved. - * - * Redistribution and use in source form, with or without modification, are - * permitted provided that redistributions of source code must retain the - * above copyright notice, this list of conditions and the following disclaimer. - * - * This software is provided `as is' by Distributed Processing Technology and - * any express or implied warranties, including, but not limited to, the - * implied warranties of merchantability and fitness for a particular purpose, - * are disclaimed. In no event shall Distributed Processing Technology be - * liable for any direct, indirect, incidental, special, exemplary or - * consequential damages (including, but not limited to, procurement of - * substitute goods or services; loss of use, data, or profits; or business - * interruptions) however caused and on any theory of liability, whether in - * contract, strict liability, or tort (including negligence or otherwise) - * arising in any way out of the use of this driver software, even if advised - * of the possibility of such damage. - * - * $FreeBSD$ - */ - -#ifndef __DPTSIG_H_ -#define __DPTSIG_H_ -#ifdef _SINIX_ADDON -#include "dpt.h" -#endif -/* DPT SIGNATURE SPEC AND HEADER FILE */ -/* Signature Version 1 (sorry no 'A') */ - -/* to make sure we are talking the same size under all OS's */ -typedef unsigned char sigBYTE; -typedef unsigned short sigWORD; -#if (defined(_MULTI_DATAMODEL) && defined(sun) && !defined(_ILP32)) -typedef uint32_t sigLONG; -#else -typedef unsigned long sigLONG; -#endif - -/* - * use sigWORDLittleEndian for: - * dsCapabilities - * dsDeviceSupp - * dsAdapterSupp - * dsApplication - * use sigLONGLittleEndian for: - * dsOS - * so that the sig can be standardised to Little Endian - */ -#if (defined(_DPT_BIG_ENDIAN)) -# define sigWORDLittleEndian(x) ((((x)&0xFF)<<8)|(((x)>>8)&0xFF)) -# define sigLONGLittleEndian(x) \ - ((((x)&0xFF)<<24) | \ - (((x)&0xFF00)<<8) | \ - (((x)&0xFF0000L)>>8) | \ - (((x)&0xFF000000L)>>24)) -#else -# define sigWORDLittleEndian(x) (x) -# define sigLONGLittleEndian(x) (x) -#endif - -/* must make sure the structure is not word or double-word aligned */ -/* --------------------------------------------------------------- */ -/* Borland will ignore the following pragma: */ -/* Word alignment is OFF by default. If in the, IDE make */ -/* sure that Options | Compiler | Code Generation | Word Alignment */ -/* is not checked. If using BCC, do not use the -a option. */ - -#ifndef NO_PACK -#if defined(_DPT_AIX) -#pragma options align=packed -#else -#pragma pack(1) -#endif /* aix */ -#endif -/* For the Macintosh */ -#ifdef STRUCTALIGNMENTSUPPORTED -#pragma options align=mac68k -#endif - - -/* Current Signature Version - sigBYTE dsSigVersion; */ -/* ------------------------------------------------------------------ */ -#define SIG_VERSION 1 - -/* Processor Family - sigBYTE dsProcessorFamily; DISTINCT VALUES */ -/* ------------------------------------------------------------------ */ -/* What type of processor the file is meant to run on. */ -/* This will let us know whether to read sigWORDs as high/low or low/high. */ -#define PROC_INTEL 0x00 /* Intel 80x86 */ -#define PROC_MOTOROLA 0x01 /* Motorola 68K */ -#define PROC_MIPS4000 0x02 /* MIPS RISC 4000 */ -#define PROC_MIPS PROC_MIPS4000 /* MIPS RISC */ -#define PROC_ALPHA 0x03 /* DEC Alpha */ -#define PROC_POWERPC 0x04 /* IBM Power PC */ -#define PROC_i960 0x05 /* Intel i960 */ -#define PROC_ULTRASPARC 0x06 /* SPARC processor */ - -/* Specific Minimim Processor - sigBYTE dsProcessor; FLAG BITS */ -/* ------------------------------------------------------------------ */ -/* Different bit definitions dependent on processor_family */ - -/* PROC_INTEL: */ -#define PROC_8086 0x01 /* Intel 8086 */ -#define PROC_286 0x02 /* Intel 80286 */ -#define PROC_386 0x04 /* Intel 80386 */ -#define PROC_486 0x08 /* Intel 80486 */ -#define PROC_PENTIUM 0x10 /* Intel 586 aka P5 aka Pentium */ -#define PROC_SEXIUM 0x20 /* Intel 686 aka P6 aka Pentium Pro or MMX */ -#define PROC_ITANIUM 0x40 /* Intel Itanium 64 bit */ - -/* PROC_i960: */ -#define PROC_960RX 0x01 /* Intel 80960RP/RD */ -#define PROC_960HX 0x02 /* Intel 80960HA/HD/HT */ -#define PROC_960RN 0x03 /* Intel 80960RN/RM */ -#define PROC_960RS 0x04 /* Intel 80960RS */ -#define PROC_80303 0x05 /* Intel 80303 (ZION) */ - -/* PROC_MOTOROLA: */ -#define PROC_68000 0x01 /* Motorola 68000 */ -#define PROC_68010 0x02 /* Motorola 68010 */ -#define PROC_68020 0x04 /* Motorola 68020 */ -#define PROC_68030 0x08 /* Motorola 68030 */ -#define PROC_68040 0x10 /* Motorola 68040 */ - -/* PROC_POWERPC */ -#define PROC_PPC601 0x01 /* PowerPC 601 */ -#define PROC_PPC603 0x02 /* PowerPC 603 */ -#define PROC_PPC604 0x04 /* PowerPC 604 */ - -/* PROC_MIPS */ -#define PROC_R4000 0x01 /* MIPS R4000 */ -#define PROC_RM7000 0x02 /* MIPS RM7000 */ - -/* Filetype - sigBYTE dsFiletype; DISTINCT VALUES */ -/* ------------------------------------------------------------------ */ -#define FT_EXECUTABLE 0 /* Executable Program */ -#define FT_SCRIPT 1 /* Script/Batch File??? */ -#define FT_HBADRVR 2 /* HBA Driver */ -#define FT_OTHERDRVR 3 /* Other Driver */ -#define FT_IFS 4 /* Installable Filesystem Driver */ -#define FT_ENGINE 5 /* DPT Engine */ -#define FT_COMPDRVR 6 /* Compressed Driver Disk */ -#define FT_LANGUAGE 7 /* Foreign Language file */ -#define FT_FIRMWARE 8 /* Downloadable or actual Firmware */ -#define FT_COMMMODL 9 /* Communications Module */ -#define FT_INT13 10 /* INT 13 style HBA Driver */ -#define FT_HELPFILE 11 /* Help file */ -#define FT_LOGGER 12 /* Event Logger */ -#define FT_INSTALL 13 /* An Install Program */ -#define FT_LIBRARY 14 /* Storage Manager Real-Mode Calls */ -#define FT_RESOURCE 15 /* Storage Manager Resource File */ -#define FT_MODEM_DB 16 /* Storage Manager Modem Database */ -#define FT_DMI 17 /* DMI component interface */ - -/* Filetype flags - sigBYTE dsFiletypeFlags; FLAG BITS */ -/* ------------------------------------------------------------------ */ -#define FTF_DLL 0x01 /* Dynamic Link Library */ -#define FTF_NLM 0x02 /* Netware Loadable Module */ -#define FTF_OVERLAYS 0x04 /* Uses overlays */ -#define FTF_DEBUG 0x08 /* Debug version */ -#define FTF_TSR 0x10 /* TSR */ -#define FTF_SYS 0x20 /* DOS Loadable driver */ -#define FTF_PROTECTED 0x40 /* Runs in protected mode */ -#define FTF_APP_SPEC 0x80 /* Application Specific */ -#define FTF_ROM (FTF_SYS|FTF_TSR) /* Special Case */ - -/* OEM - sigBYTE dsOEM; DISTINCT VALUES */ -/* ------------------------------------------------------------------ */ -#define OEM_DPT 0 /* DPT */ -#define OEM_ATT 1 /* ATT */ -#define OEM_NEC 2 /* NEC */ -#define OEM_ALPHA 3 /* Alphatronix */ -#define OEM_AST 4 /* AST */ -#define OEM_OLIVETTI 5 /* Olivetti */ -#define OEM_SNI 6 /* Siemens/Nixdorf */ -#define OEM_SUN 7 /* SUN Microsystems */ -#define OEM_ADAPTEC 8 /* Adaptec */ - -/* Operating System - sigLONG dsOS; FLAG BITS */ -/* ------------------------------------------------------------------ */ -#define OS_DOS 0x00000001 /* PC/MS-DOS */ -#define OS_WINDOWS 0x00000002 /* Microsoft Windows 3.x */ -#define OS_WINDOWS_NT 0x00000004 /* Microsoft Windows NT */ -#define OS_OS2M 0x00000008 /* OS/2 1.2.x,MS 1.3.0,IBM 1.3.x - Monolithic */ -#define OS_OS2L 0x00000010 /* Microsoft OS/2 1.301 - LADDR */ -#define OS_OS22x 0x00000020 /* IBM OS/2 2.x */ -#define OS_NW286 0x00000040 /* Novell NetWare 286 */ -#define OS_NW386 0x00000080 /* Novell NetWare 386 */ -#define OS_GEN_UNIX 0x00000100 /* Generic Unix */ -#define OS_SCO_UNIX 0x00000200 /* SCO Unix */ -#define OS_ATT_UNIX 0x00000400 /* ATT Unix */ -#define OS_UNIXWARE 0x00000800 /* USL Unix */ -#define OS_INT_UNIX 0x00001000 /* Interactive Unix */ -#define OS_SOLARIS 0x00002000 /* SunSoft Solaris */ -#define OS_QNX 0x00004000 /* QNX for Tom Moch */ -#define OS_NEXTSTEP 0x00008000 /* NeXTSTEP/OPENSTEP/MACH */ -#define OS_BANYAN 0x00010000 /* Banyan Vines */ -#define OS_OLIVETTI_UNIX 0x00020000/* Olivetti Unix */ -#define OS_MAC_OS 0x00040000 /* Mac OS */ -#define OS_WINDOWS_95 0x00080000 /* Microsoft Windows '95 */ -#define OS_NW4x 0x00100000 /* Novell Netware 4.x */ -#define OS_BSDI_UNIX 0x00200000 /* BSDi Unix BSD/OS 2.0 and up */ -#define OS_AIX_UNIX 0x00400000 /* AIX Unix */ -#define OS_FREE_BSD 0x00800000 /* FreeBSD Unix */ -#define OS_LINUX 0x01000000 /* Linux */ -#define OS_DGUX_UNIX 0x02000000 /* Data General Unix */ -#define OS_SINIX_N 0x04000000 /* SNI SINIX-N */ -#define OS_PLAN9 0x08000000 /* ATT Plan 9 */ -#define OS_TSX 0x10000000 /* SNH TSX-32 */ -#define OS_WINDOWS_98 0x20000000 /* Microsoft Windows '98 */ -#define OS_NW5x 0x40000000 /* Novell Netware 5x */ - -#define OS_OTHER 0x80000000 /* Other */ - -/* Capabilities - sigWORD dsCapabilities; FLAG BITS */ -/* ------------------------------------------------------------------ */ -#define CAP_RAID0 0x0001 /* RAID-0 */ -#define CAP_RAID1 0x0002 /* RAID-1 */ -#define CAP_RAID3 0x0004 /* RAID-3 */ -#define CAP_RAID5 0x0008 /* RAID-5 */ -#define CAP_SPAN 0x0010 /* Spanning */ -#define CAP_PASS 0x0020 /* Provides passthrough */ -#define CAP_OVERLAP 0x0040 /* Passthrough supports overlapped commands */ -#define CAP_ASPI 0x0080 /* Supports ASPI Command Requests */ -#define CAP_ABOVE16MB 0x0100 /* ISA Driver supports greater than 16MB */ -#define CAP_EXTEND 0x8000 /* Extended info appears after description */ -#ifdef SNI_MIPS -#define CAP_CACHEMODE 0x1000 /* dpt_force_cache is set in driver */ -#endif - -/* Devices Supported - sigWORD dsDeviceSupp; FLAG BITS */ -/* ------------------------------------------------------------------ */ -#define DEV_DASD 0x0001 /* DASD (hard drives) */ -#define DEV_TAPE 0x0002 /* Tape drives */ -#define DEV_PRINTER 0x0004 /* Printers */ -#define DEV_PROC 0x0008 /* Processors */ -#define DEV_WORM 0x0010 /* WORM drives */ -#define DEV_CDROM 0x0020 /* CD-ROM drives */ -#define DEV_SCANNER 0x0040 /* Scanners */ -#define DEV_OPTICAL 0x0080 /* Optical Drives */ -#define DEV_JUKEBOX 0x0100 /* Jukebox */ -#define DEV_COMM 0x0200 /* Communications Devices */ -#define DEV_OTHER 0x0400 /* Other Devices */ -#define DEV_ALL 0xFFFF /* All SCSI Devices */ - -/* Adapters Families Supported - sigWORD dsAdapterSupp; FLAG BITS */ -/* ------------------------------------------------------------------ */ -#define ADF_2001 0x0001 /* PM2001 */ -#define ADF_2012A 0x0002 /* PM2012A */ -#define ADF_PLUS_ISA 0x0004 /* PM2011,PM2021 */ -#define ADF_PLUS_EISA 0x0008 /* PM2012B,PM2022 */ -#define ADF_SC3_ISA 0x0010 /* PM2021 */ -#define ADF_SC3_EISA 0x0020 /* PM2022,PM2122, etc */ -#define ADF_SC3_PCI 0x0040 /* SmartCache III PCI */ -#define ADF_SC4_ISA 0x0080 /* SmartCache IV ISA */ -#define ADF_SC4_EISA 0x0100 /* SmartCache IV EISA */ -#define ADF_SC4_PCI 0x0200 /* SmartCache IV PCI */ -#define ADF_SC5_PCI 0x0400 /* Fifth Generation I2O products */ -/* - * Combinations of products - */ -#define ADF_ALL_2000 (ADF_2001|ADF_2012A) -#define ADF_ALL_PLUS (ADF_PLUS_ISA|ADF_PLUS_EISA) -#define ADF_ALL_SC3 (ADF_SC3_ISA|ADF_SC3_EISA|ADF_SC3_PCI) -#define ADF_ALL_SC4 (ADF_SC4_ISA|ADF_SC4_EISA|ADF_SC4_PCI) -#define ADF_ALL_SC5 (ADF_SC5_PCI) -/* All EATA Cacheing Products */ -#define ADF_ALL_CACHE (ADF_ALL_PLUS|ADF_ALL_SC3|ADF_ALL_SC4) -/* All EATA Bus Mastering Products */ -#define ADF_ALL_MASTER (ADF_2012A|ADF_ALL_CACHE) -/* All EATA Adapter Products */ -#define ADF_ALL_EATA (ADF_2001|ADF_ALL_MASTER) -#define ADF_ALL ADF_ALL_EATA - -/* Application - sigWORD dsApplication; FLAG BITS */ -/* ------------------------------------------------------------------ */ -#define APP_DPTMGR 0x0001 /* DPT Storage Manager */ -#define APP_ENGINE 0x0002 /* DPT Engine */ -#define APP_SYTOS 0x0004 /* Sytron Sytos Plus */ -#define APP_CHEYENNE 0x0008 /* Cheyenne ARCServe + ARCSolo */ -#define APP_MSCDEX 0x0010 /* Microsoft CD-ROM extensions */ -#define APP_NOVABACK 0x0020 /* NovaStor Novaback */ -#define APP_AIM 0x0040 /* Archive Information Manager */ - -/* Requirements - sigBYTE dsRequirements; FLAG BITS */ -/* ------------------------------------------------------------------ */ -#define REQ_SMARTROM 0x01 /* Requires SmartROM to be present */ -#define REQ_DPTDDL 0x02 /* Requires DPTDDL.SYS to be loaded */ -#define REQ_HBA_DRIVER 0x04 /* Requires an HBA driver to be loaded */ -#define REQ_ASPI_TRAN 0x08 /* Requires an ASPI Transport Modules */ -#define REQ_ENGINE 0x10 /* Requires a DPT Engine to be loaded */ -#define REQ_COMM_ENG 0x20 /* Requires a DPT Communications Engine */ - -/* ------------------------------------------------------------------ */ -/* Requirements - sigWORD dsFirmware; FLAG BITS */ -/* ------------------------------------------------------------------ */ -#define dsFirmware dsApplication -#define FW_DNLDSIZE16_OLD 0x0000 /* 0..3 DownLoader Size 16K - TO SUPPORT OLD IMAGES */ -#define FW_DNLDSIZE16k 0x0000 /* 0..3 DownLoader Size 16k */ -#define FW_DNLDSIZE16 0x0001 /* 0..3 DownLoader Size 16K */ -#define FW_DNLDSIZE32 0x0002 /* 0..3 DownLoader Size 32K */ -#define FW_DNLDSIZE64 0x0004 /* 0..3 DownLoader Size 64K */ -#define FW_DNLDSIZE0 0x000f /* 0..3 DownLoader Size 0K - NONE */ -#define FW_DNLDSIZE_NONE 0x000F /* 0..3 DownLoader Size - NONE */ - - /* Code Offset is position of the code within the ROM CODE Segment */ -#define FW_DNLDR_TOP 0x0000 /* 12 DownLoader Position (0=Top, 1=Bottom) */ -#define FW_DNLDR_BTM 0x1000 /* 12 DownLoader Position (0=Top, 1=Bottom) Dominator */ - -#define FW_LOAD_BTM 0x0000 /* 13 Code Offset (0=Btm, 1=Top) MIPS */ -#define FW_LOAD_TOP 0x2000 /* 13 Code Offset (0=Btm, 1=Top) i960 */ - -#define FW_SIG_VERSION1 0x0000 /* 15..14 Version Bits 0=Ver1 */ -#define FW_SIG_VERSION2 0x4000 /* 15..14 Version Bits 1=Ver2 */ - -/* - 0..3 Downloader Size (Value * 16K) - - 4 - 5 - 6 - 7 - - 8 - 9 - 10 - 11 - - 12 Downloader Position (0=Top of Image 1= Bottom of Image (Dominator) ) - 13 Load Offset (0=BTM (MIPS) -- 1=TOP (960) ) - 14..15 F/W Sig Version (0=Ver1) -*/ - -/* ------------------------------------------------------------------ */ -/* Sub System Vendor IDs - The PCI Sub system and vendor IDs for each */ -/* Adaptec Raid controller */ -/* ------------------------------------------------------------------ */ -#define PM1554U2_SUB_ID 0xC0011044 -#define PM1654U2_SUB_ID 0xC0021044 -#define PM1564U3_1_SUB_ID 0xC0031044 -#define PM1564U3_2_SUB_ID 0xC0041044 -#define PM1554U2_NOACPI_SUB_ID 0xC0051044 -#define PM2554U2_SUB_ID 0xC00A1044 -#define PM2654U2_SUB_ID 0xC00B1044 -#define PM2664U3_1_SUB_ID 0xC00C1044 -#define PM2664U3_2_SUB_ID 0xC00D1044 -#define PM2554U2_NOACPI_SUB_ID 0xC00E1044 -#define PM2654U2_NOACPI_SUB_ID 0xC00F1044 -#define PM3754U2_SUB_ID 0xC0141044 -#define PM3755U2B_SUB_ID 0xC0151044 -#define PM3755F_SUB_ID 0xC0161044 -#define PM3757U2_1_SUB_ID 0xC01E1044 -#define PM3757U2_2_SUB_ID 0xC01F1044 -#define PM3767U3_2_SUB_ID 0xC0201044 -#define PM3767U3_4_SUB_ID 0xC0211044 -#define PM2865U3_1_SUB_ID 0xC0281044 -#define PM2865U3_2_SUB_ID 0xC0291044 -#define PM2865F_SUB_ID 0xC02A1044 -#define ADPT2000S_1_SUB_ID 0xC03C1044 -#define ADPT2000S_2_SUB_ID 0xC03D1044 -#define ADPT2000F_SUB_ID 0xC03E1044 -#define ADPT3000S_1_SUB_ID 0xC0461044 -#define ADPT3000S_2_SUB_ID 0xC0471044 -#define ADPT3000F_SUB_ID 0xC0481044 -#define ADPT5000S_1_SUB_ID 0xC0501044 -#define ADPT5000S_2_SUB_ID 0xC0511044 -#define ADPT5000F_SUB_ID 0xC0521044 -#define ADPT1000UDMA_SUB_ID 0xC05A1044 -#define ADPT1000UDMA_DAC_SUB_ID 0xC05B1044 -#define ADPTI2O_DEVICE_ID 0xa501 -#define ADPTDOMINATOR_DEVICE_ID 0xa511 -#define ADPTDOMINATOR_SUB_ID_START 0xC0321044 -#define ADPTDOMINATOR_SUB_ID_END 0xC03b1044 - - - -/* ------------------------------------------------------------------ */ -/* ------------------------------------------------------------------ */ -/* ------------------------------------------------------------------ */ - -/* - * You may adjust dsDescription_size with an override to a value less than - * 50 so that the structure allocates less real space. - */ -#if (!defined(dsDescription_size)) -# define dsDescription_size 50 -#endif - -typedef struct dpt_sig { - char dsSignature[6]; /* ALWAYS "dPtSiG" */ - sigBYTE dsSigVersion; /* signature version (currently 1) */ - sigBYTE dsProcessorFamily; /* what type of processor */ - sigBYTE dsProcessor; /* precise processor */ - sigBYTE dsFiletype; /* type of file */ - sigBYTE dsFiletypeFlags; /* flags to specify load type, etc. */ - sigBYTE dsOEM; /* OEM file was created for */ - sigLONG dsOS; /* which Operating systems */ - sigWORD dsCapabilities; /* RAID levels, etc. */ - sigWORD dsDeviceSupp; /* Types of SCSI devices supported */ - sigWORD dsAdapterSupp; /* DPT adapter families supported */ - sigWORD dsApplication; /* applications file is for */ - sigBYTE dsRequirements; /* Other driver dependencies */ - sigBYTE dsVersion; /* 1 */ - sigBYTE dsRevision; /* 'J' */ - sigBYTE dsSubRevision; /* '9' ' ' if N/A */ - sigBYTE dsMonth; /* creation month */ - sigBYTE dsDay; /* creation day */ - sigBYTE dsYear; /* creation year since 1980 (1993=13) */ - /* description (NULL terminated) */ - char dsDescription[dsDescription_size]; -} dpt_sig_S; -/* 32 bytes minimum - with no description. Put NULL at description[0] */ -/* 81 bytes maximum - with 49 character description plus NULL. */ - -#if defined __bsdi__ -#ifndef PACK -#define PACK __attribute__ ((packed)) -#endif -typedef struct dpt_sig_Packed { - char dsSignature[6] PACK; /* ALWAYS "dPtSiG" */ - sigBYTE dsSigVersion PACK; /* signature version (currently 1) */ - sigBYTE dsProcessorFamily PACK; /* what type of processor */ - sigBYTE dsProcessor PACK; /* precise processor */ - sigBYTE dsFiletype PACK; /* type of file */ - sigBYTE dsFiletypeFlags PACK; /* flags to specify load type, etc. */ - sigBYTE dsOEM PACK; /* OEM file was created for */ - sigLONG dsOS PACK; /* which Operating systems */ - sigWORD dsCapabilities PACK; /* RAID levels, etc. */ - sigWORD dsDeviceSupp PACK; /* Types of SCSI devices supported */ - sigWORD dsAdapterSupp PACK; /* DPT adapter families supported */ - sigWORD dsApplication PACK; /* applications file is for */ - sigBYTE dsRequirements PACK; /* Other driver dependencies */ - sigBYTE dsVersion PACK; /* 1 */ - sigBYTE dsRevision PACK; /* 'J' */ - sigBYTE dsSubRevision PACK; /* '9' ' ' if N/A */ - sigBYTE dsMonth PACK; /* creation month */ - sigBYTE dsDay PACK; /* creation day */ - sigBYTE dsYear PACK; /* creation year since 1980 (1993=13) */ - /* description (NULL terminated) */ - char dsDescription[dsDescription_size] PACK; -} dpt_sig_S_Packed; -#define PACKED_SIG_SIZE sizeof(dpt_sig_S_Packed) -#endif -/* This line added at Roycroft's request */ -/* Microsoft's NT compiler gets confused if you do a pack and don't */ -/* restore it. */ - -#ifndef NO_UNPACK -#if defined(_DPT_AIX) -#pragma options align=reset -#elif defined(UNPACK_FOUR) -#pragma pack(4) -#else -#pragma pack() -#endif /* aix */ -#endif -/* For the Macintosh */ -#ifdef STRUCTALIGNMENTSUPPORTED -#pragma options align=reset -#endif - -#endif Property changes on: head/sys/dev/asr/dptsig.h ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: head/sys/dev/asr/osd_defs.h =================================================================== --- head/sys/dev/asr/osd_defs.h (revision 276525) +++ head/sys/dev/asr/osd_defs.h (nonexistent) @@ -1,80 +0,0 @@ -/*- - * Copyright (c) 1996-1999 Distributed Processing Technology Corporation - * All rights reserved. - * - * Redistribution and use in source form, with or without modification, are - * permitted provided that redistributions of source code must retain the - * above copyright notice, this list of conditions and the following disclaimer. - * - * This software is provided `as is' by Distributed Processing Technology and - * any express or implied warranties, including, but not limited to, the - * implied warranties of merchantability and fitness for a particular purpose, - * are disclaimed. In no event shall Distributed Processing Technology be - * liable for any direct, indirect, incidental, special, exemplary or - * consequential damages (including, but not limited to, procurement of - * substitute goods or services; loss of use, data, or profits; or business - * interruptions) however caused and on any theory of liability, whether in - * contract, strict liability, or tort (including negligence or otherwise) - * arising in any way out of the use of this driver software, even if advised - * of the possibility of such damage. - * - * $FreeBSD$ - */ - -#ifndef _OSD_DEFS_H -#define _OSD_DEFS_H - -/*File - OSD_DEFS.H - **************************************************************************** - * - *Description: - * - * This file contains the OS dependent defines. This file is included - *in osd_util.h and provides the OS specific defines for that file. - * - *Copyright Distributed Processing Technology, Corp. - * 140 Candace Dr. - * Maitland, Fl. 32751 USA - * Phone: (407) 830-5522 Fax: (407) 260-5366 - * All Rights Reserved - * - *Author: Doug Anderson - *Date: 1/31/94 - * - *Editors: - * - *Remarks: - * - * - *****************************************************************************/ - - -/*Definitions - Defines & Constants ----------------------------------------- */ - - /* Define the operating system */ -#if (defined(__linux__)) -# define _DPT_LINUX -#elif (defined(__bsdi__)) -# define _DPT_BSDI -#elif (defined(__FreeBSD__)) -# undef _DPT_FREE_BSD -# define _DPT_FREE_BSD -#else -# define _DPT_SCO -#endif - -#if defined(ZIL_CURSES) -#define _DPT_CURSES -#else -#define _DPT_MOTIF -#endif - - /* Redefine 'far' to nothing - no far pointer type required in UNIX */ -#define far - - /* Define the mutually exclusive semaphore type */ -#define SEMAPHORE_T unsigned int * - /* Define a handle to a DLL */ -#define DLL_HANDLE_T unsigned int * - -#endif Property changes on: head/sys/dev/asr/osd_defs.h ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: head/sys/dev/asr/sys_info.h =================================================================== --- head/sys/dev/asr/sys_info.h (revision 276525) +++ head/sys/dev/asr/sys_info.h (nonexistent) @@ -1,482 +0,0 @@ -/*- - * Copyright (c) 1996-1999 Distributed Processing Technology Corporation - * All rights reserved. - * - * Redistribution and use in source form, with or without modification, are - * permitted provided that redistributions of source code must retain the - * above copyright notice, this list of conditions and the following disclaimer. - * - * This software is provided `as is' by Distributed Processing Technology and - * any express or implied warranties, including, but not limited to, the - * implied warranties of merchantability and fitness for a particular purpose, - * are disclaimed. In no event shall Distributed Processing Technology be - * liable for any direct, indirect, incidental, special, exemplary or - * consequential damages (including, but not limited to, procurement of - * substitute goods or services; loss of use, data, or profits; or business - * interruptions) however caused and on any theory of liability, whether in - * contract, strict liability, or tort (including negligence or otherwise) - * arising in any way out of the use of this driver software, even if advised - * of the possibility of such damage. - * - * $FreeBSD$ - */ - -#ifndef __SYS_INFO_H -#define __SYS_INFO_H - -/*File - SYS_INFO.H - **************************************************************************** - * - *Description: - * - * This file contains structure definitions for the OS dependent - *layer system information buffers. - * - *Copyright Distributed Processing Technology, Corp. - * 140 Candace Dr. - * Maitland, Fl. 32751 USA - * Phone: (407) 830-5522 Fax: (407) 260-5366 - * All Rights Reserved - * - *Author: Don Kemper - *Date: 5/10/94 - * - *Editors: - * - *Remarks: - * - * - *****************************************************************************/ - - -/*Include Files ------------------------------------------------------------- */ - -#if (defined(KERNEL) && defined(__bsdi__)) -# include "i386/isa/dpt_osd_util.h" -#elif ((defined(KERNEL) || defined(_KERNEL)) && defined(__FreeBSD__)) -# if (KERN_VERSION < 3) -# include "i386/isa/dpt_osd_util.h" -# else -# include "dev/asr/osd_util.h" -# endif -#else -# include "osd_util.h" -#endif - -#ifndef NO_PACK -#if defined(_DPT_AIX) -#pragma options align=packed -#else -#pragma pack(1) -#endif /* aix */ -#endif /* no unpack */ - - -/*struct - driveParam_S - start - *=========================================================================== - * - *Description: - * - * This structure defines the drive parameters seen during - *booting. - * - *---------------------------------------------------------------------------*/ - -#ifdef __cplusplus - struct driveParam_S { -#else - typedef struct { -#endif - - uSHORT cylinders; /* Upto 1024 */ - uCHAR heads; /* Upto 255 */ - uCHAR sectors; /* Upto 63 */ - -#ifdef __cplusplus - -/*---------- Portability Additions ----------- in sp_sinfo.cpp */ -#ifdef DPT_PORTABLE - uSHORT netInsert(dptBuffer_S *buffer); - uSHORT netExtract(dptBuffer_S *buffer); -#endif /* DPT PORTABLE */ -/*--------------------------------------------*/ - - }; -#else - } driveParam_S; -#endif -/*driveParam_S - end */ - - -/*struct - sysInfo_S - start - *=========================================================================== - * - *Description: - * - * This structure defines the command system information that - *should be returned by every OS dependent layer. - * - *---------------------------------------------------------------------------*/ - -/*flags - bit definitions */ -#define SI_CMOS_Valid 0x0001 -#define SI_NumDrivesValid 0x0002 -#define SI_ProcessorValid 0x0004 -#define SI_MemorySizeValid 0x0008 -#define SI_DriveParamsValid 0x0010 -#define SI_SmartROMverValid 0x0020 -#define SI_OSversionValid 0x0040 -#define SI_OSspecificValid 0x0080 /* 1 if OS structure returned */ -#define SI_BusTypeValid 0x0100 - -#define SI_ALL_VALID 0x0FFF /* All Std SysInfo is valid */ -#define SI_NO_SmartROM 0x8000 - -/*busType - definitions */ -#define SI_ISA_BUS 0x00 -#define SI_MCA_BUS 0x01 -#define SI_EISA_BUS 0x02 -#define SI_PCI_BUS 0x04 - -#ifdef __cplusplus - struct sysInfo_S { -#else - typedef struct { -#endif - - uCHAR drive0CMOS; /* CMOS Drive 0 Type */ - uCHAR drive1CMOS; /* CMOS Drive 1 Type */ - uCHAR numDrives; /* 0040:0075 contents */ - uCHAR processorFamily; /* Same as DPTSIG's definition */ - uCHAR processorType; /* Same as DPTSIG's definition */ - uCHAR smartROMMajorVersion; - uCHAR smartROMMinorVersion; /* SmartROM version */ - uCHAR smartROMRevision; - uSHORT flags; /* See bit definitions above */ - uSHORT conventionalMemSize; /* in KB */ - uLONG extendedMemSize; /* in KB */ - uLONG osType; /* Same as DPTSIG's definition */ - uCHAR osMajorVersion; - uCHAR osMinorVersion; /* The OS version */ - uCHAR osRevision; -#ifdef _SINIX_ADDON - uCHAR busType; /* See defininitions above */ - uSHORT osSubRevision; - uCHAR pad[2]; /* For alignment */ -#else - uCHAR osSubRevision; - uCHAR busType; /* See defininitions above */ - uCHAR pad[3]; /* For alignment */ -#endif - driveParam_S drives[16]; /* SmartROM Logical Drives */ - -#ifdef __cplusplus - -/*---------- Portability Additions ----------- in sp_sinfo.cpp */ -#ifdef DPT_PORTABLE - uSHORT netInsert(dptBuffer_S *buffer); - uSHORT netExtract(dptBuffer_S *buffer); -#endif /* DPT PORTABLE */ -/*--------------------------------------------*/ - - }; -#else - } sysInfo_S; -#endif -/*sysInfo_S - end */ - - -/*struct - DOS_Info_S - start - *=========================================================================== - * - *Description: - * - * This structure defines the system information specific to a - *DOS workstation. - * - *---------------------------------------------------------------------------*/ - -/*flags - bit definitions */ -#define DI_DOS_HIGH 0x01 /* DOS is loaded high */ -#define DI_DPMI_VALID 0x02 /* DPMI version is valid */ - -#ifdef __cplusplus - struct DOS_Info_S { -#else - typedef struct { -#endif - - uCHAR flags; /* See bit definitions above */ - uSHORT driverLocation; /* SmartROM BIOS address */ - uSHORT DOS_version; - uSHORT DPMI_version; - -#ifdef __cplusplus - -/*---------- Portability Additions ----------- in sp_sinfo.cpp */ -#ifdef DPT_PORTABLE - uSHORT netInsert(dptBuffer_S *buffer); - uSHORT netExtract(dptBuffer_S *buffer); -#endif /* DPT PORTABLE */ -/*--------------------------------------------*/ - - }; -#else - } DOS_Info_S; -#endif -/*DOS_Info_S - end */ - - -/*struct - Netware_Info_S - start - *=========================================================================== - * - *Description: - * - * This structure defines the system information specific to a - *Netware machine. - * - *---------------------------------------------------------------------------*/ - -#ifdef __cplusplus - struct Netware_Info_S { -#else - typedef struct { -#endif - - uCHAR driverName[13]; /* ie PM12NW31.DSK */ - uCHAR serverName[48]; - uCHAR netwareVersion; /* The Netware OS version */ - uCHAR netwareSubVersion; - uCHAR netwareRevision; - uSHORT maxConnections; /* Probably 250 or 1000 */ - uSHORT connectionsInUse; - uSHORT maxVolumes; - uCHAR unused; - uCHAR SFTlevel; - uCHAR TTSlevel; - - uCHAR clibMajorVersion; /* The CLIB.NLM version */ - uCHAR clibMinorVersion; - uCHAR clibRevision; - -#ifdef __cplusplus - -/*---------- Portability Additions ----------- in sp_sinfo.cpp */ -#ifdef DPT_PORTABLE - uSHORT netInsert(dptBuffer_S *buffer); - uSHORT netExtract(dptBuffer_S *buffer); -#endif /* DPT PORTABLE */ -/*--------------------------------------------*/ - - }; -#else - } Netware_Info_S; -#endif -/*Netware_Info_S - end */ - - -/*struct - OS2_Info_S - start - *=========================================================================== - * - *Description: - * - * This structure defines the system information specific to an - *OS/2 machine. - * - *---------------------------------------------------------------------------*/ - -#ifdef __cplusplus - struct OS2_Info_S { -#else - typedef struct { -#endif - - uCHAR something; - -#ifdef __cplusplus - -/*---------- Portability Additions ----------- in sp_sinfo.cpp */ -#ifdef DPT_PORTABLE - uSHORT netInsert(dptBuffer_S *buffer); - uSHORT netExtract(dptBuffer_S *buffer); -#endif /* DPT PORTABLE */ -/*--------------------------------------------*/ - - }; -#else - } OS2_Info_S; -#endif -/*OS2_Info_S - end */ - - -/*struct - WinNT_Info_S - start - *=========================================================================== - * - *Description: - * - * This structure defines the system information specific to a - *Windows NT machine. - * - *---------------------------------------------------------------------------*/ - -#ifdef __cplusplus - struct WinNT_Info_S { -#else - typedef struct { -#endif - - uCHAR something; - -#ifdef __cplusplus - -/*---------- Portability Additions ----------- in sp_sinfo.cpp */ -#ifdef DPT_PORTABLE - uSHORT netInsert(dptBuffer_S *buffer); - uSHORT netExtract(dptBuffer_S *buffer); -#endif /* DPT PORTABLE */ -/*--------------------------------------------*/ - - }; -#else - } WinNT_Info_S; -#endif -/*WinNT_Info_S - end */ - - -/*struct - SCO_Info_S - start - *=========================================================================== - * - *Description: - * - * This structure defines the system information specific to an - *SCO UNIX machine. - * - *---------------------------------------------------------------------------*/ - -#ifdef __cplusplus - struct SCO_Info_S { -#else - typedef struct { -#endif - - uCHAR something; - -#ifdef __cplusplus - -/*---------- Portability Additions ----------- in sp_sinfo.cpp */ -#ifdef DPT_PORTABLE - uSHORT netInsert(dptBuffer_S *buffer); - uSHORT netExtract(dptBuffer_S *buffer); -#endif /* DPT PORTABLE */ -/*--------------------------------------------*/ - - }; -#else - } SCO_Info_S; -#endif -/*SCO_Info_S - end */ - - -/*struct - USL_Info_S - start - *=========================================================================== - * - *Description: - * - * This structure defines the system information specific to a - *USL UNIX machine. - * - *---------------------------------------------------------------------------*/ - -#ifdef __cplusplus - struct USL_Info_S { -#else - typedef struct { -#endif - - uCHAR something; - -#ifdef __cplusplus - -/*---------- Portability Additions ----------- in sp_sinfo.cpp */ -#ifdef DPT_PORTABLE - uSHORT netInsert(dptBuffer_S *buffer); - uSHORT netExtract(dptBuffer_S *buffer); -#endif /* DPT PORTABLE */ -/*--------------------------------------------*/ - - }; -#else - } USL_Info_S; -#endif -/*USL_Info_S - end */ - - - /* Restore default structure packing */ -#ifndef NO_UNPACK -#if defined(_DPT_AIX) -#pragma options align=reset -#elif defined(UNPACK_FOUR) -#pragma pack(4) -#else -#pragma pack() -#endif /* aix */ -#endif /* no unpack */ - -#ifdef DPT_MEASURE_PERFORMANCE -typedef struct dpt_metrics { - u_int32_t command_count[256]; /* We assume MAX 256 SCSI commands */ - u_int32_t max_command_time[256]; - u_int32_t min_command_time[256]; - - u_int32_t min_intr_time; - u_int32_t max_intr_time; - u_int32_t max_intr_gap; - u_int32_t max_ht_time; - u_int32_t aborted_interrupts; - u_int32_t spurious_interrupts; - u_int32_t aborted_requests; - u_int32_t retried_requests; - - u_int32_t max_waiting_count; - u_int32_t max_submit_count; - u_int32_t max_complete_count; - - u_int32_t min_waiting_time; - u_int32_t min_submit_time; - u_int32_t min_complete_time; - - u_int32_t max_waiting_time; - u_int32_t max_submit_time; - u_int32_t max_complete_time; - - u_int32_t command_collisions; - u_int32_t command_too_busy; - u_int32_t max_eata_tries; - u_int32_t min_eata_tries; - - u_int32_t read_by_size_count[10]; - u_int32_t write_by_size_count[10]; - u_int32_t read_by_size_min_time[10]; - u_int32_t read_by_size_max_time[10]; - struct timeval read_by_size_total_time[10]; - u_int32_t write_by_size_min_time[10]; - u_int32_t write_by_size_max_time[10]; - struct timeval write_by_size_total_time[10]; - -#define SIZE_512 0 -#define SIZE_1K 1 -#define SIZE_2K 2 -#define SIZE_4K 3 -#define SIZE_8K 4 -#define SIZE_16K 5 -#define SIZE_32K 6 -#define SIZE_64K 7 -#define SIZE_BIGGER 8 -#define SIZE_OTHER 9 - - struct timeval intr_started; -} dpt_perf_t; -#endif - -#endif /* __SYS_INFO_H */ - Property changes on: head/sys/dev/asr/sys_info.h ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: head/sys/i386/conf/GENERIC =================================================================== --- head/sys/i386/conf/GENERIC (revision 276525) +++ head/sys/i386/conf/GENERIC (revision 276526) @@ -1,370 +1,369 @@ # # GENERIC -- Generic kernel configuration file for FreeBSD/i386 # # For more information on this file, please read the config(5) manual page, # and/or the handbook section on Kernel Configuration Files: # # http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html # # The handbook is also available locally in /usr/share/doc/handbook # if you've installed the doc distribution, otherwise always see the # FreeBSD World Wide Web server (http://www.FreeBSD.org/) for the # latest information. # # An exhaustive list of options and more detailed explanations of the # device lines is also present in the ../../conf/NOTES and NOTES files. # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # # $FreeBSD$ cpu I486_CPU cpu I586_CPU cpu I686_CPU ident GENERIC makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols makeoptions WITH_CTF=1 # Run ctfconvert(1) for DTrace support options SCHED_ULE # ULE scheduler options PREEMPTION # Enable kernel thread preemption options INET # InterNETworking options INET6 # IPv6 communications protocols options TCP_OFFLOAD # TCP offload options SCTP # Stream Control Transmission Protocol options FFS # Berkeley Fast Filesystem options SOFTUPDATES # Enable FFS soft updates support options UFS_ACL # Support for access control lists options UFS_DIRHASH # Improve performance on big directories options UFS_GJOURNAL # Enable gjournal-based UFS journaling options QUOTA # Enable disk quotas for UFS options MD_ROOT # MD is a potential root device options NFSCL # New Network Filesystem Client options NFSD # New Network Filesystem Server options NFSLOCKD # Network Lock Manager options NFS_ROOT # NFS usable as /, requires NFSCL options MSDOSFS # MSDOS Filesystem options CD9660 # ISO 9660 Filesystem options PROCFS # Process filesystem (requires PSEUDOFS) options PSEUDOFS # Pseudo-filesystem framework options GEOM_PART_GPT # GUID Partition Tables. options GEOM_RAID # Soft RAID functionality. options GEOM_LABEL # Provides labelization options COMPAT_FREEBSD4 # Compatible with FreeBSD4 options COMPAT_FREEBSD5 # Compatible with FreeBSD5 options COMPAT_FREEBSD6 # Compatible with FreeBSD6 options COMPAT_FREEBSD7 # Compatible with FreeBSD7 options COMPAT_FREEBSD9 # Compatible with FreeBSD9 options COMPAT_FREEBSD10 # Compatible with FreeBSD10 options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI options KTRACE # ktrace(1) support options STACK # stack(9) support options SYSVSHM # SYSV-style shared memory options SYSVMSG # SYSV-style message queues options SYSVSEM # SYSV-style semaphores options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions options PRINTF_BUFR_SIZE=128 # Prevent printf output being interspersed. options KBD_INSTALL_CDEV # install a CDEV entry in /dev options HWPMC_HOOKS # Necessary kernel hooks for hwpmc(4) options AUDIT # Security event auditing options CAPABILITY_MODE # Capsicum capability mode options CAPABILITIES # Capsicum capabilities options MAC # TrustedBSD MAC Framework options KDTRACE_HOOKS # Kernel DTrace hooks options DDB_CTF # Kernel ELF linker loads CTF data options INCLUDE_CONFIG_FILE # Include this file in kernel # Debugging support. Always need this: options KDB # Enable kernel debugger support. options KDB_TRACE # Print a stack trace for a panic. # For full debugger support use (turn off in stable branch): options DDB # Support DDB. options GDB # Support remote GDB. options DEADLKRES # Enable the deadlock resolver options INVARIANTS # Enable calls of extra sanity checking options INVARIANT_SUPPORT # Extra sanity checks of internal structures, required by INVARIANTS options WITNESS # Enable checks to detect deadlocks and cycles options WITNESS_SKIPSPIN # Don't run witness on spinlocks for speed options MALLOC_DEBUG_MAXZONES=8 # Separate malloc(9) zones # To make an SMP kernel, the next two lines are needed options SMP # Symmetric MultiProcessor Kernel device apic # I/O APIC # CPU frequency control device cpufreq # Bus support. device acpi device pci # Floppy drives device fdc # ATA controllers device ahci # AHCI-compatible SATA controllers device ata # Legacy ATA/SATA controllers options ATA_STATIC_ID # Static device numbering device mvs # Marvell 88SX50XX/88SX60XX/88SX70XX/SoC SATA device siis # SiliconImage SiI3124/SiI3132/SiI3531 SATA # SCSI Controllers device ahc # AHA2940 and onboard AIC7xxx devices options AHC_REG_PRETTY_PRINT # Print register bitfields in debug # output. Adds ~128k to driver. device ahd # AHA39320/29320 and onboard AIC79xx devices options AHD_REG_PRETTY_PRINT # Print register bitfields in debug # output. Adds ~215k to driver. device esp # AMD Am53C974 (Tekram DC-390(T)) device hptiop # Highpoint RocketRaid 3xxx series device isp # Qlogic family #device ispfw # Firmware for QLogic HBAs- normally a module device mpt # LSI-Logic MPT-Fusion device mps # LSI-Logic MPT-Fusion 2 device mpr # LSI-Logic MPT-Fusion 3 #device ncr # NCR/Symbios Logic device sym # NCR/Symbios Logic (newer chipsets + those of `ncr') device trm # Tekram DC395U/UW/F DC315U adapters device adv # Advansys SCSI adapters device adw # Advansys wide SCSI adapters device aha # Adaptec 154x SCSI adapters device aic # Adaptec 15[012]x SCSI adapters, AIC-6[23]60. device bt # Buslogic/Mylex MultiMaster SCSI adapters device ncv # NCR 53C500 device nsp # Workbit Ninja SCSI-3 device stg # TMC 18C30/18C50 device isci # Intel C600 SAS controller # ATA/SCSI peripherals device scbus # SCSI bus (required for ATA/SCSI) device ch # SCSI media changers device da # Direct Access (disks) device sa # Sequential Access (tape etc) device cd # CD device pass # Passthrough device (direct ATA/SCSI access) device ses # Enclosure Services (SES and SAF-TE) #device ctl # CAM Target Layer # RAID controllers interfaced to the SCSI subsystem device amr # AMI MegaRAID device arcmsr # Areca SATA II RAID -device asr # DPT SmartRAID V, VI and Adaptec SCSI RAID device ciss # Compaq Smart RAID 5* device dpt # DPT Smartcache III, IV - See NOTES for options device hptmv # Highpoint RocketRAID 182x device hptnr # Highpoint DC7280, R750 device hptrr # Highpoint RocketRAID 17xx, 22xx, 23xx, 25xx device hpt27xx # Highpoint RocketRAID 27xx device iir # Intel Integrated RAID device ips # IBM (Adaptec) ServeRAID device mly # Mylex AcceleRAID/eXtremeRAID device twa # 3ware 9000 series PATA/SATA RAID device tws # LSI 3ware 9750 SATA+SAS 6Gb/s RAID controller # RAID controllers device aac # Adaptec FSA RAID device aacp # SCSI passthrough for aac (requires CAM) device aacraid # Adaptec by PMC RAID device ida # Compaq Smart RAID device mfi # LSI MegaRAID SAS device mlx # Mylex DAC960 family device mrsas # LSI/Avago MegaRAID SAS/SATA, 6Gb/s and 12Gb/s device pst # Promise Supertrak SX6000 device twe # 3ware ATA RAID # atkbdc0 controls both the keyboard and the PS/2 mouse device atkbdc # AT keyboard controller device atkbd # AT keyboard device psm # PS/2 mouse device kbdmux # keyboard multiplexer device vga # VGA video card driver options VESA # Add support for VESA BIOS Extensions (VBE) device splash # Splash screen and screen saver support # syscons is the default console driver, resembling an SCO console device sc options SC_PIXEL_MODE # add support for the raster text mode # vt is the new video console driver device vt device vt_vga device agp # support several AGP chipsets # Power management support (see NOTES for more options) #device apm # Add suspend/resume support for the i8254. device pmtimer # PCCARD (PCMCIA) support # PCMCIA and cardbus bridge support device cbb # cardbus (yenta) bridge device pccard # PC Card (16-bit) bus device cardbus # CardBus (32-bit) bus # Serial (COM) ports device uart # Generic UART driver # Parallel port device ppc device ppbus # Parallel port bus (required) device lpt # Printer device ppi # Parallel port interface device #device vpo # Requires scbus and da device puc # Multi I/O cards and multi-channel UARTs # PCI Ethernet NICs. device bxe # Broadcom NetXtreme II BCM5771X/BCM578XX 10GbE device de # DEC/Intel DC21x4x (``Tulip'') device em # Intel PRO/1000 Gigabit Ethernet Family device igb # Intel PRO/1000 PCIE Server Gigabit Family device ixgb # Intel PRO/10GbE Ethernet Card device le # AMD Am7900 LANCE and Am79C9xx PCnet device ti # Alteon Networks Tigon I/II gigabit Ethernet device txp # 3Com 3cR990 (``Typhoon'') device vx # 3Com 3c590, 3c595 (``Vortex'') # PCI Ethernet NICs that use the common MII bus controller code. # NOTE: Be sure to keep the 'device miibus' line in order to use these NICs! device miibus # MII bus support device ae # Attansic/Atheros L2 FastEthernet device age # Attansic/Atheros L1 Gigabit Ethernet device alc # Atheros AR8131/AR8132 Ethernet device ale # Atheros AR8121/AR8113/AR8114 Ethernet device bce # Broadcom BCM5706/BCM5708 Gigabit Ethernet device bfe # Broadcom BCM440x 10/100 Ethernet device bge # Broadcom BCM570xx Gigabit Ethernet device cas # Sun Cassini/Cassini+ and NS DP83065 Saturn device dc # DEC/Intel 21143 and various workalikes device et # Agere ET1310 10/100/Gigabit Ethernet device fxp # Intel EtherExpress PRO/100B (82557, 82558) device gem # Sun GEM/Sun ERI/Apple GMAC device hme # Sun HME (Happy Meal Ethernet) device jme # JMicron JMC250 Gigabit/JMC260 Fast Ethernet device lge # Level 1 LXT1001 gigabit Ethernet device msk # Marvell/SysKonnect Yukon II Gigabit Ethernet device nfe # nVidia nForce MCP on-board Ethernet device nge # NatSemi DP83820 gigabit Ethernet device pcn # AMD Am79C97x PCI 10/100 (precedence over 'le') device re # RealTek 8139C+/8169/8169S/8110S device rl # RealTek 8129/8139 device sf # Adaptec AIC-6915 (``Starfire'') device sge # Silicon Integrated Systems SiS190/191 device sis # Silicon Integrated Systems SiS 900/SiS 7016 device sk # SysKonnect SK-984x & SK-982x gigabit Ethernet device ste # Sundance ST201 (D-Link DFE-550TX) device stge # Sundance/Tamarack TC9021 gigabit Ethernet device tl # Texas Instruments ThunderLAN device tx # SMC EtherPower II (83c170 ``EPIC'') device vge # VIA VT612x gigabit Ethernet device vr # VIA Rhine, Rhine II device vte # DM&P Vortex86 RDC R6040 Fast Ethernet device wb # Winbond W89C840F device xl # 3Com 3c90x (``Boomerang'', ``Cyclone'') # ISA Ethernet NICs. pccard NICs included. device cs # Crystal Semiconductor CS89x0 NIC # 'device ed' requires 'device miibus' device ed # NE[12]000, SMC Ultra, 3c503, DS8390 cards device ex # Intel EtherExpress Pro/10 and Pro/10+ device ep # Etherlink III based cards device fe # Fujitsu MB8696x based cards device ie # EtherExpress 8/16, 3C507, StarLAN 10 etc. device sn # SMC's 9000 series of Ethernet chips device xe # Xircom pccard Ethernet # Wireless NIC cards device wlan # 802.11 support options IEEE80211_DEBUG # enable debug msgs options IEEE80211_AMPDU_AGE # age frames in AMPDU reorder q's options IEEE80211_SUPPORT_MESH # enable 802.11s draft support device wlan_wep # 802.11 WEP support device wlan_ccmp # 802.11 CCMP support device wlan_tkip # 802.11 TKIP support device wlan_amrr # AMRR transmit rate control algorithm device an # Aironet 4500/4800 802.11 wireless NICs. device ath # Atheros NICs device ath_pci # Atheros pci/cardbus glue device ath_hal # pci/cardbus chip support options AH_SUPPORT_AR5416 # enable AR5416 tx/rx descriptors options AH_AR5416_INTERRUPT_MITIGATION # AR5416 interrupt mitigation options ATH_ENABLE_11N # Enable 802.11n support for AR5416 and later device ath_rate_sample # SampleRate tx rate control for ath #device bwi # Broadcom BCM430x/BCM431x wireless NICs. #device bwn # Broadcom BCM43xx wireless NICs. device ipw # Intel 2100 wireless NICs. device iwi # Intel 2200BG/2225BG/2915ABG wireless NICs. device iwn # Intel 4965/1000/5000/6000 wireless NICs. device malo # Marvell Libertas wireless NICs. device mwl # Marvell 88W8363 802.11n wireless NICs. device ral # Ralink Technology RT2500 wireless NICs. device wi # WaveLAN/Intersil/Symbol 802.11 wireless NICs. #device wl # Older non 802.11 Wavelan wireless NIC. device wpi # Intel 3945ABG wireless NICs. # Pseudo devices. device loop # Network loopback device random # Entropy device device padlock_rng # VIA Padlock RNG device rdrand_rng # Intel Bull Mountain RNG device ether # Ethernet support device vlan # 802.1Q VLAN support device tun # Packet tunnel. device md # Memory "disks" device gif # IPv6 and IPv4 tunneling device firmware # firmware assist module # The `bpf' device enables the Berkeley Packet Filter. # Be aware of the administrative consequences of enabling this! # Note that 'bpf' is required for DHCP. device bpf # Berkeley packet filter # USB support options USB_DEBUG # enable debug msgs device uhci # UHCI PCI->USB interface device ohci # OHCI PCI->USB interface device ehci # EHCI PCI->USB interface (USB 2.0) device xhci # XHCI PCI->USB interface (USB 3.0) device usb # USB Bus (required) device ukbd # Keyboard device umass # Disks/Mass storage - Requires scbus and da # Sound support device sound # Generic sound driver (required) device snd_cmi # CMedia CMI8338/CMI8738 device snd_csa # Crystal Semiconductor CS461x/428x device snd_emu10kx # Creative SoundBlaster Live! and Audigy device snd_es137x # Ensoniq AudioPCI ES137x device snd_hda # Intel High Definition Audio device snd_ich # Intel, NVidia and other ICH AC'97 Audio device snd_via8233 # VIA VT8233x Audio # MMC/SD device mmc # MMC/SD bus device mmcsd # MMC/SD memory card device sdhci # Generic PCI SD Host Controller # VirtIO support device virtio # Generic VirtIO bus (required) device virtio_pci # VirtIO PCI device device vtnet # VirtIO Ethernet device device virtio_blk # VirtIO Block device device virtio_scsi # VirtIO SCSI device device virtio_balloon # VirtIO Memory Balloon device # HyperV drivers device hyperv # HyperV drivers # Xen HVM Guest Optimizations # NOTE: XENHVM depends on xenpci. They must be added or removed together. options XENHVM # Xen HVM kernel infrastructure device xenpci # Xen HVM Hypervisor services driver # VMware support device vmx # VMware VMXNET3 Ethernet Index: head/sys/i386/conf/NOTES =================================================================== --- head/sys/i386/conf/NOTES (revision 276525) +++ head/sys/i386/conf/NOTES (revision 276526) @@ -1,1075 +1,1066 @@ # # NOTES -- Lines that can be cut/pasted into kernel and hints configs. # # This file contains machine dependent kernel configuration notes. For # machine independent notes, look in /sys/conf/NOTES. # # $FreeBSD$ # # # We want LINT to cover profiling as well. profile 2 # # Enable the kernel DTrace hooks which are required to load the DTrace # kernel modules. # options KDTRACE_HOOKS ##################################################################### # SMP OPTIONS: # # The apic device enables the use of the I/O APIC for interrupt delivery. # The apic device can be used in both UP and SMP kernels, but is required # for SMP kernels. Thus, the apic device is not strictly an SMP option, # but it is a prerequisite for SMP. # # Notes: # # HTT CPUs should only be used if they are enabled in the BIOS. For # the ACPI case, ACPI only correctly tells us about any HTT CPUs if # they are enabled. However, most HTT systems do not list HTT CPUs # in the MP Table if they are enabled, thus we guess at the HTT CPUs # for the MP Table case. However, we shouldn't try to guess and use # these CPUs if HTT is disabled. Thus, HTT guessing is only enabled # for the MP Table if the user explicitly asks for it via the # MPTABLE_FORCE_HTT option. Do NOT use this option if you have HTT # disabled in your BIOS. # # IPI_PREEMPTION instructs the kernel to preempt threads running on other # CPUS if needed. Relies on the PREEMPTION option # Mandatory: device apic # I/O apic # Optional: options MPTABLE_FORCE_HTT # Enable HTT CPUs with the MP Table options IPI_PREEMPTION # # Watchdog routines. # options MP_WATCHDOG # Debugging options. # options COUNT_XINVLTLB_HITS # Counters for TLB events options COUNT_IPIS # Per-CPU IPI interrupt counters ##################################################################### # CPU OPTIONS # # You must specify at least one CPU (the one you intend to run on); # deleting the specification for CPUs you don't need to use may make # parts of the system run faster. # cpu I486_CPU cpu I586_CPU # aka Pentium(tm) cpu I686_CPU # aka Pentium Pro(tm) # # Options for CPU features. # # CPU_ATHLON_SSE_HACK tries to enable SSE instructions when the BIOS has # forgotten to enable them. # # CPU_BLUELIGHTNING_3X enables triple-clock mode on IBM Blue Lightning # CPU if CPU supports it. The default is double-clock mode on # BlueLightning CPU box. # # CPU_BLUELIGHTNING_FPU_OP_CACHE enables FPU operand cache on IBM # BlueLightning CPU. It works only with Cyrix FPU, and this option # should not be used with Intel FPU. # # CPU_BTB_EN enables branch target buffer on Cyrix 5x86 (NOTE 1). # # CPU_CYRIX_NO_LOCK enables weak locking for the entire address space # of Cyrix 6x86 and 6x86MX CPUs by setting the NO_LOCK bit of CCR1. # Otherwise, the NO_LOCK bit of CCR1 is cleared. (NOTE 3) # # CPU_DIRECT_MAPPED_CACHE sets L1 cache of Cyrix 486DLC CPU in direct # mapped mode. Default is 2-way set associative mode. # # CPU_DISABLE_5X86_LSSER disables load store serialize (i.e., enables # reorder). This option should not be used if you use memory mapped # I/O device(s). # # CPU_DISABLE_CMPXCHG disables the CMPXCHG instruction on > i386 IA32 # machines. VmWare 3.x seems to emulate this instruction poorly, causing # the guest OS to run very slowly. This problem appears to be fixed in # VmWare 4.x, at least in version 4.5.2, so that enabling this option with # VmWare 4.x will result in locking operations to be 20-30 times slower. # Enabling this with an SMP kernel will cause the kernel to be unusable. # # CPU_DISABLE_SSE explicitly prevents I686_CPU from turning on SSE. # # CPU_ELAN enables support for AMDs ElanSC520 CPU. # CPU_ELAN_PPS enables precision timestamp code. # CPU_ELAN_XTAL sets the clock crystal frequency in Hz. # # CPU_ENABLE_LONGRUN enables support for Transmeta Crusoe LongRun # technology which allows to restrict power consumption of the CPU by # using group of hw.crusoe.* sysctls. # # CPU_FASTER_5X86_FPU enables faster FPU exception handler. # # CPU_GEODE is for the SC1100 Geode embedded processor. This option # is necessary because the i8254 timecounter is toast. # # CPU_I486_ON_386 enables CPU cache on i486 based CPU upgrade products # for i386 machines. # # CPU_IORT defines I/O clock delay time (NOTE 1). Default values of # I/O clock delay time on Cyrix 5x86 and 6x86 are 0 and 7,respectively # (no clock delay). # # CPU_L2_LATENCY specifies the L2 cache latency value. This option is used # only when CPU_PPRO2CELERON is defined and Mendocino Celeron is detected. # The default value is 5. # # CPU_LOOP_EN prevents flushing the prefetch buffer if the destination # of a jump is already present in the prefetch buffer on Cyrix 5x86(NOTE # 1). # # CPU_PPRO2CELERON enables L2 cache of Mendocino Celeron CPUs. This option # is useful when you use Socket 8 to Socket 370 converter, because most Pentium # Pro BIOSs do not enable L2 cache of Mendocino Celeron CPUs. # # CPU_RSTK_EN enables return stack on Cyrix 5x86 (NOTE 1). # # CPU_SOEKRIS enables support www.soekris.com hardware. # # CPU_SUSP_HLT enables suspend on HALT. If this option is set, CPU # enters suspend mode following execution of HALT instruction. # # CPU_UPGRADE_HW_CACHE eliminates unneeded cache flush instruction(s). # # CPU_WT_ALLOC enables write allocation on Cyrix 6x86/6x86MX and AMD # K5/K6/K6-2 CPUs. # # CYRIX_CACHE_WORKS enables CPU cache on Cyrix 486 CPUs with cache # flush at hold state. # # CYRIX_CACHE_REALLY_WORKS enables (1) CPU cache on Cyrix 486 CPUs # without cache flush at hold state, and (2) write-back CPU cache on # Cyrix 6x86 whose revision < 2.7 (NOTE 2). # # NO_F00F_HACK disables the hack that prevents Pentiums (and ONLY # Pentiums) from locking up when a LOCK CMPXCHG8B instruction is # executed. This option is only needed if I586_CPU is also defined, # and should be included for any non-Pentium CPU that defines it. # # NO_MEMORY_HOLE is an optimisation for systems with AMD K6 processors # which indicates that the 15-16MB range is *definitely* not being # occupied by an ISA memory hole. # # NOTE 1: The options, CPU_BTB_EN, CPU_LOOP_EN, CPU_IORT, # CPU_LOOP_EN and CPU_RSTK_EN should not be used because of CPU bugs. # These options may crash your system. # # NOTE 2: If CYRIX_CACHE_REALLY_WORKS is not set, CPU cache is enabled # in write-through mode when revision < 2.7. If revision of Cyrix # 6x86 >= 2.7, CPU cache is always enabled in write-back mode. # # NOTE 3: This option may cause failures for software that requires # locked cycles in order to operate correctly. # options CPU_ATHLON_SSE_HACK options CPU_BLUELIGHTNING_3X options CPU_BLUELIGHTNING_FPU_OP_CACHE options CPU_BTB_EN options CPU_DIRECT_MAPPED_CACHE options CPU_DISABLE_5X86_LSSER options CPU_DISABLE_CMPXCHG #options CPU_DISABLE_SSE options CPU_ELAN options CPU_ELAN_PPS options CPU_ELAN_XTAL=32768000 options CPU_ENABLE_LONGRUN options CPU_FASTER_5X86_FPU options CPU_GEODE options CPU_I486_ON_386 options CPU_IORT options CPU_L2_LATENCY=5 options CPU_LOOP_EN options CPU_PPRO2CELERON options CPU_RSTK_EN options CPU_SOEKRIS options CPU_SUSP_HLT options CPU_UPGRADE_HW_CACHE options CPU_WT_ALLOC options CYRIX_CACHE_WORKS options CYRIX_CACHE_REALLY_WORKS #options NO_F00F_HACK # Debug options options NPX_DEBUG # enable npx debugging # # PERFMON causes the driver for Pentium/Pentium Pro performance counters # to be compiled. See perfmon(4) for more information. # options PERFMON # # XBOX causes the kernel to be bootable on the Microsoft XBox console system. # The resulting kernel will auto-detect whether it is being booted on a XBox, # so kernels compiled with this option will also work on an ordinary PC. # This option require I686_CPU. # # xboxfb includes support for the XBox frame buffer device. It is fully USB- # keyboard aware, and will only be used if an xbox is detected. This option # (obviously) requires XBOX support in your kernel. # # NOTE: xboxfb currently conflicts with syscons(4); if you have an XBOX and # include both in your kernel; you will not get any video output. Ordinary # PC's do not suffer from this. # options XBOX device xboxfb ##################################################################### # NETWORKING OPTIONS # # DEVICE_POLLING adds support for mixed interrupt-polling handling # of network device drivers, which has significant benefits in terms # of robustness to overloads and responsivity, as well as permitting # accurate scheduling of the CPU time between kernel network processing # and other activities. The drawback is a moderate (up to 1/HZ seconds) # potential increase in response times. # It is strongly recommended to use HZ=1000 or 2000 with DEVICE_POLLING # to achieve smoother behaviour. # Additionally, you can enable/disable polling at runtime with help of # the ifconfig(8) utility, and select the CPU fraction reserved to # userland with the sysctl variable kern.polling.user_frac # (default 50, range 0..100). # # Not all device drivers support this mode of operation at the time of # this writing. See polling(4) for more details. options DEVICE_POLLING # BPF_JITTER adds support for BPF just-in-time compiler. options BPF_JITTER # OpenFabrics Enterprise Distribution (Infiniband). options OFED options OFED_DEBUG_INIT # Sockets Direct Protocol options SDP options SDP_DEBUG # IP over Infiniband options IPOIB options IPOIB_DEBUG options IPOIB_CM ##################################################################### # CLOCK OPTIONS # Provide read/write access to the memory in the clock chip. device nvram # Access to rtc cmos via /dev/nvram ##################################################################### # MISCELLANEOUS DEVICES AND OPTIONS device speaker #Play IBM BASIC-style noises out your speaker hint.speaker.0.at="isa" hint.speaker.0.port="0x61" device gzip #Exec gzipped a.out's. REQUIRES COMPAT_AOUT! device apm_saver # Requires APM ##################################################################### # HARDWARE BUS CONFIGURATION # # ISA bus # device isa # Required by npx(4) # # Options for `isa': # # AUTO_EOI_1 enables the `automatic EOI' feature for the master 8259A # interrupt controller. This saves about 0.7-1.25 usec for each interrupt. # This option breaks suspend/resume on some portables. # # AUTO_EOI_2 enables the `automatic EOI' feature for the slave 8259A # interrupt controller. This saves about 0.7-1.25 usec for each interrupt. # Automatic EOI is documented not to work for for the slave with the # original i8259A, but it works for some clones and some integrated # versions. # # MAXMEM specifies the amount of RAM on the machine; if this is not # specified, FreeBSD will first read the amount of memory from the CMOS # RAM, so the amount of memory will initially be limited to 64MB or 16MB # depending on the BIOS. If the BIOS reports 64MB, a memory probe will # then attempt to detect the installed amount of RAM. If this probe # fails to detect >64MB RAM you will have to use the MAXMEM option. # The amount is in kilobytes, so for a machine with 128MB of RAM, it would # be 131072 (128 * 1024). # # BROKEN_KEYBOARD_RESET disables the use of the keyboard controller to # reset the CPU for reboot. This is needed on some systems with broken # keyboard controllers. options AUTO_EOI_1 #options AUTO_EOI_2 options MAXMEM=(128*1024) #options BROKEN_KEYBOARD_RESET # # EISA bus # # The EISA bus device is `eisa'. It provides auto-detection and # configuration support for all devices on the EISA bus. device eisa # By default, only 10 EISA slots are probed, since the slot numbers # above clash with the configuration address space of the PCI subsystem, # and the EISA probe is not very smart about this. This is sufficient # for most machines, but in particular the HP NetServer LC series comes # with an onboard AIC7770 dual-channel SCSI controller on EISA slot #11, # thus you need to bump this figure to 12 for them. options EISA_SLOTS=12 # # MCA bus: # # The MCA bus device is `mca'. It provides auto-detection and # configuration support for all devices on the MCA bus. # No hints are required for MCA. device mca # # PCI bus & PCI options: # device pci # # AGP GART support device agp # AGP debugging. options AGP_DEBUG ##################################################################### # HARDWARE DEVICE CONFIGURATION # To include support for VGA VESA video modes options VESA # Turn on extra debugging checks and output for VESA support. options VESA_DEBUG device dpms # DPMS suspend & resume via VESA BIOS # x86 real mode BIOS emulator, required by atkbdc/dpms/vesa options X86BIOS # # The Numeric Processing eXtension driver. This is non-optional. device npx hint.npx.0.flags="0x0" hint.npx.0.irq="13" # # `flags' for npx0: # 0x01 don't use the npx registers to optimize bcopy. # 0x02 don't use the npx registers to optimize bzero. # 0x04 don't use the npx registers to optimize copyin or copyout. # The npx registers are normally used to optimize copying and zeroing when # all of the following conditions are satisfied: # I586_CPU is an option # the cpu is an i586 (perhaps not a Pentium) # the probe for npx0 succeeds # INT 16 exception handling works. # Then copying and zeroing using the npx registers is normally 30-100% faster. # The flags can be used to control cases where it doesn't work or is slower. # Setting them at boot time using hints works right (the optimizations # are not used until later in the bootstrap when npx0 is attached). # Flag 0x08 automatically disables the i586 optimized routines. # # # Optional devices: # # PS/2 mouse device psm hint.psm.0.at="atkbdc" hint.psm.0.irq="12" # Options for psm: options PSM_HOOKRESUME #hook the system resume event, useful #for some laptops options PSM_RESETAFTERSUSPEND #reset the device at the resume event # The keyboard controller; it controls the keyboard and the PS/2 mouse. device atkbdc hint.atkbdc.0.at="isa" hint.atkbdc.0.port="0x060" # The AT keyboard device atkbd hint.atkbd.0.at="atkbdc" hint.atkbd.0.irq="1" # Options for atkbd: options ATKBD_DFLT_KEYMAP # specify the built-in keymap makeoptions ATKBD_DFLT_KEYMAP=jp.106 # `flags' for atkbd: # 0x01 Force detection of keyboard, else we always assume a keyboard # 0x02 Don't reset keyboard, useful for some newer ThinkPads # 0x03 Force detection and avoid reset, might help with certain # dockingstations # 0x04 Old-style (XT) keyboard support, useful for older ThinkPads # Video card driver for VGA adapters. device vga hint.vga.0.at="isa" # Options for vga: # Try the following option if the mouse pointer is not drawn correctly # or font does not seem to be loaded properly. May cause flicker on # some systems. options VGA_ALT_SEQACCESS # If you can dispense with some vga driver features, you may want to # use the following options to save some memory. #options VGA_NO_FONT_LOADING # don't save/load font #options VGA_NO_MODE_CHANGE # don't change video modes # Older video cards may require this option for proper operation. options VGA_SLOW_IOACCESS # do byte-wide i/o's to TS and GDC regs # The following option probably won't work with the LCD displays. options VGA_WIDTH90 # support 90 column modes # Debugging. options VGA_DEBUG # vt(4) drivers. device vt_vga # Linear framebuffer driver for S3 VESA 1.2 cards. Works on top of VESA. device s3pci # 3Dfx Voodoo Graphics, Voodoo II /dev/3dfx CDEV support. This will create # the /dev/3dfx0 device to work with glide implementations. This should get # linked to /dev/3dfx and /dev/voodoo. Note that this is not the same as # the tdfx DRI module from XFree86 and is completely unrelated. # # To enable Linuxulator support, one must also include COMPAT_LINUX in the # config as well. The other option is to load both as modules. device tdfx # Enable 3Dfx Voodoo support device tdfx_linux # Enable Linuxulator support # # ACPI support using the Intel ACPI Component Architecture reference # implementation. # # ACPI_DEBUG enables the use of the debug.acpi.level and debug.acpi.layer # kernel environment variables to select initial debugging levels for the # Intel ACPICA code. (Note that the Intel code must also have USE_DEBUGGER # defined when it is built). device acpi options ACPI_DEBUG options ACPI_DMAR # ACPI WMI Mapping driver device acpi_wmi # ACPI Asus Extras (LCD backlight/brightness, video output, etc.) device acpi_asus # ACPI Fujitsu Extras (Buttons) device acpi_fujitsu # ACPI extras driver for HP laptops device acpi_hp # ACPI extras driver for IBM laptops device acpi_ibm # ACPI Panasonic Extras (LCD backlight/brightness, video output, etc.) device acpi_panasonic # ACPI Sony extra (LCD brightness) device acpi_sony # ACPI Toshiba Extras (LCD backlight/brightness, video output, etc.) device acpi_toshiba # ACPI Video Extensions (LCD backlight/brightness, video output, etc.) device acpi_video # ACPI Docking Station device acpi_dock # ACPI ASOC ATK0110 ASUSTeK AI Booster (voltage, temperature and fan sensors) device aibs # The cpufreq(4) driver provides support for non-ACPI CPU frequency control device cpufreq # Direct Rendering modules for 3D acceleration. device drm # DRM core module required by DRM drivers device i915drm # Intel i830 through i915 device mach64drm # ATI Rage Pro, Rage Mobility P/M, Rage XL device mgadrm # AGP Matrox G200, G400, G450, G550 device r128drm # ATI Rage 128 device radeondrm # ATI Radeon device savagedrm # S3 Savage3D, Savage4 device sisdrm # SiS 300/305, 540, 630 device tdfxdrm # 3dfx Voodoo 3/4/5 and Banshee device viadrm # VIA options DRM_DEBUG # Include debug printfs (slow) # # mse: Logitech and ATI InPort bus mouse ports device mse hint.mse.0.at="isa" hint.mse.0.port="0x23c" hint.mse.0.irq="5" # # Network interfaces: # # bxe: Broadcom NetXtreme II (BCM5771X/BCM578XX) PCIe 10Gb Ethernet # adapters. # ce: Cronyx Tau-PCI/32 sync single/dual port G.703/E1 serial adaptor # with 32 HDLC subchannels (requires sppp (default), or NETGRAPH if # NETGRAPH_CRONYX is configured) # cp: Cronyx Tau-PCI sync single/dual/four port # V.35/RS-232/RS-530/RS-449/X.21/G.703/E1/E3/T3/STS-1 # serial adaptor (requires sppp (default), or NETGRAPH if # NETGRAPH_CRONYX is configured) # cs: IBM Etherjet and other Crystal Semi CS89x0-based adapters # ctau: Cronyx Tau sync dual port V.35/RS-232/RS-530/RS-449/X.21/G.703/E1 # serial adaptor (requires sppp (default), or NETGRAPH if # NETGRAPH_CRONYX is configured) # ed: Western Digital and SMC 80xx; Novell NE1000 and NE2000; 3Com 3C503 # HP PC Lan+, various PC Card devices # (requires miibus) # ie: AT&T StarLAN 10 and EN100; 3Com 3C507; unknown NI5210; # Intel EtherExpress # ipw: Intel PRO/Wireless 2100 IEEE 802.11 adapter # iwi: Intel PRO/Wireless 2200BG/2225BG/2915ABG IEEE 802.11 adapters # Requires the iwi firmware module # iwn: Intel Wireless WiFi Link 1000/105/135/2000/4965/5000/6000/6050 abgn # 802.11 network adapters # Requires the iwn firmware module # mlx4ib: Mellanox ConnectX HCA InfiniBand # mlxen: Mellanox ConnectX HCA Ethernet # mthca: Mellanox HCA InfiniBand # nfe: nVidia nForce MCP on-board Ethernet Networking (BSD open source) # sbni: Granch SBNI12-xx ISA and PCI adapters # vmx: VMware VMXNET3 Ethernet (BSD open source) # wl: Lucent Wavelan (ISA card only). # wpi: Intel 3945ABG Wireless LAN controller # Requires the wpi firmware module # Order for ISA/EISA devices is important here device bxe # Broadcom NetXtreme II BCM5771X/BCM578XX 10GbE device ce device cp device cs # Crystal Semiconductor CS89x0 NIC hint.cs.0.at="isa" hint.cs.0.port="0x300" device ctau hint.ctau.0.at="isa" hint.ctau.0.port="0x240" hint.ctau.0.irq="15" hint.ctau.0.drq="7" #options NETGRAPH_CRONYX # Enable NETGRAPH support for Cronyx adapter(s) device ed # NE[12]000, SMC Ultra, 3c503, DS8390 cards options ED_3C503 options ED_HPP options ED_SIC hint.ed.0.at="isa" hint.ed.0.port="0x280" hint.ed.0.irq="5" hint.ed.0.maddr="0xd8000" device ie # EtherExpress 8/16, 3C507, StarLAN 10 etc. # Hints only required for Starlan hint.ie.2.at="isa" hint.ie.2.port="0x300" hint.ie.2.irq="5" hint.ie.2.maddr="0xd0000" device ipw # Intel 2100 wireless NICs. device iwi # Intel 2200BG/2225BG/2915ABG wireless NICs. device iwn # Intel 4965/1000/5000/6000 wireless NICs. # Hint for the i386-only ISA front-end of le(4). hint.le.0.at="isa" hint.le.0.port="0x280" hint.le.0.irq="10" hint.le.0.drq="0" device mlx4ib # Mellanox ConnectX HCA InfiniBand device mlxen # Mellanox ConnectX HCA Ethernet device mthca # Mellanox HCA InfiniBand device nfe # nVidia nForce MCP on-board Ethernet device sbni hint.sbni.0.at="isa" hint.sbni.0.port="0x210" hint.sbni.0.irq="0xefdead" hint.sbni.0.flags="0" device vmx # VMware VMXNET3 Ethernet device wl hint.wl.0.at="isa" hint.wl.0.port="0x300" options WLCACHE # enables the signal-strength cache options WLDEBUG # enables verbose debugging output device wpi # Intel 3945ABG wireless NICs. # IEEE 802.11 adapter firmware modules # Intel PRO/Wireless 2100 firmware: # ipwfw: BSS/IBSS/monitor mode firmware # ipwbssfw: BSS mode firmware # ipwibssfw: IBSS mode firmware # ipwmonitorfw: Monitor mode firmware # Intel PRO/Wireless 2200BG/2225BG/2915ABG firmware: # iwifw: BSS/IBSS/monitor mode firmware # iwibssfw: BSS mode firmware # iwiibssfw: IBSS mode firmware # iwimonitorfw: Monitor mode firmware # Intel Wireless WiFi Link 4965/1000/5000/6000 series firmware: # iwnfw: Single module to support all devices # iwn1000fw: Specific module for the 1000 only # iwn105fw: Specific module for the 105 only # iwn135fw: Specific module for the 135 only # iwn2000fw: Specific module for the 2000 only # iwn2030fw: Specific module for the 2030 only # iwn4965fw: Specific module for the 4965 only # iwn5000fw: Specific module for the 5000 only # iwn5150fw: Specific module for the 5150 only # iwn6000fw: Specific module for the 6000 only # iwn6000g2afw: Specific module for the 6000g2a only # iwn6000g2bfw: Specific module for the 6000g2b only # iwn6050fw: Specific module for the 6050 only # wpifw: Intel 3945ABG Wireless LAN Controller firmware device iwifw device iwibssfw device iwiibssfw device iwimonitorfw device ipwfw device ipwbssfw device ipwibssfw device ipwmonitorfw device iwnfw device iwn1000fw device iwn105fw device iwn135fw device iwn2000fw device iwn2030fw device iwn4965fw device iwn5000fw device iwn5150fw device iwn6000fw device iwn6000g2afw device iwn6000g2bfw device iwn6050fw device wpifw # # ATA raid adapters # device pst # # Areca 11xx and 12xx series of SATA II RAID controllers. # CAM is required. # device arcmsr # Areca SATA II RAID # # 3ware 9000 series PATA/SATA RAID controller driver and options. # The driver is implemented as a SIM, and so, needs the CAM infrastructure. # options TWA_DEBUG # 0-10; 10 prints the most messages. options TWA_FLASH_FIRMWARE # firmware image bundled when defined. device twa # 3ware 9000 series PATA/SATA RAID # # SCSI host adapters: # # ncv: NCR 53C500 based SCSI host adapters. # nsp: Workbit Ninja SCSI-3 based PC Card SCSI host adapters. # stg: TMC 18C30, 18C50 based SCSI host adapters. device ncv device nsp device stg hint.stg.0.at="isa" hint.stg.0.port="0x140" hint.stg.0.port="11" # # Adaptec FSA RAID controllers, including integrated DELL controllers, # the Dell PERC 2/QC and the HP NetRAID-4M device aac device aacp # SCSI Passthrough interface (optional, CAM required) # # Adaptec by PMC RAID controllers, Series 6/7/8 and upcoming families device aacraid # Container interface, CAM required -# The 'asr' driver provides support for current DPT/Adaptec SCSI RAID -# controllers (SmartRAID V and VI and later). -# These controllers require the CAM infrastructure. # -device asr - -# # Highpoint RocketRAID 27xx. device hpt27xx # # Highpoint RocketRAID 182x. device hptmv # # Highpoint DC7280 and R750. device hptnr # # Highpoint RocketRAID. Supports RR172x, RR222x, RR2240, RR232x, RR2340, # RR2210, RR174x, RR2522, RR231x, RR230x. device hptrr # # Highpoint RocketRaid 3xxx series SATA RAID device hptiop # # IBM (now Adaptec) ServeRAID controllers device ips # # Intel C600 (Patsburg) integrated SAS controller device isci options ISCI_LOGGING # enable debugging in isci HAL # # NVM Express (NVMe) support device nvme # base NVMe driver device nvd # expose NVMe namespaces as disks, depends on nvme # # SafeNet crypto driver: can be moved to the MI NOTES as soon as # it's tested on a big-endian machine # device safe # SafeNet 1141 options SAFE_DEBUG # enable debugging support: hw.safe.debug options SAFE_RNDTEST # enable rndtest support # # glxiic is an I2C driver for the AMD Geode LX CS5536 System Management Bus # controller. Requires 'device iicbus'. # device glxiic # AMD Geode LX CS5536 System Management Bus # # glxsb is a driver for the Security Block in AMD Geode LX processors. # Requires 'device crypto'. # device glxsb # AMD Geode LX Security Block # # VirtIO support # # The virtio entry provides a generic bus for use by the device drivers. # It must be combined with an interface that communicates with the host. # Multiple such interfaces defined by the VirtIO specification. FreeBSD # only has support for PCI. Therefore, virtio_pci must be statically # compiled in or loaded as a module for the device drivers to function. # device virtio # Generic VirtIO bus (required) device virtio_pci # VirtIO PCI Interface device vtnet # VirtIO Ethernet device device virtio_blk # VirtIO Block device device virtio_scsi # VirtIO SCSI device device virtio_balloon # VirtIO Memory Balloon device device virtio_random # VirtIO Entropy device device virtio_console # VirtIO Console device device hyperv # HyperV drivers ##################################################################### # # Miscellaneous hardware: # # apm: Laptop Advanced Power Management (experimental) # ipmi: Intelligent Platform Management Interface # smapi: System Management Application Program Interface driver # smbios: DMI/SMBIOS entry point # vpd: Vital Product Data kernel interface # pmtimer: Adjust system timer at wakeup time # pbio: Parallel (8255 PPI) basic I/O (mode 0) port (e.g. Advantech PCL-724) # spic: Sony Programmable I/O controller (VAIO notebooks) # asmc: Apple System Management Controller # si: Specialix International SI/XIO or SX intelligent serial card driver # tpm: Trusted Platform Module # Notes on APM # The flags takes the following meaning for apm0: # 0x0020 Statclock is broken. # Notes on the Specialix SI/XIO driver: # The host card is memory, not IO mapped. # The Rev 1 host cards use a 64K chunk, on a 32K boundary. # The Rev 2 host cards use a 32K chunk, on a 32K boundary. # The cards can use an IRQ of 11, 12 or 15. # Notes on the Sony Programmable I/O controller # This is a temporary driver that should someday be replaced by something # that hooks into the ACPI layer. The device is hooked to the PIIX4's # General Device 10 decoder, which means you have to fiddle with PCI # registers to map it in, even though it is otherwise treated here as # an ISA device. At the moment, the driver polls, although the device # is capable of generating interrupts. It largely undocumented. # The port location in the hint is where you WANT the device to be # mapped. 0x10a0 seems to be traditional. At the moment the jogdial # is the only thing truly supported, but apparently a fair percentage # of the Vaio extra features are controlled by this device. device apm hint.apm.0.flags="0x20" device ipmi device smapi device smbios device vpd device pmtimer device pbio hint.pbio.0.at="isa" hint.pbio.0.port="0x360" device spic hint.spic.0.at="isa" hint.spic.0.port="0x10a0" device asmc device si device tpm device padlock_rng # VIA Padlock RNG device rdrand_rng # Intel Bull Mountain RNG device aesni # AES-NI OpenCrypto module # # Laptop/Notebook options: # # See also: # apm under `Miscellaneous hardware' # above. # For older notebooks that signal a powerfail condition (external # power supply dropped, or battery state low) by issuing an NMI: options POWERFAIL_NMI # make it beep instead of panicing # # I2C Bus # # Philips i2c bus support is provided by the `iicbus' device. # # Supported interfaces: # pcf Philips PCF8584 ISA-bus controller # device pcf hint.pcf.0.at="isa" hint.pcf.0.port="0x320" hint.pcf.0.irq="5" # # Hardware watchdog timers: # # ichwd: Intel ICH watchdog timer # amdsbwd: AMD SB7xx watchdog timer # viawd: VIA south bridge watchdog timer # wbwd: Winbond watchdog timer # device ichwd device amdsbwd device viawd device wbwd # # Temperature sensors: # # coretemp: on-die sensor on Intel Core and newer CPUs # amdtemp: on-die sensor on AMD K8/K10/K11 CPUs # device coretemp device amdtemp # # CPU control pseudo-device. Provides access to MSRs, CPUID info and # microcode update feature. # device cpuctl # # System Management Bus (SMB) # options ENABLE_ALART # Control alarm on Intel intpm driver # # Set the number of PV entries per process. Increasing this can # stop panics related to heavy use of shared memory. However, that can # (combined with large amounts of physical memory) cause panics at # boot time due the kernel running out of VM space. # # If you're tweaking this, you might also want to increase the sysctls # "vm.v_free_min", "vm.v_free_reserved", and "vm.v_free_target". # # The value below is the one more than the default. # options PMAP_SHPGPERPROC=201 # # Change the size of the kernel virtual address space. Due to # constraints in loader(8) on i386, this must be a multiple of 4. # 256 = 1 GB of kernel address space. Increasing this also causes # a reduction of the address space in user processes. 512 splits # the 4GB cpu address space in half (2GB user, 2GB kernel). For PAE # kernels, the value will need to be double non-PAE. A value of 1024 # for PAE kernels is necessary to split the address space in half. # This will likely need to be increased to handle memory sizes >4GB. # PAE kernels default to a value of 512. # options KVA_PAGES=260 # # Number of initial kernel page table pages used for early bootstrap. # This number should include enough pages to map the kernel, any # modules or other data loaded with the kernel by the loader, and data # structures allocated before the VM system is initialized such as the # vm_page_t array. Each page table page maps 4MB (2MB with PAE). # options NKPT=31 ##################################################################### # ABI Emulation # Enable iBCS2 runtime support for SCO and ISC binaries options IBCS2 # Emulate spx device for client side of SVR3 local X interface options SPX_HACK # Enable Linux ABI emulation options COMPAT_LINUX # Enable i386 a.out binary support options COMPAT_AOUT # Enable the linux-like proc filesystem support (requires COMPAT_LINUX # and PSEUDOFS) options LINPROCFS #Enable the linux-like sys filesystem support (requires COMPAT_LINUX # and PSEUDOFS) options LINSYSFS # # SysVR4 ABI emulation # # The svr4 ABI emulator can be statically compiled into the kernel or loaded as # a KLD module. # The STREAMS network emulation code can also be compiled statically or as a # module. If loaded as a module, it must be loaded before the svr4 module # (the /usr/sbin/svr4 script does this for you). If compiling statically, # the `streams' device must be configured into any kernel which also # specifies COMPAT_SVR4. It is possible to have a statically-configured # STREAMS device and a dynamically loadable svr4 emulator; the /usr/sbin/svr4 # script understands that it doesn't need to load the `streams' module under # those circumstances. # Caveat: At this time, `options KTRACE' is required for the svr4 emulator # (whether static or dynamic). # options COMPAT_SVR4 # build emulator statically options DEBUG_SVR4 # enable verbose debugging device streams # STREAMS network driver (required for svr4). # Enable NDIS binary driver support options NDISAPI device ndis ##################################################################### # VM OPTIONS # Disable the 4 MByte page PSE CPU feature. The PSE feature allows the # kernel to use 4 MByte pages to map the kernel instead of 4k pages. # This saves on the amount of memory needed for page tables needed to # map the kernel. You should only disable this feature as a temporary # workaround if you are having problems with it enabled. # #options DISABLE_PSE # Disable the global pages PGE CPU feature. The PGE feature allows pages # to be marked with the PG_G bit. TLB entries for these pages are not # flushed from the cache when %cr3 is reloaded. This can make context # switches less expensive. You should only disable this feature as a # temporary workaround if you are having problems with it enabled. # #options DISABLE_PG_G # KSTACK_PAGES is the number of memory pages to assign to the kernel # stack of each thread. options KSTACK_PAGES=3 # Enable detailed accounting by the PV entry allocator. options PV_STATS ##################################################################### # More undocumented options for linting. # Note that documenting these are not considered an affront. options FB_INSTALL_CDEV # install a CDEV entry in /dev options I586_PMC_GUPROF=0x70000 options KBDIO_DEBUG=2 options KBD_MAXRETRY=4 options KBD_MAXWAIT=6 options KBD_RESETDELAY=201 options PSM_DEBUG=1 options TIMER_FREQ=((14318182+6)/12) options VM_KMEM_SIZE options VM_KMEM_SIZE_MAX options VM_KMEM_SIZE_SCALE -# asr old ioctls support, needed by raidutils - -options ASR_COMPAT Index: head/sys/i386/conf/PAE =================================================================== --- head/sys/i386/conf/PAE (revision 276525) +++ head/sys/i386/conf/PAE (revision 276526) @@ -1,23 +1,22 @@ # # PAE -- Generic kernel configuration file for FreeBSD/i386 PAE # # $FreeBSD$ include GENERIC ident PAE-GENERIC # To make a PAE kernel, the next option is needed options PAE # Physical Address Extensions Kernel # The following drivers don't build with PAE enabled. makeoptions WITHOUT_MODULES="ctl dpt hptmv ida" nodevice dpt nodevice hptmv nodevice ida # The following drivers don't work with PAE enabled. -makeoptions WITHOUT_MODULES+="asr ncr pst" -nodevice asr +makeoptions WITHOUT_MODULES+="ncr pst" nodevice ncr nodevice pst Index: head/sys/modules/asr/Makefile =================================================================== --- head/sys/modules/asr/Makefile (revision 276525) +++ head/sys/modules/asr/Makefile (nonexistent) @@ -1,17 +0,0 @@ -# $FreeBSD$ - -.PATH: ${.CURDIR}/../../dev/asr - -KMOD= asr -SRCS= asr.c -SRCS+= opt_scsi.h opt_cam.h -SRCS+= device_if.h bus_if.h pci_if.h - -.if ${MACHINE_CPUARCH} == "i386" -SRCS+= opt_asr.h -.endif - -.include - -CWARNFLAGS.asr.c= ${NO_WARRAY_BOUNDS} -CWARNFLAGS+= ${CWARNFLAGS.${.IMPSRC:T}} Property changes on: head/sys/modules/asr/Makefile ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: head/sys/modules/Makefile =================================================================== --- head/sys/modules/Makefile (revision 276525) +++ head/sys/modules/Makefile (revision 276526) @@ -1,737 +1,735 @@ # $FreeBSD$ SYSDIR?=${.CURDIR}/.. .include "${SYSDIR}/conf/kern.opts.mk" SUBDIR_PARALLEL= # Modules that include binary-only blobs of microcode should be selectable by # MK_SOURCELESS_UCODE option (see below). .if defined(MODULES_OVERRIDE) && !defined(ALL_MODULES) SUBDIR=${MODULES_OVERRIDE} .else SUBDIR= \ ${_3dfx} \ ${_3dfx_linux} \ ${_aac} \ ${_aacraid} \ accf_data \ accf_dns \ accf_http \ acl_nfs4 \ acl_posix1e \ ${_acpi} \ ae \ ${_aesni} \ age \ ${_agp} \ aha \ ${_ahb} \ ahci \ ${_aic} \ aic7xxx \ aio \ alc \ ale \ alq \ ${_amdsbwd} \ ${_amdtemp} \ amr \ ${_an} \ ${_aout} \ ${_apm} \ ${_arcmsr} \ ${_arcnet} \ ${_asmc} \ - ${_asr} \ ata \ ath \ ath_pci \ autofs \ ${_auxio} \ ${_bce} \ bfe \ bge \ ${_bxe} \ ${_bios} \ ${_bktr} \ ${_bm} \ bridgestp \ bwi \ bwn \ cam \ ${_canbepm} \ ${_canbus} \ ${_cardbus} \ ${_carp} \ cas \ ${_cbb} \ cc \ cd9660 \ cd9660_iconv \ ${_ce} \ ${_cfi} \ ${_ciss} \ ${_cm} \ ${_cmx} \ ${_coff} \ ${_coretemp} \ ${_cp} \ ${_cpsw} \ ${_cpuctl} \ ${_cpufreq} \ ${_crypto} \ ${_cryptodev} \ ${_cs} \ ${_ct} \ ${_ctau} \ ctl \ cuse \ ${_cxgb} \ ${_cxgbe} \ dc \ dcons \ dcons_crom \ de \ ${_dpms} \ ${_dpt} \ ${_drm} \ ${_drm2} \ ${_dtrace} \ dummynet \ ${_ed} \ ${_elink} \ ${_em} \ en \ ${_ep} \ ${_epic} \ esp \ ${_et} \ ${_ex} \ ${_exca} \ ${_ext2fs} \ ${_fatm} \ fdc \ fdescfs \ ${_fe} \ ${_filemon} \ firewire \ firmware \ fuse \ ${_fxp} \ gem \ geom \ ${_glxiic} \ ${_glxsb} \ hatm \ hifn \ hme \ ${_hpt27xx} \ ${_hptiop} \ ${_hptmv} \ ${_hptnr} \ ${_hptrr} \ hwpmc \ ${_hyperv} \ ${_i2c} \ ${_ibcore} \ ${_ibcs2} \ ${_ichwd} \ ${_ida} \ ${_ie} \ if_bridge \ if_disc \ if_edsc \ if_epair \ ${_if_gif} \ ${_if_gre} \ ${_if_me} \ if_lagg \ ${_if_ndis} \ if_stf \ if_tap \ if_tun \ if_vlan \ if_vxlan \ ${_igb} \ ${_iir} \ imgact_binmisc \ ${_io} \ ${_ipoib} \ ${_ipdivert} \ ${_ipfilter} \ ${_ipfw} \ ipfw_nat \ ${_ipmi} \ ip6_mroute_mod \ ip_mroute_mod \ ${_ips} \ ${_ipw} \ ${_ipwfw} \ ${_isci} \ iscsi \ iscsi_initiator \ isp \ ${_ispfw} \ ${_iwi} \ ${_iwifw} \ ${_iwn} \ ${_iwnfw} \ ${_ixgb} \ ${_ixgbe} \ ${_ixl} \ ${_ixlv} \ jme \ joy \ kbdmux \ kgssapi \ kgssapi_krb5 \ khelp \ krpc \ ksyms \ le \ lge \ libalias \ libiconv \ libmbpool \ libmchain \ ${_linprocfs} \ ${_linsysfs} \ ${_linux} \ lmc \ lpt \ mac_biba \ mac_bsdextended \ mac_ifoff \ mac_lomac \ mac_mls \ mac_none \ mac_partition \ mac_portacl \ mac_seeotheruids \ mac_stub \ mac_test \ malo \ mcd \ md \ mem \ mfi \ mii \ mlx \ ${_mlx4} \ ${_mlx4ib} \ ${_mlxen} \ ${_mly} \ mmc \ mmcsd \ mpr \ mps \ mpt \ mqueue \ mrsas \ msdosfs \ msdosfs_iconv \ ${_mse} \ msk \ ${_mthca} \ mvs \ mwl \ ${_mwlfw} \ mxge \ my \ ${_nandfs} \ ${_nandsim} \ ${_ncr} \ ${_ncv} \ ${_ndis} \ netfpga10g \ ${_netgraph} \ ${_nfe} \ nfscl \ nfscommon \ nfsd \ nfslock \ nfslockd \ nfssvc \ nge \ nmdm \ ${_nsp} \ nullfs \ ${_ntb} \ ${_nvd} \ ${_nvme} \ ${_nvram} \ ${_nxge} \ ${_opensolaris} \ oce \ ${_padlock} \ ${_padlock_rng} \ patm \ ${_pccard} \ ${_pcfclock} \ pcn \ ${_pf} \ ${_pflog} \ ${_pfsync} \ plip \ ${_pmc} \ ppbus \ ppc \ ppi \ pps \ procfs \ proto \ pseudofs \ ${_pst} \ pty \ puc \ ${_qlxge} \ ${_qlxgb} \ ${_qlxgbe} \ ral \ ${_ralfw} \ ${_random} \ rc4 \ ${_rdma} \ ${_rdrand_rng} \ re \ reiserfs \ rl \ ${_s3} \ ${_safe} \ ${_sbni} \ scc \ scd \ ${_scsi_low} \ sdhci \ sdhci_pci \ sem \ send \ ${_sf} \ ${_sfxge} \ sge \ ${_si} \ siba_bwn \ siftr \ siis \ sis \ sk \ ${_smbfs} \ ${_sn} \ ${_snc} \ snp \ ${_sound} \ ${_speaker} \ ${_splash} \ ${_sppp} \ ste \ ${_stg} \ stge \ ${_streams} \ ${_svr4} \ ${_sym} \ ${_syscons} \ sysvipc \ ${_ti} \ tl \ tmpfs \ ${_toecore} \ ${_tpm} \ trm \ ${_twa} \ twe \ tws \ tx \ ${_txp} \ uart \ ubsec \ udf \ udf_iconv \ ufs \ unionfs \ usb \ utopia \ ${_vesa} \ ${_virtio} \ vge \ ${_viawd} \ vkbd \ ${_vmm} \ ${_vmware} \ ${_vpo} \ vr \ vte \ vx \ ${_vxge} \ wb \ ${_wbwd} \ ${_wds} \ ${_wi} \ ${_wl} \ wlan \ wlan_acl \ wlan_amrr \ wlan_ccmp \ wlan_rssadapt \ wlan_tkip \ wlan_wep \ wlan_xauth \ ${_wpi} \ ${_wpifw} \ ${_x86bios} \ ${_xe} \ xl \ ${_zfs} \ zlib .if ${MK_CRYPT} != "no" || defined(ALL_MODULES) .if exists(${.CURDIR}/../opencrypto) _crypto= crypto _cryptodev= cryptodev .endif .if exists(${.CURDIR}/../crypto) _random= random .endif .endif .if (${MK_INET_SUPPORT} != "no" || ${MK_INET6_SUPPORT} != "no") || \ defined(ALL_MODULES) _carp= carp _toecore= toecore _if_gif= if_gif _if_gre= if_gre .endif .if ${MK_INET_SUPPORT} != "no" || defined(ALL_MODULES) _if_me= if_me _ipdivert= ipdivert _ipfw= ipfw .endif .if ${MK_IPFILTER} != "no" || defined(ALL_MODULES) _ipfilter= ipfilter .endif .if ${MK_NAND} != "no" || defined(ALL_MODULES) _nandfs= nandfs _nandsim= nandsim .endif .if ${MK_NETGRAPH} != "no" || defined(ALL_MODULES) _netgraph= netgraph .endif .if (${MK_PF} != "no" && (${MK_INET_SUPPORT} != "no" || \ ${MK_INET6_SUPPORT} != "no")) || defined(ALL_MODULES) _pf= pf _pflog= pflog .if ${MK_INET_SUPPORT} != "no" _pfsync= pfsync .endif .endif .if ${MK_SOURCELESS_UCODE} != "no" _bce= bce _fatm= fatm _fxp= fxp _ispfw= ispfw _mwlfw= mwlfw _ralfw= ralfw _sf= sf _sn= sn _ti= ti _txp= txp .endif .if ${MK_SOURCELESS_UCODE} != "no" && ${MACHINE_CPUARCH} == "amd64" _cxgbe= cxgbe .endif .if ${MACHINE_CPUARCH} != "arm" && ${MACHINE_CPUARCH} != "mips" && \ ${MACHINE_CPUARCH} != "powerpc" _syscons= syscons _vpo= vpo .endif .if ${MACHINE_CPUARCH} != "arm" && ${MACHINE_CPUARCH} != "mips" # no BUS_SPACE_UNSPECIFIED # No barrier instruction support (specific to this driver) _sym= sym # intr_disable() is a macro, causes problems .if ${MK_SOURCELESS_UCODE} != "no" _cxgb= cxgb .endif .endif .if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64" _agp= agp _an= an _aout= aout _bktr= bktr _bxe= bxe _cardbus= cardbus _cbb= cbb _cpuctl= cpuctl _cpufreq= cpufreq _dpms= dpms _drm= drm _drm2= drm2 .if ${MK_CDDL} != "no" || defined(ALL_MODULES) _dtrace= dtrace .endif _ed= ed _em= em _et= et _exca= exca _ext2fs= ext2fs _filemon= filemon _i2c= i2c .if ${MK_OFED} != "no" || defined(ALL_MODULES) _ibcore= ibcore .endif _if_ndis= if_ndis _igb= igb _io= io .if ${MK_OFED} != "no" || defined(ALL_MODULES) _ipoib= ipoib .endif _linprocfs= linprocfs _linsysfs= linsysfs _linux= linux _ndis= ndis .if ${MK_CDDL} != "no" || defined(ALL_MODULES) _opensolaris= opensolaris .endif _pccard= pccard .if ${MK_OFED} != "no" || defined(ALL_MODULES) _rdma= rdma .endif _safe= safe _scsi_low= scsi_low _si= si _smbfs= smbfs _sound= sound _speaker= speaker _splash= splash _sppp= sppp _vmware= vmware _vxge= vxge _wbwd= wbwd _wi= wi .if ${MK_ZFS} != "no" || defined(ALL_MODULES) _zfs= zfs .endif .if ${MACHINE} != "pc98" _aac= aac _aacraid= aacraid _acpi= acpi .if ${MK_CRYPT} != "no" || defined(ALL_MODULES) _aesni= aesni .endif _amdsbwd= amdsbwd _amdtemp= amdtemp _arcmsr= arcmsr _asmc= asmc _ciss= ciss _cmx= cmx _coretemp= coretemp .if ${MK_SOURCELESS_HOST} != "no" _hpt27xx= hpt27xx .endif _hptiop= hptiop .if ${MK_SOURCELESS_HOST} != "no" _hptmv= hptmv _hptnr= hptnr _hptrr= hptrr .endif _hyperv= hyperv _ichwd= ichwd _ida= ida _iir= iir _ipmi= ipmi _ips= ips _ipw= ipw .if ${MK_SOURCELESS_UCODE} != "no" _ipwfw= ipwfw .endif _isci= isci _iwi= iwi .if ${MK_SOURCELESS_UCODE} != "no" _iwifw= iwifw .endif _iwn= iwn .if ${MK_SOURCELESS_UCODE} != "no" _iwnfw= iwnfw .endif _ixgb= ixgb _ixgbe= ixgbe .if ${MK_OFED} != "no" || defined(ALL_MODULES) _mlx4= mlx4 _mlx4ib= mlx4ib _mlxen= mlxen .endif _mly= mly .if ${MK_OFED} != "no" || defined(ALL_MODULES) _mthca= mthca .endif _nfe= nfe _nvd= nvd _nvme= nvme _nvram= nvram _nxge= nxge .if ${MK_CRYPT} != "no" || defined(ALL_MODULES) _padlock= padlock _padlock_rng= padlock_rng _rdrand_rng= rdrand_rng .endif _s3= s3 _tpm= tpm _twa= twa _vesa= vesa _viawd= viawd _virtio= virtio _wpi= wpi .if ${MK_SOURCELESS_UCODE} != "no" _wpifw= wpifw .endif _x86bios= x86bios .endif .endif .if ${MACHINE_CPUARCH} == "amd64" _ixl= ixl _ixlv= ixlv _ntb= ntb _qlxge= qlxge _qlxgb= qlxgb _qlxgbe= qlxgbe _sfxge= sfxge _vmm= vmm .endif .if ${MACHINE_CPUARCH} == "i386" # XXX some of these can move to the general case when de-i386'ed # XXX some of these can move now, but are untested on other architectures. _3dfx= 3dfx _3dfx_linux= 3dfx_linux _aic= aic _apm= apm _arcnet= arcnet .if ${MK_SOURCELESS_UCODE} != "no" _ce= ce .endif _coff= coff .if ${MK_SOURCELESS_UCODE} != "no" _cp= cp .endif _cs= cs _elink= elink _ep= ep _fe= fe _glxiic= glxiic _glxsb= glxsb _ibcs2= ibcs2 _ie= ie _mse= mse _ncr= ncr _ncv= ncv _nsp= nsp _pcfclock= pcfclock _pst= pst _sbni= sbni _streams= streams _stg= stg _svr4= svr4 _wds= wds _xe= xe .if ${MACHINE} == "i386" .if ${MK_EISA} != "no" _ahb= ahb .endif -_asr= asr _bios= bios _cm= cm .if ${MK_SOURCELESS_UCODE} != "no" _ctau= ctau .endif _dpt= dpt _ex= ex _wl= wl .elif ${MACHINE} == "pc98" _canbepm= canbepm _canbus= canbus _ct= ct _pmc= pmc _snc= snc .endif .endif .if ${MACHINE_CPUARCH} == "arm" _cfi= cfi _cpsw= cpsw _sound= sound .endif .if ${MACHINE_CPUARCH} == "powerpc" _agp= agp _an= an _bm= bm _cardbus= cardbus _cbb= cbb _cfi= cfi _cpufreq= cpufreq _drm= drm .if ${MK_CDDL} != "no" || defined(ALL_MODULES) _dtrace= dtrace .endif _exca= exca _nvram= powermac_nvram .if ${MK_CDDL} != "no" || defined(ALL_MODULES) _opensolaris= opensolaris .endif _pccard= pccard _smbfs= smbfs _sound= sound _wi= wi .endif .if ${MACHINE_ARCH} == "powerpc64" .if ${MK_ZFS} != "no" || defined(ALL_MODULES) _zfs= zfs .endif .endif .if ${MACHINE_CPUARCH} == "sparc64" _auxio= auxio _em= em _epic= epic _i2c= i2c _igb= igb .if ${MK_CDDL} != "no" || defined(ALL_MODULES) _opensolaris= opensolaris .endif _smbfs= smbfs _sound= sound .if ${MK_ZFS} != "no" || defined(ALL_MODULES) _zfs= zfs .endif .endif .endif .for reject in ${WITHOUT_MODULES} SUBDIR:= ${SUBDIR:N${reject}} .endfor # Calling kldxref(8) for each module is expensive. .if !defined(NO_XREF) .MAKEFLAGS+= -DNO_XREF afterinstall: @if type kldxref >/dev/null 2>&1; then \ ${ECHO} kldxref ${DESTDIR}${KMODDIR}; \ kldxref ${DESTDIR}${KMODDIR}; \ fi .endif .include