\hypertarget{ida__disk_8c}{}\doxysection{dev/ida/ida\+\_\+disk.c File Reference}
\label{ida__disk_8c}\index{dev/ida/ida\_disk.c@{dev/ida/ida\_disk.c}}
{\ttfamily \#include $<$sys/param.\+h$>$}\newline
{\ttfamily \#include $<$sys/systm.\+h$>$}\newline
{\ttfamily \#include $<$sys/kernel.\+h$>$}\newline
{\ttfamily \#include $<$sys/module.\+h$>$}\newline
{\ttfamily \#include $<$sys/bio.\+h$>$}\newline
{\ttfamily \#include $<$sys/bus.\+h$>$}\newline
{\ttfamily \#include $<$sys/conf.\+h$>$}\newline
{\ttfamily \#include $<$sys/cons.\+h$>$}\newline
{\ttfamily \#include $<$sys/lock.\+h$>$}\newline
{\ttfamily \#include $<$sys/mutex.\+h$>$}\newline
{\ttfamily \#include $<$machine/bus.\+h$>$}\newline
{\ttfamily \#include $<$sys/rman.\+h$>$}\newline
{\ttfamily \#include $<$vm/vm.\+h$>$}\newline
{\ttfamily \#include $<$vm/pmap.\+h$>$}\newline
{\ttfamily \#include $<$machine/md\+\_\+var.\+h$>$}\newline
{\ttfamily \#include $<$geom/geom\+\_\+disk.\+h$>$}\newline
{\ttfamily \#include $<$dev/ida/idareg.\+h$>$}\newline
{\ttfamily \#include $<$dev/ida/idavar.\+h$>$}\newline
Include dependency graph for ida\+\_\+disk.\+c\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dc/da6/ida__disk_8c__incl}
\end{center}
\end{figure}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
static int \mbox{\hyperlink{ida__disk_8c_ab769b07cb5feb39515da8ddcaf3764c3}{idad\+\_\+probe}} (device\+\_\+t dev)
\item 
static int \mbox{\hyperlink{ida__disk_8c_a8e56080175288f4482992267f9262bb2}{idad\+\_\+attach}} (device\+\_\+t dev)
\item 
static int \mbox{\hyperlink{ida__disk_8c_a3e3cd45a9bbbd67019baee319c965b59}{idad\+\_\+detach}} (device\+\_\+t dev)
\item 
\mbox{\hyperlink{ida__disk_8c_ae495f3f443bc66e75c60dd425b344178}{DRIVER\+\_\+\+MODULE}} (idad, ida, \mbox{\hyperlink{ida__disk_8c_a4fcc004f8c823660960a03d132a41d23}{idad\+\_\+driver}}, \mbox{\hyperlink{ida__disk_8c_a834d17933eab1933009145a5a5471bb8}{idad\+\_\+devclass}}, 0, 0)
\item 
static void \mbox{\hyperlink{ida__disk_8c_a198895624c25951c881afd90e1742d74}{idad\+\_\+strategy}} (struct bio $\ast$bp)
\item 
static int \mbox{\hyperlink{ida__disk_8c_a17134a96b7e482cde9951ad6ba10d964}{idad\+\_\+dump}} (void $\ast$arg, void $\ast$virtual, vm\+\_\+offset\+\_\+t physical, off\+\_\+t offset, size\+\_\+t length)
\item 
void \mbox{\hyperlink{ida__disk_8c_a844e460143dbbef33bd4311aff60d27a}{idad\+\_\+intr}} (struct bio $\ast$bp)
\end{DoxyCompactItemize}
\doxysubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
static d\+\_\+strategy\+\_\+t \mbox{\hyperlink{ida__disk_8c_a185d45fae176d8227b7159858cece609}{idad\+\_\+strategy}}
\item 
static dumper\+\_\+t \mbox{\hyperlink{ida__disk_8c_aef614818621223c562de38cfb9c6590a}{idad\+\_\+dump}}
\item 
static devclass\+\_\+t \mbox{\hyperlink{ida__disk_8c_a834d17933eab1933009145a5a5471bb8}{idad\+\_\+devclass}}
\item 
static device\+\_\+method\+\_\+t \mbox{\hyperlink{ida__disk_8c_a853fd71eb7d4aba4c5c1c6902594f491}{idad\+\_\+methods}} \mbox{[}$\,$\mbox{]}
\item 
static driver\+\_\+t \mbox{\hyperlink{ida__disk_8c_a4fcc004f8c823660960a03d132a41d23}{idad\+\_\+driver}}
\end{DoxyCompactItemize}


\doxysubsection{Function Documentation}
\mbox{\Hypertarget{ida__disk_8c_ae495f3f443bc66e75c60dd425b344178}\label{ida__disk_8c_ae495f3f443bc66e75c60dd425b344178}} 
\index{ida\_disk.c@{ida\_disk.c}!DRIVER\_MODULE@{DRIVER\_MODULE}}
\index{DRIVER\_MODULE@{DRIVER\_MODULE}!ida\_disk.c@{ida\_disk.c}}
\doxysubsubsection{\texorpdfstring{DRIVER\_MODULE()}{DRIVER\_MODULE()}}
{\footnotesize\ttfamily DRIVER\+\_\+\+MODULE (\begin{DoxyParamCaption}\item[{idad}]{,  }\item[{ida}]{,  }\item[{\mbox{\hyperlink{ida__disk_8c_a4fcc004f8c823660960a03d132a41d23}{idad\+\_\+driver}}}]{,  }\item[{\mbox{\hyperlink{ida__disk_8c_a834d17933eab1933009145a5a5471bb8}{idad\+\_\+devclass}}}]{,  }\item[{0}]{,  }\item[{0}]{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{ida__disk_8c_a8e56080175288f4482992267f9262bb2}\label{ida__disk_8c_a8e56080175288f4482992267f9262bb2}} 
\index{ida\_disk.c@{ida\_disk.c}!idad\_attach@{idad\_attach}}
\index{idad\_attach@{idad\_attach}!ida\_disk.c@{ida\_disk.c}}
\doxysubsubsection{\texorpdfstring{idad\_attach()}{idad\_attach()}}
{\footnotesize\ttfamily static int idad\+\_\+attach (\begin{DoxyParamCaption}\item[{device\+\_\+t}]{dev }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ida__disk_8c_source_l00173}{173}} of file \mbox{\hyperlink{ida__disk_8c_source}{ida\+\_\+disk.\+c}}.



References \mbox{\hyperlink{idareg_8h_source_l00076}{CMD\+\_\+\+GET\+\_\+\+LOG\+\_\+\+DRV\+\_\+\+INFO}}, \mbox{\hyperlink{idavar_8h_source_l00179}{idad\+\_\+softc\+::controller}}, \mbox{\hyperlink{idavar_8h_source_l00183}{idad\+\_\+softc\+::cylinders}}, \mbox{\hyperlink{idavar_8h_source_l00133}{ida\+\_\+softc\+::dev}}, \mbox{\hyperlink{idavar_8h_source_l00178}{idad\+\_\+softc\+::dev}}, \mbox{\hyperlink{idavar_8h_source_l00180}{idad\+\_\+softc\+::disk}}, \mbox{\hyperlink{idavar_8h_source_l00091}{DMA\+\_\+\+DATA\+\_\+\+IN}}, \mbox{\hyperlink{idareg_8h_source_l00150}{ida\+\_\+drive\+\_\+info\+::dp}}, \mbox{\hyperlink{idavar_8h_source_l00181}{idad\+\_\+softc\+::drive}}, \mbox{\hyperlink{idavar_8h_source_l00184}{idad\+\_\+softc\+::heads}}, \mbox{\hyperlink{ida_8c_source_l00446}{ida\+\_\+command()}}, \mbox{\hyperlink{ida__disk_8c_source_l00065}{idad\+\_\+dump}}, \mbox{\hyperlink{ida__disk_8c_source_l00064}{idad\+\_\+strategy}}, \mbox{\hyperlink{idavar_8h_source_l00146}{ida\+\_\+softc\+::lock}}, \mbox{\hyperlink{idareg_8h_source_l00124}{ida\+\_\+drive\+\_\+param\+::ncylinders}}, \mbox{\hyperlink{idareg_8h_source_l00125}{ida\+\_\+drive\+\_\+param\+::nheads}}, \mbox{\hyperlink{idareg_8h_source_l00134}{ida\+\_\+drive\+\_\+param\+::nsectors}}, \mbox{\hyperlink{idareg_8h_source_l00149}{ida\+\_\+drive\+\_\+info\+::secperunit}}, \mbox{\hyperlink{idavar_8h_source_l00187}{idad\+\_\+softc\+::secperunit}}, \mbox{\hyperlink{idareg_8h_source_l00148}{ida\+\_\+drive\+\_\+info\+::secsize}}, \mbox{\hyperlink{idavar_8h_source_l00186}{idad\+\_\+softc\+::secsize}}, \mbox{\hyperlink{idavar_8h_source_l00185}{idad\+\_\+softc\+::sectors}}, and \mbox{\hyperlink{idavar_8h_source_l00182}{idad\+\_\+softc\+::unit}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d9/daf/ida__disk_8c_a8e56080175288f4482992267f9262bb2_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ida__disk_8c_a3e3cd45a9bbbd67019baee319c965b59}\label{ida__disk_8c_a3e3cd45a9bbbd67019baee319c965b59}} 
\index{ida\_disk.c@{ida\_disk.c}!idad\_detach@{idad\_detach}}
\index{idad\_detach@{idad\_detach}!ida\_disk.c@{ida\_disk.c}}
\doxysubsubsection{\texorpdfstring{idad\_detach()}{idad\_detach()}}
{\footnotesize\ttfamily static int idad\+\_\+detach (\begin{DoxyParamCaption}\item[{device\+\_\+t}]{dev }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ida__disk_8c_source_l00226}{226}} of file \mbox{\hyperlink{ida__disk_8c_source}{ida\+\_\+disk.\+c}}.



References \mbox{\hyperlink{idavar_8h_source_l00178}{idad\+\_\+softc\+::dev}}, and \mbox{\hyperlink{idavar_8h_source_l00180}{idad\+\_\+softc\+::disk}}.

\mbox{\Hypertarget{ida__disk_8c_a17134a96b7e482cde9951ad6ba10d964}\label{ida__disk_8c_a17134a96b7e482cde9951ad6ba10d964}} 
\index{ida\_disk.c@{ida\_disk.c}!idad\_dump@{idad\_dump}}
\index{idad\_dump@{idad\_dump}!ida\_disk.c@{ida\_disk.c}}
\doxysubsubsection{\texorpdfstring{idad\_dump()}{idad\_dump()}}
{\footnotesize\ttfamily static int idad\+\_\+dump (\begin{DoxyParamCaption}\item[{void $\ast$}]{arg,  }\item[{void $\ast$}]{virtual,  }\item[{vm\+\_\+offset\+\_\+t}]{physical,  }\item[{off\+\_\+t}]{offset,  }\item[{size\+\_\+t}]{length }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ida__disk_8c_source_l00130}{130}} of file \mbox{\hyperlink{ida__disk_8c_source}{ida\+\_\+disk.\+c}}.



References \mbox{\hyperlink{idareg_8h_source_l00085}{CMD\+\_\+\+WRITE}}, \mbox{\hyperlink{idavar_8h_source_l00179}{idad\+\_\+softc\+::controller}}, \mbox{\hyperlink{idavar_8h_source_l00092}{DMA\+\_\+\+DATA\+\_\+\+OUT}}, \mbox{\hyperlink{idavar_8h_source_l00181}{idad\+\_\+softc\+::drive}}, \mbox{\hyperlink{idavar_8h_source_l00159}{ida\+\_\+softc\+::flags}}, \mbox{\hyperlink{ida_8c_source_l00446}{ida\+\_\+command()}}, and \mbox{\hyperlink{idavar_8h_source_l00129}{IDA\+\_\+\+INTERRUPTS}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d9/daf/ida__disk_8c_a17134a96b7e482cde9951ad6ba10d964_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ida__disk_8c_a844e460143dbbef33bd4311aff60d27a}\label{ida__disk_8c_a844e460143dbbef33bd4311aff60d27a}} 
\index{ida\_disk.c@{ida\_disk.c}!idad\_intr@{idad\_intr}}
\index{idad\_intr@{idad\_intr}!ida\_disk.c@{ida\_disk.c}}
\doxysubsubsection{\texorpdfstring{idad\_intr()}{idad\_intr()}}
{\footnotesize\ttfamily void idad\+\_\+intr (\begin{DoxyParamCaption}\item[{struct bio $\ast$}]{bp }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{ida__disk_8c_source_l00153}{153}} of file \mbox{\hyperlink{ida__disk_8c_source}{ida\+\_\+disk.\+c}}.



Referenced by \mbox{\hyperlink{ida_8c_source_l00630}{ida\+\_\+done()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d9/daf/ida__disk_8c_a844e460143dbbef33bd4311aff60d27a_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ida__disk_8c_ab769b07cb5feb39515da8ddcaf3764c3}\label{ida__disk_8c_ab769b07cb5feb39515da8ddcaf3764c3}} 
\index{ida\_disk.c@{ida\_disk.c}!idad\_probe@{idad\_probe}}
\index{idad\_probe@{idad\_probe}!ida\_disk.c@{ida\_disk.c}}
\doxysubsubsection{\texorpdfstring{idad\_probe()}{idad\_probe()}}
{\footnotesize\ttfamily static int idad\+\_\+probe (\begin{DoxyParamCaption}\item[{device\+\_\+t}]{dev }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ida__disk_8c_source_l00165}{165}} of file \mbox{\hyperlink{ida__disk_8c_source}{ida\+\_\+disk.\+c}}.

\mbox{\Hypertarget{ida__disk_8c_a198895624c25951c881afd90e1742d74}\label{ida__disk_8c_a198895624c25951c881afd90e1742d74}} 
\index{ida\_disk.c@{ida\_disk.c}!idad\_strategy@{idad\_strategy}}
\index{idad\_strategy@{idad\_strategy}!ida\_disk.c@{ida\_disk.c}}
\doxysubsubsection{\texorpdfstring{idad\_strategy()}{idad\_strategy()}}
{\footnotesize\ttfamily static void idad\+\_\+strategy (\begin{DoxyParamCaption}\item[{struct bio $\ast$}]{bp }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ida__disk_8c_source_l00091}{91}} of file \mbox{\hyperlink{ida__disk_8c_source}{ida\+\_\+disk.\+c}}.



References \mbox{\hyperlink{idavar_8h_source_l00179}{idad\+\_\+softc\+::controller}}, \mbox{\hyperlink{idavar_8h_source_l00175}{DRV\+\_\+\+WRITEPROT}}, \mbox{\hyperlink{idavar_8h_source_l00188}{idad\+\_\+softc\+::flags}}, and \mbox{\hyperlink{ida_8c_source_l00486}{ida\+\_\+submit\+\_\+buf()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d9/daf/ida__disk_8c_a198895624c25951c881afd90e1742d74_cgraph}
\end{center}
\end{figure}


\doxysubsection{Variable Documentation}
\mbox{\Hypertarget{ida__disk_8c_a834d17933eab1933009145a5a5471bb8}\label{ida__disk_8c_a834d17933eab1933009145a5a5471bb8}} 
\index{ida\_disk.c@{ida\_disk.c}!idad\_devclass@{idad\_devclass}}
\index{idad\_devclass@{idad\_devclass}!ida\_disk.c@{ida\_disk.c}}
\doxysubsubsection{\texorpdfstring{idad\_devclass}{idad\_devclass}}
{\footnotesize\ttfamily devclass\+\_\+t idad\+\_\+devclass\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ida__disk_8c_source_l00067}{67}} of file \mbox{\hyperlink{ida__disk_8c_source}{ida\+\_\+disk.\+c}}.

\mbox{\Hypertarget{ida__disk_8c_a4fcc004f8c823660960a03d132a41d23}\label{ida__disk_8c_a4fcc004f8c823660960a03d132a41d23}} 
\index{ida\_disk.c@{ida\_disk.c}!idad\_driver@{idad\_driver}}
\index{idad\_driver@{idad\_driver}!ida\_disk.c@{ida\_disk.c}}
\doxysubsubsection{\texorpdfstring{idad\_driver}{idad\_driver}}
{\footnotesize\ttfamily driver\+\_\+t idad\+\_\+driver\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        \textcolor{stringliteral}{"{}idad"{}},}
\DoxyCodeLine{        \mbox{\hyperlink{ida__disk_8c_a853fd71eb7d4aba4c5c1c6902594f491}{idad\_methods}},}
\DoxyCodeLine{        \textcolor{keyword}{sizeof}(\textcolor{keyword}{struct }\mbox{\hyperlink{structidad__softc}{idad\_softc}})}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{ida__disk_8c_source_l00076}{76}} of file \mbox{\hyperlink{ida__disk_8c_source}{ida\+\_\+disk.\+c}}.

\mbox{\Hypertarget{ida__disk_8c_aef614818621223c562de38cfb9c6590a}\label{ida__disk_8c_aef614818621223c562de38cfb9c6590a}} 
\index{ida\_disk.c@{ida\_disk.c}!idad\_dump@{idad\_dump}}
\index{idad\_dump@{idad\_dump}!ida\_disk.c@{ida\_disk.c}}
\doxysubsubsection{\texorpdfstring{idad\_dump}{idad\_dump}}
{\footnotesize\ttfamily dumper\+\_\+t idad\+\_\+dump\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ida__disk_8c_source_l00065}{65}} of file \mbox{\hyperlink{ida__disk_8c_source}{ida\+\_\+disk.\+c}}.



Referenced by \mbox{\hyperlink{ida__disk_8c_source_l00173}{idad\+\_\+attach()}}.

\mbox{\Hypertarget{ida__disk_8c_a853fd71eb7d4aba4c5c1c6902594f491}\label{ida__disk_8c_a853fd71eb7d4aba4c5c1c6902594f491}} 
\index{ida\_disk.c@{ida\_disk.c}!idad\_methods@{idad\_methods}}
\index{idad\_methods@{idad\_methods}!ida\_disk.c@{ida\_disk.c}}
\doxysubsubsection{\texorpdfstring{idad\_methods}{idad\_methods}}
{\footnotesize\ttfamily device\+\_\+method\+\_\+t idad\+\_\+methods\mbox{[}$\,$\mbox{]}\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        DEVMETHOD(device\_probe,         \mbox{\hyperlink{ida__disk_8c_ab769b07cb5feb39515da8ddcaf3764c3}{idad\_probe}}),}
\DoxyCodeLine{        DEVMETHOD(device\_attach,        \mbox{\hyperlink{ida__disk_8c_a8e56080175288f4482992267f9262bb2}{idad\_attach}}),}
\DoxyCodeLine{        DEVMETHOD(device\_detach,        \mbox{\hyperlink{ida__disk_8c_a3e3cd45a9bbbd67019baee319c965b59}{idad\_detach}}),}
\DoxyCodeLine{        \{ 0, 0 \}}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{ida__disk_8c_source_l00069}{69}} of file \mbox{\hyperlink{ida__disk_8c_source}{ida\+\_\+disk.\+c}}.

\mbox{\Hypertarget{ida__disk_8c_a185d45fae176d8227b7159858cece609}\label{ida__disk_8c_a185d45fae176d8227b7159858cece609}} 
\index{ida\_disk.c@{ida\_disk.c}!idad\_strategy@{idad\_strategy}}
\index{idad\_strategy@{idad\_strategy}!ida\_disk.c@{ida\_disk.c}}
\doxysubsubsection{\texorpdfstring{idad\_strategy}{idad\_strategy}}
{\footnotesize\ttfamily d\+\_\+strategy\+\_\+t idad\+\_\+strategy\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ida__disk_8c_source_l00064}{64}} of file \mbox{\hyperlink{ida__disk_8c_source}{ida\+\_\+disk.\+c}}.



Referenced by \mbox{\hyperlink{ida__disk_8c_source_l00173}{idad\+\_\+attach()}}.

