aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/s390/Debugging390.txt
diff options
context:
space:
mode:
authorNicolas Kaiser <nikai@nikai.net>2006-12-04 09:40:23 -0500
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2006-12-04 09:40:23 -0500
commit2254f5a7779452395e37ea2f7d6e1a550d34e678 (patch)
tree21ae898f9ef043dc240f2a4d1ba52da9a5ae51ad /Documentation/s390/Debugging390.txt
parent6b4044bdd158aa9ad07b3f68d1c7598036d3ee58 (diff)
[S390] Some documentation typos.
Signed-off-by: Nicolas Kaiser <nikai@nikai.net> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'Documentation/s390/Debugging390.txt')
-rw-r--r--Documentation/s390/Debugging390.txt38
1 files changed, 19 insertions, 19 deletions
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