View | Details | Raw Unified | Return to bug 252493 | Differences between
and this patch

Collapse All | Expand All

(-)b/en_US.ISO8859-1/articles/committers-guide/article.xml (-1 / +1 lines)
Lines 1280-1286 You need a Passphrase to protect your secret key.</screen> Link Here
1280
	<sect4>
1280
	<sect4>
1281
	  <title>Preparing the Merge Target</title>
1281
	  <title>Preparing the Merge Target</title>
1282
1282
1283
	  <para>Because of the mergeinfo propagation issues described
1283
	  <para>Due to the mergeinfo propagation issues described
1284
	    earlier, it is very important to never merge changes
1284
	    earlier, it is very important to never merge changes
1285
	    into a sparse working copy.  Always use a full
1285
	    into a sparse working copy.  Always use a full
1286
	    checkout of the branch being merged into.  For instance,
1286
	    checkout of the branch being merged into.  For instance,
(-)b/en_US.ISO8859-1/articles/contributors/contrib.develinmemoriam.xml (-1 / +1 lines)
Lines 33-39 Link Here
33
      thinking, the missing historical context, the ambiguous
33
      thinking, the missing historical context, the ambiguous
34
      standards - and the style(9) transgressions.</para>
34
      standards - and the style(9) transgressions.</para>
35
35
36
    <para>Because Bruce gave more code reviews than anybody else in
36
    <para>As Bruce gave more code reviews than anybody else in
37
      the history of the FreeBSD project, the commit logs hide the
37
      the history of the FreeBSD project, the commit logs hide the
38
      true scale of his impact until you pay attention to
38
      true scale of his impact until you pay attention to
39
      "Submitted by", "Reviewed by" and "Pointed out by".</para>
39
      "Submitted by", "Reviewed by" and "Pointed out by".</para>
(-)b/en_US.ISO8859-1/articles/ldap-auth/article.xml (-1 / +1 lines)
Lines 617-623 passwd: files ldap</programlisting> Link Here
617
617
618
      <para>Unfortunately, as of the time this was written &os; did
618
      <para>Unfortunately, as of the time this was written &os; did
619
	not support changing user passwords with &man.passwd.1;.
619
	not support changing user passwords with &man.passwd.1;.
620
	Because of this, most administrators are left to implement a
620
	As a result of this, most administrators are left to implement a
621
	solution themselves.  I provide some examples here.  Note that
621
	solution themselves.  I provide some examples here.  Note that
622
	if you write your own password change script, there are some
622
	if you write your own password change script, there are some
623
	security issues you should be made aware of; see <xref
623
	security issues you should be made aware of; see <xref
(-)b/en_US.ISO8859-1/articles/linux-emulation/article.xml (-4 / +4 lines)
Lines 403-409 Link Here
403
	    different API(es).  The M:N library uses the
403
	    different API(es).  The M:N library uses the
404
	    <literal>kse_*</literal> family of syscalls while the 1:1
404
	    <literal>kse_*</literal> family of syscalls while the 1:1
405
	    library uses the <literal>thr_*</literal> family of
405
	    library uses the <literal>thr_*</literal> family of
406
	    syscalls.  Because of this, there is no general concept of
406
	    syscalls.  Due to this, there is no general concept of
407
	    thread ID shared between kernel and userspace.  Of course,
407
	    thread ID shared between kernel and userspace.  Of course,
408
	    both threading libraries implement the pthread thread ID
408
	    both threading libraries implement the pthread thread ID
