* First pass at indexing.

* Add missing <literal> tag.
This commit is contained in:
Murray Stokely 2005-05-05 00:08:49 +00:00
parent 19e42de8a3
commit 0ccafc87cb
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=24454
3 changed files with 29 additions and 1 deletions

View file

@ -49,6 +49,9 @@
<title>Device Drivers</title> <title>Device Drivers</title>
<sect2> <sect2>
<title>Purpose of a Device Driver</title> <title>Purpose of a Device Driver</title>
<indexterm><primary>device driver</primary></indexterm>
<indexterm><primary>device driver</primary><secondary>introduction</secondary></indexterm>
<para>A device driver is a software component which provides the <para>A device driver is a software component which provides the
interface between the kernel's generic view of a peripheral interface between the kernel's generic view of a peripheral
(e.g. disk, network adapter) and the actual implementation of the (e.g. disk, network adapter) and the actual implementation of the
@ -69,6 +72,8 @@
<listitem><para>pseudo-device drivers</para></listitem> <listitem><para>pseudo-device drivers</para></listitem>
</itemizedlist> </itemizedlist>
<indexterm><primary>block devices</primary></indexterm>
<para><emphasis>Block devices</emphasis> performed in way that used <para><emphasis>Block devices</emphasis> performed in way that used
fixed size blocks [of data]. This type of driver depended on the fixed size blocks [of data]. This type of driver depended on the
so called <emphasis>buffer cache</emphasis>, which had the purpose so called <emphasis>buffer cache</emphasis>, which had the purpose
@ -80,6 +85,9 @@
<sect2> <sect2>
<title>Character devices</title> <title>Character devices</title>
<indexterm><primary>character devices</primary></indexterm>
<para>However, in the versions of FreeBSD 4.0 and onward the <para>However, in the versions of FreeBSD 4.0 and onward the
distinction between block and character devices became non-existent. distinction between block and character devices became non-existent.
</para> </para>
@ -92,6 +100,9 @@
Newbus, Busspace and the Resource Manager, an Explanation of the Possibilities Newbus, Busspace and the Resource Manager, an Explanation of the Possibilities
--> -->
<title>Overview of Newbus</title> <title>Overview of Newbus</title>
<indexterm><primary>Newbus</primary></indexterm>
<para><emphasis>Newbus</emphasis> is the implementation of a new bus <para><emphasis>Newbus</emphasis> is the implementation of a new bus
architecture based on abstraction layers which saw its introduction in architecture based on abstraction layers which saw its introduction in
FreeBSD 3.0 when the Alpha port was imported into the source tree. It was FreeBSD 3.0 when the Alpha port was imported into the source tree. It was

View file

