diff --git a/en_US.ISO8859-1/books/faq/book.sgml b/en_US.ISO8859-1/books/faq/book.sgml index 3ff2e743bc..5fa89b2716 100644 --- a/en_US.ISO8859-1/books/faq/book.sgml +++ b/en_US.ISO8859-1/books/faq/book.sgml @@ -10551,7 +10551,7 @@ hint.sio.7.irq="12" - How are Plug N Play ISA cards detected and + How are Plug N Play ISA cards detected and initialized? @@ -10567,33 +10567,33 @@ hint.sio.7.irq="12" routine gets a wired-OR yes to that question. At least one bit will be on in that reply. Then the probe code is able to cause boards with board model IDs (assigned by - Microsoft/Intel) lower than X to go off-line. It + µsoft;/&intel;) lower than X to go off-line. It then looks to see if any boards are still responding to the query. If the answer was 0, then there are - no boards with IDs above X. Now probe asks if there are any - boards below X. If so, probe knows there are - boards with a model numbers below X. Probe then asks for boards - greater than X-(limit/4) to go off-line. If repeats the query. + no boards with IDs above X. Probe will then ask for + boards below X. + Finally, probe requests boards + greater than X - (limit / 4) to go off-line. It then repeats this query. By repeating this semi-binary search of IDs-in-range enough times, the probing code will eventually identify all PnP boards present in a given machine with a number of iterations that is - much lower than what 2^64 would take. + much lower than what 264 would take. - The IDs are two 32-bit fields (hence 2ˆ64) + 8 bit - checksum. The first 32 bits are a vendor identifier. They never + The IDs are two 32-bit fields (hence 264) + 8-bit + checksum. The first 32 bits are a vendor identifier. They never come out and say it, but it appears to be assumed that different types of boards from the same vendor could have - different 32-bit vendor ids. The idea of needing 32 bits just + different 32-bit vendor IDs. The idea of needing 32 bits just for unique manufacturers is a bit excessive. - The lower 32 bits are a serial #, Ethernet address, - something that makes this one board unique. The vendor must - never produce a second board that has the same lower 32 bits - unless the upper 32 bits are also different. So you can have - multiple boards of the same type in the machine and the full 64 - bits will still be unique. + The lower 32 bits are a serial #, or + something else that makes this one board unique. The vendor must + never produce a second board that has the same lower 32 bits + unless the upper 32 bits are also different. So you can have + multiple boards of the same type in the machine and the full + 64 bits will still be unique. - The 32 bit groups can never be all zero. This allows the + The 32 bit groups can never be all zero. This allows the wired-OR to show non-zero bits during the initial binary search. @@ -10620,11 +10620,11 @@ hint.sio.7.irq="12" There is a lot of oversimplification above, but you should get the general idea. - Microsoft took over some of the primary printer status + µsoft; took over some of the primary printer status ports to do PnP, on the logic that no boards decoded those addresses for the opposing I/O cycles. I found a genuine IBM printer board that did decode writes of the status port during - the early PnP proposal review period, but MS said + the early PnP proposal review period, but µsoft; said tough. So they do a write to the printer status port for setting addresses, plus that use that address + 0x800, and a third I/O port for reading that