409
	    API.  Every kernel thread (as described by <literal>struct
409
	    API.  Every kernel thread (as described by <literal>struct
Lines 1683-1689 translate_traps(int signal, int trap_code) Link Here
1683
      <sect3 xml:id="pid-mangling">
1683
      <sect3 xml:id="pid-mangling">
1684
	<title>PID mangling</title>
1684
	<title>PID mangling</title>
1685
1685
1686
	<para>Because of the described different view knowing what a
1686
	<para>As there is a difference in view as what to the idea of a
1687
	  process ID and thread ID is between &os; and &linux; we have
1687
	  process ID and thread ID is between &os; and &linux; we have
1688
	  to translate the view somehow.  We do it by PID mangling.
1688
	  to translate the view somehow.  We do it by PID mangling.
1689
	  This means that we fake what a PID (=TGID) and TID (=PID) is
1689
	  This means that we fake what a PID (=TGID) and TID (=PID) is
Lines 1783-1789 void * child_tidptr);</programlisting> Link Here
1783
	  <literal>linux_emuldata_shared</literal>.  The
1783
	  <literal>linux_emuldata_shared</literal>.  The
1784
	  <literal>emul_lock</literal> is a nonsleepable blocking
1784
	  <literal>emul_lock</literal> is a nonsleepable blocking
1785
	  mutex while <literal>emul_shared_lock</literal> is a
1785
	  mutex while <literal>emul_shared_lock</literal> is a
1786
	  sleepable blocking <literal>sx_lock</literal>.  Because of
1786
	  sleepable blocking <literal>sx_lock</literal>.  Due to
1787
	  the per-subsystem locking we can coalesce some locks and
1787
	  the per-subsystem locking we can coalesce some locks and
1788
	  that is why the em find offers the non-locking
1788
	  that is why the em find offers the non-locking
1789
	  access.</para>
1789
	  access.</para>
Lines 1981-1987 void * child_tidptr);</programlisting> Link Here
1981
1981
1982
	<para>Threaded programs should be written with as little
1982
	<para>Threaded programs should be written with as little
1983
	  contention on locks as possible.  Otherwise, instead of
1983
	  contention on locks as possible.  Otherwise, instead of
1984
	  doing useful work the thread just waits on a lock.  Because
1984
	  doing useful work the thread just waits on a lock.  As a result
1985
	  of this, the most well written threaded programs show little
1985
	  of this, the most well written threaded programs show little
1986
	  locks contention.</para>
1986
	  locks contention.</para>
1987
      </sect3>
1987
      </sect3>
(-)b/en_US.ISO8859-1/articles/serial-uart/article.xml (-8 / +8 lines)
Lines 160-166 Link Here
160
	  for the new word can be sent as soon as the Stop Bit for the
160
	  for the new word can be sent as soon as the Stop Bit for the
161
	  previous word has been sent.</para>
161
	  previous word has been sent.</para>
162
162
163
	<para>Because asynchronous data is <quote>self
163
	<para>As asynchronous data is <quote>self
164
	  synchronizing</quote>, if there is no data to transmit, the
164
	  synchronizing</quote>, if there is no data to transmit, the
165
	  transmission line can be idle.</para>
165
	  transmission line can be idle.</para>
166
      </sect2>
166
      </sect2>
Lines 605-611 Link Here
605
	<title>Bits, Baud and Symbols</title>
605
	<title>Bits, Baud and Symbols</title>
606
606
607
	<para>Baud is a measurement of transmission speed in
607
	<para>Baud is a measurement of transmission speed in
608
	  asynchronous communication.  Because of advances in modem
608
	  asynchronous communication.  Due to advances in modem
609
	  communication technology, this term is frequently misused
609
	  communication technology, this term is frequently misused
610
	  when describing the data rates in newer devices.</para>
610
	  when describing the data rates in newer devices.</para>
611
611
Lines 676-682 Link Here
676
	  DCE speed because of the use of compression by the
676
	  DCE speed because of the use of compression by the
677
	  modems.</para>
677
	  modems.</para>
678
678
679
	<para>Because the number of bits needed to describe a byte
679
	<para>As the number of bits needed to describe a byte
680
	  varied during the trip between the two machines plus the
680
	  varied during the trip between the two machines plus the
681
	  differing bits-per-seconds speeds that are used present on
681
	  differing bits-per-seconds speeds that are used present on
682
	  the DTE-DCE and DCE-DCE links, the usage of the term Baud to
682
	  the DTE-DCE and DCE-DCE links, the usage of the term Baud to
Lines 769-775 Link Here
769
		  technology with various functional flaws
769
		  technology with various functional flaws
770
		  corrected. The INS8250A was used initially in PC
770
		  corrected. The INS8250A was used initially in PC
771
		  clone computers by vendors who used
771
		  clone computers by vendors who used