@ -7,6 +7,9 @@
<chapter id="pccard"> <chapter id="pccard">
<title>PC Card</title> <title>PC Card</title>
<indexterm><primary>PC Card</primary></indexterm>
<indexterm><primary>CardBus</primary></indexterm>
<para>This chapter will talk about the FreeBSD mechanisms for <para>This chapter will talk about the FreeBSD mechanisms for
writing a device driver for a PC Card or CardBus device. However, writing a device driver for a PC Card or CardBus device. However,
at the present time, it just documents how to add a driver to an at the present time, it just documents how to add a driver to an
@ -26,6 +29,7 @@
<sect2 id="pccard-overview"> <sect2 id="pccard-overview">
<title>Overview</title> <title>Overview</title>
<indexterm><primary>CIS</primary></indexterm>
<para>PC Cards are identified in one of two ways, both based on <para>PC Cards are identified in one of two ways, both based on
information in the <acronym>CIS</acronym> of the card. The information in the <acronym>CIS</acronym> of the card. The
first method is to use numeric manufacturer and product first method is to use numeric manufacturer and product
@ -47,6 +51,10 @@
strings in the CIS space, but leave the manufacturer and strings in the CIS space, but leave the manufacturer and
product ids unchanged.</para> product ids unchanged.</para>
<indexterm><primary>NetGear</primary></indexterm>
<indexterm><primary>Linksys</primary></indexterm>
<indexterm><primary>D-Link</primary></indexterm>
<para>Because of the above practice, it is a smaller work load <para>Because of the above practice, it is a smaller work load
for FreeBSD to use the numeric IDs. It also introduces some for FreeBSD to use the numeric IDs. It also introduces some
minor complications into the process of adding IDs to the minor complications into the process of adding IDs to the
@ -195,6 +203,8 @@ product ALLIEDTELESIS WR211PCM { "Allied&amp;spTelesis&amp;spK.K.", "WR211PCM",
<sect2 id="pccard-probe"> <sect2 id="pccard-probe">
<title>Sample probe routine</title> <title>Sample probe routine</title>
<indexterm><primary>PC Card</primary><secondary>probe</secondary></indexterm>
<para>To understand how to add a device to the list of supported <para>To understand how to add a device to the list of supported
devices, one must understand the probe and/or match routines devices, one must understand the probe and/or match routines
that many drivers have. It is complicated a little in FreeBSD that many drivers have. It is complicated a little in FreeBSD

View file

@ -21,6 +21,8 @@
<sect1 id="oss-intro"> <sect1 id="oss-intro">
<title>Introduction</title> <title>Introduction</title>
<indexterm><primary>sound subsystem</primary></indexterm>
<para>The FreeBSD sound subsystem cleanly separates generic sound <para>The FreeBSD sound subsystem cleanly separates generic sound
handling issues from device-specific ones. This makes it easier handling issues from device-specific ones. This makes it easier
to add support for new hardware.</para> to add support for new hardware.</para>
@ -28,6 +30,8 @@
<para>The &man.pcm.4; framework is the central piece of the sound <para>The &man.pcm.4; framework is the central piece of the sound
subsystem. It mainly implements the following elements:</para> subsystem. It mainly implements the following elements:</para>
<indexterm><primary>system call interface</primary></indexterm>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para>A system call interface (read, write, ioctls) to <para>A system call interface (read, write, ioctls) to
@ -117,6 +121,7 @@
DRIVER_MODULE(snd_xxxpci, pci, xxx_driver, pcm_devclass, 0, 0); DRIVER_MODULE(snd_xxxpci, pci, xxx_driver, pcm_devclass, 0, 0);
MODULE_DEPEND(snd_xxxpci, snd_pcm, PCM_MINVER, PCM_PREFVER,PCM_MAXVER);</programlisting> MODULE_DEPEND(snd_xxxpci, snd_pcm, PCM_MINVER, PCM_PREFVER,PCM_MAXVER);</programlisting>
<indexterm><primary>device drivers</primary><secondary>sound</secondary></indexterm>
<para>Most sound drivers need to store additional private <para>Most sound drivers need to store additional private
information about their device. A private data structure is information about their device. A private data structure is
usually allocated in the attach routine. Its address is usually allocated in the attach routine. Its address is
@ -587,7 +592,7 @@
<calloutlist> <calloutlist>
<callout arearefs="co-mxset-params"> <callout arearefs="co-mxset-params">
<para>The device is specified as a SOUND_MIXER_XXX <para>The device is specified as a <literal>SOUND_MIXER_XXX</literal>
value</para> <para>The volume values are specified in value</para> <para>The volume values are specified in
range [0-100]. A value of zero should mute the range [0-100]. A value of zero should mute the
device.</para> device.</para>
@ -652,6 +657,8 @@
<sect2> <sect2>
<title>The AC97 interface</title> <title>The AC97 interface</title>
<indexterm><primary>AC97</primary></indexterm>
<para>The <emphasis>AC97</emphasis> interface is implemented <para>The <emphasis>AC97</emphasis> interface is implemented
by drivers with an AC97 codec. It only has three methods:</para> by drivers with an AC97 codec. It only has three methods:</para>