aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2006-12-05 12:01:28 -0500
committerDavid Howells <dhowells@warthog.cambridge.redhat.com>2006-12-05 12:01:28 -0500
commit9db73724453a9350e1c22dbe732d427e2939a5c9 (patch)
tree15e3ead6413ae97398a54292acc199bee0864d42 /Documentation
parent4c1ac1b49122b805adfa4efc620592f68dccf5db (diff)
parente62438630ca37539c8cc1553710bbfaa3cf960a7 (diff)
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
Conflicts: drivers/ata/libata-scsi.c include/linux/libata.h Futher merge of Linus's head and compilation fixups. Signed-Off-By: David Howells <dhowells@redhat.com>
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/powerpc/booting-without-of.txt39
-rw-r--r--Documentation/powerpc/mpc52xx-device-tree-bindings.txt189
-rw-r--r--Documentation/s390/CommonIO4
-rw-r--r--Documentation/s390/Debugging390.txt38
-rw-r--r--Documentation/s390/cds.txt12
-rw-r--r--Documentation/s390/crypto/crypto-API.txt6
-rw-r--r--Documentation/s390/s390dbf.txt8
7 files changed, 262 insertions, 34 deletions
diff --git a/Documentation/powerpc/booting-without-of.txt b/Documentation/powerpc/booting-without-of.txt
index 4ac2d641fcb6..b3bd36668db3 100644
--- a/Documentation/powerpc/booting-without-of.txt
+++ b/Documentation/powerpc/booting-without-of.txt
@@ -6,6 +6,8 @@
6 IBM Corp. 6 IBM Corp.
7(c) 2005 Becky Bruce <becky.bruce at freescale.com>, 7(c) 2005 Becky Bruce <becky.bruce at freescale.com>,
8 Freescale Semiconductor, FSL SOC and 32-bit additions 8 Freescale Semiconductor, FSL SOC and 32-bit additions
9(c) 2006 MontaVista Software, Inc.
10 Flash chip node definition
9 11
10 May 18, 2005: Rev 0.1 - Initial draft, no chapter III yet. 12 May 18, 2005: Rev 0.1 - Initial draft, no chapter III yet.
11 13
@@ -1693,6 +1695,43 @@ platforms are moved over to use the flattened-device-tree model.
1693 }; 1695 };
1694 }; 1696 };
1695 1697
1698 g) Flash chip nodes
1699
1700 Flash chips (Memory Technology Devices) are often used for solid state
1701 file systems on embedded devices.
1702
1703 Required properties:
1704
1705 - device_type : has to be "rom"
1706 - compatible : Should specify what this ROM device is compatible with
1707 (i.e. "onenand"). Currently, this is most likely to be "direct-mapped"
1708 (which corresponds to the MTD physmap mapping driver).
1709 - regs : Offset and length of the register set (or memory mapping) for
1710 the device.
1711
1712 Recommended properties :
1713
1714 - bank-width : Width of the flash data bus in bytes. Required
1715 for the NOR flashes (compatible == "direct-mapped" and others) ONLY.
1716 - partitions : Several pairs of 32-bit values where the first value is
1717 partition's offset from the start of the device and the second one is
1718 partition size in bytes with LSB used to signify a read only
1719 partititon (so, the parition size should always be an even number).
1720 - partition-names : The list of concatenated zero terminated strings
1721 representing the partition names.
1722
1723 Example:
1724
1725 flash@ff000000 {
1726 device_type = "rom";
1727 compatible = "direct-mapped";
1728 regs = <ff000000 01000000>;
1729 bank-width = <4>;
1730 partitions = <00000000 00f80000
1731 00f80000 00080001>;
1732 partition-names = "fs\0firmware";
1733 };
1734
1696 More devices will be defined as this spec matures. 1735 More devices will be defined as this spec matures.
1697 1736
1698 1737
diff --git a/Documentation/powerpc/mpc52xx-device-tree-bindings.txt b/Documentation/powerpc/mpc52xx-device-tree-bindings.txt
new file mode 100644
index 000000000000..d077d764f82b
--- /dev/null
+++ b/Documentation/powerpc/mpc52xx-device-tree-bindings.txt
@@ -0,0 +1,189 @@
1MPC52xx Device Tree Bindings
2----------------------------
3
4(c) 2006 Secret Lab Technologies Ltd
5Grant Likely <grant.likely at secretlab.ca>
6
7I - Introduction
8================
9Boards supported by the arch/powerpc architecture require device tree be
10passed by the boot loader to the kernel at boot time. The device tree
11describes what devices are present on the board and how they are
12connected. The device tree can either be passed as a binary blob (as
13described in Documentation/powerpc/booting-without-of.txt), or passed
14by Open Firmare (IEEE 1275) compatible firmware using an OF compatible
15client interface API.
16
17This document specifies the requirements on the device-tree for mpc52xx
18based boards. These requirements are above and beyond the details
19specified in either the OpenFirmware spec or booting-without-of.txt
20
21All new mpc52xx-based boards are expected to match this document. In
22cases where this document is not sufficient to support a new board port,
23this document should be updated as part of adding the new board support.
24
25II - Philosophy
26===============
27The core of this document is naming convention. The whole point of
28defining this convention is to reduce or eliminate the number of
29special cases required to support a 52xx board. If all 52xx boards
30follow the same convention, then generic 52xx support code will work
31rather than coding special cases for each new board.
32
33This section tries to capture the thought process behind why the naming
34convention is what it is.
35
361. Node names
37-------------
38There is strong convention/requirements already established for children
39of the root node. 'cpus' describes the processor cores, 'memory'
40describes memory, and 'chosen' provides boot configuration. Other nodes
41are added to describe devices attached to the processor local bus.
42Following convention already established with other system-on-chip
43processors, MPC52xx boards must have an 'soc5200' node as a child of the
44root node.
45
46The soc5200 node holds child nodes for all on chip devices. Child nodes
47are typically named after the configured function. ie. the FEC node is
48named 'ethernet', and a PSC in uart mode is named 'serial'.
49
502. device_type property
51-----------------------
52similar to the node name convention above; the device_type reflects the
53configured function of a device. ie. 'serial' for a uart and 'spi' for
54an spi controller. However, while node names *should* reflect the
55configured function, device_type *must* match the configured function
56exactly.
57
583. compatible property
59----------------------
60Since device_type isn't enough to match devices to drivers, there also
61needs to be a naming convention for the compatible property. Compatible
62is an list of device descriptions sorted from specific to generic. For
63the mpc52xx, the required format for each compatible value is
64<chip>-<device>[-<mode>]. At the minimum, the list shall contain two
65items; the first specifying the exact chip, and the second specifying
66mpc52xx for the chip.
67
68ie. ethernet on mpc5200b: compatible = "mpc5200b-ethernet\0mpc52xx-ethernet"
69
70The idea here is that most drivers will match to the most generic field
71in the compatible list (mpc52xx-*), but can also test the more specific
72field for enabling bug fixes or extra features.
73
74Modal devices, like PSCs, also append the configured function to the
75end of the compatible field. ie. A PSC in i2s mode would specify
76"mpc52xx-psc-i2s", not "mpc52xx-i2s". This convention is chosen to
77avoid naming conflicts with non-psc devices providing the same
78function. For example, "mpc52xx-spi" and "mpc52xx-psc-spi" describe
79the mpc5200 simple spi device and a PSC spi mode respectively.
80
81If the soc device is more generic and present on other SOCs, the
82compatible property can specify the more generic device type also.
83
84ie. mscan: compatible = "mpc5200-mscan\0mpc52xx-mscan\0fsl,mscan";
85
86At the time of writing, exact chip may be either 'mpc5200' or
87'mpc5200b'.
88
89Device drivers should always try to match as generically as possible.
90
91III - Structure
92===============
93The device tree for an mpc52xx board follows the structure defined in
94booting-without-of.txt with the following additional notes:
95
960) the root node
97----------------
98Typical root description node; see booting-without-of
99
1001) The cpus node
101----------------
102The cpus node follows the basic layout described in booting-without-of.
103The bus-frequency property holds the XLB bus frequency
104The clock-frequency property holds the core frequency
105
1062) The memory node
107------------------
108Typical memory description node; see booting-without-of.
109
1103) The soc5200 node
111-------------------
112This node describes the on chip SOC peripherals. Every mpc52xx based
113board will have this node, and as such there is a common naming
114convention for SOC devices.
115
116Required properties:
117name type description
118---- ---- -----------
119device_type string must be "soc"
120ranges int should be <0 baseaddr baseaddr+10000>
121reg int must be <baseaddr 10000>
122
123Recommended properties:
124name type description
125---- ---- -----------
126compatible string should be "<chip>-soc\0mpc52xx-soc"
127 ie. "mpc5200b-soc\0mpc52xx-soc"
128#interrupt-cells int must be <3>. If it is not defined
129 here then it must be defined in every
130 soc device node.
131bus-frequency int IPB bus frequency in HZ. Clock rate
132 used by most of the soc devices.
133 Defining it here avoids needing it
134 added to every device node.
135
1364) soc5200 child nodes
137----------------------
138Any on chip SOC devices available to Linux must appear as soc5200 child nodes.
139
140Note: in the tables below, '*' matches all <chip> values. ie.
141*-pic would translate to "mpc5200-pic\0mpc52xx-pic"
142
143Required soc5200 child nodes:
144name device_type compatible Description
145---- ----------- ---------- -----------
146cdm@<addr> cdm *-cmd Clock Distribution
147pic@<addr> interrupt-controller *-pic need an interrupt
148 controller to boot
149bestcomm@<addr> dma-controller *-bestcomm 52xx pic also requires
150 the bestcomm device
151
152Recommended soc5200 child nodes; populate as needed for your board
153name device_type compatible Description
154---- ----------- ---------- -----------
155gpt@<addr> gpt *-gpt General purpose timers
156rtc@<addr> rtc *-rtc Real time clock
157mscan@<addr> mscan *-mscan CAN bus controller
158pci@<addr> pci *-pci PCI bridge
159serial@<addr> serial *-psc-uart PSC in serial mode
160i2s@<addr> i2s *-psc-i2s PSC in i2s mode
161ac97@<addr> ac97 *-psc-ac97 PSC in ac97 mode
162spi@<addr> spi *-psc-spi PSC in spi mode
163irda@<addr> irda *-psc-irda PSC in IrDA mode
164spi@<addr> spi *-spi MPC52xx spi device
165ethernet@<addr> network *-fec MPC52xx ethernet device
166ata@<addr> ata *-ata IDE ATA interface
167i2c@<addr> i2c *-i2c I2C controller
168usb@<addr> usb-ohci-be *-ohci,ohci-be USB controller
169xlb@<addr> xlb *-xlb XLB arbritrator
170
171IV - Extra Notes
172================
173
1741. Interrupt mapping
175--------------------
176The mpc52xx pic driver splits hardware IRQ numbers into two levels. The
177split reflects the layout of the PIC hardware itself, which groups
178interrupts into one of three groups; CRIT, MAIN or PERP. Also, the
179Bestcomm dma engine has it's own set of interrupt sources which are
180cascaded off of peripheral interrupt 0, which the driver interprets as a
181fourth group, SDMA.
182
183The interrupts property for device nodes using the mpc52xx pic consists
184of three cells; <L1 L2 level>
185
186 L1 := [CRIT=0, MAIN=1, PERP=2, SDMA=3]
187 L2 := interrupt number; directly mapped from the value in the
188 "ICTL PerStat, MainStat, CritStat Encoded Register"
189 level := [LEVEL_HIGH=0, EDGE_RISING=1, EDGE_FALLING=2, LEVEL_LOW=3]
diff --git a/Documentation/s390/CommonIO b/Documentation/s390/CommonIO
index d684a6ac69a8..22f82f21bc60 100644
--- a/Documentation/s390/CommonIO
+++ b/Documentation/s390/CommonIO
@@ -74,7 +74,7 @@ Command line parameters
74 74
75 Note: While already known devices can be added to the list of devices to be 75 Note: While already known devices can be added to the list of devices to be
76 ignored, there will be no effect on then. However, if such a device 76 ignored, there will be no effect on then. However, if such a device
77 disappears and then reappeares, it will then be ignored. 77 disappears and then reappears, it will then be ignored.
78 78
79 For example, 79 For example,
80 "echo add 0.0.a000-0.0.accc, 0.0.af00-0.0.afff > /proc/cio_ignore" 80 "echo add 0.0.a000-0.0.accc, 0.0.af00-0.0.afff > /proc/cio_ignore"
@@ -82,7 +82,7 @@ Command line parameters
82 devices. 82 devices.
83 83
84 The devices can be specified either by bus id (0.0.abcd) or, for 2.4 backward 84 The devices can be specified either by bus id (0.0.abcd) or, for 2.4 backward
85 compatibilty, by the device number in hexadecimal (0xabcd or abcd). 85 compatibility, by the device number in hexadecimal (0xabcd or abcd).
86 86
87 87
88* /proc/s390dbf/cio_*/ (S/390 debug feature) 88* /proc/s390dbf/cio_*/ (S/390 debug feature)
diff --git a/Documentation/s390/Debugging390.txt b/Documentation/s390/Debugging390.txt
index 4dd25ee549e9..3f9ddbc23b27 100644
--- a/Documentation/s390/Debugging390.txt
+++ b/Documentation/s390/Debugging390.txt
@@ -7,7 +7,7 @@
7 7
8Overview of Document: 8Overview of Document:
9===================== 9=====================
10This document is intended to give an good overview of how to debug 10This document is intended to give a good overview of how to debug
11Linux for s/390 & z/Architecture. It isn't intended as a complete reference & not a 11Linux for s/390 & z/Architecture. It isn't intended as a complete reference & not a
12tutorial on the fundamentals of C & assembly. It doesn't go into 12tutorial on the fundamentals of C & assembly. It doesn't go into
13390 IO in any detail. It is intended to complement the documents in the 13390 IO in any detail. It is intended to complement the documents in the
@@ -300,7 +300,7 @@ On z/Architecture our page indexes are now 2k in size
300but only mess with 2 segment indices each time we mess with 300but only mess with 2 segment indices each time we mess with
301a PMD. 301a PMD.
302 302
3033) As z/Architecture supports upto a massive 5-level page table lookup we 3033) As z/Architecture supports up to a massive 5-level page table lookup we
304can only use 3 currently on Linux ( as this is all the generic kernel 304can only use 3 currently on Linux ( as this is all the generic kernel
305currently supports ) however this may change in future 305currently supports ) however this may change in future
306this allows us to access ( according to my sums ) 306this allows us to access ( according to my sums )
@@ -502,7 +502,7 @@ Notes:
502------ 502------
5031) The only requirement is that registers which are used 5031) The only requirement is that registers which are used
504by the callee are saved, e.g. the compiler is perfectly 504by the callee are saved, e.g. the compiler is perfectly
505capible of using r11 for purposes other than a frame a 505capable of using r11 for purposes other than a frame a
506frame pointer if a frame pointer is not needed. 506frame pointer if a frame pointer is not needed.
5072) In functions with variable arguments e.g. printf the calling procedure 5072) In functions with variable arguments e.g. printf the calling procedure
508is identical to one without variable arguments & the same number of 508is identical to one without variable arguments & the same number of
@@ -846,7 +846,7 @@ of time searching for debugging info. The following self explanatory line should
846instead if the code isn't compiled -g, as it is much faster: 846instead if the code isn't compiled -g, as it is much faster:
847objdump --disassemble-all --syms vmlinux > vmlinux.lst 847objdump --disassemble-all --syms vmlinux > vmlinux.lst
848 848
849As hard drive space is valuble most of us use the following approach. 849As hard drive space is valuable most of us use the following approach.
8501) Look at the emitted psw on the console to find the crash address in the kernel. 8501) Look at the emitted psw on the console to find the crash address in the kernel.
8512) Look at the file System.map ( in the linux directory ) produced when building 8512) Look at the file System.map ( in the linux directory ) produced when building
852the kernel to find the closest address less than the current PSW to find the 852the kernel to find the closest address less than the current PSW to find the
@@ -902,7 +902,7 @@ A. It is a tool for intercepting calls to the kernel & logging them
902to a file & on the screen. 902to a file & on the screen.
903 903
904Q. What use is it ? 904Q. What use is it ?
905A. You can used it to find out what files a particular program opens. 905A. You can use it to find out what files a particular program opens.
906 906
907 907
908 908
@@ -911,7 +911,7 @@ Example 1
911If you wanted to know does ping work but didn't have the source 911If you wanted to know does ping work but didn't have the source
912strace ping -c 1 127.0.0.1 912strace ping -c 1 127.0.0.1
913& then look at the man pages for each of the syscalls below, 913& then look at the man pages for each of the syscalls below,
914( In fact this is sometimes easier than looking at some spagetti 914( In fact this is sometimes easier than looking at some spaghetti
915source which conditionally compiles for several architectures ). 915source which conditionally compiles for several architectures ).
916Not everything that it throws out needs to make sense immediately. 916Not everything that it throws out needs to make sense immediately.
917 917
@@ -1037,7 +1037,7 @@ e.g. man strace, man alarm, man socket.
1037 1037
1038Performance Debugging 1038Performance Debugging
1039===================== 1039=====================
1040gcc is capible of compiling in profiling code just add the -p option 1040gcc is capable of compiling in profiling code just add the -p option
1041to the CFLAGS, this obviously affects program size & performance. 1041to the CFLAGS, this obviously affects program size & performance.
1042This can be used by the gprof gnu profiling tool or the 1042This can be used by the gprof gnu profiling tool or the
1043gcov the gnu code coverage tool ( code coverage is a means of testing 1043gcov the gnu code coverage tool ( code coverage is a means of testing
@@ -1419,7 +1419,7 @@ On a SMP guest issue a command to all CPUs try prefixing the command with cpu al
1419To issue a command to a particular cpu try cpu <cpu number> e.g. 1419To issue a command to a particular cpu try cpu <cpu number> e.g.
1420CPU 01 TR I R 2000.3000 1420CPU 01 TR I R 2000.3000
1421If you are running on a guest with several cpus & you have a IO related problem 1421If you are running on a guest with several cpus & you have a IO related problem
1422& cannot follow the flow of code but you know it isnt smp related. 1422& cannot follow the flow of code but you know it isn't smp related.
1423from the bash prompt issue 1423from the bash prompt issue
1424shutdown -h now or halt. 1424shutdown -h now or halt.
1425do a Q CPUS to find out how many cpus you have 1425do a Q CPUS to find out how many cpus you have
@@ -1602,7 +1602,7 @@ V000FFFD0 00010400 80010802 8001085A 000FFFA0
1602our 3rd return address is 8001085A 1602our 3rd return address is 8001085A
1603 1603
1604as the 04B52002 looks suspiciously like rubbish it is fair to assume that the kernel entry routines 1604as the 04B52002 looks suspiciously like rubbish it is fair to assume that the kernel entry routines
1605for the sake of optimisation dont set up a backchain. 1605for the sake of optimisation don't set up a backchain.
1606 1606
1607now look at System.map to see if the addresses make any sense. 1607now look at System.map to see if the addresses make any sense.
1608 1608
@@ -1638,11 +1638,11 @@ more useful information.
1638 1638
1639Unlike other bus architectures modern 390 systems do their IO using mostly 1639Unlike other bus architectures modern 390 systems do their IO using mostly
1640fibre optics & devices such as tapes & disks can be shared between several mainframes, 1640fibre optics & devices such as tapes & disks can be shared between several mainframes,
1641also S390 can support upto 65536 devices while a high end PC based system might be choking 1641also S390 can support up to 65536 devices while a high end PC based system might be choking
1642with around 64. Here is some of the common IO terminology 1642with around 64. Here is some of the common IO terminology
1643 1643
1644Subchannel: 1644Subchannel:
1645This is the logical number most IO commands use to talk to an IO device there can be upto 1645This is the logical number most IO commands use to talk to an IO device there can be up to
16460x10000 (65536) of these in a configuration typically there is a few hundred. Under VM 16460x10000 (65536) of these in a configuration typically there is a few hundred. Under VM
1647for simplicity they are allocated contiguously, however on the native hardware they are not 1647for simplicity they are allocated contiguously, however on the native hardware they are not
1648they typically stay consistent between boots provided no new hardware is inserted or removed. 1648they typically stay consistent between boots provided no new hardware is inserted or removed.
@@ -1651,7 +1651,7 @@ HALT SUBCHANNEL,MODIFY SUBCHANNEL,RESUME SUBCHANNEL,START SUBCHANNEL,STORE SUBCH
1651TEST SUBCHANNEL ) we use this as the ID of the device we wish to talk to, the most 1651TEST SUBCHANNEL ) we use this as the ID of the device we wish to talk to, the most
1652important of these instructions are START SUBCHANNEL ( to start IO ), TEST SUBCHANNEL ( to check 1652important of these instructions are START SUBCHANNEL ( to start IO ), TEST SUBCHANNEL ( to check
1653whether the IO completed successfully ), & HALT SUBCHANNEL ( to kill IO ), a subchannel 1653whether the IO completed successfully ), & HALT SUBCHANNEL ( to kill IO ), a subchannel
1654can have up to 8 channel paths to a device this offers redunancy if one is not available. 1654can have up to 8 channel paths to a device this offers redundancy if one is not available.
1655 1655
1656 1656
1657Device Number: 1657Device Number:
@@ -1659,7 +1659,7 @@ This number remains static & Is closely tied to the hardware, there are 65536 of
1659also they are made up of a CHPID ( Channel Path ID, the most significant 8 bits ) 1659also they are made up of a CHPID ( Channel Path ID, the most significant 8 bits )
1660& another lsb 8 bits. These remain static even if more devices are inserted or removed 1660& another lsb 8 bits. These remain static even if more devices are inserted or removed
1661from the hardware, there is a 1 to 1 mapping between Subchannels & Device Numbers provided 1661from the hardware, there is a 1 to 1 mapping between Subchannels & Device Numbers provided
1662devices arent inserted or removed. 1662devices aren't inserted or removed.
1663 1663
1664Channel Control Words: 1664Channel Control Words:
1665CCWS are linked lists of instructions initially pointed to by an operation request block (ORB), 1665CCWS are linked lists of instructions initially pointed to by an operation request block (ORB),
@@ -1674,7 +1674,7 @@ concurrently, you check how the IO went on by issuing a TEST SUBCHANNEL at each
1674from which you receive an Interruption response block (IRB). If you get channel & device end 1674from which you receive an Interruption response block (IRB). If you get channel & device end
1675status in the IRB without channel checks etc. your IO probably went okay. If you didn't you 1675status in the IRB without channel checks etc. your IO probably went okay. If you didn't you
1676probably need a doctor to examine the IRB & extended status word etc. 1676probably need a doctor to examine the IRB & extended status word etc.
1677If an error occurs, more sophistocated control units have a facitity known as 1677If an error occurs, more sophisticated control units have a facility known as
1678concurrent sense this means that if an error occurs Extended sense information will 1678concurrent sense this means that if an error occurs Extended sense information will
1679be presented in the Extended status word in the IRB if not you have to issue a 1679be presented in the Extended status word in the IRB if not you have to issue a
1680subsequent SENSE CCW command after the test subchannel. 1680subsequent SENSE CCW command after the test subchannel.
@@ -1749,7 +1749,7 @@ Interface (OEMI).
1749This byte wide Parallel channel path/bus has parity & data on the "Bus" cable 1749This byte wide Parallel channel path/bus has parity & data on the "Bus" cable
1750& control lines on the "Tag" cable. These can operate in byte multiplex mode for 1750& control lines on the "Tag" cable. These can operate in byte multiplex mode for
1751sharing between several slow devices or burst mode & monopolize the channel for the 1751sharing between several slow devices or burst mode & monopolize the channel for the
1752whole burst. Upto 256 devices can be addressed on one of these cables. These cables are 1752whole burst. Up to 256 devices can be addressed on one of these cables. These cables are
1753about one inch in diameter. The maximum unextended length supported by these cables is 1753about one inch in diameter. The maximum unextended length supported by these cables is
1754125 Meters but this can be extended up to 2km with a fibre optic channel extended 1754125 Meters but this can be extended up to 2km with a fibre optic channel extended
1755such as a 3044. The maximum burst speed supported is 4.5 megabytes per second however 1755such as a 3044. The maximum burst speed supported is 4.5 megabytes per second however
@@ -1759,7 +1759,7 @@ One of these paths can be daisy chained to up to 8 control units.
1759 1759
1760ESCON if fibre optic it is also called FICON 1760ESCON if fibre optic it is also called FICON
1761Was introduced by IBM in 1990. Has 2 fibre optic cables & uses either leds or lasers 1761Was introduced by IBM in 1990. Has 2 fibre optic cables & uses either leds or lasers
1762for communication at a signaling rate of upto 200 megabits/sec. As 10bits are transferred 1762for communication at a signaling rate of up to 200 megabits/sec. As 10bits are transferred
1763for every 8 bits info this drops to 160 megabits/sec & to 18.6 Megabytes/sec once 1763for every 8 bits info this drops to 160 megabits/sec & to 18.6 Megabytes/sec once
1764control info & CRC are added. ESCON only operates in burst mode. 1764control info & CRC are added. ESCON only operates in burst mode.
1765 1765
@@ -1767,7 +1767,7 @@ ESCONs typical max cable length is 3km for the led version & 20km for the laser
1767known as XDF ( extended distance facility ). This can be further extended by using an 1767known as XDF ( extended distance facility ). This can be further extended by using an
1768ESCON director which triples the above mentioned ranges. Unlike Bus & Tag as ESCON is 1768ESCON director which triples the above mentioned ranges. Unlike Bus & Tag as ESCON is
1769serial it uses a packet switching architecture the standard Bus & Tag control protocol 1769serial it uses a packet switching architecture the standard Bus & Tag control protocol
1770is however present within the packets. Upto 256 devices can be attached to each control 1770is however present within the packets. Up to 256 devices can be attached to each control
1771unit that uses one of these interfaces. 1771unit that uses one of these interfaces.
1772 1772
1773Common 390 Devices include: 1773Common 390 Devices include:
@@ -2050,7 +2050,7 @@ list test.c:1,10
2050 2050
2051directory: 2051directory:
2052Adds directories to be searched for source if gdb cannot find the source. 2052Adds directories to be searched for source if gdb cannot find the source.
2053(note it is a bit sensititive about slashes) 2053(note it is a bit sensitive about slashes)
2054e.g. To add the root of the filesystem to the searchpath do 2054e.g. To add the root of the filesystem to the searchpath do
2055directory // 2055directory //
2056 2056
@@ -2152,7 +2152,7 @@ program as if it just crashed on your system, it is usually called core & create
2152current working directory. 2152current working directory.
2153This is very useful in that a customer can mail a core dump to a technical support department 2153This is very useful in that a customer can mail a core dump to a technical support department
2154& the technical support department can reconstruct what happened. 2154& the technical support department can reconstruct what happened.
2155Provided the have an identical copy of this program with debugging symbols compiled in & 2155Provided they have an identical copy of this program with debugging symbols compiled in &
2156the source base of this build is available. 2156the source base of this build is available.
2157In short it is far more useful than something like a crash log could ever hope to be. 2157In short it is far more useful than something like a crash log could ever hope to be.
2158 2158
diff --git a/Documentation/s390/cds.txt b/Documentation/s390/cds.txt
index 32a96cc39215..05a2b4f7e38f 100644
--- a/Documentation/s390/cds.txt
+++ b/Documentation/s390/cds.txt
@@ -98,7 +98,7 @@ The following chapters describe the I/O related interface routines the
98Linux/390 common device support (CDS) provides to allow for device specific 98Linux/390 common device support (CDS) provides to allow for device specific
99driver implementations on the IBM ESA/390 hardware platform. Those interfaces 99driver implementations on the IBM ESA/390 hardware platform. Those interfaces
100intend to provide the functionality required by every device driver 100intend to provide the functionality required by every device driver
101implementaion to allow to drive a specific hardware device on the ESA/390 101implementation to allow to drive a specific hardware device on the ESA/390
102platform. Some of the interface routines are specific to Linux/390 and some 102platform. Some of the interface routines are specific to Linux/390 and some
103of them can be found on other Linux platforms implementations too. 103of them can be found on other Linux platforms implementations too.
104Miscellaneous function prototypes, data declarations, and macro definitions 104Miscellaneous function prototypes, data declarations, and macro definitions
@@ -114,7 +114,7 @@ the ESA/390 architecture has implemented a so called channel subsystem, that
114provides a unified view of the devices physically attached to the systems. 114provides a unified view of the devices physically attached to the systems.
115Though the ESA/390 hardware platform knows about a huge variety of different 115Though the ESA/390 hardware platform knows about a huge variety of different
116peripheral attachments like disk devices (aka. DASDs), tapes, communication 116peripheral attachments like disk devices (aka. DASDs), tapes, communication
117controllers, etc. they can all by accessed by a well defined access method and 117controllers, etc. they can all be accessed by a well defined access method and
118they are presenting I/O completion a unified way : I/O interruptions. Every 118they are presenting I/O completion a unified way : I/O interruptions. Every
119single device is uniquely identified to the system by a so called subchannel, 119single device is uniquely identified to the system by a so called subchannel,
120where the ESA/390 architecture allows for 64k devices be attached. 120where the ESA/390 architecture allows for 64k devices be attached.
@@ -338,7 +338,7 @@ DOIO_REPORT_ALL - report all interrupt conditions
338The ccw_device_start() function returns : 338The ccw_device_start() function returns :
339 339
340 0 - successful completion or request successfully initiated 340 0 - successful completion or request successfully initiated
341-EBUSY - The device is currently processing a previous I/O request, or ther is 341-EBUSY - The device is currently processing a previous I/O request, or there is
342 a status pending at the device. 342 a status pending at the device.
343-ENODEV - cdev is invalid, the device is not operational or the ccw_device is 343-ENODEV - cdev is invalid, the device is not operational or the ccw_device is
344 not online. 344 not online.
@@ -361,7 +361,7 @@ first:
361-EIO: the common I/O layer terminated the request due to an error state 361-EIO: the common I/O layer terminated the request due to an error state
362 362
363If the concurrent sense flag in the extended status word in the irb is set, the 363If the concurrent sense flag in the extended status word in the irb is set, the
364field irb->scsw.count describes the numer of device specific sense bytes 364field irb->scsw.count describes the number of device specific sense bytes
365available in the extended control word irb->scsw.ecw[0]. No device sensing by 365available in the extended control word irb->scsw.ecw[0]. No device sensing by
366the device driver itself is required. 366the device driver itself is required.
367 367
@@ -410,7 +410,7 @@ ccw_device_start() must be called disabled and with the ccw device lock held.
410 410
411The device driver is allowed to issue the next ccw_device_start() call from 411The device driver is allowed to issue the next ccw_device_start() call from
412within its interrupt handler already. It is not required to schedule a 412within its interrupt handler already. It is not required to schedule a
413bottom-half, unless an non deterministically long running error recovery procedure 413bottom-half, unless a non deterministically long running error recovery procedure
414or similar needs to be scheduled. During I/O processing the Linux/390 generic 414or similar needs to be scheduled. During I/O processing the Linux/390 generic
415I/O device driver support has already obtained the IRQ lock, i.e. the handler 415I/O device driver support has already obtained the IRQ lock, i.e. the handler
416must not try to obtain it again when calling ccw_device_start() or we end in a 416must not try to obtain it again when calling ccw_device_start() or we end in a
@@ -431,7 +431,7 @@ information prior to device-end the device driver urgently relies on. In this
431case all I/O interruptions are presented to the device driver until final 431case all I/O interruptions are presented to the device driver until final
432status is recognized. 432status is recognized.
433 433
434If a device is able to recover from asynchronosly presented I/O errors, it can 434If a device is able to recover from asynchronously presented I/O errors, it can
435perform overlapping I/O using the DOIO_EARLY_NOTIFICATION flag. While some 435perform overlapping I/O using the DOIO_EARLY_NOTIFICATION flag. While some
436devices always report channel-end and device-end together, with a single 436devices always report channel-end and device-end together, with a single
437interrupt, others present primary status (channel-end) when the channel is 437interrupt, others present primary status (channel-end) when the channel is
diff --git a/Documentation/s390/crypto/crypto-API.txt b/Documentation/s390/crypto/crypto-API.txt
index 41a8b07da05a..71ae6ca9f2c2 100644
--- a/Documentation/s390/crypto/crypto-API.txt
+++ b/Documentation/s390/crypto/crypto-API.txt
@@ -17,8 +17,8 @@ arch/s390/crypto directory.
172. Probing for availability of MSA 172. Probing for availability of MSA
18~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 18~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
19It should be possible to use Kernels with the z990 crypto implementations both 19It should be possible to use Kernels with the z990 crypto implementations both
20on machines with MSA available an on those without MSA (pre z990 or z990 20on machines with MSA available and on those without MSA (pre z990 or z990
21without MSA). Therefore a simple probing mechanisms has been implemented: 21without MSA). Therefore a simple probing mechanism has been implemented:
22In the init function of each crypto module the availability of MSA and of the 22In the init function of each crypto module the availability of MSA and of the
23respective crypto algorithm in particular will be tested. If the algorithm is 23respective crypto algorithm in particular will be tested. If the algorithm is
24available the module will load and register its algorithm with the crypto API. 24available the module will load and register its algorithm with the crypto API.
@@ -26,7 +26,7 @@ available the module will load and register its algorithm with the crypto API.
26If the respective crypto algorithm is not available, the init function will 26If the respective crypto algorithm is not available, the init function will
27return -ENOSYS. In that case a fallback to the standard software implementation 27return -ENOSYS. In that case a fallback to the standard software implementation
28of the crypto algorithm must be taken ( -> the standard crypto modules are 28of the crypto algorithm must be taken ( -> the standard crypto modules are
29also build when compiling the kernel). 29also built when compiling the kernel).
30 30
31 31
323. Ensuring z990 crypto module preference 323. Ensuring z990 crypto module preference
diff --git a/Documentation/s390/s390dbf.txt b/Documentation/s390/s390dbf.txt
index 000230cd26db..0eb7c58916de 100644
--- a/Documentation/s390/s390dbf.txt
+++ b/Documentation/s390/s390dbf.txt
@@ -36,7 +36,7 @@ switches to the next debug area. This is done in order to be sure
36that the records which describe the origin of the exception are not 36that the records which describe the origin of the exception are not
37overwritten when a wrap around for the current area occurs. 37overwritten when a wrap around for the current area occurs.
38 38
39The debug areas itselve are also ordered in form of a ring buffer. 39The debug areas themselves are also ordered in form of a ring buffer.
40When an exception is thrown in the last debug area, the following debug 40When an exception is thrown in the last debug area, the following debug
41entries are then written again in the very first area. 41entries are then written again in the very first area.
42 42
@@ -55,7 +55,7 @@ The debug logs can be inspected in a live system through entries in
55the debugfs-filesystem. Under the toplevel directory "s390dbf" there is 55the debugfs-filesystem. Under the toplevel directory "s390dbf" there is
56a directory for each registered component, which is named like the 56a directory for each registered component, which is named like the
57corresponding component. The debugfs normally should be mounted to 57corresponding component. The debugfs normally should be mounted to
58/sys/kernel/debug therefore the debug feature can be accessed unter 58/sys/kernel/debug therefore the debug feature can be accessed under
59/sys/kernel/debug/s390dbf. 59/sys/kernel/debug/s390dbf.
60 60
61The content of the directories are files which represent different views 61The content of the directories are files which represent different views
@@ -87,11 +87,11 @@ There are currently 2 possible triggers, which stop the debug feature
87globally. The first possibility is to use the "debug_active" sysctl. If 87globally. The first possibility is to use the "debug_active" sysctl. If
88set to 1 the debug feature is running. If "debug_active" is set to 0 the 88set to 1 the debug feature is running. If "debug_active" is set to 0 the
89debug feature is turned off. 89debug feature is turned off.
90The second trigger which stops the debug feature is an kernel oops. 90The second trigger which stops the debug feature is a kernel oops.
91That prevents the debug feature from overwriting debug information that 91That prevents the debug feature from overwriting debug information that
92happened before the oops. After an oops you can reactivate the debug feature 92happened before the oops. After an oops you can reactivate the debug feature
93by piping 1 to /proc/sys/s390dbf/debug_active. Nevertheless, its not 93by piping 1 to /proc/sys/s390dbf/debug_active. Nevertheless, its not
94suggested to use an oopsed kernel in an production environment. 94suggested to use an oopsed kernel in a production environment.
95If you want to disallow the deactivation of the debug feature, you can use 95If you want to disallow the deactivation of the debug feature, you can use
96the "debug_stoppable" sysctl. If you set "debug_stoppable" to 0 the debug 96the "debug_stoppable" sysctl. If you set "debug_stoppable" to 0 the debug
97feature cannot be stopped. If the debug feature is already stopped, it 97feature cannot be stopped. If the debug feature is already stopped, it