772
		  <quote>clean</quote> BIOS designs. Because of the
772
		  <quote>clean</quote> BIOS designs. Due to the
773
		  corrections in the chip, this part could not be used
773
		  corrections in the chip, this part could not be used
774
		  with a BIOS compatible with the INS8250 or
774
		  with a BIOS compatible with the INS8250 or
775
		  INS8250B.</para>
775
		  INS8250B.</para>
Lines 949-955 Link Here
949
	<para>In internal modems, the modem designer will frequently
949
	<para>In internal modems, the modem designer will frequently
950
	  emulate the 8250A/16450 with the modem microprocessor, and
950
	  emulate the 8250A/16450 with the modem microprocessor, and
951
	  the emulated UART will frequently have a hidden buffer
951
	  the emulated UART will frequently have a hidden buffer
952
	  consisting of several hundred bytes.  Because of the size of
952
	  consisting of several hundred bytes.  Due to the size of
953
	  the buffer, these emulations can be as reliable as a 16550A
953
	  the buffer, these emulations can be as reliable as a 16550A
954
	  in their ability to handle high speed data.  However, most
954
	  in their ability to handle high speed data.  However, most
955
	  operating systems will still report that the UART is only a
955
	  operating systems will still report that the UART is only a
Lines 971-977 Link Here
971
	<para>When the NS16550 was developed, the National
971
	<para>When the NS16550 was developed, the National
972
	  Semiconductor obtained several patents on the design and
972
	  Semiconductor obtained several patents on the design and
973
	  they also limited licensing, making it harder for other
973
	  they also limited licensing, making it harder for other
974
	  vendors to provide a chip with similar features.  Because of
974
	  vendors to provide a chip with similar features.  As a result of
975
	  the patents, reverse-engineered designs and emulations had
975
	  the patents, reverse-engineered designs and emulations had
976
	  to avoid infringing the claims covered by the patents.
976
	  to avoid infringing the claims covered by the patents.
977
	  Subsequently, these copies almost never perform exactly the
977
	  Subsequently, these copies almost never perform exactly the
Lines 1008-1014 Link Here
1008
	  TI, StarTech, and CMD as well as megacells and emulations
1008
	  TI, StarTech, and CMD as well as megacells and emulations
1009
	  embedded in internal modems were tested with COMTEST.  A
1009
	  embedded in internal modems were tested with COMTEST.  A
1010
	  difference count for some of these components is listed
1010
	  difference count for some of these components is listed
1011
	  below. Because these tests were performed in 1994, they may
1011
	  below. Since these tests were performed in 1994, they may
1012
	  not reflect the current performance of the given product
1012
	  not reflect the current performance of the given product
1013
	  from a vendor.</para>
1013
	  from a vendor.</para>
1014
1014
Lines 1954-1960 Link Here
1954
	    produce intelligent serial communication boards.  This type of
1954
	    produce intelligent serial communication boards.  This type of
1955
	    design usually provides a microprocessor that interfaces with
1955
	    design usually provides a microprocessor that interfaces with
1956
	    several UARTs, processes and buffers the data, and then alerts the
1956
	    several UARTs, processes and buffers the data, and then alerts the
1957
	    main PC processor when necessary.  Because the UARTs are not
1957
	    main PC processor when necessary.  As the UARTs are not
1958
	    directly accessed by the PC processor in this type of
1958
	    directly accessed by the PC processor in this type of
1959
	    communication system, it is not necessary for the vendor to use
1959
	    communication system, it is not necessary for the vendor to use
1960
	    UARTs that are compatible with the 8250, 16450, or the 16550 UART.
1960
	    UARTs that are compatible with the 8250, 16450, or the 16550 UART.
(-)b/en_US.ISO8859-1/articles/solid-state/article.xml (-5 / +5 lines)
Lines 136-142 Link Here
136
136
137
    <para>All embedded &os; systems that use flash memory as system
137
    <para>All embedded &os; systems that use flash memory as system
138
      disk will be interested in memory disks and memory filesystems.
138
      disk will be interested in memory disks and memory filesystems.
139
      Because of the limited number of writes that can be done to
139
      As a result of the limited number of writes that can be done to
140
      flash memory, the disk and the filesystems on the disk will most
140
      flash memory, the disk and the filesystems on the disk will most
141
      likely be mounted read-only.  In this environment, filesystems
141
      likely be mounted read-only.  In this environment, filesystems
142
      such as <filename>/tmp</filename> and <filename>/var</filename>
142
      such as <filename>/tmp</filename> and <filename>/var</filename>
Lines 223-238 pseudo-device md # memory disk</programlisting> Link Here
223
  <sect1>
223
  <sect1>
224
    <title>Building a File System from Scratch</title>
224
    <title>Building a File System from Scratch</title>
225
225
226
    <para>Because ATA compatible compact-flash cards are seen by &os;
226
    <para>As ATA compatible compact-flash cards are seen by &os;
227
      as normal IDE hard drives, you could theoretically install &os;
227
      as normal IDE hard drives, you could theoretically install &os;
228
      from the network using the kern and mfsroot floppies or from a
228
      from the network using the kern and mfsroot floppies or from a
229
      CD.</para>
229
      CD.</para>
230
230
231
    <para>However, even a small installation of &os; using normal
231
    <para>However, even a small installation of &os; using normal
232
      installation procedures can produce a system in size of greater
232
      installation procedures can produce a system in size of greater
233
      than 200 megabytes.  Because most people will be using smaller
233
      than 200 megabytes.  Most people will be using smaller
234
      flash memory devices (128 megabytes is considered fairly large -
234
      flash memory devices (128 megabytes is considered fairly large -
235
      32 or even 16 megabytes is common) an installation using normal
235
      32 or even 16 megabytes is common), so an installation using normal
236
      mechanisms is not possible&mdash;there is simply not enough disk
236
      mechanisms is not possible&mdash;there is simply not enough disk
237
      space for even the smallest of conventional
237
      space for even the smallest of conventional
238
      installations.</para>
238
      installations.</para>
Lines 423-429 pseudo-device md # memory disk</programlisting> Link Here
423
	successfully run <command>make</command>
423
	successfully run <command>make</command>
424
	<buildtarget>install</buildtarget>, we must create a packages
424
	<buildtarget>install</buildtarget>, we must create a packages
425
	directory on a non-memory filesystem that will keep track of
425
	directory on a non-memory filesystem that will keep track of
426
	our packages across reboots.  Because it is necessary to mount
426
	our packages across reboots.  As it is necessary to mount
427
	your filesystems as read-write for the installation of a
427
	your filesystems as read-write for the installation of a
428
	package anyway, it is sensible to assume that an area on the
428
	package anyway, it is sensible to assume that an area on the
429
	flash media can also be used for package information to be
429
	flash media can also be used for package information to be
(-)b/en_US.ISO8859-1/articles/vm-design/article.xml (-1 / +1 lines)
Lines 648-654 Link Here
648
	    cannot be combined with the next A-B sequence.</para>
648
	    cannot be combined with the next A-B sequence.</para>
649
649
650
	  <para>Why do we interleave our swap space instead of just tack swap
650
	  <para>Why do we interleave our swap space instead of just tack swap
651
	    areas onto the end and do something fancier?  Because it is a whole
651
	    areas onto the end and do something fancier?  It is a whole
652
	    lot easier to allocate linear swaths of an address space and have
652
	    lot easier to allocate linear swaths of an address space and have
653
	    the result automatically be interleaved across multiple disks than
653
	    the result automatically be interleaved across multiple disks than
654
	    it is to try to put that sophistication elsewhere.</para>
654
	    it is to try to put that sophistication elsewhere.</para>
(-)b/en_US.ISO8859-1/books/arch-handbook/boot/chapter.xml (-4 / +4 lines)
Lines 404-410 FreeBSD clang version 3.3 (tags/RELEASE_33/final 183502) 20130610</screen></entr Link Here
404
      jmp main-0x7c00+0x600	# Jump to relocated code</programlisting>
404
      jmp main-0x7c00+0x600	# Jump to relocated code</programlisting>
405
    </figure>
405
    </figure>
406
406
407
    <para>Because <filename>boot0</filename> is loaded by the
407
    <para>As <filename>boot0</filename> is loaded by the
408
      <acronym>BIOS</acronym> to address <literal>0x7C00</literal>, it
408
      <acronym>BIOS</acronym> to address <literal>0x7C00</literal>, it
409
      copies itself to address <literal>0x600</literal> and then
409
      copies itself to address <literal>0x600</literal> and then
410
      transfers control there (recall that it was linked to execute at
410
      transfers control there (recall that it was linked to execute at
Lines 1021-1027 main.3: Link Here
1021
      bytes of <filename>boot</filename> and, because
1021
      bytes of <filename>boot</filename> and, because
1022
      <filename>boot</filename> is written to the first sector of the
1022
      <filename>boot</filename> is written to the first sector of the
1023
      &os; slice, <filename>boot1</filename> fits exactly in this
1023
      &os; slice, <filename>boot1</filename> fits exactly in this
1024
      first sector.  Because <literal>nread</literal> reads the first
1024
      first sector.  When <literal>nread</literal> reads the first
1025
      16 sectors of the &os; slice, it effectively reads the entire
1025
      16 sectors of the &os; slice, it effectively reads the entire
1026
      <filename>boot</filename> file
1026
      <filename>boot</filename> file
1027
      <footnote>
1027
      <footnote>
Lines 1440-1446 init: cli # Disable interrupts Link Here
1440
      flags in the EFLAGS register.  Note that the
1440
      flags in the EFLAGS register.  Note that the
1441
      <literal>popfl</literal> instruction pops out a doubleword (4
1441
      <literal>popfl</literal> instruction pops out a doubleword (4
1442
      bytes) from the stack and places it in the EFLAGS register.
1442
      bytes) from the stack and places it in the EFLAGS register.
1443
      Because the value actually popped is <literal>2</literal>, the
1443
      As the value actually popped is <literal>2</literal>, the
1444
      EFLAGS register is effectively cleared (IA-32 requires that bit
1444
      EFLAGS register is effectively cleared (IA-32 requires that bit
1445
      2 of the EFLAGS register always be 1).</para>
1445
      2 of the EFLAGS register always be 1).</para>
1446
1446
Lines 1583-1589 init.3: lea 0x8(%di),%di # Next entry Link Here
1583
      abstraction.  The IA-32 architecture demands the creation and
1583
      abstraction.  The IA-32 architecture demands the creation and
1584
      use of <emphasis>at least</emphasis> one <acronym>TSS</acronym>
1584
      use of <emphasis>at least</emphasis> one <acronym>TSS</acronym>
1585
      if multitasking facilities are used or different privilege
1585
      if multitasking facilities are used or different privilege
1586
      levels are defined.  Because the <filename>boot2</filename>
1586
      levels are defined.  Since the <filename>boot2</filename>
1587
      client is executed in privilege level 3, but the
1587
      client is executed in privilege level 3, but the
1588
      <acronym>BTX</acronym> server does in privilege level 0, a
1588
      <acronym>BTX</acronym> server does in privilege level 0, a
1589
      <acronym>TSS</acronym> must be defined:</para>
1589
      <acronym>TSS</acronym> must be defined:</para>
(-)b/en_US.ISO8859-1/books/arch-handbook/driverbasics/chapter.xml (-2 / +2 lines)
Lines 397-406 Closing device "echo".</screen> Link Here
397
    <para>For this reason, no serious applications rely on block
397
    <para>For this reason, no serious applications rely on block
398
      devices, and in fact, almost all applications which access
398
      devices, and in fact, almost all applications which access
399
      disks directly take great pains to specify that character
399
      disks directly take great pains to specify that character
400
      (or <quote>raw</quote>) devices should always be used.  Because
400
      (or <quote>raw</quote>) devices should always be used.  As
401
      the implementation of the aliasing of each disk (partition) to
401
      the implementation of the aliasing of each disk (partition) to
402
      two devices with different semantics significantly complicated
402
      two devices with different semantics significantly complicated
403
      the relevant kernel code &os; dropped support for cached disk
403
      the relevant kernel code, &os; dropped support for cached disk
404
      devices as part of the modernization of the disk I/O
404
      devices as part of the modernization of the disk I/O
405
      infrastructure.</para>
405
      infrastructure.</para>
406
  </sect1>
406
  </sect1>
(-)b/en_US.ISO8859-1/books/arch-handbook/isa/chapter.xml (-5 / +5 lines)
Lines 375-381 Link Here
375
        with PnP. This feature is not implemented in any existing
375
        with PnP. This feature is not implemented in any existing
376
        driver and is not considered further in this document.</para>
376
        driver and is not considered further in this document.</para>
377
377
378
      <para>Because the PnP devices are disabled when probing the
378
      <para>As the PnP devices are disabled when probing the
379
        legacy devices they will not be attached twice (once as legacy
379
        legacy devices they will not be attached twice (once as legacy
380
        and once as PnP).  But in case of device-dependent identify
380
        and once as PnP).  But in case of device-dependent identify
381
        routines it is the responsibility of the driver to make sure
381
        routines it is the responsibility of the driver to make sure
Lines 1019-1025 Link Here
1019
              Free the memory allocated by
1019
              Free the memory allocated by
1020
              <function>bus_dmamem_alloc()</function>. At present,
1020
              <function>bus_dmamem_alloc()</function>. At present,
1021
              freeing of the memory allocated with ISA restrictions is
1021
              freeing of the memory allocated with ISA restrictions is
1022
              not implemented.  Because of this the recommended model
1022
              not implemented.  Due to this the recommended model
1023
              of use is to keep and re-use the allocated areas for as
1023
              of use is to keep and re-use the allocated areas for as
1024
              long as possible. Do not lightly free some area and then
1024
              long as possible. Do not lightly free some area and then
1025
              shortly allocate it again. That does not mean that
1025
              shortly allocate it again. That does not mean that
Lines 1322-1332 Link Here
1322
          Before calling the callback function from
1322
          Before calling the callback function from
1323
          <function>bus_dmamap_load()</function> the segment array is
1323
          <function>bus_dmamap_load()</function> the segment array is
1324
          stored in the stack. And it gets pre-allocated for the
1324
          stored in the stack. And it gets pre-allocated for the
1325
          maximal number of segments allowed by the tag. Because of
1325
          maximal number of segments allowed by the tag. As a result of
1326
          this the practical limit for the number of segments on i386
1326
          this the practical limit for the number of segments on i386
1327
          architecture is about 250-300 (the kernel stack is 4KB minus
1327
          architecture is about 250-300 (the kernel stack is 4KB minus
1328
          the size of the user structure, size of a segment array
1328
          the size of the user structure, size of a segment array
1329
          entry is 8 bytes, and some space must be left). Because the
1329
          entry is 8 bytes, and some space must be left). Since the
1330
          array is allocated based on the maximal number this value
1330
          array is allocated based on the maximal number this value
1331
          must not be set higher than really needed. Fortunately, for
1331
          must not be set higher than really needed. Fortunately, for
1332
          most of hardware the maximal supported number of segments is
1332
          most of hardware the maximal supported number of segments is
Lines 2192-2198 Link Here
2192
          int error = 0;</programlisting>
2192
          int error = 0;</programlisting>
2193
2193
2194
        <para>Then allocate and activate all the necessary
2194
        <para>Then allocate and activate all the necessary
2195
          resources. Because normally the port range will be released
2195
          resources. As normally the port range will be released
2196
          before returning from probe, it has to be allocated
2196
          before returning from probe, it has to be allocated
2197
          again. We expect that the probe routine had properly set all
2197
          again. We expect that the probe routine had properly set all
2198
          the resource ranges, as well as saved them in the structure
2198
          the resource ranges, as well as saved them in the structure
(-)b/en_US.ISO8859-1/books/arch-handbook/pccard/chapter.xml (-1 / +1 lines)
Lines 52-58 Link Here
52
      <indexterm><primary>Linksys</primary></indexterm>
52
      <indexterm><primary>Linksys</primary></indexterm>
53
      <indexterm><primary>D-Link</primary></indexterm>
53
      <indexterm><primary>D-Link</primary></indexterm>
54
54
55
      <para>Because of this practice, FreeBSD drivers usually rely on
55
      <para>Due to this practice, FreeBSD drivers usually rely on
56
	numeric IDs for device identification.  Using numeric IDs and
56
	numeric IDs for device identification.  Using numeric IDs and
57
	a centralized database complicates adding IDs and support for
57
	a centralized database complicates adding IDs and support for
58
	cards to the system.  One must carefully check to see who
58
	cards to the system.  One must carefully check to see who
(-)b/en_US.ISO8859-1/books/arch-handbook/scsi/chapter.xml (-4 / +4 lines)
Lines 103-109 Link Here
103
      then also converting the SCSI commands to the native commands of
103
      then also converting the SCSI commands to the native commands of
104
      the hardware).</para>
104
      the hardware).</para>
105
105
106
    <para>Because we are interested in writing a SCSI adapter driver
106
    <para>As we are interested in writing a SCSI adapter driver
107
      here, from this point on we will consider everything from the
107
      here, from this point on we will consider everything from the
108
      SIM standpoint.</para>
108
      SIM standpoint.</para>
109
109
Lines 1076-1082 Link Here
1076
	  the timeout to make sure that the target is not sleeping
1076
	  the timeout to make sure that the target is not sleeping
1077
	  forever.  If the command would not get aborted in some
1077
	  forever.  If the command would not get aborted in some
1078
	  reasonable time like 10 seconds the timeout routine would go
1078
	  reasonable time like 10 seconds the timeout routine would go
1079
	  ahead and reset the whole SCSI bus.  Because the command
1079
	  ahead and reset the whole SCSI bus.  Since the command
1080
	  will be aborted in some reasonable time we can just return
1080
	  will be aborted in some reasonable time we can just return
1081
	  the abort request now as successfully completed, and mark
1081
	  the abort request now as successfully completed, and mark
1082
	  the aborted CCB as aborted (but not mark it as done
1082
	  the aborted CCB as aborted (but not mark it as done
Lines 1116-1122 Link Here
1116
    return;</programlisting>
1116
    return;</programlisting>
1117
1117
1118
	<para>That is all for the ABORT request, although there is one
1118
	<para>That is all for the ABORT request, although there is one
1119
	  more issue.  Because the ABORT message cleans all the
1119
	  more issue.  As the ABORT message cleans all the
1120
	  ongoing transactions on a LUN we have to mark all the other
1120
	  ongoing transactions on a LUN we have to mark all the other
1121
	  active transactions on this LUN as aborted.  That should be
1121
	  active transactions on this LUN as aborted.  That should be
1122
	  done in the interrupt routine, after the transaction gets
1122
	  done in the interrupt routine, after the transaction gets
Lines 1634-1640 Link Here
1634
      routine (or the other way around, the poll routine may be doing
1634
      routine (or the other way around, the poll routine may be doing
1635
      the real action and the interrupt routine would just call the
1635
      the real action and the interrupt routine would just call the
1636
      poll routine).  Why bother about a separate function then?
1636
      poll routine).  Why bother about a separate function then?
1637
      Because of different calling conventions.  The
1637
      Due to different calling conventions.  The
1638
      <function>xxx_poll</function> routine gets the struct cam_sim
1638
      <function>xxx_poll</function> routine gets the struct cam_sim
1639
      pointer as its argument when the PCI interrupt routine by common
1639
      pointer as its argument when the PCI interrupt routine by common
1640
      convention gets pointer to the struct
1640
      convention gets pointer to the struct
(-)b/en_US.ISO8859-1/books/arch-handbook/usb/chapter.xml (-1 / +1 lines)
Lines 668-674 This part is unclear, is it an unformatted code example? Link Here
668
668
669
    <para>Example: Firmware download Many devices that have been
669
    <para>Example: Firmware download Many devices that have been
670
      developed are based on a general purpose processor with an
670
      developed are based on a general purpose processor with an
671
      additional USB core added to it.  Because the development of
671
      additional USB core added to it.  Since the development of
672
      drivers and firmware for USB devices is still very new, many
672
      drivers and firmware for USB devices is still very new, many
673
      devices require the downloading of the firmware after they have
673
      devices require the downloading of the firmware after they have
674
      been connected.</para>
674
      been connected.</para>

Return to bug 252493