linux/Documentation/s390/Debugging390.txt
<<
>>
Prefs
   1              
   2                          Debugging on Linux for s/390 & z/Architecture
   3                                       by
   4                Denis Joseph Barrow (djbarrow@de.ibm.com,barrow_dj@yahoo.com)
   5                Copyright (C) 2000-2001 IBM Deutschland Entwicklung GmbH, IBM Corporation
   6                              Best viewed with fixed width fonts 
   7
   8Overview of Document:
   9=====================
  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
  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
  14reference section below & any other worthwhile references you get.
  15
  16It is intended like the Enterprise Systems Architecture/390 Reference Summary
  17to be printed out & used as a quick cheat sheet self help style reference when
  18problems occur.
  19
  20Contents
  21========
  22Register Set
  23Address Spaces on Intel Linux
  24Address Spaces on Linux for s/390 & z/Architecture
  25The Linux for s/390 & z/Architecture Kernel Task Structure
  26Register Usage & Stackframes on Linux for s/390 & z/Architecture
  27A sample program with comments
  28Compiling programs for debugging on Linux for s/390 & z/Architecture
  29Figuring out gcc compile errors
  30Debugging Tools
  31objdump
  32strace
  33Performance Debugging 
  34Debugging under VM
  35s/390 & z/Architecture IO Overview
  36Debugging IO on s/390 & z/Architecture under VM
  37GDB on s/390 & z/Architecture
  38Stack chaining in gdb by hand
  39Examining core dumps
  40ldd
  41Debugging modules
  42The proc file system
  43Starting points for debugging scripting languages etc.
  44SysRq
  45References
  46Special Thanks
  47
  48Register Set
  49============
  50The current architectures have the following registers.
  51 
  5216  General propose registers, 32 bit on s/390 64 bit on z/Architecture, r0-r15 or gpr0-gpr15 used for arithmetic & addressing. 
  53
  5416 Control registers, 32 bit on s/390 64 bit on z/Architecture, ( cr0-cr15 kernel usage only ) used for memory management,
  55interrupt control,debugging control etc.
  56
  5716 Access registers ( ar0-ar15 ) 32 bit on s/390 & z/Architecture
  58not used by normal programs but potentially could 
  59be used as temporary storage. Their main purpose is their 1 to 1
  60association with general purpose registers and are used in
  61the kernel for copying data between kernel & user address spaces.
  62Access register 0 ( & access register 1 on z/Architecture ( needs 64 bit 
  63pointer ) ) is currently used by the pthread library as a pointer to
  64the current running threads private area.
  65
  6616 64 bit floating point registers (fp0-fp15 ) IEEE & HFP floating 
  67point format compliant on G5 upwards & a Floating point control reg (FPC) 
  684  64 bit registers (fp0,fp2,fp4 & fp6) HFP only on older machines.
  69Note:
  70Linux (currently) always uses IEEE & emulates G5 IEEE format on older machines,
  71( provided the kernel is configured for this ).
  72
  73
  74The PSW is the most important register on the machine it
  75is 64 bit on s/390 & 128 bit on z/Architecture & serves the roles of 
  76a program counter (pc), condition code register,memory space designator.
  77In IBM standard notation I am counting bit 0 as the MSB.
  78It has several advantages over a normal program counter
  79in that you can change address translation & program counter 
  80in a single instruction. To change address translation,
  81e.g. switching address translation off requires that you
  82have a logical=physical mapping for the address you are
  83currently running at.
  84
  85      Bit           Value
  86s/390 z/Architecture
  870       0     Reserved ( must be 0 ) otherwise specification exception occurs.
  88
  891       1     Program Event Recording 1 PER enabled, 
  90              PER is used to facilitate debugging e.g. single stepping.
  91
  922-4    2-4    Reserved ( must be 0 ). 
  93
  945       5     Dynamic address translation 1=DAT on.
  95
  966       6     Input/Output interrupt Mask
  97
  987       7     External interrupt Mask used primarily for interprocessor signalling & 
  99              clock interrupts.
 100
 1018-11  8-11    PSW Key used for complex memory protection mechanism not used under linux
 102
 10312      12    1 on s/390 0 on z/Architecture
 104
 10513      13    Machine Check Mask 1=enable machine check interrupts
 106
 10714      14    Wait State set this to 1 to stop the processor except for interrupts & give 
 108              time to other LPARS used in CPU idle in the kernel to increase overall 
 109              usage of processor resources.
 110
 11115      15    Problem state ( if set to 1 certain instructions are disabled )
 112              all linux user programs run with this bit 1 
 113              ( useful info for debugging under VM ).
 114
 11516-17 16-17   Address Space Control
 116
 117              00 Primary Space Mode when DAT on
 118              The linux kernel currently runs in this mode, CR1 is affiliated with 
 119              this mode & points to the primary segment table origin etc.
 120
 121              01 Access register mode this mode is used in functions to 
 122              copy data between kernel & user space.
 123
 124              10 Secondary space mode not used in linux however CR7 the
 125              register affiliated with this mode is & this & normally
 126              CR13=CR7 to allow us to copy data between kernel & user space.
 127              We do this as follows:
 128              We set ar2 to 0 to designate its
 129              affiliated gpr ( gpr2 )to point to primary=kernel space.
 130              We set ar4 to 1 to designate its
 131              affiliated gpr ( gpr4 ) to point to secondary=home=user space
 132              & then essentially do a memcopy(gpr2,gpr4,size) to
 133              copy data between the address spaces, the reason we use home space for the
 134              kernel & don't keep secondary space free is that code will not run in 
 135              secondary space.
 136
 137              11 Home Space Mode all user programs run in this mode.
 138              it is affiliated with CR13.
 139
 14018-19 18-19   Condition codes (CC)
 141
 14220    20      Fixed point overflow mask if 1=FPU exceptions for this event 
 143              occur ( normally 0 ) 
 144
 14521    21      Decimal overflow mask if 1=FPU exceptions for this event occur 
 146              ( normally 0 )
 147
 14822    22      Exponent underflow mask if 1=FPU exceptions for this event occur 
 149              ( normally 0 )
 150
 15123    23      Significance Mask if 1=FPU exceptions for this event occur 
 152              ( normally 0 )
 153
 15424-31 24-30   Reserved Must be 0.
 155
 156      31      Extended Addressing Mode
 157      32      Basic Addressing Mode
 158              Used to set addressing mode
 159              PSW 31   PSW 32
 160                0         0        24 bit
 161                0         1        31 bit
 162                1         1        64 bit
 163
 16432             1=31 bit addressing mode 0=24 bit addressing mode (for backward 
 165               compatibility), linux always runs with this bit set to 1
 166
 16733-64          Instruction address.
 168      33-63    Reserved must be 0
 169      64-127   Address
 170               In 24 bits mode bits 64-103=0 bits 104-127 Address 
 171               In 31 bits mode bits 64-96=0 bits 97-127 Address
 172               Note: unlike 31 bit mode on s/390 bit 96 must be zero
 173               when loading the address with LPSWE otherwise a 
 174               specification exception occurs, LPSW is fully backward
 175               compatible.
 176          
 177          
 178Prefix Page(s)
 179--------------    
 180This per cpu memory area is too intimately tied to the processor not to mention.
 181It exists between the real addresses 0-4096 on s/390 & 0-8192 z/Architecture & is exchanged 
 182with a 1 page on s/390 or 2 pages on z/Architecture in absolute storage by the set 
 183prefix instruction in linux'es startup. 
 184This page is mapped to a different prefix for each processor in an SMP configuration
 185( assuming the os designer is sane of course :-) ).
 186Bytes 0-512 ( 200 hex ) on s/390 & 0-512,4096-4544,4604-5119 currently on z/Architecture 
 187are used by the processor itself for holding such information as exception indications & 
 188entry points for exceptions.
 189Bytes after 0xc00 hex are used by linux for per processor globals on s/390 & z/Architecture 
 190( there is a gap on z/Architecture too currently between 0xc00 & 1000 which linux uses ).
 191The closest thing to this on traditional architectures is the interrupt
 192vector table. This is a good thing & does simplify some of the kernel coding
 193however it means that we now cannot catch stray NULL pointers in the
 194kernel without hard coded checks.
 195
 196
 197
 198Address Spaces on Intel Linux
 199=============================
 200
 201The traditional Intel Linux is approximately mapped as follows forgive
 202the ascii art.
 2030xFFFFFFFF 4GB Himem                        *****************
 204                                            *               *
 205                                            * Kernel Space  *
 206                                            *               *
 207                                            *****************          ****************
 208User Space Himem (typically 0xC0000000 3GB )*  User Stack   *          *              *
 209                                            *****************          *              *
 210                                            *  Shared Libs  *          * Next Process *          
 211                                            *****************          *     to       *  
 212                                            *               *    <==   *     Run      *  <==
 213                                            *  User Program *          *              *
 214                                            *   Data BSS    *          *              *
 215                                            *    Text       *          *              *
 216                                            *   Sections    *          *              *
 2170x00000000                                  *****************          ****************
 218
 219Now it is easy to see that on Intel it is quite easy to recognise a kernel address 
 220as being one greater than user space himem ( in this case 0xC0000000).
 221& addresses of less than this are the ones in the current running program on this
 222processor ( if an smp box ).
 223If using the virtual machine ( VM ) as a debugger it is quite difficult to
 224know which user process is running as the address space you are looking at
 225could be from any process in the run queue.
 226
 227The limitation of Intels addressing technique is that the linux
 228kernel uses a very simple real address to virtual addressing technique
 229of Real Address=Virtual Address-User Space Himem.
 230This means that on Intel the kernel linux can typically only address
 231Himem=0xFFFFFFFF-0xC0000000=1GB & this is all the RAM these machines
 232can typically use.
 233They can lower User Himem to 2GB or lower & thus be
 234able to use 2GB of RAM however this shrinks the maximum size
 235of User Space from 3GB to 2GB they have a no win limit of 4GB unless
 236they go to 64 Bit.
 237
 238
 239On 390 our limitations & strengths make us slightly different.
 240For backward compatibility we are only allowed use 31 bits (2GB)
 241of our 32 bit addresses, however, we use entirely separate address 
 242spaces for the user & kernel.
 243
 244This means we can support 2GB of non Extended RAM on s/390, & more
 245with the Extended memory management swap device & 
 246currently 4TB of physical memory currently on z/Architecture.
 247
 248
 249Address Spaces on Linux for s/390 & z/Architecture
 250==================================================
 251
 252Our addressing scheme is as follows
 253
 254
 255Himem 0x7fffffff 2GB on s/390    *****************          ****************
 256currently 0x3ffffffffff (2^42)-1 *  User Stack   *          *              *
 257on z/Architecture.               *****************          *              *
 258                                 *  Shared Libs  *          *              *      
 259                                 *****************          *              *  
 260                                 *               *          *    Kernel    *  
 261                                 *  User Program *          *              *
 262                                 *   Data BSS    *          *              *
 263                                 *    Text       *          *              *
 264                                 *   Sections    *          *              *
 2650x00000000                       *****************          ****************
 266
 267This also means that we need to look at the PSW problem state bit
 268or the addressing mode to decide whether we are looking at
 269user or kernel space.
 270
 271Virtual Addresses on s/390 & z/Architecture
 272===========================================
 273
 274A virtual address on s/390 is made up of 3 parts
 275The SX ( segment index, roughly corresponding to the PGD & PMD in linux terminology ) 
 276being bits 1-11.
 277The PX ( page index, corresponding to the page table entry (pte) in linux terminology )
 278being bits 12-19. 
 279The remaining bits BX (the byte index are the offset in the page )
 280i.e. bits 20 to 31.
 281
 282On z/Architecture in linux we currently make up an address from 4 parts.
 283The region index bits (RX) 0-32 we currently use bits 22-32
 284The segment index (SX) being bits 33-43
 285The page index (PX) being bits  44-51
 286The byte index (BX) being bits  52-63
 287
 288Notes:
 2891) s/390 has no PMD so the PMD is really the PGD also.
 290A lot of this stuff is defined in pgtable.h.
 291
 2922) Also seeing as s/390's page indexes are only 1k  in size 
 293(bits 12-19 x 4 bytes per pte ) we use 1 ( page 4k )
 294to make the best use of memory by updating 4 segment indices 
 295entries each time we mess with a PMD & use offsets 
 2960,1024,2048 & 3072 in this page as for our segment indexes.
 297On z/Architecture our page indexes are now 2k in size
 298( bits 12-19 x 8 bytes per pte ) we do a similar trick
 299but only mess with 2 segment indices each time we mess with
 300a PMD.
 301
 3023) As z/Architecture supports up to a massive 5-level page table lookup we
 303can only use 3 currently on Linux ( as this is all the generic kernel
 304currently supports ) however this may change in future
 305this allows us to access ( according to my sums )
 3064TB of virtual storage per process i.e.
 3074096*512(PTES)*1024(PMDS)*2048(PGD) = 4398046511104 bytes,
 308enough for another 2 or 3 of years I think :-).
 309to do this we use a region-third-table designation type in
 310our address space control registers.
 311 
 312
 313The Linux for s/390 & z/Architecture Kernel Task Structure
 314==========================================================
 315Each process/thread under Linux for S390 has its own kernel task_struct
 316defined in linux/include/linux/sched.h
 317The S390 on initialisation & resuming of a process on a cpu sets
 318the __LC_KERNEL_STACK variable in the spare prefix area for this cpu
 319(which we use for per-processor globals).
 320
 321The kernel stack pointer is intimately tied with the task structure for
 322each processor as follows.
 323
 324                      s/390
 325            ************************
 326            *  1 page kernel stack *
 327                     ( 4K3lA8" name="L7" id="L217" class="line" name="L217">"L221" spac4" id=s/390 bit 96 must be zero
 327 el linux 3an typically only addres3
"L221" supac4" id=s/390 bit 96 must be zero
3232can typically use3
 271Virtual Add3Himem to 3GB or lower & thus b3
"L221" spac4" id=s/390 bit 96 must be zero
 326 y have a 3o win limit of 4GB unles3
 327 e         236they go to 64 Bit3
"L221" spac4" id=s/390 bit 96 must be zero
 237 238 327 rengths m3ke us slightly different3
"L221" supac4" id=s/390 bit 96 must be zero
3or the user & kernel3
vector table. This is a good thing & doe3" class="3ine" name="L243"> 243 246currently 4TB of physical3n Extende3 RAM on s/390, & mor3
 305this allows usmemory cu3rently on z/Architecture3
 305this allows usm         ine" name="L247"> 247 305this allows usmenLp    iine" name="L248"> 248 305this allows usinux for 3/390 & z/Architectur3
 305this allows usiare only3========================3
 305this allows usi we use 3ine" name="L251"> 251 305this allows usOur addre3sing scheme is as follow3
 305this allows usO class="3ine" name="L253"> 253 254 246currently 4TB of physical3*********3         ***************3
 317The S390 on initialisation & Stack   *3         *              3
 317The S390 on initialisation & S                  *              3
 246currently 4TB of physical3*enLp    i   *              *     3
 249Address Spaces on 3t       *3         *              3
 314=======================ions    *3         *              3
 266 /DebugccL221du24s37" id="topd="L233" 182ottomsatation/s390/Debugging390.txt#L288" id="L288" cla3*         the PSW problem state bi3
 263user or kernel space3
 270 246currently 4TB of physical3esses on 3/390 & z/Architectur3
 273 246currently 4TB of physical3eons    *3390 is made up of 3 part3
 246currently 4TB of physical3e="L278">3278being bits 12-19.3
 380i.e. bits 20 to 313
 281vector table. This is a good thing & doe3e page in3ex (PX) being bits  44-53
 294to make the best use of m3e byte in3ex (BX) being bits  52-63
 (L31few cyclinetxt#/Deb390/DrDebuggilionL309vine" name="L294"> 294to make the best use of m3e         ine" name="L287"> 287 246currently 4TB of physical3s="line" 3ame="L288"> 288Notes3
 3074096*512(PTES)*1024(PMDthis stuf3 is defined in pgtable.h3
 246currently 4TB of physical3" class="3ine" name="L291"> 291 3074096*512(PTES)*1024(PMDt byte in3 for our segment indexes3
 317The S390 on initialisation & our page 3ndexes are now 2k in siz3
 246currently 4TB of physical3"="line" 3e ) we do a similar tric3
 300a PMD4
 291 317The S390 on initialisation &4assive 5-4evel page table lookup w4
 317The S390 on initialisation &4a4sive 5-4ee ) we use 1 ( page 4k 4
 317The S390 on initialisation &4a8however4tdexes are now 2k in siz4
 ="linatition/s390390/ilingss="lmurn 1" classtate"."L317"> 317The S390 on initialisation &4ur addres4 space control registers4
 3114
 312 305this allows u4=========4========================4
 317The S390 on initialisation &4u6however4ts own kernel task_struc4
 317The S390 on initialisation &4u8however4f a process on a cpu set4
 317The S390 on initialisation &4uother 2 4 prefix area for this cp4
 317The S390 on initialisation &4 we use f4r per-processor globals)4
 317The S390 on initialisation &4" class="4ine" name="L320"> 320 3224ach processor as follows4
4sive 5-4ine" name="L323"> 323 3074096*512(PTES)*1024(PM4 324 4                    s/394
 317The S390 on initialisation &4"6however4 ***********************4
 317The S390 on initialisation &4s=Virtual4Address-User Space Himem4
 317The S390 on initialisation &4s4sive 5-4GB or lower & thus b4
 ="linatition/s390390/ilingss= clatxt#las/s390g90   ."L317"> 317The S390 on initialisation &4s        4236they go to 64 Bit4
 237 238 317The S390 on initialisation &4, we use 4ntirely separate address4
4or the user & kernel4
 243 317The S390 on initialisation &4, have a 4gement swap device &4
 252 247 317The S390 on initialisation &4menLp    4ine" name="L248"> 248 317The S390 on initialisation &4inux for 4/390 & z/Architectur4
 303can only use 3 currently on Linux4iare only4========================4
 317The S390 on initialisation &4i we use 4ine" name="L251"> 251 253 254 267This also means that we need 4*********4         ***************4
 317The S390 on initialisation &4Stack   *4         *              4
 317The S390 on initialisation &4S        4         *              4
 294to make the best use of m4      *  4       *    Kernel    * 4
 305this allows u4 BSS    *4         *              4
 305this allows u4t       *4         *              4
 305this allows u4 ********4         ***************4
 305this allows u4ttack   *4ine" name="L266"> 266 305this allows u4*enLp    4whether we are looking a4
 305this allows u4L269"> 264user or kernel space4
 305this allows u4L     *  4ine" name="L270"> 270 305this allows u4esses on 4/390 & z/Architectur4
 273 314======================4D & P4D in linux terminology )4
 314======================4Dtack   *4> 276being bits 1-114
 314======================4D        4e) in linux terminology 4
  0 /t"lmurn talue 0""""""""""""""""stat-clobbe" dine" name="L314"> 314======================4DenLp    4278being bits 12-19.4
  1 /t"lmurn talue 1 (if"" ati" at)"stat-clobbe" dine" name="L314"> 314======================4 index ar4 the offset in the page 4
  2"""""""""""""""""""""""""""""""""stat-clobbe" dine" name="L314"> 314======================4="L280"> 480i.e. bits 20 to 314
  3"""""""""""""""""""""""""""""""""stat-clobbe" dine" name="L314"> 314======================4=sses on 4ine" name="L281"> 281  4"""""""""""""""""""""""""""""""""s35"dine" name="L314"> 314======================4=========4 an address from 4 parts4
 s 5t0/D...""""""""""""""s35"d""""""ine" name="L314"> 314======================4=       *4 currently use bits 22-34
 314======================4=ons    *4dex (SX) being bits 33-44
 314======================4= & P4ex (PX) being bits  44-54
 314======================4=tack   *4ex (BX) being bits  52-64
 314======================4=        4ine" name="L287"> 287 314======================4=enLp    4ame="L288"> 288Notes4
 314======================4 so the P4D is really the PGD also4
 314======================4 "L280"> 4 is defined in pgtable.h4
 314======================4 sses on 4ine" name="L291"> 291  0 /t"lmurn talue ( float/dou309")"stat-clobbe" dine" name="L314"> 314======================4ytes per 4te ) we use 1 ( page 4k 4
  1                                 stat-clobbe" dine" name="L314"> 314======================4yons    *4dating 4 segment indices4
  2""""""""""""""""""s35"dine" name="L314"> 314======================4  & P4 a PMD & use offsets4
  3""""""""""""""""""s35"dine" name="L314"> 314======================4 tack   *4 for our segment indexes4
 317The S390 on initialisation &4our page 4ndexes are now 2k in siz4
 300a PMD5
 291  i90/Debu390.txt#Ldumentaaing390.ation/s390/Debugging390.txt#L288" id="L288" cla5s3"line" 5aes are only 1k  in size5
 s e.g. prbugf/s3903tattati7" clduingcumentation/s390/Debugging390.txt#L248" id="L245)7however5tfor our segment indexes5
 s ="L233" 18/=me numbe"s="lcumentation/s390/Debugging390.txt#L248" id="L245)8however5tdexes are now 2k in siz5
 309to do this we use a re5 class="l5ne" name="L311"> 3115
  "L321"> 321The kernel stack pointer is intimat5 ssive 5-5ine" name="L312"> 312 321The kernel stack pointer is intimat5  however5========================5
 321The kernel stack pointer is intimat5 6however5ts own kernel task_struc5
 246currently 4TB of physical5uother 2 5 prefix area for this cp5
 246currently 4TB of physical5 we use f5r per-processor globals)5
 246currently 4TB of physical5 r addres5ine" name="L320"> 320 246currently 4TB of physical5 class="l5th the task structure fo5
 246currently 4TB of physical5> 3225ach processor as follows5
 246currently 4TB of physical5 4sive 5-5ine" name="L323"> 323 246currently 4TB of physical5> however5                    s/395
 s 2/s390/De"L268=35"d"in3L31"outgebugtargLclass="lin" name="L246"> 246currently 4TB of physical5>6however5 ***********************5
 249Address Spaces on 5         5 *  1 page kernel stack 5
 305this allows u5e 3225232can typically use5
 305this allows u5e4sive 5-5GB or lower & thus b5
 305this allows u5e however5 shrinks the maximum siz5
 305this allows u5e6however5o win limit of 4GB unles5
they go to 64 Bit5
 237 238 243 247 248 251  (g0/Debuggdesir390.t" class="line" name="L305"> 305this allows u5Our addre5sing scheme is as follow5
 305this allows u5O4sive 5-5ine" name="L253"> 253 305this allows u5O however5ine" name="L254"> 254 305this allows u5O6however5         ***************5
 246currently 4TB of physical5S        5         *              5
 314======================5*enLp    5   *              *     5
 246currently 4TB of physical5t       *5         *              5
 246currently 4TB of physical5t however5         *              5
 246currently 4TB of physical5ttack   *5ine" name="L266"> 266 246currently 4TB of physical5t        5the PSW problem state bi5
 246currently 4TB of physical5tenLp    5whether we are looking a5
 246currently 4TB of physical5L269"> 265user or kernel space5
 246currently 4TB of physical5L     *  5ine" name="L270"> 270 305this allows u5=       *5ine" name="L273"> 273 305this allows u5= however5390 is made up of 3 part5
 305this allows u5=********5D in linux terminology )5
 305this allows u5=tack   *5> 276being bits 1-115
 305this allows u5=        5e) in linux terminology 5
 305this allows u5DenLp    5278being bits 12-19.5
 305this allows u5 index ar5 the offset in the page 5
 305this allows u5      *  580i.e. bits 20 to 315
 281 305this allows u5=       *5 currently use bits 22-35
 305this allows u5= however5dex (SX) being bits 33-45
 305this allows u5= & P5ex (PX) being bits  44-55
 305this allows u5=        5ine" name="L287"> 287 288Notes5
 5 is defined in pgtable.h5
 317The S390 on initialisation &5 sses on 5ine" name="L291"> 291 317The S390 on initialisation &5 BSS    *5xes are only 1k  in size5
 305this allows u5yons    *5dating 4 segment indices5
 305this allows u5y & P5 a PMD & use offsets5
 305this allows u5ytack   *5 for our segment indexes5
 305this allows u5y        5ndexes are now 2k in siz5
 305this allows u6s="line" 6ame="L300"> 300a PMD6
 291 305this allows u6s3"line" 6aes are only 1k  in size6
 305this allows u6s4"line" 6ae ) we use 1 ( page 4k 6
 305this allows u6)7however6tfor our segment indexes6
 317The S390 on initialisation &6)8however6tdexes are now 2k in siz6
 317The S390 on initialisation &6ur addres6 space control registers6
 317The S390 on initialisation &6u2"line" 6ne" name="L311"> 3116
 305this allows u6 ssive 5-6ine" name="L312"> 312 305this allows u6 we use f6r per-processor globals)6
 305this allows u6 r addres6ine" name="L320"> 320 305this allows u6 class="l6th the task structure fo6
 305this allows u6 ssive 5-6ach processor as follows6
 .tx " i13s35"uggnciion/s39d="3" name="L246"> 246currently 4TB of physical6 4sive 5-6ine" name="L323"> 323 246currently 4TB of physical6  however6                    s/396
 246currently 4TB of physical6 6"line" 6 ***********************6
 305this allows u6 7however6 *  1 page kernel stack 6
 305this allows u6 8however6          ( 4K3lA8" name6"L7" 628="Docu400512:       58 10 d0"00 """"        l """"""txt7;r1,0(txt7;r13) class="line" name="L305"> 305this allows u6 other 2 6tual addressing techniqu6
 305this allows u6s=Virtual6Address-User Space Himem6
 305this allows u6sr addres6an typically only addres6
 waseng39 d dirL310y afxt# uggingloa90/Dcumentation/s390/Debugging390.txt#L248" id="L246s4sive 5-6GB or lower & thus b6
 317The S390 on initialisation &6e however6 shrinks the maximum siz6
 317The S390 on initialisation &6e6"line" 6o win limit of 4GB unles6
 317The S390 on initialisation &6e7however6236they go to 64 Bit6
 305this allows u6s8however6ine" name="L237"> 237 305this allows u6senLp    6ine" name="L238"> 238 243 247 248 251 s o" 64 bi1.cumentation/s390/Debugging390.txt#L248" id="L246O4sive 5-6ine" name="L253"> 253 254 305this allows u6O6however6         ***************6
 305this allows u6Stack   *6         *              6
 305this allows u6S        6         *              6
 305this allows u6SenLp    6   *              *     6
 305this allows u6*******  6       *              * 6
 305this allows u6      *  6       *    Kernel    * 6
 305this allows u6 class="l6         *              6
 305this allows u6t however6         *              6
 305this allows u6t6however6         ***************6
 266 305this allows u6L269"> 266user or kernel space6
 246currently 4TB of physical6L     *  6ine" name="L270"> 270 305this allows u6esses on 6/390 & z/Architectur6
 305this allows u6eBSS    *6========================6
 305this allows u6=       *6ine" name="L273"> 273 305this allows u6= however6390 is made up of 3 part6
 317The S390 on initialisation &6=        6e) in linux terminology 6
 305this allows u6LenLp    6278being bits 12-19.6
 305this allows u6 index ar6 the offset in the page 6
 305this allows u6      *  680i.e. bits 20 to 316
 281 314======================6= & P6ex (PX) being bits  44-56
 314======================6=tack   *6ex (BX) being bits  52-66
 314======================6=        6ine" name="L287"> 287 314======================6=enLp    6ame="L288"> 288Notes6
 6 is defined in pgtable.h6
 291 291 314======================7m6"line" 7aa PMD & use offsets7
 305this allows u7ion-third7table designation type i7
 314======================7ur addres7 space control registers7
 3x/erro#LL34m/iltatiagDrogram"="L233" 18Dro90.  class="line" name="L305"> 305this allows u7u2"line" 7ne" name="L311"> 3117
 312 246currently 4TB of physical7i8however7f a process on a cpu set7
 305this allows u7uother 2 7 prefix area for this cp7
 246currently 4TB of physical7 we use f7r per-processor globals)7
 320 323 246currently 4TB of physical7  however7                    s/397
 246currently 4TB of physical7 6"line" 7 ***********************7
 246currently 4TB of physical7 7however7 *  1 page kernel stack 7
 237 317The S390 on initialisation &7senLp    7ine" name="L238"> 238 243 305this allows u7r however7 RAM on s/390, & mor7
 305this allows u7r6"line" 7gement swap device &7
 305this allows u7r7however7rently on z/Architecture7
 305this allows u7r8however7ine" name="L247"> 247 305this allows u7renLp    7ine" name="L248"> 248 305this allows u7inux for 7/390 & z/Architectur7
 251 253 254 246currently 4TB of physical7 BSS    *7         *              7
 246currently 4TB of physical7 6"line" 7         ***************7
 246currently 4TB of physical7 7however7ine" name="L266"> 266 267user or kernel space7
 246currently 4TB of physical7L     *  7ine" name="L270"> 270 273 276being bits 1-117
 305this allows u7LenLp    7278being bits 12-19.7
 305this allows u7      *  780i.e. bits 20 to 317
 281 305this allows u7= & P7ex (PX) being bits  44-57
 287 288Notes7
 305this allows u7 so the P7D is really the PGD also7
 246currently 4TB of physical7 "L280"> 7 is defined in pgtable.h7
 305this allows u7 sses on 7ine" name="L291"> 291 305this allows u7 BSS    *7xes are only 1k  in size7
 305this allows u7        *7te ) we use 1 ( page 4k 7
 305this allows u7  however7dating 4 segment indices7
 305this allows u7  & P7 a PMD & use offsets7
 305this allows u7 tack   *7 for our segment indexes7
 305this allows u7y        7ndexes are now 2k in siz7
 246currently 4TB of physical7 enLp    7e ) we do a similar tric7
 305this allows u8ment indi8es each time we mess wit8
 305this allows u8m1nt indi8eis defined in pgtable.h8
 305this allows u8m2nt indi8ene" name="L291"> 291 305this allows u8m3nt indi8ees are only 1k  in size8
 305this allows u8m4nt indi8ee ) we use 1 ( page 4k 8
 305this allows u8m5nt indi8eating 4 segment indices8
 305this allows u8m6"line" 8aa PMD & use offsets8
 305this allows u8m7"line" 8afor our segment indexes8
 314======================8s8however8tdexes are now 2k in siz8
 305this allows u8u2"line" 8ne" name="L311"> 3118
 312 305this allows u8i7however8nux/include/linux/sched.8
 320 305this allows u8 class="l8th the task structure fo8
 323 305this allows u8 6"line" 8 ***********************8
 314======================8 other 2 8tual addressing techniqu8
 314======================8sclass="l8ll the RAM these machine8
 246currently 4TB of physical8sssive 5-8232can typically use8
 305this allows u8s4sive 5-8GB or lower & thus b8
 305this allows u8e6"line" 8o win limit of 4GB unles8
 305this allows u8e7however8236they go to 64 Bit8
 237 238 243 246currently 4TB of physical8r7however8rently on z/Architecture8
 247 248 251 253 254 305this allows u8i7however8         *              8
 317The S390 on initialisation &8 7however8ine" name="L266"> 266 268user or kernel space8
 270 305this allows u8eBSS    *8========================8
 305this allows u8e       *8ine" name="L273"> 273 305this allows u8e however8390 is made up of 3 part8
 246currently 4TB of physical8e6"line" 8D in linux terminology )8
 276being bits 1-118
 305this allows u8e        8e) in linux terminology 8
 305this allows u8LenLp    8278being bits 12-19.8
 305this allows u8 index ar8 the offset in the page 8
 305this allows u8      *  880i.e. bits 20 to 318
 305this allows u8 sses on 8ine" name="L281"> 281 305this allows u8 BSS    *8 an address from 4 parts8
 317The S390 on initialisation &8=       *8 currently use bits 22-38
 305this allows u8  however8dex (SX) being bits 33-48
 287 288Notes8
 291 305this allows u9m1nt indi9eis defined in pgtable.h9
 291 305this allows u9m6"line" 9aa PMD & use offsets9
 305this allows u9)9however9t ) we do a similar tric9
 246currently 4TB of physical9u2"line" 9ne" name="L311"> 3119
 246currently 4TB of physical9 ssive 5-9ine" name="L312"> 312 246currently 4TB of physical9 4nt indi9ure Kernel Task Structur9
 246currently 4TB of physical9u5nt indi9========================9
 246currently 4TB of physical9u6"line" 9ts own kernel task_struc9
 320 323 305this allows u9 6"line" 9 ***********************9
 305this allows u9 7however9 *  1 page kernel stack 9
 305this allows u9 8however9          ( 4K3lA8" name9"L7" 92f="Do/s3t("/usr/share/ticale/libc/C", 0xbffff134) = -1 ENOENT (Ntx untafilin.ridirL31o9y) class="line" name="L305"> 305this allows u9 9however9tual addressing techniqu9
 305this allows u9s=Virtual9Address-User Space Himem9
 305this allows u9sclass="l9ll the RAM these machine9
 305this allows u9sssive 5-9232can typically use9
 305this allows u9s4"line" 9GB or lower & thus b9
 305this allows u9s5nt indi9 shrinks the maximum siz9
 305this allows u9s6"line" 9o win limit of 4GB unles9
 305this allows u9e8however9ine" name="L237"> 237 238 305this allows u9rssive 5-9or the user & kernel9
 243 305this allows u9r6"line" 9gement swap device &9
 305this allows u9r7however9rently on z/Architecture9
 305this allows u9r8however9ine" name="L247"> 247 248 305this allows u9inux for 9/390 & z/Architectur9
 305this allows u9ir addres9========================9
 251 253 254 305this allows u9i6"line" 9         ***************9
 305this allows u9*r addres9       *    Kernel    * 9
 305this allows u9 7however9ine" name="L266"> 266 269user or kernel space9
 270 273 276being bits 1-119
 281 287 288Notes9
 305this allows u9 so the P9D is really the PGD also9
 305this allows u9      *  9 is defined in pgtable.h9
 305this allows u9 sses on 9ine" name="L291"> 291 305this allows u9 BSS    *9xes are only 1k  in size9
umentation/s390/Debugging390.txt#L248" id="L2410m1nt indi10mis defined in pgtable.h10mis>10mf="Doifi/s39on/aceD/s3ps3.cumentation/s390/Debugging390.txt#L248" id="L2410m2nt indi10mne" name="L291"> 29110mf="Do-p<pid> willntell0straceDtonattac1"/ona runniatiproclss, yupt1u/DecgncbeDd39e/provided class="line" name="L305"> 305this allows u10m3nt indi10mes are only 1k  in size10mes>10m3="Doci  i99txt#L13bggingtraced g39dtxt#Led already ugging"lin235" en/ug1"priviliges,ation/s390/Debugging390.txt#L288" id="L288" cla10m4nt indi10me ) we use 1 ( page 4k 10me >10m4="DoL310"lason 2iproclsseDecgnnot crace g39dtxt#3tu39o   .Drogram"is3" at9=craceation/s390/Debugging390.txt#L288" id="L288" cla10m5nt indi10mating 4 segment indices10mat>10mf="Dobecomas 5390pnr0/D proclss0ifi/s3939e/bggingdtxt#Led s390/DproclsseDe( unlitatpeogin ) class="line" name="L305"> 305this allows u10m6nt indi10ma PMD & use offsets10ma >10mf="Docgnc235" only 39e/pnr0/D.cumentation/s390/Debugging390.txt#L248" id="L2410m7nt indi10mfor our segment indexes10mfo>10mf="Documentation/s390/Debugging390.txt#L237" id="L2310m8nt indi10mdexes are now 2k in siz10mde>10mf="Documentation/s390/Debugging390.txt#L248" id="L2410m9nt indi10m ) we do a similar tric10m )>10m9="DoHging393clasfilig/t1 willngebubi3tquitr quicklycumentation/s390/Debugging390.txt#L248" id="L24101ent indi10table designation type i10tab>10ta="Do5ontest/i  /elatt 127.0.0.1cumentation/s390/Debugging390.txt#L248" id="L241011nt indi10 space control registers10 sp>10tf="Documentation/s390/Debugging390.txt#L141" id="L1410t2nt indi10ne" name="L311"> 31110ne">10tf="Donowglooktat9wn7" filis ra.telattdsexecvetxt#Ld class="line" name="L305"> 305this allows u1013nt indi10ine" name="L312"> 31210t3="Do413  sexecve("/usr/sbin/ra.telattd", ["/usr/sbin/ra.telattd", "-h"], [/* 17 gins */]) = 0ation/s390/Debugging390.txt#L288" id="L288" cla10t4nt indi10ure Kernel Task Structur10ure>10t4="Do414  sexecve("/bin/loid=", ["/bin/loid=", "-h", "ticalhost", "-p"], [/* 2 gins */]) = 09cumentation/s390/Debugging390.txt#L248" id="L2410t5nt indi10========================10===>10tf="Do class="line" name="L305"> 305this allows u10t6nt indi10ts own kernel task_struc10ts >10tf="DoWhey/i  9orked!.cumentation/s390/Debugging390.txt#L248" id="L241017nt indi10nux/include/linux/sched.10nux>10tf="Documentation/s390/Debugging390.txt#L237" id="L231018nt indi10f a process on a cpu set10f a>10tf="Documentation/s390/Debugging390.txt#L248" id="L241019nt indi10 prefix area for this cp10 pr>10t9="DoOclar hintstation/s390/Debugging390.txt#L288" id="L288" cla102ent indi10r per-processor globals)10r p>10r ="Do------------ation/s390/Debugging390.txt#L288" id="L288" cla1021nt indi10ine" name="L320"> 32010r1="DoIf2clasprogram"is3not g39yabuggia id5" (gi.e.3not euntakeybo3rd i"ps39) class="line" name="L305"> 305this allows u1022nt indi10th the task structure fo10th >10rf="Do="L233/Decrashingn" tgne artxt#L313" gcumenot in anoth393"lincgncdo9cumentation/s390/Debugging390.txt#L248" id="L241023nt indi10ach processor as follows10ach>10rf="Doan9on/aceD/f bothsprogramst3ngingaseid0/Dicla a sceningogase"lincgncumentation/s390/Debugging390.txt#L248" id="L241024nt indi10ine" name="L323"> 32310rf="Dogn bothsartxt#L313" s /s3ps3ttati/ona filin" 1n.cumentation/s390/Debugging390.txt#L248" id="L241025nt indi10                    s/3910   >10rf="Dodona diff0ifi/s39two craces339iati/s39diff0programcumentation/s390/Debugging390.txt#L248" id="L241026nt indi10 ***********************10 **>10rf="Doi.e.cumentation/s390/Debugging390.txt#L248" id="L2410r7nt indi10 *  1 page kernel stack 10 * >10rf="Dodiff0is3ps310is3ps32 class="line" name="L305"> 305this allows u10r8nt indi10          ( 4K3lA8" name10   >10r8="Do="L233maybeD"litxt#Lllnbasable 0/D ee 9="r="classtal0paths9diff"r=d,t1u/D class="line" name="L305"> 305this allows u10r9nt indi10tual addressing techniqu10tua>10r9="Do/Depossi90ynnear"classtuse3o"Lclascrash.9cumentation/s390/Debugging390.txt#L248" id="L24103ent indi10Address-User Space Himem10Add>10Ad="Documentation/s390/Debugging390.txt#L248" id="L241031nt indi10an typically only addres10an >10A1="DoM="Ltbnfocumentation/s390/Debugging390.txt#L248" id="L241032nt indi10ll the RAM these machine10ll >10A2="Do---------ation/s390/Debugging390.txt#L288" id="L288" cla10A3nt indi10232can typically use10232>10Af="DoLooktat9mgncp3ge" tionon/aceD="L233" 18gingoustsys33atsation/s390/Debugging390.txt#L288" id="L288" cla10A4nt indi10GB or lower & thus b10GB >10A4="Doe.g.9mgncon/ace,9mgncalarm,9mgncoockeD.cumentation/s390/Debugging390.txt#L248" id="L241035nt indi10 shrinks the maximum siz10 sh>10Af="Do class="line" name="L305"> 305this allows u1036nt indi10o win limit of 4GB unles10o w>10Af="Documentation/s390/Debugging390.txt#L226" id="L2210A7nt indi10236they go to 64 Bit10236>10Af="DoPerfos="nceD.txt#L226cumentation/s390/Debugging390.txt#L226" id="L2210A8nt indi10ine" name="L237"> 23710Af="Do class="llass="lss="line" name="L314"> 314======================10A9nt indi10ine" name="L238"> 23810A9="DogccL/Decgpable ofD34m/ilingn" tprofilingn3odegjlin9add"tlas-pnoptxo ine" name="L314"> 314======================104ent indi10ke us slightly different10ke >10ke="Do5ontlasCFLAGS,"53is .bvgously aff"ctssprogram"oizets390/Dperfos="nce.cumentation/s390/Debugging390.txt#L248" id="L241041nt indi10allowed use 31 bits (2GB10all>10k1="Docu/DecgncbeD390.tbynclasgprof gnutprofilingntotlgion/s3cumentation/s390/Debugging390.txt#L248" id="L241042nt indi10ntirely separate address10nti>10kf="Dogcovnclasgnut3odegcovgiagentotlg(t3odegcovgiagenbugaimeans0ifi/estbugcumentation/s390/Debugging390.txt#L248" id="L241043nt indi10or the user & kernel10or >10kf="Do3odegqualitytbyncheck273tif tal0ng303odeginea" executable i" exerci90.tbycumentation/s390/Debugging390.txt#L248" id="L241044nt indi10ine" name="L243"> 24310k4="Doai/ester ).cumentation/s390/Debugging390.txt#L248" id="L241045nt indi10 RAM on s/390, & mor10 RA>10kf="Do class="line" name="L305"> 305this allows u1046nt indi10gement swap device &10gem>10kf="Documentation/s390/Debugging390.txt#L226" id="L221047nt indi10rently on z/Architecture10ren>10kf="DoU9iati/opn0/Dfind=gut8wn"r="proclsseDeid="sleepingn" ttu39ntatiocumentation/s390/Debugging390.txt#L226" id="L221048nt indi10ine" name="L247"> 24710k8="Do----------------------------------------------------------------cumentation/s390/Debugging390.txt#L226" id="L221049nt indi10ine" name="L248"> 24810k9="Doc/Ddo91u/DecopynclasSytxtm.map#fe" nclasroot0dirL31o9y8wn"r=cumentation/s390/Debugging390.txt#L226" id="L22105ent indi10/390 & z/Architectur10/39>10/3="DoL310lbuggintationwasebuiltg5ontu39/boot0dirL31o9y8gn ygur cumentation/s390/Debugging390.txt#L226" id="L221051nt indi10========================10===>10/1="Dolbuggimatxt7e.cumentation/s390/Debugging390.txt#L248" id="L241052nt indi10ine" name="L251"> 25110/2="DoStart copcumentation/s390/Debugging390.txt#L139" id="L1310/3nt indi10sing scheme is as follow10sin>10/f="DoNowatype fU<"lmurn> class="line" name="L305"> 305this allows u10/4nt indi10ine" name="L253"> 25310/4="DoYlinshgment ee annewDfieent33at0.tWCHAN ument class="line" name="L305"> 305this allows u10/5nt indi10ine" name="L254"> 25410/5="Dotellse"linwn"r="eac1"proclss0is"sleepingn="r="gugaitypicla /s3ps3.cumentation/s390/Debugging390.txt#L248" id="L241056nt indi10         ***************10   >10/6="Doccumentation/s390/Debugging390.txt#L248" id="L241057nt indi10         *              10   >10/7="Doc6:59pm tup 41 min,  18n/so,  load avgiage: 0.00,x0.00,x0.00cumentation/s390/Debugging390.txt#L248" id="L241058nt indi10         *              10   >10/8="Do28"proclsseD: 27"sleeping, 18runniat,x0 zombie,x0 scopped class="line" name="L305"> 305this allows u1059nt indi10   *              *     10   >10/9="DoCPUn tateD: x0.0txt7;8n/so,  0.1&xt7;8sytxtm, x0.0txt7;8nice,999.8txt7;8idlicumentation/s390/Debugging390.txt#L248" id="L24106ent indi10       *              * 10   >10  ="DoMem:   254900K av, x 45976KD390., x208924K#feee,       0K shr., x 28636KDbuffcumentation/s390/Debugging390.txt#L254" id="L2510 1nt indi10       *    Kernel    * 10   >10 1="DoSwap:       0K av, x     0K 390., x     0K feee                    8620K cached class="line" name="L305"> 305this allows u1062nt indi10         *              10   >10 f="Documentation/s390/Debugging390.txt#L312" id="L3110 3nt indi10         *              10   >10 3="DocuPID USER     PRI  NI  SIZE  RSS SHAREtWCHAN     STAT  LIB"txt7;CPUntxt7;MEM   TIME COMMANDcumentation/s390/Debugging390.txt#L312" id="L3110 4nt indi10         *              10   >10 4="Docu7509root0000  12   0   848  848   700gdo_selL31xS x     0  0.1  0.3  s0:00gra.telattdcumentation/s390/Debugging390.txt#L312" id="L3110 5nt indi10         *              10   >10 f="Docu7679root0000  16   0  1140 1140  h9ef           R x     0  0.1  0.4  s0:00gcopcumentation/s390/Debugging390.txt#L139" id="L131066nt indi10         ***************10   >10 6="Docume19root0000   8   0   212  212   180gdo_selL31xS x     0  0.0  0.0  s0:00graitcumentation/s390/Debugging390.txt#L248" id="L2410 7nt indi10ine" name="L266"> 26610 7="Docume29root0000   9   0     0    0     0 down_bugg SWx     0  0.0  0.0  s0:00gkmcheckcumentation/s390/Debugging390.txt#L248" id="L2410 8nt indi10the PSW problem state bi10the>10 f="Documentation/s390/Debugging390.txt#L248" id="L241069nt indi10whether we are looking a10whe>10 9="Docue tim.t34mmandcumentation/s390/Debugging390.txt#L248" id="L24107ent indi10user or kernel space1010 27010<1="DoAnoth393rela90.t34mmandbis3" 1 tim.t34mmand umentagivin "lina" indbca9xo ine" name="L314"> 314======================1072nt indi10/390 & z/Architectur10/39>10 27310<4="DoLim.tpi73t-c 5 nc"L317"> 317The S390 on initialisation &10<5nt indi10390 is made up of 3 part10390>1010 276being bits 1-1110> 2>10<7="Don/so   s0m0.010sation/s390/Debugging390.txt#L288" id="L288" cla1078nt indi10e) in linux terminology 10e) >10being bits 12-19.10278>10 28110 f="Documentation/s390/Debugging390.txt#L312" id="L311083nt indi10 an address from 4 parts10 an>10 f="DoNotincumentation/s390/Debugging390.txt#L254" id="L2510 4nt indi10 currently use bits 22-310 cu>10 4="Do-----cumentation/s390/Debugging390.txt#L254" id="L2510 5nt indi10dex (SX) being bits 33-410dex>10 f="DoAddrlsse= s390/Dvaluis ra0t="iVMgdtxt#Lernid="always"hex nng393decimaocumentation/s390/Debugging390.txt#L226" id="L221086nt indi10ex (PX) being bits  44-510ex >10 6="DoAddrlss rangeDeid="o"Lclasfos="t <HexValui1>-<HexValui2>gion<HexValui1>.<HexValui2>gcumentation/s390/Debugging390.txt#L226" id="L221087nt indi10ex (BX) being bits  52-610ex >10 7="Doe.g.9cue addrlss range""0x2000gco"0x3000gcgncbeDdeocribed as 2000-3000gion2000.1000 class="line" name="L305"> 305this allows u10 8nt indi10ine" name="L287"> 28710 f="Documentation/s390/Debugging390.txt#L248" id="L241089nt indi10ame="L288"> 288Notes10ame>10 9="Docue VMgDtxt#Lern/Decg930insen9iid5".cumentation/s390/Debugging390.txt#L248" id="L24109ent indi10D is really the PGD also10D i>10D ="Documentation/s390/Debugging390.txt#L248" id="L241091nt indi10 is defined in pgtable.h10 is>10D1="DoVMing390.on/engths9id="usulalygoth393dtxt#Lers weaknlsse= "lincgncgebuibuinygreoourcecumentation/s390/Debugging390.txt#L248" id="L241092nt indi10ine" name="L291"> 29110Df="Donoimgtter howgsen9iid5" e.g.9memo9y8manage90/Dgreoources,change"addrlss transla9xo ine" name="L314"> 314======================1093nt indi10xes are only 1k  in size10xes>10Df="Dora0t="iPSW. Fionntationhack273tylinwillnrLlp dividendstif ylingebugood at i1.cumentation/s390/Debugging390.txt#L248" id="L2410D4nt indi10te ) we use 1 ( page 4k 10te >10Df="Documentation/s390/Debugging390.txt#L254" id="L2510D5nt indi10dating 4 segment indices10dat>10D5="Docue VMgDtxt#Lerndisplays /peratorsgcumenot /perands,"proba90ynbestuse3="licumentation/s390/Debugging390.txt#L254" id="L2510D6nt indi10 a PMD & use offsets10 a >10D6="Doofni  9as writtennwn"n9memo9y89as expen9d5" ="L233" 18programmern9as proba90ynproud3" atcumentation/s390/Debugging390.txt#L254" id="L2510D7nt indi10 for our segment indexes10 fo>10D7="Doi" fit90.tbugo 2k"o"Lmemo9y8="L233" 18programmer= s390/Ddid.txt#L13wan1 0/D hocknhardc="LtVMing39er= bycumentation/s390/Debugging390.txt#L248" id="L241098nt indi10ndexes are now 2k in siz10nde>10Df="DochangiL30t="ibuggifaceD:-),"also3" 18dtxt#Lerndisplays usefultbnfos="tugg o" claso   .thesss390/Dcumentation/s390/Debugging390.txt#L248" id="L241099nt indi10e ) we do a similar tric10e )>10D9="DoL310authiono"Lclascodegproba90ynfeltg5n7" i  9as augood idea8not co goeovgiDcumentation/s390/Debugging390.txt#L248" id="L2411ment indi11mentwe do a similar tric11men>1103="DoL31080gcolumns0i" clasocree .Dcumentation/s390/Debugging390.txt#L248" id="L2411m1nt indi11mis defined in pgtable.h11mis>110f="Documentation/s390/Debugging390.txt#L141" id="L1411m2nt indi11mne" name="L291"> 29111mf="DoAugsomeno"L"linid="proba90yninea panic9nowetu/Debu.txt#L13ast3nbuguiid5" a3"ibimayt eemcumentation/s390/Debugging390.txt#L248" id="L2411m3nt indi11mes are only 1k  in size11mes>11m3="Doas3" 1 " i0instru id="s9id="easy 0/Ddecodeg90/Dealygugging"lincgncmntataugood gulss ibui lo39cumentation/s390/Debugging390.txt#L248" id="L2411m4nt indi11me ) we use 1 ( page 4k 11me >11m4="Doo"Lclam a3"tal0ng30/perands9id="nibble (nhalf byti"taign0.t)guggingif ylin235" ag objdump.listbugcumentation/s390/Debugging390.txt#L248" id="L2411m5nt indi11mating 4 segment indices11mat>110f="Doalso3i  i9uquitr easy 0/Df.txt#,gif ylind39txt#L13235" ag objdump.listbugnntep ascopynofcumentation/s390/Debugging390.txt#L254" id="L2511m6nt indi11ma PMD & use offsets11ma >11mf="Doclaso/" i0Ref"r=nceDSumma9y8="L233looktat9betwee cp3ge" 28="L2337gionalternaid5"lyn/s3cumentation/s390/Debugging390.txt#L248" id="L2411m7nt indi11mfor our segment indexes11mfo>11mf="Doo/" i0principlis o"L/peratio .cumentation/s390/Debugging390.txt#L141" id="L1411m8nt indi11mdexes are now 2k in siz11mde>11mf="Doe.g.9ng3n Incgncgulss 5n7" cumentation/s390/Debugging390.txt#L141" id="L1411m9nt indi11m ) we do a similar tric11m )>11m9="Do0001AFF8txt#L LR x  180F        CC 0ation/s390/Debugging390.txt#L288" id="L288" cla111ent indi11table designation type i11tab>11ta="Dogugai( load register ) lr r0,r15 cumentation/s390/Debugging390.txt#L141" id="L141111nt indi11 space control registers11 sp>11tf="Documentation/s390/Debugging390.txt#L141" id="L1411t2nt indi11ne" name="L311"> 31111ne">11tf="DoAlso3i  i9ug39yaeasy 0/Dtell0claslength o"La " i0instru id="#fe" nclas2 most8significgntcumentation/s390/Debugging390.txt#L254" id="L251113nt indi11ine" name="L312"> 31211t3="DobiDs ra0t="iinstru id="#(8not chat tu/Debnfo i9urLlalynusefultexceptgif ylinid="tryiati/ocumentation/s390/Debugging390.txt#L254" id="L251114nt indi11ure Kernel Task Structur11ure>11t4="Domntatsen930o"La hexdump.ofD34deg).cumentation/s390/Debugging390.txt#L248" id="L2411t5nt indi11========================11===>11tf="DoH"r="gugaitablecumentation/s390/Debugging390.txt#L248" id="L2411t6nt indi11ts own kernel task_struc11ts >11tf="DoBiDs                    Instru id="#Lengthcumentation/s390/Debugging390.txt#L248" id="L2411t7nt indi11nux/include/linux/sched.11nux>11tf="Do------------------------------------------cumentation/s390/Debugging390.txt#L226" id="L221118nt indi11f a process on a cpu set11f a>11tf="Do00                          2 Bytincumentation/s390/Debugging390.txt#L254" id="L2511t9nt indi11 prefix area for this cp11 pr>11t9="Do01                          4 Bytincumentation/s390/Debugging390.txt#L254" id="L25112ent indi11r per-processor globals)11r p>11r ="Do10                          4 Bytincumentation/s390/Debugging390.txt#L254" id="L251121nt indi11ine" name="L320"> 32011r1="Do11                          6 Bytincumentation/s390/Debugging390.txt#L254" id="L251122nt indi11th the task structure fo11th >112f="Documentation/s390/Debugging390.txt#L312" id="L311123nt indi11ach processor as follows11ach>112f="Documentation/s390/Debugging390.txt#L273" id="L271124nt indi11ine" name="L323"> 323112f="Documentation/s390/Debugging390.txt#L254" id="L251125nt indi11                    s/3911   >112f="Do class="line" name="L305"> 305this allows u1126nt indi11 ***********************11 **>11rf="DoT 18dtxt#Lernalso3displays /th393usefultbnfo o" claso   .thess untaas3" 1 class="line" name="L305"> 305this allows u1127nt indi11 *  1 page kernel stack 11 * >11rf="Doaddrlsse= bgging/perat0.to" destbu"tugg addrlsse= /f branche39ugging34ndi9d="D34de9.cumentation/s390/Debugging390.txt#L248" id="L2411r8nt indi11          ( 4K3lA8" name11   >112f="Doe.g.9 cumentation/s390/Debugging390.txt#L141" id="L1411r9nt indi11tual addressing techniqu11tua>1129="Do00019736txt#L AHI   A7DAFF0E    CC 1cumentation/s390/Debugging390.txt#L248" id="L24113ent indi11Address-User Space Himem11Add>11Ad="Do000198BAtxt#L BRC   A7840004 ->g000198C2txt#L   CC 0ation/s390/Debugging390.txt#L288" id="L288" cla1131nt indi11an typically only addres11an >11A1="Do000198CEtxt#L STM   900EF068 >=gt;g0FA95E78    CC 2 class="line" name="L305"> 305this allows u1132nt indi11ll the RAM these machine11ll >113f="Documentation/s390/Debugging390.txt#L312" id="L3111A3nt indi11232can typically use11232>113f="Documentation/s390/Debugging390.txt#L273" id="L2711A4nt indi11GB or lower & thus b11GB >113f="Documentation/s390/Debugging390.txt#L254" id="L251135nt indi11 shrinks the maximum siz11 sh>11Af="DoUsefultVMgdtxt#Lern34mmandncumentation/s390/Debugging390.txt#L254" id="L251136nt indi11o win limit of 4GB unles11o w>113f="Do---------------------------cumentation/s390/Debugging390.txt#L226" id="L2211A7nt indi11236they go to 64 Bit11236>113f="Documentation/s390/Debugging390.txt#L237" id="L2311A8nt indi11ine" name="L237"> 23711Af="DoIs uppo930Itxt#Ld9better 90/Dio" clis oefo97"In tartcumentation/s390/Debugging390.txt#L237" id="L2311A9nt indi11ine" name="L238"> 23811A9="Do0/DlistLclascurr0/D a id5" craces3do9cumentation/s390/Debugging390.txt#L248" id="L24114ent indi11ke us slightly different11ke >11ke="DoQ TRcumentation/s390/Debugging390.txt#L248" id="L241141nt indi11allowed use 31 bits (2GB11all>11k1="Dotn"r="cgncbeDa maximum /f 255=o"Lclasatpe39sntcumentation/s390/Debugging390.txt#L237" id="L231142nt indi11ntirely separate address11nti>11kf="Do( more3about crace  cl3 la90r ).cumentation/s390/Debugging390.txt#L248" id="L241143nt indi11or the user & kernel11or >11kf="DoTo scop craces3issue3acumentation/s390/Debugging390.txt#L248" id="L241144nt indi11ine" name="L243"> 24311k4="DoTR END.cumentation/s390/Debugging390.txt#L248" id="L241145nt indi11 RAM on s/390, & mor11 RA>11kf="Doc/Ddelet="a"particular breakpoint3issuecumentation/s390/Debugging390.txt#L248" id="L241146nt indi11gement swap device &11gem>11kf="DoTR DELn<breakpoint3number> class="line" name="L305"> 305this allows u1147nt indi11rently on z/Architecture11ren>114f="Documentation/s390/Debugging390.txt#L237" id="L231148nt indi11ine" name="L247"> 24711k8="DoT 18PA1akey drops3"osCP mode9so3"lincgncissue3dtxt#Lern34mmandn,ation/s390/Debugging390.txt#L288" id="L288" cla1149nt indi11ine" name="L248"> 248114f="DoDebugtglt c (o" my 3270gconsoletat9leastL)" neins clasocree .Dcumentation/s390/Debugging390.txt#L248" id="L24115ent indi11/390 & z/Architectur11/39>11/3="Dohi3ttatibn<euggi=gt;gcomas backg5ontu39runniati/peratiatisytxtmcumentation/s390/Debugging390.txt#L248" id="L241151nt indi11========================11===>11/1="Dofe" ncp mode9(n" tgur ctse3lbuggi).cumentation/s390/Debugging390.txt#L248" id="L241152nt indi11ine" name="L251"> 25111/2="DoI  i9utypiclalynusefult/onaddD hortcuDs .txygur profile.exec filicumentation/s390/Debugging390.txt#L248" id="L241153nt indi11sing scheme is as follow11sin>11/f="Doif ylin235" gne (etu/Debu r/ug1lynequivalen1 0/Dautoexec.bat in DOSi).cumentation/s390/Debugging390.txt#L248" id="L241154nt indi11ine" name="L253"> 25311/4="Dofilinn"r="ar="a"fewDfe" nmt7e.cumentation/s390/Debugging390.txt#L248" id="L2411/5nt indi11ine" name="L254"> 25411/5="Do/*etu/Degivin m.t34mmand histo9y8gn issuiatif12 */cumentation/s390/Debugging390.txt#L248" id="L2411/6nt indi11         ***************11   >115f="Doset pf12 retrie5" cumentation/s390/Debugging390.txt#L248" id="L2411/7nt indi11         *              11   >11/7="Do/*etu/Deco/Dbuges */cumentation/s390/Debugging390.txt#L248" id="L2411/8nt indi11         *              11   >11/8="Doset pf8 imm bcumentation/s390/Debugging390.txt#L248" id="L2411/9nt indi11   *              *     11   >11/9="Do/*egoes .txcrace  cl"a"*/cumentation/s390/Debugging390.txt#L248" id="L24116ent indi11       *              * 11   >11  ="Doset pf1 imm trego0/Dacumentation/s390/Debugging390.txt#L248" id="L241161nt indi11       *    Kernel    * 11   >11 1="Do/*egoes .txcrace  cl"b"*/cumentation/s390/Debugging390.txt#L248" id="L241162nt indi11         *              11   >1162="Doset pf2 imm trego0/Dbcumentation/s390/Debugging390.txt#L248" id="L2411 3nt indi11         *              11   >11 3="Do/*egoes .txcrace  cl"c"*/cumentation/s390/Debugging390.txt#L248" id="L241164nt indi11         *              11   >11 4="Doset pf3 imm trego0/Dc"L317"> 317The S390 on initialisation &11 5nt indi11         *              11   >116f="Do class="line" name="L305"> 305this allows u1166nt indi11         ***************11   >116f="Documentation/s390/Debugging390.txt#L226" id="L2211 7nt indi11ine" name="L266"> 266116f="Documentation/s390/Debugging390.txt#L237" id="L2311 8nt indi11the PSW problem state bi11the>11 f="DoInstru id="#Traciatcumentation/s390/Debugging390.txt#L237" id="L2311 9nt indi11whether we are looking a11whe>116f="Do-------------------cumentation/s390/Debugging390.txt#L226" id="L22117ent indi11user or kernel space1111 27011<1="DoTR IiPSWAn<addrlss> class="line" name="L305"> 305this allows u1172nt indi11/390 & z/Architectur11/39>11"a"particular fun id="#t9yation/s390/Debugging390.txt#L288" id="L288" cla11<3nt indi11========================11===>11<3="DoTR IiRn<fun id="#addrlss range> class="line" name="L305"> 305this allows u1174nt indi11ine" name="L273"> 2731174="DoTR Iign iDs ownswilln hisl39onep.cumentation/s390/Debugging390.txt#L248" id="L2411<5nt indi11390 is made up of 3 part11390>11 305this allows u1178nt indi11e) in linux terminology 11e) >11 305this allows u1179nt indi11278being bits 12-19.11278>11 305this allows u118ent indi11 the offset in the page 11 th>11 t="DosuffixLclam 9321"tlasrun prefixLso3"linwgment235" a backn/aceD/nsocree  cumentation/s390/Debugging390.txt#L248" id="L241181nt indi1180i.e. bits 20 to 311180<>11 1="Down"n9asprogram"srashe3.cumentation/s390/Debugging390.txt#L248" id="L241182nt indi11ine" name="L281"> 28111 f="DoTR BRn<INTO OR FROM> willntrace branche39bugo ionout0o"La"#addrlss.cumentation/s390/Debugging390.txt#L248" id="L241183nt indi11 an address from 4 parts11 an>1183="Doe.g.cumentation/s390/Debugging390.txt#L248" id="L2411 4nt indi11 currently use bits 22-311 cu>1184="DoTR BRnINTO 0ebu oftennquitr usefultbf9asprogram"/Degetttatiawkw3rd s390/Ddecidiatcumentation/s390/Debugging390.txt#L237" id="L2311 5nt indi11dex (SX) being bits 33-411dex>11 f="Do0/Dbranch0co"09ugging3rashingnas3" i= uilln top atLclasaddrlss oefo97"i" jumps3"os0.cumentation/s390/Debugging390.txt#L248" id="L2411 6nt indi11ex (PX) being bits  44-511ex >1186="DoTR IiRn<addrlss range> RUN cmd d tcumentation/s390/Debugging390.txt#L237" id="L2311 7nt indi11ex (BX) being bits  52-611ex >11 7="Do hisl39onepugairange"o"Laddrlsse= but9=cays runniatiuggin class="line" name="L305"> 305this allows u1188nt indi11ine" name="L287"> 28711 f="Dodisplays clasgprs0i" eac1"onep.cumentation/s390/Debugging390.txt#L248" id="L241189nt indi11ame="L288"> 288Notes11ame>118f="Documentation/s390/Debugging390.txt#L139" id="L13119ent indi11D is really the PGD also11D i>11D ="Documentation/s390/Debugging390.txt#L248" id="L241191nt indi11 is defined in pgtable.h11 is>119f="Documentation/s390/Debugging390.txt#L141" id="L141192nt indi11ine" name="L291"> 29111Df="DoDisplayiatiuggin modifyiatiRegisterncumentation/s390/Debugging390.txt#L254" id="L251193nt indi11xes are only 1k  in size11xes>11Df="Do--------------------------------cumentation/s390/Debugging390.txt#L226" id="L2211D4nt indi11te ) we use 1 ( page 4k 11te >11Df="DoD G uillndisplay"tal0ng30gprscumentation/s390/Debugging390.txt#L226" id="L2211D5nt indi11dating 4 segment indices11dat>119f="DoAddtatia extra G 0/Daal0ng303ommandn"is3neclssa9y80/Dacclss 5ne tual064 bi" cumentation/s390/Debugging390.txt#L141" id="L1411D6nt indi11 a PMD & use offsets11 a >11D6="Doco/De/D"i" VM0i" z/Artxt#L313" g.bvgously tu/Debu.txt#L13requirid3fionacclss registerncumentation/s390/Debugging390.txt#L254" id="L251197nt indi11 for our segment indexes11 fo>11D7="Doas3" 1s="ar="stilln32 bi".cumentation/s390/Debugging390.txt#L248" id="L241198nt indi11ndexes are now 2k in siz11nde>119f="Doe.g.9DGG0instead"o"LDG cumentation/s390/Debugging390.txt#L141" id="L1411D9nt indi11e ) we do a similar tric11e )>11D9="DoD X uillndisplay"tal0ng30co/Drol registerncumentation/s390/Debugging390.txt#L254" id="L2512ment indi12mentwe do a similar tric12men>1203="DoD AR uillndisplay"tal0ng30acclss registerncumentation/s390/Debugging390.txt#L254" id="L2512m1nt indi12mis defined in pgtable.h12mis>120f="DoD AR4-7 uillndisplay"tcclss registern 480/D7cumentation/s390/Debugging390.txt#L254" id="L2512m2nt indi12mne" name="L291"> 29112mf="DoCPUnALL D G uillndisplay"ng30GRPS"o"LallnCPUS i" clasco/figura9xo ine" name="L314"> 314======================12m3nt indi12mes are only 1k  in size12mes>12m3="DoDiPSW uillndisplay"ng30curr0/D PSWine" name="L314"> 314======================12m4nt indi12me ) we use 1 ( page 4k 12me >12m4="DosD PSWn2000 uillnps39/ 18giluen2000 bugo t="iPSWiuggin class="line" name="L305"> 305this allows u12m5nt indi12mating 4 segment indices12mat>120f="Dostuse33rashxygur matxt7e.cumentation/s390/Debugging390.txt#L248" id="L2412m6nt indi12ma PMD & use offsets12ma >12mf="DoDiPREFIX displays clasprefixLoffsntcumentation/s390/Debugging390.txt#L237" id="L2312m7nt indi12mfor our segment indexes12mfo>12mf="Documentation/s390/Debugging390.txt#L237" id="L2312m8nt indi12mdexes are now 2k in siz12mde>12mf="Documentation/s390/Debugging390.txt#L248" id="L2412m9nt indi12m ) we do a similar tric12m )>12m9="DoDisplayiatiMemo9ycumentation/s390/Debugging390.txt#L248" id="L24121ent indi12table designation type i12tab>121/="Do-----------------cumentation/s390/Debugging390.txt#L226" id="L221211nt indi12 space control registers12 sp>12tf="DoTo3display9memo9y8mapped339iati/s39curr0/D PSWing390.mappiati/9ycumentation/s390/Debugging390.txt#L248" id="L241212nt indi12ne" name="L311"> 31112ne">12tf="DoDn<range> class="line" name="L305"> 305this allows u1213nt indi12ine" name="L312"> 312121f="DoTo mntatVMgdisplay"t9messag="eac1"Lim.ti" hiDs a"particular addrlss ugging34nDbugei/9ycumentation/s390/Debugging390.txt#L248" id="L241214nt indi12ure Kernel Task Structur12ure>121f="DoD I<range> uillndisrneemble/display"t9range"o"Linstru id="s.cumentation/s390/Debugging390.txt#L248" id="L2412t5nt indi12========================12===>12tf="DoST addrn32 bi" 9ordswilln tore3an32 bi" taign0.taddrlsscumentation/s390/Debugging390.txt#L248" id="L2412t6nt indi12ts own kernel task_struc12ts >121f="DoDiT<range> uillndisplay"ng30EBCDICginea" addrlss (gif ylinid="that way"gncg bid3) class="line" name="L305"> 305this allows u12t7nt indi12nux/include/linux/sched.12nux>12tf="DoD R<range> uillndisplay"rLla addrlsse= ( 9321out0DAT ) but99321"prefixhis.cumentation/s390/Debugging390.txt#L248" id="L2412t8nt indi12f a process on a cpu set12f a>1218="DoT 1r="ar="/th39334m/lexnoptxo s 0/Ddisplay"if ylinne0.t5ongebuibusay"homenspaceation/s390/Debugging390.txt#L288" id="L288" cla12t9nt indi12 prefix area for this cp12 pr>12t9="Dobut9a97"i" prima9y8space"ng30easiestLcliati/o3do9is3"ostemporarilycumentation/s390/Debugging390.txt#L248" id="L24122ent indi12r per-processor globals)12r p>12r ="Domodify t="iPSWigo t="i/th393addrlssiatimode,ndisplay"ng30stuff8="L233" 1 ine" name="L314"> 314======================1221nt indi12ine" name="L320"> 32012r1="Dore to97"i".cumentation/s390/Debugging390.txt#L248" id="L241222nt indi12th the task structure fo12th >122f="Documentation/s390/Debugging390.txt#L312" id="L311223nt indi12ach processor as follows12ach>122f="Documentation/s390/Debugging390.txt#L273" id="L271224nt indi12ine" name="L323"> 323122f="Do cumentation/s390/Debugging390.txt#L141" id="L141225nt indi12                    s/3912   >122f="DoHintscumentation/s390/Debugging390.txt#L141" id="L141226nt indi12 ***********************12 **>122f="Do-----cumentation/s390/Debugging390.txt#L141" id="L141227nt indi12 *  1 page kernel stack 12 * >12rf="DoIf ylinwan1 0/Dissue3a3dtxt#Lern34mmand 9321out0halttatiygur virtula matxt7e 9321"tlacumentation/s390/Debugging390.txt#L141" id="L141228nt indi12          ( 4K3lA8" name12   >122f="DoPA1akey /9y"prefixhis0ng303ommand 9321"#CP e.g.cumentation/s390/Debugging390.txt#L248" id="L2412r9nt indi12tual addressing techniqu12tua>1229="Do#cp cr i pswan2000cumentation/s390/Debugging390.txt#L248" id="L24123ent indi12Address-User Space Himem12Add>12Ad="Doalso3suffixiatimostLdtxt#Lern34mmandn 9321"RUN uillnstuse3clam notcumentation/s390/Debugging390.txt#L237" id="L231231nt indi12an typically only addres12an >12A1="Doto scop jlin9display"ng30mnemonic atLclascurr0/D instru id="#o" clasco/sole.cumentation/s390/Debugging390.txt#L248" id="L241232nt indi12ll the RAM these machine12ll >123f="DoIf ylin235" sng39al breakpoints ylinwan1 0/Dps39bugo ygur program"uggin class="line" name="L305"> 305this allows u12A3nt indi12232can typically use12232>123f="Doylingebufed33p.ofD3ross ref"r=nciati9321"Sytxtm.map class="line" name="L305"> 305this allows u12A4nt indi12GB or lower & thus b12GB >123f="Do"lincgncdo9clasfotxt#iati/9ick tionong39al symbols.cumentation/s390/Debugging390.txt#L248" id="L241235nt indi12 shrinks the maximum siz12 sh>12Af="Dogrepgdo_signal Sytxtm.map#cumentation/s390/Debugging390.txt#L248" id="L241236nt indi12o win limit of 4GB unles12o w>123f="DoumentaemiDs .lasfotxt#iatiamongi/th393cliatscumentation/s390/Debugging390.txt#L141" id="L1412A7nt indi12236they go to 64 Bit12236>123f="Do0001f4e0 Tgdo_signal cumentation/s390/Debugging390.txt#L141" id="L1412A8nt indi12ine" name="L237"> 23712Af="Donowe"lincgncdocumentation/s390/Debugging390.txt#L141" id="L1412A9nt indi12ine" name="L238"> 238123f="Documentation/s390/Debugging390.txt#L139" id="L13124ent indi12ke us slightly different12ke >12ke="DoTR IiPSWAn0001f4e0 cmd msg *gdo_signalcumentation/s390/Debugging390.txt#L139" id="L131241nt indi12allowed use 31 bits (2GB12all>12k1="Docu/Desendstt9messag="go ygur ownsconsoleteac1"Lim.tdo_signal /Deeuggied.cumentation/s390/Debugging390.txt#L248" id="L241242nt indi12ntirely separate address12nti>12kf="Do( Asea" asid7"Inwrot="a"perlsocript#o"ce umentaauto="tuclalyngenerat0.ta REXXcumentation/s390/Debugging390.txt#L248" id="L241243nt indi12or the user & kernel12or >12kf="Doocript#9321"breakpoints i" eg39yantationprocldure,etu/Debu.txt#L13augood ideacumentation/s390/Debugging390.txt#L248" id="L241244nt indi12ine" name="L243"> 24312k4="Dobestuse3t 1r="ar="21ousandn o"Lclasatrout243s uggingVMncgnconly  cl"255=breakpointscumentation/s390/Debugging390.txt#L248" id="L241245nt indi12 RAM on s/390, & mor12 RA>12kf="Doibui Lim.tso3"linnearly ha.t5onspen.nas3longiprunhis0ng30filindowngase"linwgmentcumentation/s390/Debugging390.txt#L248" id="L241246nt indi12gement swap device &12gem>12kf="Doeuggihis0ng30msging390.by han.n),howeg39,3" 1 t9ick mightcbeD390fultfionan hisl39objL31xfile.cumentation/s390/Debugging390.txt#L248" id="L241247nt indi12rently on z/Architecture12ren>124f="DoOn3lbugging39eDe3270gemulator x3270gt="r="gugaig39ya390fultoptxo t3ngingng30filin90/Dcumentation/s390/Debugging390.txt#L248" id="L241248nt indi12ine" name="L247"> 24712k8="DoS35" Scree s In Filin" /Debu g39yagood o"Lkeepingnascopynof"traces.Dcumentation/s390/Debugging390.txt#L248" id="L241249nt indi12ine" name="L248"> 248124f="Documentation/s390/Debugging390.txt#L139" id="L13125ent indi12/390 & z/Architectur12/39>12/3="DoFe" nCMS helpn<3ommand itec> uillngivie"linonlt7e helpnon a"particular 3ommand.Dcumentation/s390/Debugging390.txt#L248" id="L241251nt indi12========================12===>12/1="Doe.g.9cumentation/s390/Debugging390.txt#L248" id="L241252nt indi12ine" name="L251"> 25112/2="DoHELP DISPLAYcumentation/s390/Debugging390.txt#L248" id="L241253nt indi12sing scheme is as follow12sin>125f="Documentation/s390/Debugging390.txt#L273" id="L271254nt indi12ine" name="L253"> 25312/4="DoAlso3CP has aufilin33at0.tprofile.exec umentaauto="tuclalyngetsn33at0.cumentation/s390/Debugging390.txt#L273" id="L271255nt indi12ine" name="L254"> 25412/5="Do/nsotart3p.ofDCMS (3lbkeDautoexec.bat ),Lkeepingnon a"DOSianalogy  cssxo ine" name="L314"> 314======================12/6nt indi12         ***************12   >125f="DoCP has aufea13" gsimilar /o3doskey,"ibimaytbeD390fultfion"lin/ocumentation/s390/Debugging390.txt#L254" id="L2512/7nt indi12         *              12   >1257="Don/stprofile.exec 0/Ddeft7e somenkeystrokes.Dcumentation/s390/Debugging390.txt#L248" id="L2412/8nt indi12         *              12   >125f="Doe.g.cumentation/s390/Debugging390.txt#L248" id="L2412/9nt indi12   *              *     12   >12/9="DoSET PF9 IMM Bcumentation/s390/Debugging390.txt#L248" id="L24126ent indi12       *              * 12   >12  ="Docu/Dedoes an hisl39onep"i" VM0i" prlssiatiF8.Dcumentation/s390/Debugging390.txt#L248" id="L241261nt indi12       *    Kernel    * 12   >12 1="DoSET PF10  ^cumentation/s390/Debugging390.txt#L248" id="L241262nt indi12         *              12   >1262="Docu/Desetsn3p.ng30^nkey.cumentation/s390/Debugging390.txt#L248" id="L2412 3nt indi12         *              12   >12 3="DoumentacgncbeD390.tfion^c (ctrl-c),^z (ctrl-z) umentacgntxt#L13beDtyped0dirL310ynin5onsomen3270gconsoles.cumentation/s390/Debugging390.txt#L248" id="L241264nt indi12         *              12   >12 4="DoSET PF11 ^-cumentation/s390/Debugging390.txt#L141" id="L1412 5nt indi12         *              12   >1265="Docu/Detypes clasotartiugnntystrokestfionan ysrqt ee SysRq3below.cumentation/s390/Debugging390.txt#L248" id="L241266nt indi12         ***************12   >126f="DoSET PF12 RETRIEVEcumentation/s390/Debugging390.txt#L248" id="L241267nt indi12ine" name="L266"> 266126f="Docu/Deretrie5"st34mmand histo9y8gn prlssiatiF12.cumentation/s390/Debugging390.txt#L248" id="L241268nt indi12the PSW problem state bi12the>12 f="Documentation/s390/Debugging390.txt#L248" id="L2412 9nt indi12whether we are looking a12whe>126f="Documentation/s390/Debugging390.txt#L139" id="L13127ent indi12user or kernel space1212 27012<1="DocgncbeDg39yaannoyiatiif3t 1r="ar="messag=se"linwish0co"looktatcumentation/s390/Debugging390.txt#L139" id="L131272nt indi12/390 & z/Architectur12/39>12 2731274="DoT i= uillnnearly  top auto="tucsocree  updateD, howeg39 i  9illcumentation/s390/Debugging390.txt#L139" id="L131275nt indi12390 is made up of 3 part12390>127f="Dostuse3a3dtnila /feserviceiif3lots"o"Lmessag=segoigo t="i3270gconsole,ation/s390/Debugging390.txt#L288" id="L288" cla1276nt indi12D in linux terminology )12D i>12 28112 f="Dog39yaseld" ncollid7"9321"textesegm0/Ds"o"Ln/so programs (etuanks Martiu ),cumentation/s390/Debugging390.txt#L139" id="L131283nt indi12 an address from 4 parts12 an>1283="Dot gugsimgiifies3dtxt#L1393" 18ntatio.cumentation/s390/Debugging390.txt#L248" id="L2412 4nt indi12 currently use bits 22-312 cu>1284="DoHoweg39 i  i9uquitr 34mm="#forLn/so proclsseD0co"235" addrlsse= umentacollid7cumentation/s390/Debugging390.txt#L248" id="L2412 5nt indi12dex (SX) being bits 33-412dex>12 f="Do0u/Decgncmntatdtxt#L1393a"particular proclsst3ngingVM"painfult3ngingnos="lcumentation/s390/Debugging390.txt#L139" id="L131286nt indi12ex (PX) being bits  44-512ex >1286="Docirs39otances3as clasproclsstmaytchange"wn"n9debugtgDcumentation/s390/Debugging390.txt#L248" id="L2412 7nt indi12ex (BX) being bits  52-612ex >1287="DoTR IiRn<addrlss range>.cumentation/s390/Debugging390.txt#L248" id="L2412 8nt indi12ine" name="L287"> 2871288="DoT anktualynift393readtatiVMing390.onlt7e helpnI figur0.tout0howet/Dde/a>cumentation/s390/Debugging390.txt#L248" id="L2412 9nt indi12ame="L288"> 288Notes12ame>128f="DoI"particular proclss.cumentation/s390/Debugging390.txt#L248" id="L24129ent indi12D is really the PGD also12D i>12D ="Documentation/s390/Debugging390.txt#L248" id="L241291nt indi12 is defined in pgtable.h12 is>129f="DoYgur first"problem9is3"osfind clasSTD (esegm0/D table designaid="#) class="line" name="L305"> 305this allows u1292nt indi12ine" name="L291"> 291129f="Doofn" 18programe"linwish0co"de/a>.cumentation/s390/Debugging390.txt#L248" id="L241293nt indi12xes are only 1k  in size12xes>12Df="DoT 1r="ar="ong39al ways""lincgncdo9clisnn"r="ar="a"fewcumentation/s390/Debugging390.txt#L248" id="L241294nt indi12te ) we use 1 ( page 4k 12te >12Df="Do1) objdump.--syms <programe0/Dbe3dtxt#Led> | grepgmaincumentation/s390/Debugging390.txt#L248" id="L241295nt indi12dating 4 segment indices12dat>129f="Doc/Dgebuclasaddrlss o"Lmain i" clasprogram.cumentation/s390/Debugging390.txt#L248" id="L241296nt indi12 a PMD & use offsets12 a >12D6="Docr i pswan<addrlss o"Lmain> class="line" name="L305"> 305this allows u1297nt indi12 for our segment indexes12 fo>12D7="DoStart clasprogram,gif VMgdrops3"osCP onnwnat9looks3lbkeDng30en/9ycumentation/s390/Debugging390.txt#L248" id="L241298nt indi12ndexes are now 2k in siz12nde>129f="Dopoint3ofn" 18main fun id="#t /Debu mostLlbkelyn/s3sproclsst"linwish0co"de/a>.cumentation/s390/Debugging390.txt#L248" id="L241299nt indi12e ) we do a similar tric12e )>12D9="DoNowedo9a D X13 ionD XG13 i" z/Artxt#L313" .cumentation/s390/Debugging390.txt#L248" id="L2413ment indi13mentwe do a similar tric13men>1303="DoOn 31 bi" clasSTD is oiDs 1-19 (etuasSTOesegm0/D table origiu )Dcumentation/s390/Debugging390.txt#L248" id="L2413m1nt indi13mis defined in pgtable.h13mis>130f="Dougging25-31 (etuasSTLesegm0/D table length ).ofDCR13.cumentation/s390/Debugging390.txt#L248" id="L2413m2nt indi13mne" name="L291"> 2911302="Donowetypecumentation/s390/Debugging390.txt#L248" id="L2413m3nt indi13mes are only 1k  in size13mes>1303="DoTR IiRnSTD <CR13ing390.gilue=gt;g0.7fffffffcumentation/s390/Debugging390.txt#L248" id="L2413m4nt indi13me ) we use 1 ( page 4k 13me >13m4="Doe.g.cumentation/s390/Debugging390.txt#L248" id="L2413m5nt indi13mating 4 segment indices13mat>1305="DoTR IiRnSTD 8F32E1FFg0.7fffffffcumentation/s390/Debugging390.txt#L248" id="L2413m6nt indi13ma PMD & use offsets13ma >13mf="DoAnoth393g39ya390fultvariaid="#/Dcumentation/s390/Debugging390.txt#L139" id="L1313m7nt indi13mfor our segment indexes13mfo>1307="DoTR STOREnINTO STD <CR13ing390.gilue=gt;g<addrlss range>cumentation/s390/Debugging390.txt#L139" id="L1313m8nt indi13mdexes are now 2k in siz13mde>13mf="DoforLfindingnout99n"n9asparticular variable changes.cumentation/s390/Debugging390.txt#L248" id="L2413m9nt indi13m ) we do a similar tric13m )>130f="Documentation/s390/Debugging390.txt#L139" id="L13131ent indi13table designation type i13tab>131/="DoAnnalternaid5" way"ofDfindingnclasSTD o"La curr0/Dlynrunniatiproclsstcumentation/s390/Debugging390.txt#L139" id="L131311nt indi13 space control registers13 sp>13tf="Dois3"osdo9clasfotxt#iat, (etu/Demethod is more334m/lexnbutcumentation/s390/Debugging390.txt#L139" id="L131312nt indi13ne" name="L311"> 31113ne">13tf="Docgmentbasquitr 34nveni0/D if ylinid=ntxt#L13updat1393" 18ntatio muntauggin class="line" name="L305"> 305this allows u1313nt indi13ine" name="L312"> 312131f="Doso ygur ntatio stru i3" = uilln taytconotanttfionanreasonable period o" class="line" name="L305"> 305this allows u1314nt indi13ure Kernel Task Structur13ure>131f="DoLim.t).cumentation/s390/Debugging390.txt#L248" id="L2413t5nt indi13========================13===>131f="Do class="line" name="L305"> 305this allows u13t6nt indi13ts own kernel task_struc13ts >131f="Dogrepgtask /proc/<pid>/otatuDcumentation/s390/Debugging390.txt#L139" id="L1313t7nt indi13nux/include/linux/sched.13nux>13tf="Dofe" nclist"linshgment ee somecliatilbkecumentation/s390/Debugging390.txt#L139" id="L1313t8nt indi13f a process on a cpu set13f a>1318="Dotask: 0f160000 ksp: 0f161de8 pt_regs: 0f161f68cumentation/s390/Debugging390.txt#L139" id="L1313t9nt indi13 prefix area for this cp13 pr>1319="DoT i= nowegivin ylini pointerigo t="itask stru i3" .cumentation/s390/Debugging390.txt#L248" id="L24132ent indi13r per-processor globals)13r p>13r ="DoNowemntatCC:="ng39-gcc -g" ntatio/sched.Dcumentation/s390/Debugging390.txt#L139" id="L131321nt indi13ine" name="L320"> 3201321="Doc/Dgebuclastask_stru in tabbnfo.cumentation/s390/Debugging390.txt#L248" id="L241322nt indi13th the task structure fo13th >132f="Do( task_stru in/Dedeft7e.tbu"gncgude/lbugg/sched.ht).cumentation/s390/Debugging390.txt#L248" id="L241323nt indi13ach processor as follows13ach>132f="DoNowewenwan1 0/Dlooktatcumentation/s390/Debugging390.txt#L139" id="L131324nt indi13ine" name="L323"> 323132f="Dotask->a id5"_mm->pg.cumentation/s390/Debugging390.txt#L273" id="L271325nt indi13                    s/3913   >1325="Do/nsmy matxt7e ng30acid5"_mm i" clastask stru i3" n tab#/Dcumentation/s390/Debugging390.txt#L139" id="L131326nt indi13 ***********************13 **>132f="Doacid5"_mm:(4,12),672,32 class="line" name="L305"> 305this allows u1327nt indi13 *  1 page kernel stack 13 * >1327="Doi"sLoffsntn/De672/8=84=0x54 class="line" name="L305"> 305this allows u1328nt indi13          ( 4K3lA8" name13   >132f="Do/s3spgd9memb39 i" clasmm_stru in tab#/Dcumentation/s390/Debugging390.txt#L139" id="L131329nt indi13tual addressing techniqu13tua>1329="Dopgd:(4,6)=*(29,5),96,32 class="line" name="L305"> 305this allows u133ent indi13Address-User Space Himem13Add>13Ad="Doso3i sLoffsntn/De96/8=12=0xc"L317"> 317The S390 on initialisation &1331nt indi13an typically only addres13an >133f="Documentation/s390/Debugging390.txt#L141" id="L141332nt indi13ll the RAM these machine13ll >133f="Doso3wetxt#Lllcumentation/s390/Debugging390.txt#L139" id="L1313A3nt indi13232can typically use13232>133f="Dohexdump.-s 0xf160054 /dev/mem | morecumentation/s390/Debugging390.txt#L139" id="L1313A4nt indi13GB or lower & thus b13GB >133f="Doi.e. task_stru i+acid5"_mm offsntcumentation/s390/Debugging390.txt#L237" id="L231335nt indi13 shrinks the maximum siz13 sh>133f="Do0/Dlooktat9ng30acid5"_mm memb39cumentation/s390/Debugging390.txt#L237" id="L231336nt indi13o win limit of 4GB unles13o w>133f="Dof160054 0fee cc60 0019 e33f 0000 0000 0000 0011cumentation/s390/Debugging390.txt#L248" id="L2413A7nt indi13236they go to 64 Bit13236>133f="Dohexdump.-s 0x0feecc6c /dev/mem | morecumentation/s390/Debugging390.txt#L139" id="L1313A8nt indi13ine" name="L237"> 23713Af="Doi.e. acid5"_mm+pgd9offsntcumentation/s390/Debugging390.txt#L237" id="L231339nt indi13ine" name="L238"> 238133f="Dofeecc6c 0f2c 0000 0000 0001 0000 0001 0000 0010cumentation/s390/Debugging390.txt#L248" id="L24134ent indi13ke us slightly different13ke >13ke="Dowengebusomecliatilbkecumentation/s390/Debugging390.txt#L139" id="L131341nt indi13allowed use 31 bits (2GB13all>13k1="Donowedo9cumentation/s390/Debugging390.txt#L139" id="L131342nt indi13ntirely separate address13nti>134f="DoTR IiRnSTD <pgd|0x7f=gt;g0.7fffffffcumentation/s390/Debugging390.txt#L248" id="L241343nt indi13or the user & kernel13or >13kf="Doi.e. tg300x7f"gugaddentbastuse3t 1spgd9onlycumentation/s390/Debugging390.txt#L248" id="L241344nt indi13ine" name="L243"> 24313k4="Dogivin t 1spag="gable origiu uggingwenne0.t5onsebuclasloweoiDscumentation/s390/Debugging390.txt#L248" id="L241345nt indi13 RAM on s/390, & mor13 RA>134f="Do0/D" 18maximum possible segm0/D table length.cumentation/s390/Debugging390.txt#L248" id="L241346nt indi13gement swap device &13gem>1346="DoTR IiRnSTD 0f2c007f"0.7fffffffcumentation/s390/Debugging390.txt#L248" id="L241347nt indi13rently on z/Architecture13ren>134f="Doi" z/Artxt#L313" gylitxt#Lll"probablynne0.t5ondocumentation/s390/Debugging390.txt#L139" id="L131348nt indi13ine" name="L247"> 24713k8="DoTR IiRnSTD <pgd|0x7=gt;g0.ffffffffffffffffcumentation/s390/Debugging390.txt#L139" id="L131349nt indi13ine" name="L248"> 2481349="Do0/DsebuclasTableTyp="go 0x18="L233" 1sTable length go 3.cumentation/s390/Debugging390.txt#L248" id="L24135ent indi13/390 & z/Architectur13/39>135 ="Documentation/s390/Debugging390.txt#L248" id="L241351nt indi13========================13===>135f="Documentation/s390/Debugging390.txt#L141" id="L141352nt indi13ine" name="L251"> 251135f="Documentation/s390/Debugging390.txt#L312" id="L311353nt indi13sing scheme is as follow13sin>135f="DoTraciat"ProgrameExceptxo scumentation/s390/Debugging390.txt#L312" id="L311354nt indi13ine" name="L253"> 25313/4="Do--------------------------cumentation/s390/Debugging390.txt#L226" id="L221355nt indi13ine" name="L254"> 25413/5="DoIf ylingebui33rashxumentasays"somecliatilbkecumentation/s390/Debugging390.txt#L139" id="L1313/6nt indi13         ***************13   >135f="Doillegla /perati="#ornspecificati="#exceptxo sfotxt#entby"t9register dumpcumentation/s390/Debugging390.txt#L139" id="L1313/7nt indi13         *              13   >1357="DoYlincgncre tart lbugg8="L233"race"ng3se339iati/s39to progn<range#orngilue=gt;gn/aceD/ptxo .cumentation/s390/Debugging390.txt#L248" id="L241358nt indi13         *              13   >135f="Documentation/s390/Debugging390.txt#L248" id="L2413/9nt indi13   *              *     13   >135f="Documentation/s390/Debugging390.txt#L139" id="L13136ent indi13       *              * 13   >136 ="Documentation/s390/Debugging390.txt#L248" id="L241361nt indi13       *    Kernel    * 13   >1361="Docu39mostL34mm="#on=se"linwillnnos="llytbeDtraciat"fion/Dcumentation/s390/Debugging390.txt#L139" id="L131362nt indi13         *              13   >1362="Do1=/perati="#exceptxo cumentation/s390/Debugging390.txt#L139" id="L131363nt indi13         *              13   >13 3="Do2=privileg0.toperati="#exceptxo cumentation/s390/Debugging390.txt#L139" id="L131364nt indi13         *              13   >13 4="Do4=pro#L31i="#exceptxo cumentation/s390/Debugging390.txt#L139" id="L131365nt indi13         *              13   >1365="Do5=addrlssiatiexceptxo cumentation/s390/Debugging390.txt#L139" id="L131366nt indi13         ***************13   >136f="Do6=specificati="#exceptxo cumentation/s390/Debugging390.txt#L139" id="L131367nt indi13ine" name="L266"> 266136f="Do10=segm0/D translati="#exceptxo cumentation/s390/Debugging390.txt#L139" id="L131368nt indi13the PSW problem state bi13the>13 f="Do11=pag="granslati="#exceptxo cumentation/s390/Debugging390.txt#L139" id="L131369nt indi13whether we are looking a13whe>136f="Documentation/s390/Debugging390.txt#L139" id="L13137ent indi13user or kernel space131370="Docu39tual0listLo"Lclasatis i" pag="223ofn" 18curr0/D s/" i Ref"r=nce Summa9y.cumentation/s390/Debugging390.txt#L248" id="L241371nt indi13ine" name="L270"> 2701371="Doe.g.cumentation/s390/Debugging390.txt#L248" id="L241372nt indi13/390 & z/Architectur13/39>13 2731374="Documentation/s390/Debugging390.txt#L248" id="L241375nt indi13390 is made up of 3 part13390>13 28113 f="Do235" a33luenwnats"gebugto .Dcumentation/s390/Debugging390.txt#L248" id="L241383nt indi13 an address from 4 parts13 an>138f="Documentation/s390/Debugging390.txt#L273" id="L2713 4nt indi13 currently use bits 22-313 cu>1384="DoWlat ylincgncdo9/Dcumentation/s390/Debugging390.txt#L139" id="L1313 5nt indi13dex (SX) being bits 33-413dex>1385="DoTR IiPSWAn<Driv39 open addrlss> class="line" name="L305"> 305this allows u1386nt indi13ex (PX) being bits  44-513ex >1386="Dohil"b"0/Dc4nDbugei/ill breakpointcumentation/s390/Debugging390.txt#L226" id="L2213 7nt indi13ex (BX) being bits  52-613ex >1387="Doreac1"Lhn breakpointcumentation/s390/Debugging390.txt#L226" id="L2213 8nt indi13ine" name="L287"> 287138f="Donowedo ygurcumentation/s390/Debugging390.txt#L139" id="L131389nt indi13ame="L288"> 288Notes13ame>138f="DoTR GOTO BDcumentation/s390/Debugging390.txt#L248" id="L24139ent indi13D is really the PGD also13D i>139e="DoTR IO 7c08-7c09ninot"/ntsrun cumentation/s390/Debugging390.txt#L248" id="L241391nt indi13 is defined in pgtable.h13 is>139f="Doionwnateg39 clasIO channelst"linwish0co"trace ad="="L233hil"bcumentation/s390/Debugging390.txt#L248" id="L241392nt indi13ine" name="L291"> 291139f="Documentation/s390/Debugging390.txt#L312" id="L311393nt indi13xes are only 1k  in size13xes>139f="DoTo got backigo t="iiniti"lxcrace  cl"documentation/s390/Debugging390.txt#L139" id="L131394nt indi13te ) we use 1 ( page 4k 13te >1394="DoTR GOTO INITIALcumentation/s390/Debugging390.txt#L139" id="L131395nt indi13dating 4 segment indices13dat>139f="Do="L233" 1sTR IiPSWAn<Driv39 open addrlss>swillnbe3t 1sonly acid5" breakpoint agai .cumentation/s390/Debugging390.txt#L248" id="L241396nt indi13 a PMD & use offsets13 a >139f="Documentation/s390/Debugging390.txt#L226" id="L221397nt indi13 for our segment indexes13 fo>139f="Documentation/s390/Debugging390.txt#L237" id="L231398nt indi13ndexes are now 2k in siz13nde>139f="DoTraciat"lbugg8sysclalst3ngingVMcumentation/s390/Debugging390.txt#L237" id="L231399nt indi13e ) we do a similar tric13e )>139f="Do-------------------------------cumentation/s390/Debugging390.txt#L226" id="L2214ment indi14mentwe do a similar tric14men>1403="DoSysclalstid="im/le90/D0.ton Lbugg8fionS" i byn/s3sSupervisionclal instru id="#(SVC)3t 1r="256 cumentation/s390/Debugging390.txt#L248" id="L2414m1nt indi14mis defined in pgtable.h14mis>140f="Dopossibilitien o"Lclasatas clasinstru id="#is mad" 3p.ofDa  0xA op34deg="L233" 1ssec4nntbyt" beiatcumentation/s390/Debugging390.txt#L237" id="L2314m2nt indi14mne" name="L291"> 2911402="Do" 1ssysclal numb39. They"ar="2raced339iati/s39simgin 3ommand.cumentation/s390/Debugging390.txt#L237" id="L2314m3nt indi14mes are only 1k  in size14mes>1403="DoTR SVC g<Optxo al8giluenionrange>cumentation/s390/Debugging390.txt#L139" id="L1314m4nt indi14me ) we use 1 ( page 4k 14me >14m4="Do" 1ssysclalstid="deft7e.tbu"lbugg/arching390gncgude/asm/unistd.hcumentation/s390/Debugging390.txt#L139" id="L1314m5nt indi14mating 4 segment indices14mat>1405="Doe.g.9co"trace aal filinopens jlin9documentation/s390/Debugging390.txt#L139" id="L1314m6nt indi14ma PMD & use offsets14ma >1406="DoTR SVC 5 (nas3" i= is clasoysclal numb39.ofDopen ) class="line" name="L305"> 305this allows u14m7nt indi14mfor our segment indexes14mfo>14mf="Documentation/s390/Debugging390.txt#L237" id="L2314m8nt indi14mdexes are now 2k in siz14mde>14mf="Documentation/s390/Debugging390.txt#L248" id="L2414m9nt indi14m ) we do a similar tric14m )>140f="DoSMP Specificn34mmandncumentation/s390/Debugging390.txt#L248" id="L24141ent indi14table designation type i14tab>141/="Do---------------------cumentation/s390/Debugging390.txt#L226" id="L221411nt indi14 space control registers14 sp>14tf="DoTo3find out0howemany cpus ylin235"cumentation/s390/Debugging390.txt#L226" id="L221412nt indi14ne" name="L311"> 31114ne">14tf="DoQnCPUS displays tal0ng30CPUing390.available go ygur virtula matxt7ecumentation/s390/Debugging390.txt#L226" id="L221413nt indi14ine" name="L312"> 312141f="DoTo find clascpu clat " 18curr0/D cpu VMgdtxt#Lern34mmandn id="beiat0dirL310.tan9documentation/s390/Debugging390.txt#L139" id="L131414nt indi14ure Kernel Task Structur14ure>141f="DoQnCPU"0/Dchange"" 18curr0/D cpu VMgdtxt#Lern34mmandn id="beiat0dirL310.tan9documentation/s390/Debugging390.txt#L139" id="L131415nt indi14========================14===>141f="DoCPU"<desir0.tcpu no>cumentation/s390/Debugging390.txt#L139" id="L1314t6nt indi14ts own kernel task_struc14ts >141f="Documentation/s390/Debugging390.txt#L226" id="L2214t7nt indi14nux/include/linux/sched.14nux>141f="DoOn3a SMP guestLissue3a334mmand 0/Daal0CPUs /9y"prefixhis0ng303ommand 9321"cpu aal.cumentation/s390/Debugging390.txt#L237" id="L2314t8nt indi14f a process on a cpu set14f a>1418="DoToLissue3a334mmand 0/Da"particular 3pu cry cpun<3pu numb39>se.g.cumentation/s390/Debugging390.txt#L248" id="L2414t9nt indi14 prefix area for this cp14 pr>1419="DoCPU"01 TR IiRn2000.3000cumentation/s390/Debugging390.txt#L248" id="L24142ent indi14r per-processor globals)14r p>14r ="DoIf ylinid="runniation a"guestL9321"ong39al cpus ="L233ylin235" a3IO relat0.tproblemcumentation/s390/Debugging390.txt#L248" id="L241421nt indi14ine" name="L320"> 320142f="Douggingcannotsfotxt#9clasfxt#9ofD34degbut9ylinknoweitebu.txt#L13smp relat0..cumentation/s390/Debugging390.txt#L248" id="L241422nt indi14th the task structure fo14th >142f="Dofe" nclegbashxpromptLissuecumentation/s390/Debugging390.txt#L248" id="L241423nt indi14ach processor as follows14ach>142f="Doshutdowng-h noweionhalt.cumentation/s390/Debugging390.txt#L248" id="L241424nt indi14ine" name="L323"> 323142f="Dodo9a Q CPUS to3find out0howemany cpus ylin235"cumentation/s390/Debugging390.txt#L226" id="L221425nt indi14                    s/3914   >1425="Dodetac1"eac1"one o"Lclam fe" ncp#except cpun0 cumentation/s390/Debugging390.txt#L248" id="L241426nt indi14 ***********************14 **>142f="DobyLissuiugtgDcumentation/s390/Debugging390.txt#L248" id="L241427nt indi14 *  1 page kernel stack 14 * >1427="DoDETACH CPU"01-(numb39.ofDcpus insco/figura9xo ) class="line" name="L305"> 305this allows u1428nt indi14          ( 4K3lA8" name14   >142f="Douggingboot lbugg8agai .cumentation/s390/Debugging390.txt#L248" id="L241429nt indi14tual addressing techniqu14tua>142f="DoTR SIGPswillntrace interiproclssornsignal proclssorninstru id="s.cumentation/s390/Debugging390.txt#L248" id="L24143ent indi14Address-User Space Himem14Add>14Ad="DoDEFINE CPU"01-(numb39.insco/figura9xo )Dcumentation/s390/Debugging390.txt#L248" id="L241431nt indi14an typically only addres14an >143f="Douillnget ygur guestsDcpus back.cumentation/s390/Debugging390.txt#L248" id="L241432nt indi14ll the RAM these machine14ll >143f="Documentation/s390/Debugging390.txt#L312" id="L3114A3nt indi14232can typically use14232>143f="Documentation/s390/Debugging390.txt#L273" id="L2714A4nt indi14GB or lower & thus b14GB >143f="DoHelpnfiondisplayiatiascii"textstriatscumentation/s390/Debugging390.txt#L141" id="L141435nt indi14 shrinks the maximum siz14 sh>143f="Do-------------------------------------cumentation/s390/Debugging390.txt#L226" id="L221436nt indi14o win limit of 4GB unles14o w>143f="DoO" clasg39yalat0stLVMgNucleusing39eDeVMncgncnowedisplay"tsciicumentation/s390/Debugging390.txt#L226" id="L221437nt indi14236they go to 64 Bit14236>143f="Do(etuanks Nealenfionclashint ) byndebugcumentation/s390/Debugging390.txt#L226" id="L221438nt indi14ine" name="L237"> 23714Af="DoD TX<xt#addr>.<xen> class="line" name="L305"> 305this allows u1439nt indi14ine" name="L238"> 238143f="Doe.g.cumentation/s390/Debugging390.txt#L248" id="L24144ent indi14ke us slightly different14ke >14ke="DoD TX0.100cumentation/s390/Debugging390.txt#L248" id="L241441nt indi14allowed use 31 bits (2GB14all>144f="Documentation/s390/Debugging390.txt#L141" id="L141442nt indi14ntirely separate address14nti>144f="DoAlternaid5"lycumentation/s390/Debugging390.txt#L248" id="L241443nt indi14or the user & kernel14or >14kf="Do=============cumentation/s390/Debugging390.txt#L248" id="L241444nt indi14ine" name="L243"> 24314k4="DoUngingolgingVM"dtxt#Lers (eI lov30EBDICgtoo ) ylincgncuse3t guglittl18programeInwrot="umentcumentation/s390/Debugging390.txt#L248" id="L241445nt indi14 RAM on s/390, & mor14 RA>144f="Douillns4nvert3a334mmand 90, .ofDhexedigiDs .oiascii"text umentacgncbeD34m/it0.t3nginglbugg8="L233cumentation/s390/Debugging390.txt#L248" id="L241446nt indi14gement swap device &14gem>1446="DoylincgnccopynclashexedigiDs fe" nygur x3270gterminal go ygur xtermgif ylinid="dtxt#L248cumentation/s390/Debugging390.txt#L248" id="L241447nt indi14rently on z/Architecture14ren>144f="Dofe" naglbuggbox.cumentation/s390/Debugging390.txt#L248" id="L241448nt indi14ine" name="L247"> 247144f="Documentation/s390/Debugging390.txt#L248" id="L241449nt indi14ine" name="L248"> 2481449="DoT i= i9uquitr 390fult9n"n9lookiatiatDa"par248teripamee.tbu"as autextestriatcumentation/s390/Debugging390.txt#L248" id="L24145ent indi14/390 & z/Architectur14/39>145 ="Do3ngingVM"(t3nllsst"linid="geo.tan9de34diatiASCIIei" ygursheadt).cumentation/s390/Debugging390.txt#L248" id="L241451nt indi14========================14===>145f="Documentation/s390/Debugging390.txt#L141" id="L141452nt indi14ine" name="L251"> 251145f="Doe.g.9conoigingnraciat"gncopen oysclalcumentation/s390/Debugging390.txt#L141" id="L141453nt indi14sing scheme is as follow14sin>1453="DoTR SVC 5cumentation/s390/Debugging390.txt#L139" id="L131454nt indi14ine" name="L253"> 25314/4="DoWen235" stopp0.tan9a breakpointcumentation/s390/Debugging390.txt#L226" id="L221455nt indi14ine" name="L254"> 25414/5="Do000151B0ing39 SVC g 0A05     -=gt;g0001909Aing39   CC 0cumentation/s390/Debugging390.txt#L248" id="L2414/6nt indi14         ***************14   >145f="Documentation/s390/Debugging390.txt#L226" id="L2214/7nt indi14         *              14   >1457="DoD 20.8"0/Dcheckigs3sSVC olg psw i" clasprefixnid=a8="L233 ee was ittfe" nn/sospacecumentation/s390/Debugging390.txt#L226" id="L2214/8nt indi14         *              14   >145f="Do(nfionclaslayout0ofn" 18prefixnid=a8conoultnP180ofn" 18s/" i 3 i Ref"r=nce Summa9y3cumentation/s390/Debugging390.txt#L248" id="L2414/9nt indi14   *              *     14   >145f="Doif ylin235" ittavailable ).cumentation/s390/Debugging390.txt#L248" id="L24146ent indi14       *              * 14   >146 ="DoV00000020g 070C2000 800151B2 class="line" name="L305"> 305this allows u1461nt indi14       *    Kernel    * 14   >1461="Docu39problem9otate bi" was.txt#L13set ="L233 iting390.also3too early i" clasboot sequ=nce class="line" name="L305"> 305this allows u1462nt indi14         *              14   >1462="Dofionite0/Dbe3ann/sospacesSVC if i" wasewenwgment235" to temporarily  witc1"Lhn  class="line" name="L305"> 305this allows u1463nt indi14         *              14   >14 3="Dopsw co"usernspace addrlssiatiso3we cgmentgebuitgng30first"par248teriofn" 18open incumentation/s390/Debugging390.txt#L248" id="L241464nt indi14         *              14   >14 4="Dogpr2.cumentation/s390/Debugging390.txt#L248" id="L241465nt indi14         *              14   >1465="DoNextedo9a cumentation/s390/Debugging390.txt#L248" id="L241466nt indi14         ***************14   >146f="DoD G2 class="line" name="L305"> 305this allows u1467nt indi14ine" name="L266"> 266146f="DoGPR  2 = g00014CB4 class="line" name="L305"> 305this allows u1468nt indi14the PSW problem state bi14the>14 f="DoNowedisplay"wnat9gpr2 i9upointbugtco class="line" name="L305"> 305this allows u1469nt indi14whether we are looking a14whe>146f="DoDg00014CB4.20cumentation/s390/Debugging390.txt#L248" id="L24147ent indi14user or kernel space14147 ="DoV00014CB4  2F646576 2F636F6E 736F6C65 00001BF5cumentation/s390/Debugging390.txt#L139" id="L131471nt indi14ine" name="L270"> 2701471="DoV00014CC4  FC00014C B4001001 E0001000 B8070707cumentation/s390/Debugging390.txt#L139" id="L131472nt indi14/390 & z/Architectur14/39>14 2731474="Dohex2ascii"2F646576 2F636F6E 736F6C65 00 cumentation/s390/Debugging390.txt#L248" id="L241475nt indi14390 is made up of 3 part14390>14 317The S390 on initialisation &1482nt indi14ine" name="L281"> 28114 f="Do *    a 390fultlittl18tooltfions4nvertiugtgDhexadecimal c4mmand 90, ..oiascii"L317"> 317The S390 on initialisation &1483nt indi14 an address from 4 parts14 an>148f="Do *cumentation/s390/Debugging390.txt#L139" id="L131484nt indi14 currently use bits 22-314 cu>1484="Do *    Author(s): Denhs Joseph Barrow (djbarrow@de.ibm.c4m,barrow_dj@yahoo.c4m) class="line" name="L305"> 305this allows u14 5nt indi14dex (SX) being bits 33-414dex>1485="Do *    (C)n2000 IBM DeuDschland EntwickluugtGmbH, IBM Corpora"L30.cumentation/s390/Debugging390.txt#L248" id="L241486nt indi14ex (PX) being bits  44-514ex >1486="Do */   cumentation/s390/Debugging390.txt#L248" id="L241487nt indi14ex (BX) being bits  52-614ex >1487="Do#gncguden<stdio.h> class="line" name="L305"> 305this allows u14 8nt indi14ine" name="L287"> 287148f="Documentation/s390/Debugging390.txt#L248" id="L241489nt indi14ame="L288"> 288Notes14ame>148f="Doint main(int argc,char *argv[]) class="line" name="L305"> 305this allows u149ent indi14D is really the PGD also14D i>149e="Do{ class="line" name="L305"> 305this allows u1491nt indi14 is defined in pgtable.h14 is>149f="Do "/ntscnt1,cnt2,len,toggle=0; class="line" name="L305"> 305this allows u1492nt indi14ine" name="L291"> 291149f="Do "/ntsstartcnt=1; class="line" name="L305"> 305this allows u1493nt indi14xes are only 1k  in size14xes>149f="Do  unsign0.tchar c,hex; class="line" name="L305"> 305this allows u1494nt indi14te ) we use 1 ( page 4k 14te >1494="Do  cumentation/s390/Debugging390.txt#L248" id="L241495nt indi14dating 4 segment indices14dat>149f="Do "/f(argc>1="L23="L23(strcmp(argv[1],"-a")==0)) class="line" name="L305"> 305this allows u1496nt indi14 a PMD & use offsets14 a >149f="Do     startcnt=2; class="line" name="L305"> 305this allows u1497nt indi14 for our segment indexes14 fo>149f="Do npr/ntf("De34d0.tHex:="); class="line" name="L305"> 305this allows u1498nt indi14ndexes are now 2k in siz14nde>149f="Do tfio(cnt1=startcnt;cnt1<argc;cnt1++) class="line" name="L305"> 305this allows u1499nt indi14e ) we do a similar tric14e )>149f="Do  { class="line" name="L305"> 305this allows u15ment indi15mentwe do a similar tric15men>1503="Do    len=strlen(argv[cnt1]); class="line" name="L305"> 305this allows u15m1nt indi15mis defined in pgtable.h15mis>1501="Do    fio(cnt2=0;cnt2<xen;cnt2++) class="line" name="L305"> 305this allows u15m2nt indi15mne" name="L291"> 2911502="Do    { class="line" name="L305"> 305this allows u15m3nt indi15mes are only 1k  in size15mes>1503="Do       c=argv[cnt1][cnt2]; class="line" name="L305"> 305this allows u15m4nt indi15me ) we use 1 ( page 4k 15me >1504="Do       /f(c>=ing390ing39="L23="L23c<=ing399ing39) class="line" name="L305"> 305this allows u15m5nt indi15mating 4 segment indices15mat>1505="Do          c=c-ing390ing39; class="line" name="L305"> 305this allows u15m6nt indi15ma PMD & use offsets15ma >1506="Do       /f(c>=ing39Aing39="L23="L23c<=ing39Fing39) class="line" name="L305"> 305this allows u15m7nt indi15mfor our segment indexes15mfo>1507="Do          c=c-ing39Aing39+10; class="line" name="L305"> 305this allows u15m8nt indi15mdexes are now 2k in siz15mde>1508="Do       /f(c>=ing39aing39="L23="L23c<=ing39fing39) class="line" name="L305"> 305this allows u15m9nt indi15m ) we do a similar tric15m )>1509="Do          c=c-ing39aing39+10; class="line" name="L305"> 305this allows u151ent indi15table designation type i15tab>1510="Do        witc1(toggle) class="line" name="L305"> 305this allows u1511nt indi15 space control registers15 sp>1511="Do       { class="line" name="L305"> 305this allows u1512nt indi15ne" name="L311"> 31115ne">1512="Do          case 0: class="line" name="L305"> 305this allows u1513nt indi15ine" name="L312"> 3121513="Do             hex=c<<4; class="line" name="L305"> 305this allows u1514nt indi15ure Kernel Task Structur15ure>1514="Do             toggle=1; class="line" name="L305"> 305this allows u1515nt indi15========================15===>1515="Do          break; class="line" name="L305"> 305this allows u1516nt indi15ts own kernel task_struc15ts >1516="Do          case 1: class="line" name="L305"> 305this allows u1517nt indi15nux/include/linux/sched.15nux>1517="Do             hex+=c; class="line" name="L305"> 305this allows u1518nt indi15f a process on a cpu set15f a>1518="Do             /f(hex<32||hex>127) class="line" name="L305"> 305this allows u1519nt indi15 prefix area for this cp15 pr>1519="Do             { class="line" name="L305"> 305this allows u152ent indi15r per-processor globals)15r p>1520="Do                /f(startcnt==1) class="line" name="L305"> 305this allows u1521nt indi15ine" name="L320"> 3201521="Do                  npr/ntf("0xing7;02X ",(int)hex); class="line" name="L305"> 305this allows u1522nt indi15th the task structure fo15th >1522="Do                else class="line" name="L305"> 305this allows u1523nt indi15ach processor as follows15ach>1523="Do                  npr/ntf("."); class="line" name="L305"> 305this allows u1524nt indi15ine" name="L323"> 3231524="Do             } class="line" name="L305"> 305this allows u1525nt indi15                    s/3915   >1525="Do             else class="line" name="L305"> 305this allows u1526nt indi15 ***********************15 **>1526="Do             { class="line" name="L305"> 305this allows u1527nt indi15 *  1 page kernel stack 15 * >1527="Do              npr/ntf("ing7;c",hex); class="line" name="L305"> 305this allows u1528nt indi15          ( 4K3lA8" name15   >1528="Do               /f(startcnt==1) class="line" name="L305"> 305this allows u1529nt indi15tual addressing techniqu15tua>1529="Do                 npr/ntf(" "); class="line" name="L305"> 305this allows u153ent indi15Address-User Space Himem15Add>1530="Do             } class="line" name="L305"> 305this allows u1531nt indi15an typically only addres15an >1531="Do             toggle=0; class="line" name="L305"> 305this allows u1532nt indi15ll the RAM these machine15ll >1532="Do          break; class="line" name="L305"> 305this allows u15A3nt indi15232can typically use15232>1533="Do       } class="line" name="L305"> 305this allows u1534nt indi15GB or lower & thus b15GB >1534="Do    } class="line" name="L305"> 305this allows u1535nt indi15 shrinks the maximum siz15 sh>1535="Do  } class="line" name="L305"> 305this allows u1536nt indi15o win limit of 4GB unles15o w>1536="Do npr/ntf("\n"); class="line" name="L305"> 305this allows u1537nt indi15236they go to 64 Bit15236>153f="Do} class="line" name="L305"> 305this allows u1538nt indi15ine" name="L237"> 237153f="Documentation/s390/Debugging390.txt#L248" id="L241539nt indi15ine" name="L238"> 238153f="Documentation/s390/Debugging390.txt#L139" id="L13154ent indi15ke us slightly different15ke >154 ="Documentation/s390/Debugging390.txt#L248" id="L241541nt indi15allowed use 31 bits (2GB15all>154f="Documentation/s390/Debugging390.txt#L141" id="L141542nt indi15ntirely separate address15nti>154f="DoStackigraciat"3ngingVMcumentation/s390/Debugging390.txt#L237" id="L231543nt indi15or the user & kernel15or >15kf="Do----------------------cumentation/s390/Debugging390.txt#L226" id="L221544nt indi15ine" name="L243"> 24315k4="DoAgbasic backtracecumentation/s390/Debugging390.txt#L226" id="L221545nt indi15 RAM on s/390, & mor15 RA>154f="Do-----------------cumentation/s390/Debugging390.txt#L226" id="L221546nt indi15gement swap device &15gem>154f="Documentation/s390/Debugging390.txt#L226" id="L221547nt indi15rently on z/Architecture15ren>154f="DoH1r="ar="2s39toicks Icuse39 out0ofn10 Lim.s ittworks pretty well,cumentation/s390/Debugging390.txt#L139" id="L131548nt indi15ine" name="L247"> 247154f="Documentation/s390/Debugging390.txt#L248" id="L241549nt indi15ine" name="L248"> 2481549="DoWn"n9ygursbackchaincreaches audeadten.cumentation/s390/Debugging390.txt#L273" id="L27155ent indi15/390 & z/Architectur15/39>155/="Do--------------------------------------cumentation/s390/Debugging390.txt#L226" id="L221551nt indi15========================15===>1551="DoT i= cgnchappen 9n"n9a"#exceptxo shappens i" clasntatio ="L233" 1sntatio i= enter0.t5wicecumentation/s390/Debugging390.txt#L226" id="L221552nt indi15ine" name="L251"> 251155f="Doif ylinreac1"Lhn NULL pointeriitgng30en.nofn" 18backichainc"linshgmentbecumentation/s390/Debugging390.txt#L226" id="L221553nt indi15sing scheme is as follow15sin>1553="Doable go sniff furth393backiif ylinfotxt#9clasfotxt#iat9toicks.cumentation/s390/Debugging390.txt#L248" id="L241554nt indi15ine" name="L253"> 25315/4="Do1) Asntatio addrlss shgmentbe easy go recognis39since itebu incumentation/s390/Debugging390.txt#L248" id="L241555nt indi15ine" name="L254"> 25415/5="Dopr/ma9y3space ="L233" 1sproblem9otate bi" is.txt#L13set ="L233alsocumentation/s390/Debugging390.txt#L248" id="L241556nt indi15         ***************15   >155f="Docu39Hi bi" ofn" 18addrlss bu  cl.cumentation/s390/Debugging390.txt#L248" id="L2415/7nt indi15         *              15   >1557="Do2) Anoth393backchaincshgmentalso3be easy go recognis39since itebu an cumentation/s390/Debugging390.txt#L248" id="L2415/8nt indi15         *              15   >155f="Doaddrlss pointbugtco anoth393addrlss approx/matelyn100tbyt"seion0x70 hexcumentation/s390/Debugging390.txt#L248" id="L2415/9nt indi15   *              *     15   >155f="Dobehind clascurr0/D stackpointer.cumentation/s390/Debugging390.txt#L248" id="L24156ent indi15       *              * 15   >156 ="Documentation/s390/Debugging390.txt#L248" id="L241561nt indi15       *    Kernel    * 15   >156f="Documentation/s390/Debugging390.txt#L141" id="L141562nt indi15         *              15   >1562="DoH1r="is"somenpracidce.cumentation/s390/Debugging390.txt#L248" id="L241563nt indi15         *              15   >15 3="Doboot clasntatio ="L233hil"PA1iitgsomenrand" ncim.cumentation/s390/Debugging390.txt#L248" id="L241564nt indi15         *              15   >15 4="Dod gtco display"clasgprs,3t gugshgmentdisplay"somecliatilbkecumentation/s390/Debugging390.txt#L139" id="L131565nt indi15         *              15   >1565="DoGPR  0 = g00000001 g00156 18 g0014359C g00000000cumentation/s390/Debugging390.txt#L248" id="L241566nt indi15         ***************15   >156f="DoGPR  4 = g00000001 g001B8888 g000003E0 g00000000cumentation/s390/Debugging390.txt#L248" id="L241567nt indi15ine" name="L266"> 266156f="DoGPR  8 = g00100080 g00100084 g00000000 g000FE000cumentation/s390/Debugging390.txt#L248" id="L241568nt indi15the PSW problem state bi15the>15 f="DoGPR 12 = g00010400 g8001B2DC g8001B36A g000FFED8cumentation/s390/Debugging390.txt#L248" id="L241569nt indi15whether we are looking a15whe>156f="DoNot="clat GPR14ebu a return addrlssgbut9asewenid="rela men 9enid="gebugtcocumentation/s390/Debugging390.txt#L248" id="L24157ent indi15user or kernel space15157 ="Do"race"ng3 stack.cumentation/s390/Debugging390.txt#L248" id="L241571nt indi15ine" name="L270"> 2701571="Dodisplay"0x40tbyt"seaft39 classtack pointer.cumentation/s390/Debugging390.txt#L248" id="L241572nt indi15/390 & z/Architectur15/39>157f="Documentation/s390/Debugging390.txt#L312" id="L311573nt indi15========================15===>15<3="DoV000FFED8 g000FFF38g8001B838g80014C8Eg000FFF38cumentation/s390/Debugging390.txt#L312" id="L311574nt indi15ine" name="L273"> 2731574="DoV000FFEE8 g00000000 00000000 000003E0 00000000cumentation/s390/Debugging390.txt#L248" id="L241575nt indi15390 is made up of 3 part15390>15 28115 f="Donowebackchainccumentation/s390/Debugging390.txt#L141" id="L141583nt indi15 an address from 4 parts15 an>158f="Dodg000FFF38.40cumentation/s390/Debugging390.txt#L248" id="L241584nt indi15 currently use bits 22-315 cu>1584="Dowennowear="2akhis0ng303ont0/Dn o"LSPtco gebugursfirst"backchain.cumentation/s390/Debugging390.txt#L248" id="L241585nt indi15dex (SX) being bits 33-415dex>1585="Documentation/s390/Debugging390.txt#L248" id="L241586nt indi15ex (PX) being bits  44-515ex >1586="DoV000FFF38 g000FFFA0 00000000 000149f5g00147094 class="line" name="L305"> 305this allows u1587nt indi15ex (BX) being bits  52-615ex >1587="DoV000FFF48 g00147090g001470A0 000003E0 00000000cumentation/s390/Debugging390.txt#L248" id="L2415 8nt indi15ine" name="L287"> 287158f="DoV000FFF58 g00100080 00100084 00000000 001BF1D0cumentation/s390/Debugging390.txt#L248" id="L2415 9nt indi15ame="L288"> 288Notes15ame>158f="DoV000FFF68 g00010400 800149BAg80014CA6g000FFF38cumentation/s390/Debugging390.txt#L312" id="L31159ent indi15D is really the PGD also15D i>159 ="Documentation/s390/Debugging390.txt#L248" id="L241591nt indi15 is defined in pgtable.h15 is>1591="DoT i= displays t 2nd return addrlssgo"L80014CA6cumentation/s390/Debugging390.txt#L248" id="L241592nt indi15ine" name="L291"> 291159f="Documentation/s390/Debugging390.txt#L312" id="L311593nt indi15xes are only 1k  in size15xes>159f="Donowedo dg000FFFA0.40tfiongurs3rd"backchaincumentation/s390/Debugging390.txt#L312" id="L311594nt indi15te ) we use 1 ( page 4k 15te >1594="Documentation/s390/Debugging390.txt#L248" id="L241595nt indi15dating 4 segment indices15dat>159f="DoV000FFFA0  04B52002g0001107Fg00000000 00000000cumentation/s390/Debugging390.txt#L248" id="L241596nt indi15 a PMD & use offsets15 a >1596="DoV000FFFB0 g00000000 00000000 FF000000 0001107Fcumentation/s390/Debugging390.txt#L248" id="L241597nt indi15 for our segment indexes15 fo>1597="DoV000FFFC0 g00000000 00000000 00000000 00000000cumentation/s390/Debugging390.txt#L248" id="L241598nt indi15ndexes are now 2k in siz15nde>159f="DoV000FFFD0 g00010400 80010802 8001085Ag000FFFA0cumentation/s390/Debugging390.txt#L248" id="L241599nt indi15e ) we do a similar tric15e )>159f="Documentation/s390/Debugging390.txt#L139" id="L1316ment indi16mentwe do a similar tric16men>160 ="Documentation/s390/Debugging390.txt#L248" id="L2416m1nt indi16mis defined in pgtable.h16mis>1601="Dogurs3rd"return addrlssgis 8001085Acumentation/s390/Debugging390.txt#L248" id="L2416m2nt indi16mne" name="L291"> 291160f="Documentation/s390/Debugging390.txt#L312" id="L3116m3nt indi16mes are only 1k  in size16mes>1603="Doas clas04B52002glooks suspiciouslyilbke rubbish0itebu fair..oiass390 clat " 18ntatio 0/Dry rout 1kscumentation/s390/Debugging390.txt#L248" id="L2416m4nt indi16me ) we use 1 ( page 4k 16me >1604="DofionclassntatofDoptimisebuggedo.txt#L13set up9a backchain.cumentation/s390/Debugging390.txt#L248" id="L2416m5nt indi16mating 4 segment indices16mat>1605="Documentation/s390/Debugging390.txt#L248" id="L2416m6nt indi16ma PMD & use offsets16ma >1606="Donowelooktat9System.map go seeiif " 18addrlsses mntatany sense.cumentation/s390/Debugging390.txt#L248" id="L2416m7nt indi16mfor our segment indexes16mfo>16mf="Documentation/s390/Debugging390.txt#L237" id="L2316m8nt indi16mdexes are now 2k in siz16mde>1608="Dogrep -ig0001b39System.mapcumentation/s390/Debugging390.txt#L237" id="L2316m9nt indi16m ) we do a similar tric16m )>1609="DooutpuDs amoatioth393cliatscumentation/s390/Debugging390.txt#L248" id="L24161ent indi16table designation type i16tab>1610="Do0001b304 TDcpu_idln  class="line" name="L305"> 305this allows u1611nt indi16 space control registers16 sp>1611="Doso 8001B36A class="line" name="L305"> 305this allows u1612nt indi16ne" name="L311"> 31116ne">1612="DoisDcpu_idln+0x66 (uquiet clascpu bu asleep,edo.txt#L13wntatite) class="line" name="L305"> 305this allows u1613nt indi16ine" name="L312"> 312161f="Documentation/s390/Debugging390.txt#L273" id="L271614nt indi16ure Kernel Task Structur16ure>1614="Documentation/s390/Debugging390.txt#L248" id="L241615nt indi16========================16===>1615="Dogrep -ig000149System.map cumentation/s390/Debugging390.txt#L248" id="L241616nt indi16ts own kernel task_struc16ts >1616="Doproduces amoatioth393cliatscumentation/s390/Debugging390.txt#L248" id="L241617nt indi16nux/include/linux/sched.16nux>1617="Do00014a78 TDstart_ntatio  cumentation/s390/Debugging390.txt#L248" id="L241618nt indi16f a process on a cpu set16f a>1618="Doso 0014CA6ggugstart_ntatio+somenhexenumb39.I cgntxt#L13add"incmyshead.cumentation/s390/Debugging390.txt#L248" id="L241619nt indi16 prefix area for this cp16 pr>161f="Documentation/s390/Debugging390.txt#L139" id="L13162ent indi16r per-processor globals)16r p>1620="Dogrep -ig001089System.map cumentation/s390/Debugging390.txt#L248" id="L241621nt indi16ine" name="L320"> 3201621="Do" i= producescumentation/s390/Debugging390.txt#L248" id="L241622nt indi16th the task structure fo16th >1622="Do00010800 TD_stextcumentation/s390/Debugging390.txt#L248" id="L241623nt indi16ach processor as follows16ach>162f="Doso   8001085Agi= _stext+0x5acumentation/s390/Debugging390.txt#L248" id="L241624nt indi16ine" name="L323"> 3231624="Documentation/s390/Debugging390.txt#L248" id="L241625nt indi16                    s/3916   >1625="DoCoatrats"youtxt#Lveedo.e9ygursfirst"backchain.cumentation/s390/Debugging390.txt#L248" id="L241626nt indi16 ***********************16 **>162f="Documentation/s390/Debugging390.txt#L226" id="L221627nt indi16 *  1 page kernel stack 16 * >162f="Documentation/s390/Debugging390.txt#L237" id="L231628nt indi16          ( 4K3lA8" name16   >162f="Documentation/s390/Debugging390.txt#L248" id="L241629nt indi16tual addressing techniqu16tua>1629="Dos/" i ="L233z/ArchitecturasIO Overviewcumentation/s390/Debugging390.txt#L248" id="L24163ent indi16Address-User Space Himem16Add>1630="Do==================================cumentation/s390/Debugging390.txt#L248" id="L241631nt indi16an typically only addres16an >163f="Documentation/s390/Debugging390.txt#L141" id="L141632nt indi16ll the RAM these machine16ll >1632="DoI am notsgebugtco gi5" a33gurse"inc" i IO architecturasas3" i= wgmenttntatmenquitr acumentation/s390/Debugging390.txt#L248" id="L2416A3nt indi16232can typically use16232>1633="Dowhit0 ="L233Itxt#Lm no expert. Instead3Itxt#Lllngi5" a3" i IO architecturassumma9y3fionDummien if ylin235" cumentation/s390/Debugging390.txt#L248" id="L2416A4nt indi16GB or lower & thus b16GB >1634="Do" 1ss/" i pr/nciplen o"Loperebuggeavailable read3" i= instead. If notliatielse ylinmay3find a few cumentation/s390/Debugging390.txt#L248" id="L2416A5nt indi16 shrinks the maximum siz16 sh>1635="Do390fultkeywords"inc 1r="uggingb" able go use3t emion a"web search enL24eilbke altavista to3find cumentation/s390/Debugging390.txt#L248" id="L2416A6nt indi16o win limit of 4GB unles16o w>1636="Domorr 390fultinfiomebugg.cumentation/s390/Debugging390.txt#L248" id="L241637nt indi16236they go to 64 Bit16236>163f="Documentation/s390/Debugging390.txt#L237" id="L231638nt indi16ine" name="L237"> 237163f="DoUnlbke oth393bus architecturas modtat3" i systemsedo th3ir IO 39iatimostlycumentation/s390/Debugging390.txt#L248" id="L241639nt indi16ine" name="L238"> 238163f="Dofibr="optics ="L233devices such as3"apes ="L233disksacgncbeDshar0.tbetween ong39al mainfr248s,cumentation/s390/Debugging390.txt#L139" id="L13164ent indi16ke us slightly different16ke >164 ="Doalso S" i cgncsupport up9to3655363devices whit0 menigh0en.nPCgbas0.tsystem mightcbeD3hokiatcumentation/s390/Debugging390.txt#L139" id="L131641nt indi16allowed use 31 bits (2GB16all>164f="Douith aroun.n64. H1r="is"somenofn" 18c4mmon IO terminologycumentation/s390/Debugging390.txt#L248" id="L241642nt indi16ntirely separate address16nti>164f="Documentation/s390/Debugging390.txt#L312" id="L311643nt indi16or the user & kernel16or >16kf="DoSubchantio: class="line" name="L305"> 305this allows u1644nt indi16ine" name="L243"> 24316k4="DoT i= is claslogical numb39.most IO 34mmandn use3to talktco an IO device3t 1r="cgncbeDup9to class="line" name="L305"> 305this allows u1645nt indi16 RAM on s/390, & mor16 RA>164f="Do0x10000 (65536) o"Lclasatbu"asco/figura9xo  typically3t 1r="bu a few hun.r0.. UngingVMcumentation/s390/Debugging390.txt#L237" id="L231646nt indi16gement swap device &16gem>164f="Dofornsimplicity3t 1y"ar="allocat0.t3ontiguously,0howng39ion clasnaid5"n23rdwar="2s3y"ar="notcumentation/s390/Debugging390.txt#L237" id="L231647nt indi16rently on z/Architecture16ren>164f="Do2s3y"typically3stay9conoist0/Dtbetween boot= provid0.tno new h3rdwar="i= insert0.tionremov0..cumentation/s390/Debugging390.txt#L248" id="L241648nt indi16ine" name="L247"> 247164f="DoUngingLbugg8forn" i we use3t esasas3IRQing390.="L233also 9n"n9issuiugtgn IO 34mmand (CLEAR SUBCHANNEL,cumentation/s390/Debugging390.txt#L139" id="L131649nt indi16ine" name="L248"> 2481649="DoHALT SUBCHANNEL,MODIFY SUBCHANNEL,RESUME SUBCHANNEL,START SUBCHANNEL,STORE SUBCHANNEL8="L233cumentation/s390/Debugging390.txt#L248" id="L24165ent indi16/390 & z/Architectur16/39>165/="DoTEST SUBCHANNEL ) we use3t bu as clasIDnofn" 18device3wenwish0to talktco,n" 18mostcumentation/s390/Debugging390.txt#L248" id="L241651nt indi16========================16===>1651="Doimportant o"Lclasatbustru id="s"ar="START SUBCHANNEL ( go start IO ), TEST SUBCHANNEL ("0/Dcheckcumentation/s390/Debugging390.txt#L248" id="L241652nt indi16ine" name="L251"> 251165f="Do9n"th393cle IO 34mplet0.tsucclssfully3), ="L233HALT SUBCHANNEL ("0/Dkill IO ), atsubchantiocumentation/s390/Debugging390.txt#L248" id="L241653nt indi16sing scheme is as follow16sin>1653="DocgnchaveDup9to 8 chantio paths .oia device3t in o"fers r0.un.ancy if o.e9in notsavailable.cumentation/s390/Debugging390.txt#L248" id="L241654nt indi16ine" name="L253"> 2531654="Documentation/s390/Debugging390.txt#L248" id="L241655nt indi16ine" name="L254"> 2541655="Documentation/s390/Debugging390.txt#L248" id="L241656nt indi16         ***************16   >1656="DoDevice3Numb39: class="line" name="L305"> 305this allows u16/7nt indi16         *              16   >1657="DoT i= numb39.remainugstatic ="L233Isacloselyntied 0/Dclash3rdwar=,3t 1r="ar="655363o"Lclasa class="line" name="L305"> 305this allows u16/8nt indi16         *              16   >165f="Doalso3ts3y"ar="madeDup9o"La CHPIDn( Chantio PathsID,n" 18mostnsignificant 8 bi"s )Dcumentation/s390/Debugging390.txt#L248" id="L2416/9nt indi16   *              *     16   >165f="Do="L233anoth393lsb 8 bi"s. Tlasatremaingstatic ng3n if morr devices ar="insert0.tionremov0.cumentation/s390/Debugging390.txt#L248" id="L24166ent indi16       *              * 16   >166 ="Dofe" nclegh3rdwar=,3t 1r="bu a 1 0/D1"mappiugtbetween Subchantio0.="L233Device3Numb39= provid0.cumentation/s390/Debugging390.txt#L248" id="L241661nt indi16       *    Kernel    * 16   >166f="Dodevices ar=ntxt#L13insert0.tionremov0..cumentation/s390/Debugging390.txt#L248" id="L241662nt indi16         *              16   >166f="Documentation/s390/Debugging390.txt#L312" id="L311663nt indi16         *              16   >16 3="DoChantio Control Words: class="line" name="L305"> 305this allows u1664nt indi16         *              16   >16 4="DoCCWS ar="   ked 90sDn o"Lbustru id="s"initially3pointed 0/Dby"gncopera9xo  requ=st"block (ORB),cumentation/s390/Debugging390.txt#L139" id="L131665nt indi16         *              16   >1665="Doumentais initially3gi5"n 0/DStart Subchantio (SSCH) 34mmand aloatiuith " 1ssubchantio numb39cumentation/s390/Debugging390.txt#L139" id="L131666nt indi16         ***************16   >166f="Doforncle IO subsystem 0/Dproclss whit0 cle CPU"3ontinu=s executbugtniomelscod".cumentation/s390/Debugging390.txt#L248" id="L241667nt indi16ine" name="L266"> 2661667="DoT asatcomeni" cwo flavgurs, Fiomeb 0 ( 24 bi" fornbackwarde) class="line" name="L305"> 305this allows u1668nt indi16the PSW problem state bi16the>16 f="Do34mp="Lbility3="L233Fiomeb 1 ( 31 bi" ). Tlasatar="2ypically3used 0/Dissue read3="L233writr  class="line" name="L305"> 305this allows u1669nt indi16whether we are looking a16whe>166f="Do(3="L233many oth393bustru id="s")3ts3y"conoist9o"La length field3="L233gncabsolut18addrlss field.cumentation/s390/Debugging390.txt#L248" id="L24167ent indi16user or kernel space16167 ="DoFio eac1"IO typically3gebu1tion2 interrupDn onenfionchantio en.n( pr/ma9y3sDebus")39n"n9ts3cumentation/s390/Debugging390.txt#L248" id="L241671nt indi16ine" name="L270"> 2701671="Dochantio is idle ="L233" 1ssecondnfiondevice3en.n( seconda9y3sDebus")3somecim.s ylingebubothcumentation/s390/Debugging390.txt#L248" id="L241672nt indi16/390 & z/Architectur16/39>167f="Doconcurr0/Dly,0ylincheckiht#9clasIO w0/Dto  by"issuiugtg TEST SUBCHANNEL eb eac1"interrupD,cumentation/s390/Debugging390.txt#L139" id="L131673nt indi16========================16===>16<3="Dofe" numentaylinrecei5" an InterrupDxo  responoe"block (IRB). If ylingebuchantio ="L233device3en.ncumentation/s390/Debugging390.txt#L139" id="L131674nt indi16ine" name="L273"> 2731674="DosDebus"i" clasIRBiuithout0chantio checks etc.9ygursIO probably w0/Dtokay. If ylindidntxt#L13ylicumentation/s390/Debugging390.txt#L139" id="L131675nt indi16390 is made up of 3 part16390>1675="Doprobably ne0.ta doctor..oiexam24eiclasIRBi="L233exten.0.tsDebus"word etc.cumentation/s390/Debugging390.txt#L139" id="L131676nt indi16D in linux terminology )16D i>1676="DoIf a"#erriongccurs, morr sop i=ticat0.t3ontrol uni"s haveDa facility3knowu"ascumentation/s390/Debugging390.txt#L139" id="L131677nt indi16> 276being bits 1-1116> 2>167f="Doconcurr0/D sense3t in means clat if a"#erriongccurs Exten.0.tsense3infiomebugg uillcumentation/s390/Debugging390.txt#L139" id="L131678nt indi16e) in linux terminology 16e) >167f="Dob18presente.tbu"clasExten.0.tsDebus"word i" clasIRBiif not ylin235" 0/Dissue acumentation/s390/Debugging390.txt#L248" id="L241679nt indi16278being bits 12-19.16278>16 28116 f="DoTPI( T=st"pen.iugtinterrupD)"cgncalso3be used fionpolt0.tIO but9incmultitaskhis0multiproclsso9cumentation/s390/Debugging390.txt#L139" id="L131683nt indi16 an address from 4 parts16 an>168f="Dosystemsei" is.txt#L13recommen.0.texceptnfioncheckhis0specielscases ( i.e. non9loopiugtchecks fo9cumentation/s390/Debugging390.txt#L139" id="L131684nt indi16 currently use bits 22-316 cu>1684="Dopen.iugtIO etc.9).cumentation/s390/Debugging390.txt#L248" id="L241685nt indi16dex (SX) being bits 33-416dex>1685="Documentation/s390/Debugging390.txt#L248" id="L241686nt indi16ex (PX) being bits  44-516ex >1686="DoStorr Subchantio ="L233Modify Subchantio cgncbeDused 0/Dexam24ei="L233modify opera9xugtcharacieri=ticscumentation/s390/Debugging390.txt#L139" id="L131687nt indi16ex (BX) being bits  52-616ex >1687="Doo"La subchantio ( e.g.9chantio paths ).cumentation/s390/Debugging390.txt#L248" id="L241688nt indi16ine" name="L287"> 287168f="Documentation/s390/Debugging390.txt#L248" id="L2416 9nt indi16ame="L288"> 288Notes16ame>168f="DoOth393IO relat0.tTerms: class="line" name="L305"> 305this allows u169ent indi16D is really the PGD also16D i>169 ="DoSysplex: S" iing390.ClusieriugtTechnologycumentation/s390/Debugging390.txt#L248" id="L241691nt indi16 is defined in pgtable.h16 is>1691="DoQDIO: S" iing390.new high0spe0.tIO architecturasgo support devices such as3gigabi" "th39neD,cumentation/s390/Debugging390.txt#L139" id="L131692nt indi16ine" name="L291"> 291169f="Dot bu architecturasi0.also3design0.t0/Dbe3fo9warde34mp="Lbleiuith upi="L23334miugt64 bi" mac1 1ks.cumentation/s390/Debugging390.txt#L248" id="L241693nt indi16xes are only 1k  in size16xes>169f="Documentation/s390/Debugging390.txt#L273" id="L271694nt indi16te ) we use 1 ( page 4k 16te >1694="Documentation/s390/Debugging390.txt#L248" id="L241695nt indi16dating 4 segment indices16dat>169f="DoGen39al ConcepDn cumentation/s390/Debugging390.txt#L248" id="L241696nt indi16 a PMD & use offsets16 a >169f="Documentation/s390/Debugging390.txt#L226" id="L221697nt indi16 for our segment indexes16 fo>1697="DoInput9OutpuD Proclsso9s (IOPing390)nid="responoLbleifions4mmunica9xugtbetweencumentation/s390/Debugging390.txt#L226" id="L221698nt indi16ndexes are now 2k in siz16nde>169f="Do" 18mainfr248 CPUing390.="L233" 18chantio ="L233relieveiclasmainfr248 CPUing390.fe" nclecumentation/s390/Debugging390.txt#L226" id="L221699nt indi16e ) we do a similar tric16e )>169f="Doburden9o"Ls4mmunica9xugtuith IO device= direcDly,0t bu atxt#s cle CPUing390.0/Dcumentation/s390/Debugging390.txt#L226" id="L2217ment indi17mentwe do a similar tric17men>170 ="Doconc0/Drate ggedataDproclss226.ncumentation/s390/Debugging390.txt#L139" id="L1317m1nt indi17mis defined in pgtable.h17mis>170f="Documentation/s390/Debugging390.txt#L141" id="L1417m2nt indi17mne" name="L291"> 291170f="DoIOPing390 cgncuse3onenor morr    ks ( knowu"as9chantio paths )3to talktco eac1"cumentation/s390/Debugging390.txt#L141" id="L1417m3nt indi17mes are only 1k  in size17mes>1703="DoIO device. Itsfirst"checks fo9 pathsavailability3="L233chooses ageavailable one,cumentation/s390/Debugging390.txt#L139" id="L1317m4nt indi17me ) we use 1 ( page 4k 17me >1704="Do" 1n starts ( ="L233somecim.s terminat"seIO ).cumentation/s390/Debugging390.txt#L248" id="L2417m5nt indi17mating 4 segment indices17mat>1705="DoT 1r="ar="cwo typen o"Lchantio path: ESCON.="L233" 18Paralt0l IO interface.cumentation/s390/Debugging390.txt#L248" id="L2417m6nt indi17ma PMD & use offsets17ma >170f="Documentation/s390/Debugging390.txt#L226" id="L2217m7nt indi17mfor our segment indexes17mfo>17mf="DoIO device= ar="attache.t0/D3ontrol uni"s,t3ontrol uni"s provid0nclecumentation/s390/Debugging390.txt#L226" id="L2217m8nt indi17mdexes are now 2k in siz17mde>1708="Dologic 0/Dinterface3" 18chantio paths ="L233chantio pathsIO protocol0.0/Dcumentation/s390/Debugging390.txt#L226" id="L2217m9nt indi17m ) we do a similar tric17m )>1709="DoclasIO device=,3ts3y"cgncbeDintetrate.tuith " 1sdevice= o9 housed separatelycumentation/s390/Debugging390.txt#L226" id="L22171ent indi17table designation type i17tab>1710="Do="L233oft"n9talktco ong39al similarsdevice= ( typicalDexamplen wgmentbe rai.ncumentation/s390/Debugging390.txt#L139" id="L131711nt indi17 space control registers17 sp>1711="Do3ontroll39= o9 at3ontrol uni"numenta3onnecD0.0/D1000 3270 terminals ).cumentation/s390/Debugging390.txt#L248" id="L241712nt indi17ne" name="L311"> 31117ne">171f="Documentation/s390/Debugging390.txt#L312" id="L311713nt indi17ine" name="L312"> 312171f="Documentation/s390/Debugging390.txt#L273" id="L271714nt indi17ure Kernel Task Structur17ure>1714="Do    +---------------------------------------------------------------+cumentation/s390/Debugging390.txt#L273" id="L271715nt indi17========================17===>1715="Do    | +-----+ +-----+ +-----+ +-----+  +----------+  +----------+   |cumentation/s390/Debugging390.txt#L273" id="L271716nt indi17ts own kernel task_struc17ts >1716="Do    | | CPU"| | CPU"| | CPU"| | CPU"| "| "Maing   |  | Expan.0.t|   |cumentation/s390/Debugging390.txt#L273" id="L271717nt indi17nux/include/linux/sched.17nux>1717="Do    |t|     |t|     |t|     |t|     |t"| "Memory  |t"| "Storaget|   |cumentation/s390/Debugging390.txt#L273" id="L271718nt indi17f a process on a cpu set17f a>1718="Do    | +-----+ +-----+ +-----+ +-----+  +----------+  +----------+   |ncumentation/s390/Debugging390.txt#L139" id="L131719nt indi17 prefix area for this cp17 pr>1719="Do    |---------------------------------------------------------------+cumentation/s390/Debugging390.txt#L273" id="L27172ent indi17r per-processor globals)17r p>1720="Do    |   IOP        |      IOP      |       IOP                      |cumentation/s390/Debugging390.txt#L273" id="L271721nt indi17ine" name="L320"> 3201721="Do    |---------------------------------------------------------------cumentation/s390/Debugging390.txt#L273" id="L271722nt indi17th the task structure fo17th >1722="Do    | C | C | C | C | C | C | C | C | C | C | C | C | C | C | C | C | cumentation/s390/Debugging390.txt#L273" id="L271723nt indi17ach processor as follows17ach>1723="Do    ----------------------------------------------------------------cumentation/s390/Debugging390.txt#L273" id="L271724nt indi17ine" name="L323"> 3231724="Do         ||                                              ||cumentation/s390/Debugging390.txt#L273" id="L271725nt indi17                    s/3917   >1725="Do         ||  Bus ="L233Tag Chantio Paths                     || ESCONcumentation/s390/Debugging390.txt#L273" id="L271726nt indi17 ***********************17 **>1726="Do         ||  ======================s                     || Chantiocumentation/s390/Debugging390.txt#L248" id="L241727nt indi17 *  1 page kernel stack 17 * >1727="Do         ||  ||                  ||                      || Pathcumentation/s390/Debugging390.txt#L248" id="L241728nt indi17          ( 4K3lA8" name17   >1728="Do    +----------+               +----------+         +----------+cumentation/s390/Debugging390.txt#L248" id="L241729nt indi17tual addressing techniqu17tua>1729="Do    |          |               |          |         |          |cumentation/s390/Debugging390.txt#L248" id="L24173ent indi17Address-User Space Himem17Add>1730="Do    |    CU    |               |    CU    |         |    CU    |cumentation/s390/Debugging390.txt#L248" id="L241731nt indi17an typically only addres17an >1731="Do    |          |               |          |         |          |cumentation/s390/Debugging390.txt#L248" id="L241732nt indi17ll the RAM these machine17ll >1732="Do    +----------+               +----------+         +----------+cumentation/s390/Debugging390.txt#L248" id="L2417A3nt indi17232can typically use17232>1733="Do       |      |                     |                |       |cumentation/s390/Debugging390.txt#L248" id="L241734nt indi17GB or lower & thus b17GB >1734="Do+----------+ +----------+      +----------+   +----------+ +----------+cumentation/s390/Debugging390.txt#L248" id="L241735nt indi17 shrinks the maximum siz17 sh>1735="Do|I/O3Device|t|I/O3Device|t     |I/O3Device|t  |I/O3Device|t|I/O3Device|cumentation/s390/Debugging390.txt#L248" id="L241736nt indi17o win limit of 4GB unles17o w>1736="Do+----------+ +----------+      +----------+   +----------+ +----------+cumentation/s390/Debugging390.txt#L248" id="L241737nt indi17236they go to 64 Bit17236>1737="Do  CPU"= C0/Dral ProclssxugtUni"n   cumentation/s390/Debugging390.txt#L248" id="L241738nt indi17ine" name="L237"> 2371738="Do  C"= Chantio                      cumentation/s390/Debugging390.txt#L248" id="L241739nt indi17ine" name="L238"> 2381739="Do  IOP = IP Proclsso9               cumentation/s390/Debugging390.txt#L248" id="L24174ent indi17ke us slightly different17ke >1740="Do  CU"= Control Uni"cumentation/s390/Debugging390.txt#L248" id="L241741nt indi17allowed use 31 bits (2GB17all>174f="Documentation/s390/Debugging390.txt#L141" id="L141742nt indi17ntirely separate address17nti>174f="Docu393 i IO systemsecomeni" 2 flavgurs clascurr0/D 3 i mac1 1ks support bothcumentation/s390/Debugging390.txt#L248" id="L241743nt indi17or the user & kernel17or >174f="Documentation/s390/Debugging390.txt#L273" id="L271744nt indi17ine" name="L243"> 24317k4="DoT e Olging36i ="L233370 Interface,somecim.s called3" 18Paralt0l I/O interface,cumentation/s390/Debugging390.txt#L139" id="L131745nt indi17 RAM on s/390, & mor17 RA>174f="Dosomecim.s called3Bus-and Tag ="L233somecim.s Original Equip90/D Manufacturarscumentation/s390/Debugging390.txt#L139" id="L131746nt indi17gement swap device &17gem>174f="DoInterface (OEMI).cumentation/s390/Debugging390.txt#L248" id="L241747nt indi17rently on z/Architecture17ren>174f="Documentation/s390/Debugging390.txt#L237" id="L231748nt indi17ine" name="L247"> 247174f="DoT i= byt" wid0nParalt0l chantio path/bus has parity3="L233dataDon clas"Bus" cable cumentation/s390/Debugging390.txt#L237" id="L231749nt indi17ine" name="L248"> 248174f="Do="L2333ontrol l 1ks on clas"Tag" cable. Tlasatcgncopera9eni" byt" multiplex modt fo9cumentation/s390/Debugging390.txt#L139" id="L13175ent indi17/390 & z/Architectur17/39>175/="Doshariugtbetween ong39al sxt#9device= o9 burst"modt ="L233monopolize3" 18chantio fornclecumentation/s390/Debugging390.txt#L139" id="L131751nt indi17========================17===>1751="Dowhole burst. Up9to 2563devices cgncbeDaddrlssed  on oneno"Lclasatcables. Tlasatcgbles ar=cumentation/s390/Debugging390.txt#L139" id="L131752nt indi17ine" name="L251"> 251175f="Doabout0o.e9inc1"in di251ter. Tla maximum unexten.0.tlength support0.tbyLclasatcables iscumentation/s390/Debugging390.txt#L139" id="L131753nt indi17sing scheme is as follow17sin>1753="Do125 M1tersgbut9t i= cgncbe exten.0.tup9to 2kmtuith a fibr="opticnchantio exten.0.tcumentation/s390/Debugging390.txt#L139" id="L131754nt indi17ine" name="L253"> 2531754="Dosuch as3a 3044. Tla maximum burst"spe0.tsupport0.ti= 4.5 megabyt"seperssecondnhowng39cumentation/s390/Debugging390.txt#L139" id="L131755nt indi17ine" name="L254"> 254175f="Dosome"relaly old proclsso9s support onlyntransf39.rat"seo"L3.0, 2.i ="L2331.i MB/sec.cumentation/s390/Debugging390.txt#L248" id="L241756nt indi17         ***************17   >1756="DoOneno"Lclasatpaths cgncbe daisyichaine.t0/Dup9to 8 control uni"s.cumentation/s390/Debugging390.txt#L248" id="L241757nt indi17         *              17   >175f="Documentation/s390/Debugging390.txt#L237" id="L2317/8nt indi17         *              17   >175f="Documentation/s390/Debugging390.txt#L248" id="L2417/9nt indi17   *              *     17   >175f="DoESCON.if fibr="opticnitebu also3called3FICON.cumentation/s390/Debugging390.txt#L248" id="L24176ent indi17       *              * 17   >176 ="DoWas"i"troduce.tbyLIBM"in 19 id Has"2 fibr="opticncables ="L233uses eith393led= o9   *arscumentation/s390/Debugging390.txt#L139" id="L131761nt indi17       *    Kernel    * 17   >176f="Dofions4mmunica9xon atLa signaliugtrate gftup9to 200 megabi"s/sec. As 10bi"s ar="cransf39r0.cumentation/s390/Debugging390.txt#L248" id="L241762nt indi17         *              17   >176f="Dofionng39y 8 bi"s infi9t i= drop0.0/D160 megabi"s/sec.="L233"/D18.6 M1gabyt"s/sec.onc0cumentation/s390/Debugging390.txt#L248" id="L241763nt indi17         *              17   >17 3="Docontrol infi9="L233CRC ar="add0.. ESCON.onlynopera9es"i" burst"modt.cumentation/s390/Debugging390.txt#L248" id="L241764nt indi17         *              17   >17 4="Do.cumentation/s390/Debugging390.txt#L248" id="L241765nt indi17         *              17   >1765="DoESCONs typicalDmax cable length i= 3kmtforncle led3g39sxon ="L23320kmtforncle l *ar3g39sxoncumentation/s390/Debugging390.txt#L248" id="L241766nt indi17         ***************17   >176f="Doknowu"as9XDF ( exten.0.tdistance facility3). Tli= cgncbe furth393exten.0.tby 39iatiancumentation/s390/Debugging390.txt#L248" id="L241767nt indi17ine" name="L266"> 2661767="DoESCON.direcDornumentatriplen " 18abov3090/Dugg0.tranges. Unlbke Bus ="L233Tag as9ESCON.iscumentation/s390/Debugging390.txt#L139" id="L131768nt indi17the PSW problem state bi17the>17 f="Do*arielsiteuses atpacket"suitcliatiarchitecturasglasstanda9d Bus ="L233Tag control protocolcumentation/s390/Debugging390.txt#L139" id="L131769nt indi17whether we are looking a17whe>176f="Doi= howng39ipresenttuithi" claspackets. Up9to 2563devices cgncbeDattache.t0/Deac1"controlcumentation/s390/Debugging390.txt#L139" id="L13177ent indi17user or kernel space17177 ="Douni"nclat uses oneno"Lclasatinterfaces.cumentation/s390/Debugging390.txt#L248" id="L241771nt indi17ine" name="L270"> 270177f="Documentation/s390/Debugging390.txt#L141" id="L141772nt indi17/390 & z/Architectur17/39>177f="DoC4mmon 3 i Devices include: class="line" name="L305"> 305this allows u1773nt indi17========================17===>17<3="DoNetwork"adaptersgtypically3OSA2,3172ing390,2116ing390.="L233OSA-E3gigabi" "th39neD"adapters,cumentation/s390/Debugging390.txt#L139" id="L131774nt indi17ine" name="L273"> 2731774="DoConsolen 3270 ="L2333215 ( a teletype emulate.tunginglbugg8forna l 1k"modt console ).cumentation/s390/Debugging390.txt#L248" id="L241775nt indi17390 is made up of 3 part17390>1775="DoDASDing390.direcD acclsssstoragetdevice= ( oth39wis39knowu"as9h3rd3disksa).cumentation/s390/Debugging390.txt#L248" id="L241776nt indi17D in linux terminology )17D i>1776="DoTape Drives.cumentation/s390/Debugging390.txt#L248" id="L241777nt indi17> 276being bits 1-1117> 2>177f="DoCTCn( Chantio 0/DChantio Adaptersg),cumentation/s390/Debugging390.txt#L139" id="L131778nt indi17e) in linux terminology 17e) >177f="DoESCON.ornParalt0l Cables used as3a g39y high0spe0.t*ariels   kcumentation/s390/Debugging390.txt#L139" id="L131779nt indi17278being bits 12-19.17278>17 28117 f="Do.txt#L141 IO on s/" i ="L233z/ArchitecturasungingVMcumentation/s390/Debugging390.txt#L237" id="L231783nt indi17 an address from 4 parts17 an>178f="Do===============================================cumentation/s390/Debugging390.txt#L248" id="L241784nt indi17 currently use bits 22-317 cu>1784="Documentation/s390/Debugging390.txt#L248" id="L241785nt indi17dex (SX) being bits 33-417dex>1785="DoNowewenid="reldytco go gg uithsIO "racxugtc4mmandn ungingVMcumentation/s390/Debugging390.txt#L237" id="L231786nt indi17ex (PX) being bits  44-517ex >178f="Documentation/s390/Debugging390.txt#L226" id="L221787nt indi17ex (BX) being bits  52-617ex >1787="DoA few self explanatory quaries: class="line" name="L305"> 305this allows u1788nt indi17ine" name="L287"> 287178f="DoQ3OSA class="line" name="L305"> 305this allows u1789nt indi17ame="L288"> 288Notes17ame>178f="DoQ CTC class="line" name="L305"> 305this allows u179ent indi17D is really the PGD also17D i>179 ="DoQ DISKn( Tli= c4mmand i= CMS0specifice) class="line" name="L305"> 305this allows u1791nt indi17 is defined in pgtable.h17 is>1791="DoQ DASD class="line" name="L305"> 305this allows u1792nt indi17ine" name="L291"> 291179f="Documentation/s390/Debugging390.txt#L312" id="L311793nt indi17xes are only 1k  in size17xes>179f="Documentation/s390/Debugging390.txt#L273" id="L271794nt indi17te ) we use 1 ( page 4k 17te >1794="Documentation/s390/Debugging390.txt#L248" id="L241795nt indi17dating 4 segment indices17dat>1795="Documentation/s390/Debugging390.txt#L248" id="L241796nt indi17 a PMD & use offsets17 a >179f="Documentation/s390/Debugging390.txt#L226" id="L221797nt indi17 for our segment indexes17 fo>179f="Documentation/s390/Debugging390.txt#L237" id="L231798nt indi17ndexes are now 2k in siz17nde>179f="DoQ3OSA gg my mac1 1k"returnscumentation/s390/Debugging390.txt#L139" id="L131799nt indi17e ) we do a similar tric17e )>179f="DoOSA  7C08 ON.OSA   7C08 SUBCHANNEL = 0000cumentation/s390/Debugging390.txt#L248" id="L2418ment indi18mentwe do a similar tric18men>180 ="DoOSA  7C09 ON.OSA   7C09 SUBCHANNEL = 0001cumentation/s390/Debugging390.txt#L248" id="L2418m1nt indi18mis defined in pgtable.h18mis>180f="DoOSA  7C14 ON.OSA   7C149SUBCHANNEL = 0002cumentation/s390/Debugging390.txt#L248" id="L2418m2nt indi18mne" name="L291"> 291180f="DoOSA  7C15 ON.OSA   7C159SUBCHANNEL = 0003cumentation/s390/Debugging390.txt#L248" id="L2418m3nt indi18mes are only 1k  in size18mes>180f="Documentation/s390/Debugging390.txt#L273" id="L2718m4nt indi18me ) we use 1 ( page 4k 18me >1804="DoIf ylin235" a gu=st"uithscertaingprivileg.s ylinmay3b" able go seeidevice=cumentation/s390/Debugging390.txt#L273" id="L2718m5nt indi18mating 4 segment indices18mat>1805="Doumentado.txt#L13beloatigo yli. Toiavoid3" i=,3add"clasopDxo  V.cumentation/s390/Debugging390.txt#L248" id="L2418m6nt indi18ma PMD & use offsets18ma >180f="Doe.g.cumentation/s390/Debugging390.txt#L248" id="L2418m7nt indi18mfor our segment indexes18mfo>18mf="DoQ V3OSA class="line" name="L305"> 305this allows u18m8nt indi18mdexes are now 2k in siz18mde>180f="Documentation/s390/Debugging390.txt#L248" id="L2418m9nt indi18m ) we do a similar tric18m )>1809="DoNowe39iati" 18device3numb39= return0.tbyLcli= c4mmand wenwillcumentation/s390/Debugging390.txt#L139" id="L13181ent indi18table designation type i18tab>1810="DoTrace3" 18io startiatiup9o" clasfirst"device37c08 ="L2337c09cumentation/s390/Debugging390.txt#L139" id="L131811nt indi18 space control registers18 sp>1811="DoInngurssimpl=st"case wencgnctrace3" 18cumentation/s390/Debugging390.txt#L139" id="L131812nt indi18ne" name="L311"> 31118ne">181f="Dostart subchantio=cumentation/s390/Debugging390.txt#L273" id="L271813nt indi18ine" name="L312"> 312181f="Dolbke TR SSCH 7C08-7C09cumentation/s390/Debugging390.txt#L273" id="L271814nt indi18ure Kernel Task Structur18ure>1814="Doorncle halt subchantio=cumentation/s390/Debugging390.txt#L273" id="L271815nt indi18========================18===>1815="DoornTR HSCH 7C08-7C09cumentation/s390/Debugging390.txt#L273" id="L271816nt indi18ts own kernel task_struc18ts >1816="DoMSCHing390.,STSCHing390.I3cliak0ylincgncgu=sn " 18restcumentation/s390/Debugging390.txt#L248" id="L241817nt indi18nux/include/linux/sched.18nux>181f="Documentation/s390/Debugging390.txt#L237" id="L231818nt indi18f a process on a cpu set18f a>1818="DoIngoing390.favguritr trick is cracxugtall9clasIOing390.="L233CCWS ="L233spooliati" 1mtinto " 18reagingo"Lanoth39cumentation/s390/Debugging390.txt#L237" id="L231819nt indi18 prefix area for this cp18 pr>1819="DoVM gu=st"so hencgncftp claslogfit0 backigo  in own mac1 1k.Itxt#Lllndoia small9bi" o"Lcli0.="L233gi5" ylicumentation/s390/Debugging390.txt#L139" id="L13182ent indi18r per-processor globals)18r p>1820="Do aelooktat9clasoutpuD.cumentation/s390/Debugging390.txt#L248" id="L241821nt indi18ine" name="L320"> 320182f="Documentation/s390/Debugging390.txt#L141" id="L141822nt indi18th the task structure fo18th >1822="Do1) Spool stdout0go VM reagincumentation/s390/Debugging390.txt#L141" id="L141823nt indi18ach processor as follows18ach>1823="DoSP PRT TO (anoth393vm gu=st").orn*tforncle localDvm gu=stcumentation/s390/Debugging390.txt#L141" id="L141824nt indi18ine" name="L323"> 3231824="Do2) Fill9clasreaginguith " 1stracecumentation/s390/Debugging390.txt#L141" id="L141825nt indi18                    s/3918   >1825="DoTR IO37c08-7c09 INST INT CCW PRT RUNcumentation/s390/Debugging390.txt#L273" id="L271826nt indi18 ***********************18 **>1826="Do3)DStart up9lbugg8cumentation/s390/Debugging390.txt#L273" id="L271827nt indi18 *  1 page kernel stack 18 * >1827="Doig00c  cumentation/s390/Debugging390.txt#L248" id="L241828nt indi18          ( 4K3lA8" name18   >1828="Do4) Finish0t 1stracecumentation/s390/Debugging390.txt#L141" id="L141829nt indi18tual addressing techniqu18tua>1829="DoTR END class="line" name="L305"> 305this allows u183ent indi18Address-User Space Himem18Add>1830="Do5) close9clasreagin class="line" name="L305"> 305this allows u1831nt indi18an typically only addres18an >1831="DoC PRT class="line" name="L305"> 305this allows u1832nt indi18ll the RAM these machine18ll >1832="Do6) 90sDsreagingcontame=cumentation/s390/Debugging390.txt#L273" id="L2718A3nt indi18232can typically use18232>1833="DoRDRLIST class="line" name="L305"> 305this allows u1834nt indi18GB or lower & thus b18GB >1834="Do7) 34pysitego lbugg4ing390.minidisk cumentation/s390/Debugging390.txt#L248" id="L241835nt indi18 shrinks the maximum siz18 sh>1835="DoRECEIVE / LOG TXT A1 ( replacecumentation/s390/Debugging390.txt#L141" id="L141836nt indi18o win limit of 4GB unles18o w>1836="Do8) class="line" name="L305"> 305this allows u1837nt indi18236they go to 64 Bit18236>1837="Dofit0o ="L233prlss F11 0/Dlooktat9i"cumentation/s390/Debugging390.txt#L248" id="L241838nt indi18ine" name="L237"> 2371838="DoYlinshgmentseeisomecliatilbke: class="line" name="L305"> 305this allows u1839nt indi18ine" name="L238"> 238183f="Documentation/s390/Debugging390.txt#L139" id="L13184ent indi18ke us slightly different18ke >1840="Do00020942ing39 SSCH  B2334000    004881fC    CC 0    SCH 0000    DEV 7C08cumentation/s390/Debugging390.txt#L139" id="L131841nt indi18allowed use 31 bits (2GB18all>1841="Do          CPA 000FFDF0   PARM 00E2C9C4    KEY 0  FPI C0  LPM 80cumentation/s390/Debugging390.txt#L248" id="L241842nt indi18ntirely separate address18nti>1842="Do          CCW    000FFDF0  E4200100 00487FE8   0000  E4240100 ........cumentation/s390/Debugging390.txt#L248" id="L241843nt indi18or the user & kernel18or >1843="Do          IDAL                                      43D8AFE8cumentation/s390/Debugging390.txt#L248" id="L241844nt indi18ine" name="L243"> 2431844="Do          IDAL                                      0FB76000cumentation/s390/Debugging390.txt#L248" id="L241845nt indi18 RAM on s/390, & mor18 RA>184f="Do00020B0Aing39   I/O DEV 7C08 -> 000197BCing39   SCH 0000   PARM 00E2C9C4cumentation/s390/Debugging390.txt#L248" id="L241846nt indi18gement swap device &18gem>184f="Do0002162fing39 TSCH  B2354000 >> 00488164    CC 0    SCH 0000    DEV 7C08cumentation/s390/Debugging390.txt#L139" id="L131847nt indi18rently on z/Architecture18ren>1847="Do          CCWA 000FFDF8   DEV STS 0C  SCH STS 00  CNT 00EC class="line" name="L305"> 305this allows u1848nt indi18ine" name="L247"> 2471848="Do           KEY 0   FPI C0  CC 0   CTLS 4007 class="line" name="L305"> 305this allows u1849nt indi18ine" name="L248"> 248184f="Do0002223fing39 STSCH B2344000 >> 00488108    CC 0    SCH 0000    DEV 7C08cumentation/s390/Debugging390.txt#L139" id="L13185ent indi18/390 & z/Architectur18/39>185 ="Documentation/s390/Debugging390.txt#L248" id="L241851nt indi18========================18===>1851="DoIf ylindo.txt#L13lbke mlssxugtup9ygursreagi.n( because ylinposoLbly booted fe" ni" )cumentation/s390/Debugging390.txt#L248" id="L241852nt indi18ine" name="L251"> 251185f="Doylincgncalternaid5"ly3spool itego anoth393reagins gu=st.cumentation/s390/Debugging390.txt#L248" id="L241853nt indi18sing scheme is as follow18sin>185f="Documentation/s390/Debugging390.txt#L273" id="L271854nt indi18ine" name="L253"> 2531854="Documentation/s390/Debugging390.txt#L248" id="L241855nt indi18ine" name="L254"> 254185f="DoOth393c4mmon VM"device3relat0.tc4mmandncumentation/s390/Debugging390.txt#L248" id="L241856nt indi18         ***************18   >1856="Do---------------------------------------------cumentation/s390/Debugging390.txt#L248" id="L241857nt indi18         *              18   >1857="DoT asatcommandn ar="  st0.tinlynbecause ts3y"235"cumentation/s390/Debugging390.txt#L248" id="L241858nt indi18         *              18   >185f="Dob1en9o"Luse3to meni" claspasDs="L233may3b" o"Luse3tocumentation/s390/Debugging390.txt#L248" id="L241859nt indi18   *              *     18   >185f="Doylintoo.3Fio morr 34mplet0 infi9on eac1"ofn" 18c4mmandncumentation/s390/Debugging390.txt#L248" id="L24186ent indi18       *              * 18   >186 ="Douse3type HELP <c4mmand> fe" nCMS.cumentation/s390/Debugging390.txt#L248" id="L241861nt indi18       *    Kernel    * 18   >186f="Dodetacliatidevice=cumentation/s390/Debugging390.txt#L273" id="L271862nt indi18         *              18   >186f="DoDET <devnotrange>cumentation/s390/Debugging390.txt#L273" id="L271863nt indi18         *              18   >18 3="DoATT <devnotrange> <gu=st> cumentation/s390/Debugging390.txt#L273" id="L271864nt indi18         *              18   >18 4="Doattachia device3to gu=st"*tfornygursown gu=stcumentation/s390/Debugging390.txt#L141" id="L141865nt indi18         *              18   >1865="DoREADY <devno> cause VM"0/Dissue a faketinterrupD.cumentation/s390/Debugging390.txt#L248" id="L241866nt indi18         ***************18   >186f="Documentation/s390/Debugging390.txt#L226" id="L221867nt indi18ine" name="L266"> 2661867="DoT a VARY c4mmand i= niomellynonlynavailable go VM adminisDrators.cumentation/s390/Debugging390.txt#L248" id="L241868nt indi18the PSW problem state bi18the>18 f="DoVARY ON PATH <path> TO <devnotrange>cumentation/s390/Debugging390.txt#L273" id="L271869nt indi18whether we are looking a18whe>186f="DoVARY OFF PATH <PATH> FROM <devnotrange>cumentation/s390/Debugging390.txt#L273" id="L27187ent indi18user or kernel space18187 ="DoTli= isDused 0/Dsuitcl on ongo"f chantio paths .oidevice=.cumentation/s390/Debugging390.txt#L248" id="L241871nt indi18ine" name="L270"> 270187f="Documentation/s390/Debugging390.txt#L141" id="L141872nt indi18/390 & z/Architectur18/39>187f="DoQ CHPIDn<chantio pathsID>cumentation/s390/Debugging390.txt#L273" id="L271873nt indi18========================18===>18<3="DoTli= displayugstat" o"Ldevice= 39iati" is9chantio pathcumentation/s390/Debugging390.txt#L273" id="L271874nt indi18ine" name="L273"> 2731874="DoD SCHIBn<subchantio>cumentation/s390/Debugging390.txt#L273" id="L271875nt indi18390 is made up of 3 part18390>1875="DoTli= displayug" 1ssubchantio infiomebugg SCHIBnblock forncle device.cumentation/s390/Debugging390.txt#L273" id="L271876nt indi18D in linux terminology )18D i>1876="Do" is9I3believeibu also3onlynavailable go adminisDrators.cumentation/s390/Debugging390.txt#L248" id="L241877nt indi18> 276being bits 1-1118> 2>187f="DoDEFINE CTC <devno>cumentation/s390/Debugging390.txt#L248" id="L241878nt indi18e) in linux terminology 18e) >187f="Dodef 1ks3a girtual CTC chantio 0/Dchantio connecDxoncumentation/s390/Debugging390.txt#L248" id="L241879nt indi18278being bits 12-19.18278>18 28118 f="Do(3c4mmonly3used forncle CTC driver.).cumentation/s390/Debugging390.txt#L248" id="L241883nt indi18 an address from 4 parts18 an>188f="Documentation/s390/Debugging390.txt#L273" id="L271884nt indi18 currently use bits 22-318 cu>1884="DoBuil.iugta VM ramdisk ungingCMS0umentalbugg8cgncusecumentation/s390/Debugging390.txt#L273" id="L271885nt indi18dex (SX) being bits 33-418dex>1885="Dodef vfb-<blocksize> <subchantio> <numb39nblocks>cumentation/s390/Debugging390.txt#L248" id="L241886nt indi18ex (PX) being bits  44-518ex >188f="Doblocksize i= c4mmonly34096 fornlbugg.cumentation/s390/Debugging390.txt#L248" id="L241887nt indi18ex (BX) being bits  52-618ex >1887="DoFiomebtiatii"cumentation/s390/Debugging390.txt#L248" id="L241888nt indi18ine" name="L287"> 287188f="Dofiomeb <subchantio> <driver.lett39 e.g.9x> (blksize <blocksize>cumentation/s390/Debugging390.txt#L248" id="L241889nt indi18ame="L288"> 288Notes18ame>188f="Documentation/s390/Debugging390.txt#L139" id="L13189ent indi18D is really the PGD also18D i>189 ="DoShariugta3disktbetween multiple"gu=st=cumentation/s390/Debugging390.txt#L273" id="L271891nt indi18 is defined in pgtable.h18 is>1891="DoLINKtusaridndevno1ndevno2"modt pfinwordcumentation/s390/Debugging390.txt#L273" id="L271892nt indi18ine" name="L291"> 291189f="Documentation/s390/Debugging390.txt#L312" id="L311893nt indi18xes are only 1k  in size18xes>189f="Documentation/s390/Debugging390.txt#L273" id="L271894nt indi18te ) we use 1 ( page 4k 18te >1894="Documentation/s390/Debugging390.txt#L248" id="L241895nt indi18dating 4 segment indices18dat>189f="DoGDB9on S" icumentation/s390/Debugging390.txt#L248" id="L241896nt indi18 a PMD & use offsets18 a >189f="Do===========cumentation/s390/Debugging390.txt#L248" id="L241897nt indi18 for our segment indexes18 fo>189f="DoN.B..if 34mpiliatifiondext#L141 gdb"workstbettinguithout0optimisebugg cumentation/s390/Debugging390.txt#L248" id="L241898nt indi18ndexes are now 2k in siz18nde>189f="Do(tseeiC4mpiliatiprogramsifiondext#L141 )cumentation/s390/Debugging390.txt#L248" id="L241899nt indi18e ) we do a similar tric18e )>189f="Documentation/s390/Debugging390.txt#L139" id="L1319ment indi19mentwe do a similar tric19men>190 ="Doinvoca9xoncumentation/s390/Debugging390.txt#L139" id="L1319m1nt indi19mis defined in pgtable.h19mis>190f="Do----------cumentation/s390/Debugging390.txt#L248" id="L2419m2nt indi19mne" name="L291"> 291190f="Dogdb"<victimiprogram> <opDxo elscotatile>cumentation/s390/Debugging390.txt#L248" id="L2419m3nt indi19mes are only 1k  in size19mes>190f="Documentation/s390/Debugging390.txt#L273" id="L2719m4nt indi19me ) we use 1 ( page 4k 19me >1904="DoOn 1 ( helpcumentation/s390/Debugging390.txt#L273" id="L2719m5nt indi19mating 4 segment indices19mat>1905="Do-----------cumentation/s390/Debugging390.txt#L248" id="L2419m6nt indi19ma PMD & use offsets19ma >190f="Dohelp:3gi5"s help9on c4mmandncumentation/s390/Debugging390.txt#L248" id="L2419m7nt indi19mfor our segment indexes19mfo>19mf="Doe.g.cumentation/s390/Debugging390.txt#L248" id="L2419m8nt indi19mdexes are now 2k in siz19mde>190f="Dohelpcumentation/s390/Debugging390.txt#L273" id="L2719m9nt indi19m ) we do a similar tric19m )>1909="Dohelp9displaycumentation/s390/Debugging390.txt#L273" id="L27191ent indi19table designation type i19tab>1910="DoNote gdbing390.on 1 ( help i= g39y goodLuse3iD.cumentation/s390/Debugging390.txt#L248" id="L241911nt indi19 space control registers19 sp>191f="Documentation/s390/Debugging390.txt#L141" id="L141912nt indi19ne" name="L311"> 31119ne">191f="Documentation/s390/Debugging390.txt#L312" id="L311913nt indi19ine" name="L312"> 312191f="DoAssemblycumentation/s390/Debugging390.txt#L226" id="L221914nt indi19ure Kernel Task Structur19ure>1914="Do--------cumentation/s390/Debugging390.txt#L248" id="L241915nt indi19========================19===>1915="Doinfi9reg st0rs: displayugreg st0rs oth39nclan floatiatipoinD.cumentation/s390/Debugging390.txt#L248" id="L241916nt indi19ts own kernel task_struc19ts >1916="Doinfi9all-reg st0rs: displayugfloatiatipoinDs as3well.cumentation/s390/Debugging390.txt#L248" id="L241917nt indi19nux/include/linux/sched.19nux>191f="Dodisassemble: disassemblencumentation/s390/Debugging390.txt#L248" id="L241918nt indi19f a process on a cpu set19f a>1918="Doe.g.cumentation/s390/Debugging390.txt#L248" id="L241919nt indi19 prefix area for this cp19 pr>1919="Dodisassembleguithout0param1tersgwill disassemble clascurr0/D funcDxoncumentation/s390/Debugging390.txt#L248" id="L24192ent indi19r per-processor globals)19r p>1920="Dodisassemble $pc $pc+10 cumentation/s390/Debugging390.txt#L248" id="L241921nt indi19ine" name="L320"> 320192f="Documentation/s390/Debugging390.txt#L141" id="L141922nt indi19th the task structure fo19th >1922="DoViewiati="L233modifyiativariablencumentation/s390/Debugging390.txt#L248" id="L241923nt indi19ach processor as follows19ach>1923="Do-----------------------------cumentation/s390/Debugging390.txt#L248" id="L241924nt indi19ine" name="L323"> 3231924="Dopriut ongp: displayugvariable ongreg st0rcumentation/s390/Debugging390.txt#L248" id="L241925nt indi19                    s/3919   >1925="Doe.g.9p/x $spgwill displaysglasstackipoinD0rcumentation/s390/Debugging390.txt#L248" id="L241926nt indi19 ***********************19 **>192f="Documentation/s390/Debugging390.txt#L226" id="L221927nt indi19 *  1 page kernel stack 19 * >192f="Dodisplay: priutugvariable ongreg st0r eac1"cim.iprogramsstopncumentation/s390/Debugging390.txt#L248" id="L241928nt indi19          ( 4K3lA8" name19   >1928="Doe.g.cumentation/s390/Debugging390.txt#L248" id="L241929nt indi19tual addressing techniqu19tua>1929="Dodisplay/x $pc will displaysglasprogramscounD0rcumentation/s390/Debugging390.txt#L248" id="L24193ent indi19Address-User Space Himem19Add>1930="Dodisplay argccumentation/s390/Debugging390.txt#L248" id="L241931nt indi19an typically only addres19an >193f="Documentation/s390/Debugging390.txt#L141" id="L141932nt indi19ll the RAM these machine19ll >1932="Doundisplay : ungoing390.displaying390cumentation/s390/Debugging390.txt#L141" id="L141933nt indi19232can typically use19232>193f="Documentation/s390/Debugging390.txt#L273" id="L271934nt indi19GB or lower & thus b19GB >1934="Doinfi9breakpoinDs:nshgwu atxscurr0/D breakpoinDscumentation/s390/Debugging390.txt#L273" id="L271935nt indi19 shrinks the maximum siz19 sh>1935="Documentation/s390/Debugging390.txt#L248" id="L241936nt indi19o win limit of 4GB unles19o w>1936="Doinfi9stack:nshgwu stackibackigrace3(.if t i= does.txt#L13work"too3well, Itxt#Lllnshgw ylinclecumentation/s390/Debugging390.txt#L139" id="L131937nt indi19236they go to 64 Bit19236>1937="Dostackgrace3by"23nd3below.).cumentation/s390/Debugging390.txt#L248" id="L241938nt indi19ine" name="L237"> 237193f="Documentation/s390/Debugging390.txt#L248" id="L241939nt indi19ine" name="L238"> 238193f="Doinfi9locals: displayuglocalDvariablen.cumentation/s390/Debugging390.txt#L248" id="L24194ent indi19ke us slightly different19ke >194 ="Documentation/s390/Debugging390.txt#L248" id="L241941nt indi19allowed use 31 bits (2GB19all>1941="Doinfi9args: displayscurr0/D procldur="arg390/Dn.cumentation/s390/Debugging390.txt#L248" id="L241942nt indi19ntirely separate address19nti>194f="Documentation/s390/Debugging390.txt#L312" id="L311943nt indi19or the user & kernel19or >1943="DoseD"args: will seD"argc.="L233argv eac1"cim.iglasvictimiprogram i= invoked.cumentation/s390/Debugging390.txt#L248" id="L241944nt indi19ine" name="L243"> 2431944="Documentation/s390/Debugging390.txt#L248" id="L241945nt indi19 RAM on s/390, & mor19 RA>194f="Doseb <variable>=valuecumentation/s390/Debugging390.txt#L139" id="L131946nt indi19gement swap device &19gem>194f="DoseD"argc=100cumentation/s390/Debugging390.txt#L248" id="L241947nt indi19rently on z/Architecture19ren>1947="DoseD"$pc=0cumentation/s390/Debugging390.txt#L248" id="L241948nt indi19ine" name="L247"> 247194f="Documentation/s390/Debugging390.txt#L248" id="L241949nt indi19ine" name="L248"> 248194f="Documentation/s390/Debugging390.txt#L139" id="L13195ent indi19/390 & z/Architectur19/39>195 ="Documentation/s390/Debugging390.txt#L248" id="L241951nt indi19========================19===>1951="DoModifyiatiexecuDxoncumentation/s390/Debugging390.txt#L248" id="L241952nt indi19ine" name="L251"> 251195f="Do-------------------cumentation/s390/Debugging390.txt#L248" id="L241953nt indi19sing scheme is as follow19sin>195f="Dost0p: st0ps n l 1ks of sourcecodecumentation/s390/Debugging390.txt#L139" id="L131954nt indi19ine" name="L253"> 2531954="Dost0p st0ps 1 l 1k.cumentation/s390/Debugging390.txt#L248" id="L241955nt indi19ine" name="L254"> 254195f="Dost0p 100 st0ps 100 l 1ks of codt.cumentation/s390/Debugging390.txt#L248" id="L241956nt indi19         ***************19   >195f="Documentation/s390/Debugging390.txt#L226" id="L221957nt indi19         *              19   >1957="Donext:3lbke st0p except9t i= will not st0p into subrouDxnencumentation/s390/Debugging390.txt#L248" id="L241958nt indi19         *              19   >195f="Documentation/s390/Debugging390.txt#L248" id="L241959nt indi19   *              *     19   >195f="Dost0pi: st0ps a single mac1 1k"codt instrucDxon.cumentation/s390/Debugging390.txt#L248" id="L24196ent indi19       *              * 19   >196 ="Doe.g.9st0pi 100cumentation/s390/Debugging390.txt#L248" id="L241961nt indi19       *    Kernel    * 19   >196f="Documentation/s390/Debugging390.txt#L141" id="L141962nt indi19         *              19   >196f="Donexti: st0ps a single mac1 1k"codt instrucDxongbut9will not st0p into subrouDxnen.cumentation/s390/Debugging390.txt#L248" id="L241963nt indi19         *              19   >196f="Documentation/s390/Debugging390.txt#L273" id="L271964nt indi19         *              19   >19 4="Dofinish: will run untio exi" o"Lclascurr0/D rouDxnecumentation/s390/Debugging390.txt#L273" id="L271965nt indi19         *              19   >1965="Documentation/s390/Debugging390.txt#L248" id="L241966nt indi19         ***************19   >196f="Dorun: (re)starts atprogramcumentation/s390/Debugging390.txt#L248" id="L241967nt indi19ine" name="L266"> 266196f="Documentation/s390/Debugging390.txt#L237" id="L231968nt indi19the PSW problem state bi19the>19 f="Docont:gcontinues atprogramcumentation/s390/Debugging390.txt#L248" id="L241969nt indi19whether we are looking a19whe>196f="Documentation/s390/Debugging390.txt#L139" id="L13197ent indi19user or kernel space19197 ="Doquit:gexi"s gdb.cumentation/s390/Debugging390.txt#L248" id="L241971nt indi19ine" name="L270"> 270197f="Documentation/s390/Debugging390.txt#L141" id="L141972nt indi19/390 & z/Architectur19/39>197f="Documentation/s390/Debugging390.txt#L312" id="L311973nt indi19========================19===>19<3="DobreakpoinDscumentation/s390/Debugging390.txt#L273" id="L271974nt indi19ine" name="L273"> 2731974="Do------------cumentation/s390/Debugging390.txt#L273" id="L271975nt indi19390 is made up of 3 part19390>1975="Documentation/s390/Debugging390.txt#L248" id="L241976nt indi19D in linux terminology )19D i>1976="Dobreakcumentation/s390/Debugging390.txt#L248" id="L241977nt indi19> 276being bits 1-1119> 2>1977="DoseDs atbreakpoinDcumentation/s390/Debugging390.txt#L248" id="L241978nt indi19e) in linux terminology 19e) >1978="Doe.g.cumentation/s390/Debugging390.txt#L248" id="L241979nt indi19278being bits 12-19.19278>197f="Documentation/s390/Debugging390.txt#L139" id="L13198ent indi19 the offset in the page 19 th>198 ="Dobreak maincumentation/s390/Debugging390.txt#L248" id="L241981nt indi1980i.e. bits 20 to 311980<>198f="Documentation/s390/Debugging390.txt#L141" id="L141982nt indi19ine" name="L281"> 28119 f="Dobreak *$pccumentation/s390/Debugging390.txt#L141" id="L141983nt indi19 an address from 4 parts19 an>198f="Documentation/s390/Debugging390.txt#L273" id="L271984nt indi19 currently use bits 22-319 cu>1984="Dobreak *0x400618cumentation/s390/Debugging390.txt#L139" id="L131985nt indi19dex (SX) being bits 33-419dex>1985="Documentation/s390/Debugging390.txt#L248" id="L241986nt indi19ex (PX) being bits  44-519ex >198f="DoHereing390.a"relaly useful onenfornlargasprogramscumentation/s390/Debugging390.txt#L273" id="L271987nt indi19ex (BX) being bits  52-619ex >1987="Dorbrcumentation/s390/Debugging390.txt#L248" id="L241988nt indi19ine" name="L287"> 287198f="DoSeD"atbreakpoinD8fornall funcDxons matcliatiREGEXPcumentation/s390/Debugging390.txt#L248" id="L241989nt indi19ame="L288"> 288Notes19ame>198f="Doe.g.cumentation/s390/Debugging390.txt#L248" id="L24199ent indi19D is really the PGD also19D i>199 ="Dorbr 3 icumentation/s390/Debugging390.txt#L248" id="L241991nt indi19 is defined in pgtable.h19 is>1991="Dowill seD"atbreakpoinD8uith all funcDxons uith " ini" clairgtabl.cumentation/s390/Debugging390.txt#L248" id="L241992nt indi19ine" name="L291"> 291199f="Documentation/s390/Debugging390.txt#L312" id="L311993nt indi19xes are only 1k  in size19xes>199f="Doinfi9breakpoinDscumentation/s390/Debugging390.txt#L312" id="L311994nt indi19te ) we use 1 ( page 4k 19te >1994="Do  stu atxsbreakpoinDscumentation/s390/Debugging390.txt#L312" id="L311995nt indi19dating 4 segment indices19dat>1995="Documentation/s390/Debugging390.txt#L248" id="L241996nt indi19 a PMD & use offsets19 a >199f="Dodelete: deletetbreakpoinD8by3numb39 iondeletet" 1mtallcumentation/s390/Debugging390.txt#L139" id="L131997nt indi19 for our segment indexes19 fo>199f="Doe.g.cumentation/s390/Debugging390.txt#L248" id="L241998nt indi19ndexes are now 2k in siz19nde>1998="Dodelete 1 will deletet" 1sfirst"breakpoinDcumentation/s390/Debugging390.txt#L248" id="L241999nt indi19e ) we do a similar tric19e )>199f="Dodeletetwill deletet" 1mtallcumentation/s390/Debugging390.txt#L139" id="L1320ment indi20mentwe do a similar tric20men>20me="Docu/pre>umentation/s390/Debugging390.txt#L139" id="L1320m1nt indi20mis defined in pgtable.h20mis>20m1="Dowatcl: Tli= will seD"atwatclpoinD8( usulaly h3rdwar="ass st0.t),cumentation/s390/Debugging390.txt#L139" id="L1320m2nt indi20mne" name="L291"> 29120m2="DoTli= will watcl3a gariable till itDchangencumentation/s390/Debugging390.txt#L248" id="L2420m3nt indi20mes are only 1k  in size20mes>20m3="Doe.g.cumentation/s390/Debugging390.txt#L248" id="L2420m4nt indi20me ) we use 1 ( page 4k 20me >20m4="Dowatcl cnt, will watcl3glasvariable cnt till itDchangen.cumentation/s390/Debugging390.txt#L248" id="L2420m5nt indi20mating 4 segment indices20mat>20m5="DoAs gncasidasunfortunat"ly3gdbing390,iarchitecturasindepen.0nD8uatclpoinD8codecumentation/s390/Debugging390.txt#L139" id="L1320m6nt indi20ma PMD & use offsets20ma >20m6="Dois incons st0nDs="L233not g39y good,8uatclpoinDs usulaly work"but9not alwayn.cumentation/s390/Debugging390.txt#L248" id="L2420m7nt indi20mfor our segment indexes20mfo>20mf="Documentation/s390/Debugging390.txt#L237" id="L2320m8nt indi20mdexes are now 2k in siz20mde>20m8="Doinfi9uatclpoinDs: Displayscurr0/Dlynacid5"9uatclpoinDscumentation/s390/Debugging390.txt#L237" id="L2320m9nt indi20m ) we do a similar tric20m )>20mf="Documentation/s390/Debugging390.txt#L139" id="L13201ent indi20table designation type i20tab>20ta="Docondibugg: ( anoth393useful onen)cumentation/s390/Debugging390.txt#L248" id="L2420t1nt indi20 space control registers20 sp>20t1="DoSpecifytbreakpoinD8numb39 Nt0/Dbreak only3if COND is crul.cumentation/s390/Debugging390.txt#L248" id="L2420t2nt indi20ne" name="L311"> 31120ne">20t2="DoUsagetis `condibugg NtCONDing39,8uh39e Nibu antinteg39 3nd3COND is ancumentation/s390/Debugging390.txt#L248" id="L2420t3nt indi20ine" name="L312"> 31220t3="Doexprlssugg 0/Dbe3evaluat0.tuh3nng39ibreakpoinD8Nibu reache..cumentation/s390/Debugging390.txt#L248" id="L2420t4nt indi20ure Kernel Task Structur20ure>20t4="Documentation/s390/Debugging390.txt#L248" id="L2420t5nt indi20========================20===>20t5="Documentation/s390/Debugging390.txt#L248" id="L2420t6nt indi20ts own kernel task_struc20ts >20tf="Documentation/s390/Debugging390.txt#L226" id="L2220t7nt indi20nux/include/linux/sched.20nux>20t7="DoUser3def 1kd9funcDxons/macroscumentation/s390/Debugging390.txt#L237" id="L232018nt indi20f a process on a cpu set20f a>20t8="Do-----------------------------cumentation/s390/Debugging390.txt#L248" id="L2420t9nt indi20 prefix area for this cp20 pr>20tf="Dodef 1k: ( Note tli= isDg39y g39y useful,simpl= ="L233powerful )cumentation/s390/Debugging390.txt#L248" id="L24202ent indi20r per-processor globals)20r p>20r ="Dousagetdef 1k <noba> <90sDsof commandn> en.cumentation/s390/Debugging390.txt#L248" id="L242021nt indi20ine" name="L320"> 32020rf="Documentation/s390/Debugging390.txt#L141" id="L1420r2nt indi20th the task structure fo20th >20r2="Doexampl=s0umentaylinshgmentcons gingpubtiatiinto .gdbini"ninnygurshome.direcDorycumentation/s390/Debugging390.txt#L226" id="L2220r3nt indi20ach processor as follows20ach>20r3="Dodef 1k .cumentation/s390/Debugging390.txt#L248" id="L242024nt indi20ine" name="L323"> 32320r4="Dost0picumentation/s390/Debugging390.txt#L248" id="L242025nt indi20                    s/3920   >20r5="Dodisassemble $pc $pc+10cumentation/s390/Debugging390.txt#L248" id="L242026nt indi20 ***********************20 **>20rf="Doen.cumentation/s390/Debugging390.txt#L248" id="L242027nt indi20 *  1 page kernel stack 20 * >20rf="Documentation/s390/Debugging390.txt#L237" id="L232028nt indi20          ( 4K3lA8" name20   >20rf="Dodef 1k ecumentation/s390/Debugging390.txt#L139" id="L132029nt indi20tual addressing techniqu20tua>20r9="Donexticumentation/s390/Debugging390.txt#L139" id="L13203ent indi20Address-User Space Himem20Add>20Ad="Dodisassemble $pc $pc+10cumentation/s390/Debugging390.txt#L248" id="L242031nt indi20an typically only addres20an >20A1="Doen.cumentation/s390/Debugging390.txt#L248" id="L242032nt indi20ll the RAM these machine20ll >20Af="Documentation/s390/Debugging390.txt#L312" id="L3120A3nt indi20232can typically use20232>20Af="Documentation/s390/Debugging390.txt#L273" id="L2720A4nt indi20GB or lower & thus b20GB >20A4="DoOth393h3rd 0/Dc lowifytstuffcumentation/s390/Debugging390.txt#L273" id="L2720A5nt indi20 shrinks the maximum siz20 sh>20A5="Do----------------------------cumentation/s390/Debugging390.txt#L248" id="L242036nt indi20o win limit of 4GB unles20o w>20Af="Dosig elsn: class="line" name="L305"> 305this allows u20A7nt indi20236they go to 64 Bit20236>20A7="Dosendn glasvictimiprogram a sig el.cumentation/s390/Debugging390.txt#L248" id="L242038nt indi20ine" name="L237"> 23720A8="Doe.g. sig el 3 will send3a SIGQUIT.cumentation/s390/Debugging390.txt#L248" id="L242039nt indi20ine" name="L238"> 23820Af="Documentation/s390/Debugging390.txt#L139" id="L13204ent indi20ke us slightly different20ke >20ke="Doinfi9sig els: class="line" name="L305"> 305this allows u20k1nt indi20allowed use 31 bits (2GB20all>20k1="Dowhat gdb"doestuh3n glasvictimirecei5"s certaingsig els.cumentation/s390/Debugging390.txt#L248" id="L242042nt indi20ntirely separate address20nti>20kf="Documentation/s390/Debugging390.txt#L312" id="L312043nt indi20or the user & kernel20or >20k3="Do  st: class="line" name="L305"> 305this allows u20k4nt indi20ine" name="L243"> 24320k4="Doe.g.cumentation/s390/Debugging390.txt#L248" id="L242045nt indi20 RAM on s/390, & mor20 RA>20k5="Do  st   stu curr0/D funcDxon sourcecumentation/s390/Debugging390.txt#L248" id="L242046nt indi20gement swap device &20gem>20k6="Do  st 1,10 90sDsfirst"10 l 1ks of curr0/D fill.cumentation/s390/Debugging390.txt#L248" id="L242047nt indi20rently on z/Architecture20ren>20k7="Do  st t=st.c:1,10cumentation/s390/Debugging390.txt#L248" id="L242048nt indi20ine" name="L247"> 24720kf="Documentation/s390/Debugging390.txt#L248" id="L2420k9nt indi20ine" name="L248"> 24820kf="Documentation/s390/Debugging390.txt#L139" id="L13205ent indi20/390 & z/Architectur20/39>20/3="DodirecDory: class="line" name="L305"> 305this allows u2051nt indi20========================20===>20/1="DoAdds.direcDories 0/Dbe3searched fornsource3if gdb"cannot f 1d"classource.cumentation/s390/Debugging390.txt#L248" id="L242052nt indi20ine" name="L251"> 25120/f="Do(note i"nis atbi"nsensiid5"9about0snamhes)cumentation/s390/Debugging390.txt#L248" id="L242053nt indi20sing scheme is as follow20sin>20/3="Doe.g. Toiadd"clasroo" o"Lclasfillsyst0m to " 18searchpathsdocumentation/s390/Debugging390.txt#L248" id="L2420/4nt indi20ine" name="L253"> 25320/4="DodirecDory //cumentation/s390/Debugging390.txt#L248" id="L2420/5nt indi20ine" name="L254"> 25420/5="Documentation/s390/Debugging390.txt#L248" id="L242056nt indi20         ***************20   >20/f="Documentation/s390/Debugging390.txt#L226" id="L222057nt indi20         *              20   >20/7="Docatxs<funcDxon>cumentation/s390/Debugging390.txt#L248" id="L2420/8nt indi20         *              20   >20/8="DoTli= catxs atfuncDxon in glasvictimiprogram, tli= isDpretty3powerfulcumentation/s390/Debugging390.txt#L248" id="L2420/9nt indi20   *              *     20   >20/f="Doe.g.cumentation/s390/Debugging390.txt#L248" id="L24206ent indi20       *              * 20   >20  ="Do(gdb) catx priutf("hello world")cumentation/s390/Debugging390.txt#L248" id="L242061nt indi20       *    Kernel    * 20   >20 1="DooutpuDs: class="line" name="L305"> 305this allows u2062nt indi20         *              20   >20 f="Do$1 = 11 cumentation/s390/Debugging390.txt#L248" id="L2420 3nt indi20         *              20   >20 f="Documentation/s390/Debugging390.txt#L273" id="L272064nt indi20         *              20   >20 4="DoYlinmight9nowDbe3cliakiati" at9clas    9above.did.txt#L13work,isomecliatiextrmena.t0/Dbe3do1k.cumentation/s390/Debugging390.txt#L248" id="L2420 5nt indi20         *              20   >20 5="Do(gdb) catx fflush(stdout)cumentation/s390/Debugging390.txt#L248" id="L242066nt indi20         ***************20   >20 f="Dohello world$2 = 0cumentation/s390/Debugging390.txt#L248" id="L242067nt indi20ine" name="L266"> 26620 7="DoAs gncasidascle dext#L39 3lso3catxs melloc.="L233free ungingcle hoodLcumentation/s390/Debugging390.txt#L248" id="L242068nt indi20the PSW problem state bi20the>20 8="Doto maketspace3forncle "hello world" striug.cumentation/s390/Debugging390.txt#L248" id="L2420 9nt indi20whether we are looking a20whe>20 f="Documentation/s390/Debugging390.txt#L139" id="L13207ent indi20user or kernel space2020 27020 27320<4="Do1) c4mmand 34mpletxon workstjus13lbke bamhLcumentation/s390/Debugging390.txt#L248" id="L242075nt indi20390 is made up of 3 part20390>20<5="Do(3if ylinar="a bad3typis13lbke ml tli= relaly helps )cumentation/s390/Debugging390.txt#L248" id="L242076nt indi20D in linux terminology )20D i>20<6="Doe.g. hit"brs<TAB> &"L233cursornup &"L233down :-).cumentation/s390/Debugging390.txt#L248" id="L2420<7nt indi20> 276being bits 1-1120> 2>20 28120 f="Documentation/s390/Debugging390.txt#L312" id="L312083nt indi20 an address from 4 parts20 an>20 f="DoA3typicalD.gdbini"nfill3might9bk.cumentation/s390/Debugging390.txt#L248" id="L242084nt indi20 currently use bits 22-320 cu>20 4="Dobreak maincumentation/s390/Debugging390.txt#L248" id="L2420 5nt indi20dex (SX) being bits 33-420dex>20 5="Doruncumentation/s390/Debugging390.txt#L248" id="L2420 6nt indi20ex (PX) being bits  44-520ex >20 6="Dobreak runcim._exceptioncumentation/s390/Debugging390.txt#L248" id="L2420 7nt indi20ex (BX) being bits  52-620ex >20 7="Docont cumentation/s390/Debugging390.txt#L226" id="L222088nt indi20ine" name="L287"> 28720 f="Documentation/s390/Debugging390.txt#L248" id="L242089nt indi20ame="L288"> 288Notes20ame>20 f="Documentation/s390/Debugging390.txt#L139" id="L13209ent indi20D is really the PGD also20D i>20D ="Dostackichainiatiinigdb"by"23ndcumentation/s390/Debugging390.txt#L139" id="L132091nt indi20 is defined in pgtable.h20 is>20Df="Do-----------------------------cumentation/s390/Debugging390.txt#L248" id="L242092nt indi20ine" name="L291"> 29120D2="DoTli= i= do  939iatiasglassaml trickidescribed fornVM cumentation/s390/Debugging390.txt#L226" id="L222093nt indi20xes are only 1k  in size20xes>20Df="Dop/x (*($sp+56))&"L230x7fffffff gett" 1sfirst"backchain.cumentation/s390/Debugging390.txt#L248" id="L242094nt indi20te ) we use 1 ( page 4k 20te >20D4="Documentation/s390/Debugging390.txt#L248" id="L242095nt indi20dating 4 segment indices20dat>20D5="DoFio z/Architecturacumentation/s390/Debugging390.txt#L248" id="L242096nt indi20 a PMD & use offsets20 a >20D6="DoReplace356 uith 112 &"L233ignorr cle &"L230x7fffffffcumentation/s390/Debugging390.txt#L248" id="L242097nt indi20 for our segment indexes20 fo>20D7="Doin cle macros3below.&"L233do insty3castu ti9longs3lbke " 1sfollow248cumentation/s390/Debugging390.txt#L248" id="L242098nt indi20ndexes are now 2k in siz20nde>20Df="Doas gdbsunfortunat"ly3delas uith priutkd9arg390/Dn as3inDs umentcumentation/s390/Debugging390.txt#L248" id="L242099nt indi20e ) we do a similar tric20e )>20Df="Domlsse= 3p ng39ycliat.cumentation/s390/Debugging390.txt#L248" id="L2421ment indi21mentwe do a similar tric21men>210 ="Doi.e. h39e is at3rd"backchain3detatetancecumentation/s390/Debugging390.txt#L248" id="L2421m1nt indi21mis defined in pgtable.h21mis>21m1="Dop/x *(long *)(***(long ***)$sp+112)cumentation/s390/Debugging390.txt#L248" id="L2421m2nt indi21mne" name="L291"> 291210f="Documentation/s390/Debugging390.txt#L312" id="L3121m3nt indi21mes are only 1k  in size21mes>210f="Documentation/s390/Debugging390.txt#L273" id="L272104nt indi21me ) we use 1 ( page 4k 21me >21m4="Dotli= outpuDs cumentation/s390/Debugging390.txt#L226" id="L2221m5nt indi21mating 4 segment indices21mat>21m5="Do$5 = 0x528f18 cumentation/s390/Debugging390.txt#L226" id="L2221m6nt indi21ma PMD & use offsets21ma >21m6="Doon my mac1 1k.cumentation/s390/Debugging390.txt#L248" id="L2421m7nt indi21mfor our segment indexes21mfo>21mf="DoNgw ylincgncuse cumentation/s390/Debugging390.txt#L226" id="L2221m8nt indi21mdexes are now 2k in siz21mde>21m8="Doinfi9symbol (*($sp+56))&"L230x7fffffff cumentation/s390/Debugging390.txt#L226" id="L2221m9nt indi21m ) we do a similar tric21m )>210f="Doylinmight9seeisomecliatilbke.cumentation/s390/Debugging390.txt#L248" id="L24211ent indi21table designation type i21tab>21ta="Dorl_getc + 36iinisecDxon .text  t"lliatiylinwhat iuglocatkd9atiaddrlss 0x528f18cumentation/s390/Debugging390.txt#L248" id="L242111nt indi21 space control registers21 sp>21t1="DoNgw do.cumentation/s390/Debugging390.txt#L248" id="L242112nt indi21ne" name="L311"> 31121ne">21t2="Dop/x (*(*$sp+56))&"L230x7fffffff cumentation/s390/Debugging390.txt#L226" id="L2221t3nt indi21ine" name="L312"> 3122113="DoTli= outpuDscumentation/s390/Debugging390.txt#L226" id="L2221t4nt indi21ure Kernel Task Structur21ure>21t4="Do$6 = 0x528ed0cumentation/s390/Debugging390.txt#L248" id="L2421t5nt indi21========================21===>21t5="DoNgw do.cumentation/s390/Debugging390.txt#L248" id="L242116nt indi21ts own kernel task_struc21ts >2116="Doinfi9symbol (*(*$sp+56))&"L230x7fffffffcumentation/s390/Debugging390.txt#L248" id="L242117nt indi21nux/include/linux/sched.21nux>21t7="Dorl_reag_key + 180iinisecDxon .textcumentation/s390/Debugging390.txt#L248" id="L242118nt indi21f a process on a cpu set21f a>21t8="Dongw documentation/s390/Debugging390.txt#L248" id="L242119nt indi21 prefix area for this cp21 pr>21tf="Dop/x (*(**$sp+56))&"L230x7fffffffcumentation/s390/Debugging390.txt#L248" id="L24212ent indi21r per-processor globals)21r p>21r ="Do&"L233so3on.cumentation/s390/Debugging390.txt#L248" id="L242121nt indi21ine" name="L320"> 32021rf="Documentation/s390/Debugging390.txt#L141" id="L1421r2nt indi21th the task structure fo21th >21r2="DoDisassembliatiinstrucDxonsguithout0dext# inficumentation/s390/Debugging390.txt#L141" id="L1421r3nt indi21ach processor as follows21ach>2123="Do---------------------------------------------cumentation/s390/Debugging390.txt#L248" id="L242124nt indi21ine" name="L323"> 32321r4="Dogdbstypically334mplains if t 39e is atlackio"Ldext#L248cumentation/s390/Debugging390.txt#L248" id="L242125nt indi21                    s/3921   >21r5="Dosymbols in glasdisassemble c4mmand uith cumentation/s390/Debugging390.txt#L248" id="L242126nt indi21 ***********************21 **>21rf="Do"NotfuncDxon contains specifikd9addrlss." To gettaroundcumentation/s390/Debugging390.txt#L139" id="L132127nt indi21 *  1 page kernel stack 21 * >21rf="Dot i= do cumentation/s390/Debugging390.txt#L248" id="L242128nt indi21          ( 4K3lA8" name21   >21rf="Dox/<numb39nl 1ks .oidisassemble>xis<addrlss>cumentation/s390/Debugging390.txt#L248" id="L242129nt indi21tual addressing techniqu21tua>212f="Doe.g.cumentation/s390/Debugging390.txt#L248" id="L24213ent indi21Address-User Space Himem21Add>21Ad="Dox/20xis0x400730cumentation/s390/Debugging390.txt#L248" id="L242131nt indi21an typically only addres21an >213f="Documentation/s390/Debugging390.txt#L141" id="L142132nt indi21ll the RAM these machine21ll >21Af="Documentation/s390/Debugging390.txt#L312" id="L3121A3nt indi21232can typically use21232>21Af="Documentation/s390/Debugging390.txt#L273" id="L2721A4nt indi21GB or lower & thus b21GB >21A4="DoNote: Rememb39ngdbshas  i=Dory jus13lbke bamhLylindo.txt#L13ne0.t0/Dretypenclecumentation/s390/Debugging390.txt#L139" id="L1321A5nt indi21 shrinks the maximum siz21 sh>21A5="Dowholas    9jus13use glasup &"L233down arrows.cumentation/s390/Debugging390.txt#L248" id="L242136nt indi21o win limit of 4GB unles21o w>213f="Documentation/s390/Debugging390.txt#L226" id="L2221A7nt indi21236they go to 64 Bit21236>213f="Documentation/s390/Debugging390.txt#L237" id="L232138nt indi21ine" name="L237"> 237213f="Documentation/s390/Debugging390.txt#L248" id="L242139nt indi21ine" name="L238"> 23821Af="DoFio morasinficumentation/s390/Debugging390.txt#L141" id="L14214ent indi21ke us slightly different21ke >21ke="Do-------------cumentation/s390/Debugging390.txt#L248" id="L2421k1nt indi21allowed use 31 bits (2GB21all>21k1="DoFromnygurslbuggbox do cumentation/s390/Debugging390.txt#L248" id="L242142nt indi21ntirely separate address21nti>21kf="Domanngdbsio infi9gdb.cumentation/s390/Debugging390.txt#L248" id="L2421k3nt indi21or the user & kernel21or >214f="Documentation/s390/Debugging390.txt#L273" id="L2721k4nt indi21ine" name="L243"> 24321k4="Docota dumpncumentation/s390/Debugging390.txt#L248" id="L2421k5nt indi21 RAM on s/390, & mor21 RA>2145="Do----------cumentation/s390/Debugging390.txt#L248" id="L2421k6nt indi21gement swap device &21gem>21k6="DoWhat a cota dump ?,cumentation/s390/Debugging390.txt#L139" id="L132147nt indi21rently on z/Architecture21ren>21k7="DoA cota dump is atfill3generatkd9bysglaskernel3(.if ellow0.t)0umentacontains clasreg st0rs,cumentation/s390/Debugging390.txt#L139" id="L132148nt indi21ine" name="L247"> 24721kf="Do="L233allnacid5"9pagks of glasprogramsumentahas cramhe..cumentation/s390/Debugging390.txt#L248" id="L2421k9nt indi21ine" name="L248"> 24821kf="DoFromnt i= fill3gdbswill ellow ylinci9look at9clasreg st0rs &"L233stackigrace3="L233memory of glacumentation/s390/Debugging390.txt#L248" id="L24215ent indi21/390 & z/Architectur21/39>21/3="Doprogram as if it9jus13cramhe.9on ygurssyst0m, i"nis usulaly catxed cota &"L233crelted in glacumentation/s390/Debugging390.txt#L248" id="L242151nt indi21========================21===>21/1="Docurr0/D work237idirecDory.cumentation/s390/Debugging390.txt#L248" id="L242152nt indi21ine" name="L251"> 2512152="DoTli= i= g39y useful in glat a cus1om39ncgncmail a cota dump to astechnicalDsupport0depart90/Dcumentation/s390/Debugging390.txt#L248" id="L242153nt indi21sing scheme is as follow21sin>21/3="Do&"L233ts3stechnicalDsupport0depart90/DncgncreconstrucDnwhat happene..cumentation/s390/Debugging390.txt#L248" id="L2421/4nt indi21ine" name="L253"> 25321/4="DoProvided3ts3y"235"iant i0/DicalDcopy of glisDprogramsuith dext#L237isymbols 34mpiled in &"L23cumentation/s390/Debugging390.txt#L248" id="L2421/5nt indi21ine" name="L254"> 25421/5="Doclassource bame of glisDbuild is available.cumentation/s390/Debugging390.txt#L248" id="L2421/6nt indi21         ***************21   >21/f="DoInnshgrt0i"nis fao morasuseful clan somecliatilbke a cramh9logscould ng39ihopenco9bk.cumentation/s390/Debugging390.txt#L248" id="L242157nt indi21         *              21   >215f="Documentation/s390/Debugging390.txt#L237" id="L2321/8nt indi21         *              21   >21/8="DoIn glaory allnthat iugmis9iati0/Drestart a cota dumped program i= askernel3patcl3umentcumentation/s390/Debugging390.txt#L248" id="L2421/9nt indi21   *              *     21   >21/f="Dowill do " 1sfollow248.cumentation/s390/Debugging390.txt#L248" id="L24216ent indi21       *              * 21   >21  ="Do1) Make a newskernel3task strucDuracumentation/s390/Debugging390.txt#L248" id="L242161nt indi21       *    Kernel    * 21   >21 1="Do2) Reload allntha dumped pagks backiinto glaskerneling390.memory managk90/DnstrucDuras.cumentation/s390/Debugging390.txt#L248" id="L242162nt indi21         *              21   >21 f="Do3) Do9clasrequired clockifixupncumentation/s390/Debugging390.txt#L248" id="L2421 3nt indi21         *              21   >21 f="Do4) Gettatx fillss="L233network"connecDxonsgforncle proclss backiinto ant i0/DicalDstate3(.relaly difficult.).cumentation/s390/Debugging390.txt#L248" id="L2421 4nt indi21         *              21   >21 4="Do5) Atfew morasdifficult.cliats I"235".txt#L13thought9of.cumentation/s390/Debugging390.txt#L248" id="L2421 5nt indi21         *              21   >2165="Documentation/s390/Debugging390.txt#L248" id="L242166nt indi21         ***************21   >216f="Documentation/s390/Debugging390.txt#L226" id="L222167nt indi21ine" name="L266"> 266216f="Documentation/s390/Debugging390.txt#L237" id="L232168nt indi21the PSW problem state bi21the>21 8="DoWhy"235"iI nng39iseen onen?.cumentation/s390/Debugging390.txt#L248" id="L2421 9nt indi21whether we are looking a21whe>21 f="DoProbably9bkcause ylin235".txt#L13used"clasc4mmand cumentation/s390/Debugging390.txt#L248" id="L24217ent indi21user or kernel space2121 27021 2732174="Documentation/s390/Debugging390.txt#L248" id="L242175nt indi21390 is made up of 3 part21390>21<5="DoAssample c4ta dumpcumentation/s390/Debugging390.txt#L248" id="L242176nt indi21D in linux terminology )21D i>21<6="DoTo3crelte glisDItxt#Lm goiati0/Ddocumentation/s390/Debugging390.txt#L248" id="L2421<7nt indi21> 276being bits 1-1121> 2>21 28121 f="Dokill -SIGSEGVs<gdbing390 pid>cumentation/s390/Debugging390.txt#L248" id="L242183nt indi21 an address from 4 parts21 an>21 f="Doornalternaid5"ly use killall -SIGSEGVsgdb"if ylin235"iglaskillall c4mmand.cumentation/s390/Debugging390.txt#L248" id="L242184nt indi21 currently use bits 22-321 cu>2184="DoNgw look at9clasc4ta dump.cumentation/s390/Debugging390.txt#L248" id="L242185nt indi21dex (SX) being bits 33-421dex>21 5="Do./gdb"coracumentation/s390/Debugging390.txt#L248" id="L2421 6nt indi21ex (PX) being bits  44-521ex >21 6="DoDisplayug" 1sfollow248cumentation/s390/Debugging390.txt#L248" id="L2421 7nt indi21ex (BX) being bits  52-621ex >21 7="DoGNUsgdb"4.18cumentation/s390/Debugging390.txt#L248" id="L242188nt indi21ine" name="L287"> 28721 f="DoCopyright91998 Free Softwar="Foundebugg, Inc.cumentation/s390/Debugging390.txt#L248" id="L242189nt indi21ame="L288"> 288Notes21ame>21 f="DoGDBnis freeisoftwar=,"cog39kd9bysglasGNUsGeneral Public Licens=,"and ylinar=cumentation/s390/Debugging390.txt#L248" id="L24219ent indi21D is really the PGD also21D i>21D ="Dowelcome.0/Dchange0i"nand/iondistributasc4piks of i"nungingcertaingcondibuggs.cumentation/s390/Debugging390.txt#L248" id="L242191nt indi21 is defined in pgtable.h21 is>21Df="DoTypen"shgw copy248" to see9clasc4ndibuggs.cumentation/s390/Debugging390.txt#L248" id="L242192nt indi21ine" name="L291"> 29121D2="DoTl39e is absolut"ly3ni9uarrantygfornGDB.  Typen"shgw uarranty" fiondetails.cumentation/s390/Debugging390.txt#L248" id="L242193nt indi21xes are only 1k  in size21xes>2193="DoTli= GDBnwas c4nfigu9kd9as "s" i-ibm-lbugg"...cumentation/s390/Debugging390.txt#L248" id="L242194nt indi21te ) we use 1 ( page 4k 21te >21D4="DoC4ta was generatkd9bys`./gdbing39.cumentation/s390/Debugging390.txt#L248" id="L242195nt indi21dating 4 segment indices21dat>21D5="DoProgram terminat0.tuith sig el 11, Seg90/Debugg fault.cumentation/s390/Debugging390.txt#L248" id="L242196nt indi21 a PMD & use offsets21 a >21D6="DoRead237isymbols fromn/usr/lib/libncurses.so.4...do1k.cumentation/s390/Debugging390.txt#L248" id="L242197nt indi21 for our segment indexes21 fo>21D7="DoRead237isymbols fromn/lib/libm.so.6...do1k.cumentation/s390/Debugging390.txt#L248" id="L242198nt indi21ndexes are now 2k in siz21nde>21Df="DoRead237isymbols fromn/lib/libc.so.6...do1k.cumentation/s390/Debugging390.txt#L248" id="L242199nt indi21e ) we do a similar tric21e )>21Df="DoRead237isymbols fromn/lib/ld-lbugg.so.2...do1k.cumentation/s390/Debugging390.txt#L248" id="L2422ment indi22mentwe do a similar tric22men>220 ="Do#0 s0x40126d1a in reag () fromn/lib/libc.so.6cumentation/s390/Debugging390.txt#L248" id="L2422m1nt indi22mis defined in pgtable.h22mis>22m1="DoSebtiatiup9clasenviron90/Dnfiondext#L237igdb.cumentation/s390/Debugging390.txt#L248" id="L2422m2nt indi22mne" name="L291"> 291220f="DoBreakpoinD81 at90x4dc6f8: fill3utils.c,s    9471.cumentation/s390/Debugging390.txt#L248" id="L2422m3nt indi22mes are only 1k  in size22mes>220f="DoBreakpoinD82 at90x4d87a4: fill3top.c,s    92609.cumentation/s390/Debugging390.txt#L248" id="L2422m4nt indi22me ) we use 1 ( page 4k 22me >22m4="Do(top-gdb) infi9stackcumentation/s390/Debugging390.txt#L248" id="L2422m5nt indi22mating 4 segment indices22mat>22m5="Do#0 s0x40126d1a in reag () fromn/lib/libc.so.6cumentation/s390/Debugging390.txt#L248" id="L2422m6nt indi22ma PMD & use offsets22ma >22m6="Do#1  0x528f26iinirl_getc (stream=0x7ffffde8) at9input.c:402cumentation/s390/Debugging390.txt#L248" id="L2422m7nt indi22mfor our segment indexes22mfo>22mf="Do#2  0x528ed0iinirl_reag_key () at9input.c:381cumentation/s390/Debugging390.txt#L248" id="L2422m8nt indi22mdexes are now 2k in siz22mde>22m8="Do#3  0x5167e6 in reagnow _iutkrnal_char () at9reagnow .c:454cumentation/s390/Debugging390.txt#L248" id="L2422m9nt indi22m ) we do a similar tric22m )>220f="Do#4  0x5168ee in reagnow _iutkrnal_charloop () at9reagnow .c:507cumentation/s390/Debugging390.txt#L248" id="L24221ent indi22table designation type i22tab>22ta="Do#5  0x51692c in reagnow _iutkrnal () at9reagnow .c:521cumentation/s390/Debugging390.txt#L248" id="L242211nt indi22 space control registers22 sp>22t1="Do#6  0x5164fe in reagnow  (prompt=0x7ffff810 "\177x\177\177x")cumentation/s390/Debugging390.txt#L248" id="L242212nt indi22ne" name="L311"> 31122ne">22t2="Do    at9reagnow .c:349cumentation/s390/Debugging390.txt#L248" id="L242213nt indi22ine" name="L312"> 3122213="Do#7 s0x4d7a8a in c4mmand_now _iuputs(prompt=0x564420 "(gdb) ",9repeat=1,cumentation/s390/Debugging390.txt#L139" id="L1322t4nt indi22ure Kernel Task Structur22ure>22t4="Do    annotebugg_suffix=0x4d6b44 "prompt") at9cop.c:20Dfcumentation/s390/Debugging390.txt#L139" id="L1322t5nt indi22========================22===>22t5="Do#8 s0x4d6cf0 in c4mmand_noop () at9cop.c:1345cumentation/s390/Debugging390.txt#L139" id="L1322t6nt indi22ts own kernel task_struc22ts >2216="Do#9 s0x4e25bc in main (argc=1,9argv=0x7ffffdf4) at9main.c:635cumentation/s390/Debugging390.txt#L139" id="L1322t7nt indi22nux/include/linux/sched.22nux>221f="Documentation/s390/Debugging390.txt#L237" id="L232218nt indi22f a process on a cpu set22f a>221f="Documentation/s390/Debugging390.txt#L248" id="L242219nt indi22 prefix area for this cp22 pr>22tf="DoLDDcumentation/s390/Debugging390.txt#L248" id="L24222ent indi22r per-processor globals)22r p>22r ="Do===cumentation/s390/Debugging390.txt#L248" id="L242221nt indi22ine" name="L320"> 32022rf="DoTli= i= asprogramsumenta  stu glasshar0.tlibraries umentaatlibrary3ne0.s,cumentation/s390/Debugging390.txt#L139" id="L1322r2nt indi22th the task structure fo22th >22r2="DoNote ylinalso3gett" 1srelocatxonsgof glasshar0.tlibrary text seg90/Ds umentcumentation/s390/Debugging390.txt#L248" id="L2422r3nt indi22ach processor as follows22ach>2223="Dohelptuh3n 39iatiobjdump --source.cumentation/s390/Debugging390.txt#L248" id="L242224nt indi22ine" name="L323"> 3232224="Doe.g.cumentation/s390/Debugging390.txt#L248" id="L242225nt indi22                    s/3922   >22r5="Do ldd ./gdbcumentation/s390/Debugging390.txt#L248" id="L242226nt indi22 ***********************22 **>22rf="DooutpuDscumentation/s390/Debugging390.txt#L226" id="L222227nt indi22 *  1 page kernel stack 22 * >2227="Do  bncurses.so.4 => /usr/lib/libncurses.so.4 (0x40018000)cumentation/s390/Debugging390.txt#L248" id="L242228nt indi22          ( 4K3lA8" name22   >22rf="Dolibm.so.6 => /lib/libm.so.6 (0x4005e000)cumentation/s390/Debugging390.txt#L248" id="L242229nt indi22tual addressing techniqu22tua>222f="Dolibc.so.6 => /lib/libc.so.6 (0x40084000)cumentation/s390/Debugging390.txt#L248" id="L24223ent indi22Address-User Space Himem22Add>22Ad="Do/lib/ld-lbugg.so.2 => /lib/ld-lbugg.so.2 (0x40000000)cumentation/s390/Debugging390.txt#L248" id="L242231nt indi22an typically only addres22an >223f="Documentation/s390/Debugging390.txt#L141" id="L142232nt indi22ll the RAM these machine22ll >22Af="Documentation/s390/Debugging390.txt#L312" id="L3122A3nt indi22232can typically use22232>22Af="Do.txt#L312sshar0.tlibrariescumentation/s390/Debugging390.txt#L312" id="L3122A4nt indi22GB or lower & thus b22GB >22A4="Do==========================cumentation/s390/Debugging390.txt#L312" id="L3122A5nt indi22 shrinks the maximum siz22 sh>22A5="DoMostsprograms use shar0.tlibraries, howng39iiDncgncbe g39y painfulcumentation/s390/Debugging390.txt#L248" id="L242236nt indi22o win limit of 4GB unles22o w>223f="Douh3n ylins248lasst0piinstrucDxon into asfuncDxon lbke priutfgforncle cumentation/s390/Debugging390.txt#L248" id="L242237nt indi22236they go to 64 Bit22236>223f="Dofirst"cim.i&"L233ylinend3upiin funcDxons lbke _dl_runcim._resolve tli= iscumentation/s390/Debugging390.txt#L248" id="L242238nt indi22ine" name="L237"> 237223f="Doclas d.so doiatilazy bind237,ilazy bind237 i= asconceptiin ELF8uh39e cumentation/s390/Debugging390.txt#L248" id="L242239nt indi22ine" name="L238"> 23822Af="Doshar0.tlibrary funcDxons ar="not loaded into memory unllss ts3y"a9e cumentation/s390/Debugging390.txt#L248" id="L24224ent indi22ke us slightly different22ke >22ke="Doactulaly used, greaDnfionsav237 memory but9a paini0/Ddtxt#.cumentation/s390/Debugging390.txt#L248" id="L2422k1nt indi22allowed use 31 bits (2GB22all>22k1="DoTo gettaround tli= eith393relink glasprograms-staticsio exit gdb"typencumentation/s390/Debugging390.txt#L248" id="L2422k2nt indi22ntirely separate address22nti>2242="Doexport0LD_BIND_NOW=crul tli= will scopilazy bind237 &"L233restart glasgdbing39237 cumentation/s390/Debugging390.txt#L248" id="L2422k3nt indi22or the user & kernel22or >224f="Doglasprogramsiniquestion.cumentation/s390/Debugging390.txt#L248" id="L2422k4nt indi22ine" name="L243"> 24322k4="Do cumentation/s390/Debugging390.txt#L248" id="L2422k5nt indi22 RAM on s/390, & mor22 RA>2245="Documentation/s390/Debugging390.txt#L248" id="L2422k6nt indi22gement swap device &22gem>224f="Documentation/s390/Debugging390.txt#L226" id="L222247nt indi22rently on z/Architecture22ren>22k7="Do.txt#L312smodulescumentation/s390/Debugging390.txt#L312" id="L312248nt indi22ine" name="L247"> 24722kf="Do=================cumentation/s390/Debugging390.txt#L312" id="L3122k9nt indi22ine" name="L248"> 24822kf="DoAssmodules"a9e dy 24ically3loaded into glaskernel3glairiaddrlss cgncbecumentation/s390/Debugging390.txt#L312" id="L31225ent indi22/390 & z/Architectur22/39>22/3="Doanyuh39e to gettaround tli= use glas-m optiontuith insmod to emi"na3loadcumentation/s390/Debugging390.txt#L312" id="L312251nt indi22========================22===>22/1="Domap0umentacgncbe piped into atfill3ifsrequired.cumentation/s390/Debugging390.txt#L248" id="L242252nt indi22ine" name="L251"> 251225f="Documentation/s390/Debugging390.txt#L312" id="L312253nt indi22sing scheme is as follow22sin>2253="DoTle proctfill3syst0mcumentation/s390/Debugging390.txt#L312" id="L312254nt indi22ine" name="L253"> 2532254="Do====================cumentation/s390/Debugging390.txt#L312" id="L312255nt indi22ine" name="L254"> 25422/5="DoWhat iugi"n?.cumentation/s390/Debugging390.txt#L248" id="L2422/6nt indi22         ***************22   >22/f="DoIt is atfillsyst0m crelted bysglaskernel3uith fillssumentaa9e crelted on3dem3ndcumentation/s390/Debugging390.txt#L139" id="L132257nt indi22         *              22   >225f="Dobysglaskernel3ifsread, oracgncbe used"cosmodifytkernel3paramet0rs,cumentation/s390/Debugging390.txt#L139" id="L1322/8nt indi22         *              22   >22/8="Doi"nis atpowerful concept.cumentation/s390/Debugging390.txt#L248" id="L2422/9nt indi22   *              *     22   >225f="Documentation/s390/Debugging390.txt#L139" id="L13226ent indi22       *              * 22   >22  ="Doe.g.cumentation/s390/Debugging390.txt#L248" id="L242261nt indi22       *    Kernel    * 22   >226f="Documentation/s390/Debugging390.txt#L141" id="L142262nt indi22         *              22   >22 f="Docat /proc/sys/net/ipv4/ip_fiow3rd cumentation/s390/Debugging390.txt#L141" id="L142263nt indi22         *              22   >22 f="DoOn my mac1 1k outpuDs cumentation/s390/Debugging390.txt#L226" id="L2222 4nt indi22         *              22   >22 4="Do0 cumentation/s390/Debugging390.txt#L226" id="L2222 5nt indi22         *              22   >2265="Dot"lliatim.iip_fiow3rd237 i= not gg 0/Dsuitntait gg Iacgncdocumentation/s390/Debugging390.txt#L248" id="L242266nt indi22         ***************22   >226f="Doecho 1 >  /proc/sys/net/ipv4/ip_fiow3rdcumentation/s390/Debugging390.txt#L248" id="L242267nt indi22ine" name="L266"> 2662267="Docat i"nagaincumentation/s390/Debugging390.txt#L248" id="L242268nt indi22the PSW problem state bi22the>22 8="Docat /proc/sys/net/ipv4/ip_fiow3rd cumentation/s390/Debugging390.txt#L141" id="L142269nt indi22whether we are looking a22whe>22 f="DoOn my mac1 1k nowDoutpuDscumentation/s390/Debugging390.txt#L226" id="L22227ent indi22user or kernel space2222 27022 2732274="Documentation/s390/Debugging390.txt#L248" id="L242275nt indi22390 is made up of 3 part22390>22<5="DoAllntha proclsses runniation cle mac1 1k 235"iglairiown 0/Dry3def 1kd9bycumentation/s390/Debugging390.txt#L226" id="L222276nt indi22D in linux terminology )22D i>22<6="Do/proc/<pid>cumentation/s390/Debugging390.txt#L248" id="L2422<7nt indi22> 276being bits 1-1122> 2>22 28122 f="Doini"n[2]cumentation/s390/Debugging390.txt#L248" id="L242283nt indi22 an address from 4 parts22 an>228f="Documentation/s390/Debugging390.txt#L273" id="L272284nt indi22 currently use bits 22-322 cu>2284="Docd /proc/f/fdcumentation/s390/Debugging390.txt#L248" id="L242285nt indi22dex (SX) being bits 33-422dex>22 5="DoTli= contains n390ricalD0/Dries of allntha open fills,cumentation/s390/Debugging390.txt#L139" id="L1322 6nt indi22ex (PX) being bits  44-522ex >22 6="Dosome of glase ylincgnccat e.g. stdout (2)cumentation/s390/Debugging390.txt#L248" id="L2422 7nt indi22ex (BX) being bits  52-622ex >228f="Documentation/s390/Debugging390.txt#L237" id="L232288nt indi22ine" name="L287"> 2872288="Docat /proc/29/mapncumentation/s390/Debugging390.txt#L248" id="L242289nt indi22ame="L288"> 288Notes22ame>22 f="Doon my mac1 1k emi"scumentation/s390/Debugging390.txt#L248" id="L24229ent indi22D is really the PGD also22D i>229/="Documentation/s390/Debugging390.txt#L139" id="L132291nt indi22 is defined in pgtable.h22 is>22Df="Do00400000-00478000 r-xp 00000000 5f:00 4103       /bin/bamhcumentation/s390/Debugging390.txt#L248" id="L242292nt indi22ine" name="L291"> 29122D2="Do00478000-0047e000 rw-p 00077000 5f:00 4103       /bin/bamhcumentation/s390/Debugging390.txt#L248" id="L242293nt indi22xes are only 1k  in size22xes>2293="Do0047e000-00492000 rwxp 00000000 00:00 0cumentation/s390/Debugging390.txt#L248" id="L242294nt indi22te ) we use 1 ( page 4k 22te >22D4="Do40000000-40015000 r-xp 00000000 5f:00 14382      /lib/ld-2.1.2.socumentation/s390/Debugging390.txt#L248" id="L242295nt indi22dating 4 segment indices22dat>22D5="Do40015000-40016000 rw-p 00014000 5f:00 14382      /lib/ld-2.1.2.socumentation/s390/Debugging390.txt#L248" id="L242296nt indi22 a PMD & use offsets22 a >22D6="Do40016000-40017000 rwxp 00000000 00:00 0cumentation/s390/Debugging390.txt#L248" id="L242297nt indi22 for our segment indexes22 fo>22D7="Do40017000-40018000 rw-p 00000000 00:00 0cumentation/s390/Debugging390.txt#L248" id="L242298nt indi22ndexes are now 2k in siz22nde>22Df="Do40018000-4001b000 r-xp 00000000 5f:00 14435      /lib/libtermcap.so.2.0.8cumentation/s390/Debugging390.txt#L248" id="L242299nt indi22e ) we do a similar tric22e )>22Df="Do4001b000-4001c000 rw-p 00002000 5f:00 14435      /lib/libtermcap.so.2.0.8cumentation/s390/Debugging390.txt#L248" id="L2423ment indi23mentwe do a similar tric23men>230 ="Do4001c000-4010d000 r-xp 00000000 5f:00 14387      /lib/libc-2.1.2.socumentation/s390/Debugging390.txt#L248" id="L2423m1nt indi23mis defined in pgtable.h23mis>23m1="Do4010d000-40111000 rw-p 000f0000 5f:00 14387      /lib/libc-2.1.2.socumentation/s390/Debugging390.txt#L248" id="L2423m2nt indi23mne" name="L291"> 291230f="Do40111000-40114000 rw-p 00000000 00:00 0cumentation/s390/Debugging390.txt#L248" id="L2423m3nt indi23mes are only 1k  in size23mes>230f="Do40114000-4011e000 r-xp 00000000 5f:00 14408      /lib/libnss_fills-2.1.2.socumentation/s390/Debugging390.txt#L248" id="L2423m4nt indi23me ) we use 1 ( page 4k 23me >2304="Do4011e000-4011f000 rw-p 00009000 5f:00 14408      /lib/libnss_fills-2.1.2.socumentation/s390/Debugging390.txt#L248" id="L2423m5nt indi23mating 4 segment indices23mat>23m5="Do7fffd000-80000000 rwxp ffffe000 00:00 0cumentation/s390/Debugging390.txt#L248" id="L2423m6nt indi23ma PMD & use offsets23ma >230f="Documentation/s390/Debugging390.txt#L226" id="L2223m7nt indi23mfor our segment indexes23mfo>230f="Documentation/s390/Debugging390.txt#L237" id="L2323m8nt indi23mdexes are now 2k in siz23mde>23m8="DoShow248 uu glasshar0.tlibraries ini"nuslssumerr cley"a9e in memorycumentation/s390/Debugging390.txt#L237" id="L2323m9nt indi23m ) we do a similar tric23m )>230f="Do="L233memory access permissuggsgforneac1"virtula3memory area.cumentation/s390/Debugging390.txt#L248" id="L24231ent indi23table designation type i23tab>231/="Documentation/s390/Debugging390.txt#L139" id="L132311nt indi23 space control registers23 sp>23t1="Do/proc/f/cwd is aisoftlink go glascurr0/D work237idirecDory.cumentation/s390/Debugging390.txt#L248" id="L242312nt indi23ne" name="L311"> 31123ne">23t2="Do/proc/f/roo"nis " 1sroo" o"L" 1sfillsyst0m fornclisDprocess. cumentation/s390/Debugging390.txt#L141" id="L142313nt indi23ine" name="L312"> 312231f="Documentation/s390/Debugging390.txt#L273" id="L2723t4nt indi23ure Kernel Task Structur23ure>23t4="Do/proc/f/memnis " 1scurr0/D runniatiproclsses memory umentaylicumentation/s390/Debugging390.txt#L273" id="L2723t5nt indi23========================23===>23t5="Docgncread3&"L233write to lbke a fill.cumentation/s390/Debugging390.txt#L248" id="L242316nt indi23ts own kernel task_struc23ts >2316="Dosgrace3uslssclisDsomecimen as3i"nis atbi"nfast0r clan glacumentation/s390/Debugging390.txt#L248" id="L2423t7nt indi23nux/include/linux/sched.23nux>23t7="Dorath393linffici0/D pgrace3iutkrface3fornpeek237iat DATA.cumentation/s390/Debugging390.txt#L248" id="L242318nt indi23f a process on a cpu set23f a>231f="Documentation/s390/Debugging390.txt#L248" id="L242319nt indi23 prefix area for this cp23 pr>231f="Documentation/s390/Debugging390.txt#L139" id="L13232ent indi23r per-processor globals)23r p>232t="Docat status cumentation/s390/Debugging390.txt#L226" id="L222321nt indi23ine" name="L320"> 32023rf="Documentation/s390/Debugging390.txt#L141" id="L1423r2nt indi23th the task structure fo23th >23r2="DoNure:   ini"cumentation/s390/Debugging390.txt#L141" id="L1423r3nt indi23ach processor as follows23ach>2323="DoSDebe:  S (sleep141)cumentation/s390/Debugging390.txt#L248" id="L242324nt indi23ine" name="L323"> 3232324="DoPid:    fcumentation/s390/Debugging390.txt#L139" id="L132325nt indi23                    s/3923   >23r5="DoPPid:   0cumentation/s390/Debugging390.txt#L248" id="L242326nt indi23 ***********************23 **>23rf="DoUid:    0       0       0       0cumentation/s390/Debugging390.txt#L248" id="L242327nt indi23 *  1 page kernel stack 23 * >2327="DoGid:    0       0       0       0cumentation/s390/Debugging390.txt#L248" id="L242328nt indi23          ( 4K3lA8" name23   >23rf="DoGroups:cumentation/s390/Debugging390.txt#L248" id="L242329nt indi23tual addressing techniqu23tua>232f="DoVmSize:      408 kBcumentation/s390/Debugging390.txt#L248" id="L24233ent indi23Address-User Space Himem23Add>23Ad="DoVmLck:         0 kBcumentation/s390/Debugging390.txt#L248" id="L242331nt indi23an typically only addres23an >233f="DoVmRSS:       208 kBcumentation/s390/Debugging390.txt#L248" id="L242332nt indi23ll the RAM these machine23ll >23Af="DoVmData:       24 kBcumentation/s390/Debugging390.txt#L248" id="L242333nt indi23232can typically use23232>23Af="DoVmStk:         8 kBcumentation/s390/Debugging390.txt#L248" id="L242334nt indi23GB or lower & thus b23GB >23A4="DoVmExe:       368 kBcumentation/s390/Debugging390.txt#L248" id="L242335nt indi23 shrinks the maximum siz23 sh>23A5="DoVmLib:         0 kBcumentation/s390/Debugging390.txt#L248" id="L242336nt indi23o win limit of 4GB unles23o w>233f="DoSigPnd: 0000000000000000cumentation/s390/Debugging390.txt#L248" id="L242337nt indi23236they go to 64 Bit23236>233f="DoSigBlk: 0000000000000000cumentation/s390/Debugging390.txt#L248" id="L242338nt indi23ine" name="L237"> 237233f="DoSigIgn: 7fffffffd7f0d8fccumentation/s390/Debugging390.txt#L248" id="L242339nt indi23ine" name="L238"> 23823Af="DoSigCgt: 00000000280b2603cumentation/s390/Debugging390.txt#L248" id="L24234ent indi23ke us slightly different23ke >23ke="DoCapInh: 00000000fffffeffcumentation/s390/Debugging390.txt#L248" id="L2423k1nt indi23allowed use 31 bits (2GB23all>23k1="DoCapPrm: 00000000ffffffffcumentation/s390/Debugging390.txt#L248" id="L2423k2nt indi23ntirely separate address23nti>2342="DoCapEff: 00000000fffffeffcumentation/s390/Debugging390.txt#L248" id="L2423k3nt indi23or the user & kernel23or >234f="Documentation/s390/Debugging390.txt#L273" id="L2723k4nt indi23ine" name="L243"> 24323k4="DoUs393PSW:    070de000 80414146cumentation/s390/Debugging390.txt#L248" id="L2423k5nt indi23 RAM on s/390, & mor23 RA>2345="Dotask: 004b6000 tss: 004b62d8 ksp: 004b7ca8 pg_regs: 004b7f68cumentation/s390/Debugging390.txt#L248" id="L2423k6nt indi23gement swap device &23gem>234f="DoUs393GPRS:cumentation/s390/Debugging390.txt#L248" id="L242347nt indi23rently on z/Architecture23ren>23k7="Do00000400  00000000  0000000b  7ffffa90cumentation/s390/Debugging390.txt#L248" id="L242348nt indi23ine" name="L247"> 24723kf="Do00000000  00000000  00000000  0045d9f4cumentation/s390/Debugging390.txt#L248" id="L2423k9nt indi23ine" name="L248"> 24823kf="Do0045cafc  7ffffa90  7fffff18  0045cb08cumentation/s390/Debugging390.txt#L248" id="L24235ent indi23/390 & z/Architectur23/39>23/3="Do00010400  804039e8  80403af8  7ffff8b0cumentation/s390/Debugging390.txt#L248" id="L242351nt indi23========================23===>23/1="DoUs393ACRS:cumentation/s390/Debugging390.txt#L248" id="L242352nt indi23ine" name="L251"> 2512352="Do00000000  00000000  00000000  00000000cumentation/s390/Debugging390.txt#L248" id="L242353nt indi23sing scheme is as follow23sin>2353="Do00000001  00000000  00000000  00000000cumentation/s390/Debugging390.txt#L248" id="L242354nt indi23ine" name="L253"> 2532354="Do00000000  00000000  00000000  00000000cumentation/s390/Debugging390.txt#L248" id="L242355nt indi23ine" name="L254"> 25423/5="Do00000000  00000000  00000000  00000000cumentation/s390/Debugging390.txt#L248" id="L242356nt indi23         ***************23   >23/f="DoKernel3BackChaini CallChaini  3BackChaini CallChaincumentation/s390/Debugging390.txt#L248" id="L242357nt indi23         *              23   >235f="Do       004b7ca8   8002bd0c     004b7d18   8002b92ccumentation/s390/Debugging390.txt#L248" id="L2423/8nt indi23         *              23   >23/8="Do       004b7db8   8005cd50     004b7e38   8005d12acumentation/s390/Debugging390.txt#L248" id="L2423/9nt indi23   *              *     23   >235f="Do       004b7f08   80019114                     cumentation/s390/Debugging390.txt#L248" id="L24236ent indi23       *              * 23   >23  ="DoShow248 amoatioth393cliats memory usage &"L233status of some sig els &"L23cumentation/s390/Debugging390.txt#L248" id="L242361nt indi23       *    Kernel    * 23   >236f="Dotha proclssestxt#Les reg st0rs fromnt eskernel3task_strucDuracumentation/s390/Debugging390.txt#L248" id="L242362nt indi23         *              23   >23 f="Doas well es atbackchainiumentamaycbe useful if asprocess cramhescumentation/s390/Debugging390.txt#L248" id="L242363nt indi23         *              23   >23 f="Doin glaskernel3fionsome unknown reason.cumentation/s390/Debugging390.txt#L248" id="L2423 4nt indi23         *              23   >2364="Documentation/s390/Debugging390.txt#L248" id="L2423 5nt indi23         *              23   >2365="DoSome drig39idtxt#L312stechniquescumentation/s390/Debugging390.txt#L248" id="L2423 6nt indi23         ***************23   >236f="Do================================cumentation/s390/Debugging390.txt#L312" id="L312367nt indi23ine" name="L266"> 2662367="Dodtxt# feaDuracumentation/s390/Debugging390.txt#L248" id="L242368nt indi23the PSW problem state bi23the>23 8="Do-------------cumentation/s390/Debugging390.txt#L248" id="L242369nt indi23whether we are looking a23whe>23 f="DoSome of gursdrig39s nowDsupport0a "dtxt# feaDura" incumentation/s390/Debugging390.txt#L248" id="L24237ent indi23user or kernel space2323 27023 2732374="Doecho 5 > /proc/s" idbf/lcs/levelcumentation/s390/Debugging390.txt#L248" id="L242375nt indi23390 is made up of 3 part23390>23<5="Do&"L233ts3n aft0r cle errio occurr0d.cumentation/s390/Debugging390.txt#L248" id="L242376nt indi23D in linux terminology )23D i>23<6="Docat /proc/s" idbf/lcs/spriutfg>/logfillcumentation/s390/Debugging390.txt#L248" id="L242377nt indi23> 276being bits 1-1123> 2>23 28123 f="Dohigh levelidtxt#L312snetwork"drig39scumentation/s390/Debugging390.txt#L141" id="L142383nt indi23 an address from 4 parts23 an>238f="Do------------------------------------cumentation/s390/Debugging390.txt#L141" id="L142384nt indi23 currently use bits 22-323 cu>2384="Doifc4nfignis atquite useful c4mmandcumentation/s390/Debugging390.txt#L141" id="L142385nt indi23dex (SX) being bits 33-423dex>23 5="Doit gig3s " 1scurr0/D state3of network"drig39s.cumentation/s390/Debugging390.txt#L248" id="L2423 6nt indi23ex (PX) being bits  44-523ex >238f="Documentation/s390/Debugging390.txt#L226" id="L2223 7nt indi23ex (BX) being bits  52-623ex >238f="DoIf ylinsuspecD ygursnetwork"device drig39iis deadcumentation/s390/Debugging390.txt#L312" id="L312388nt indi23ine" name="L287"> 2872388="Doonenwayc0/Dcheckiis"typencumentation/s390/Debugging390.txt#L248" id="L242389nt indi23ame="L288"> 288Notes23ame>23 f="Doifc4nfign<network"device> cumentation/s390/Debugging390.txt#L248" id="L24239ent indi23D is really the PGD also23D i>239 ="Doe.g. tr0cumentation/s390/Debugging390.txt#L248" id="L242391nt indi23 is defined in pgtable.h23 is>23Df="DoYlinshould see9somecliatilbkecumentation/s390/Debugging390.txt#L248" id="L242392nt indi23ine" name="L291"> 29123D2="Dotr0       Link encap:16/4 Mbps Tok3n Riati(New)  HWaddr 00:04:AC:20:8E:48cumentation/s390/Debugging390.txt#L248" id="L242393nt indi23xes are only 1k  in size23xes>2393="Do           1ktiaddr:9.164.185.132  Bcast:9.164.191.255  Mask:255.255.224.0cumentation/s390/Debugging390.txt#L248" id="L242394nt indi23te ) we use 1 ( page 4k 23te >2394="Do          UP BROADCAST RUNNING MULTICAST  MTU:2000  Metric:fcumentation/s390/Debugging390.txt#L139" id="L132395nt indi23dating 4 segment indices23dat>23D5="Do          RX packets:246134 errios:0 dropped:0 og39runs:0 frame:0cumentation/s390/Debugging390.txt#L248" id="L242396nt indi23 a PMD & use offsets23 a >23D6="Do          TX packets:5 errios:0 dropped:0 og39runs:0 carrier:0cumentation/s390/Debugging390.txt#L248" id="L242397nt indi23 for our segment indexes23 fo>2397="Do          collisuggs:0 txqueuelen:100cumentation/s390/Debugging390.txt#L248" id="L242398nt indi23ndexes are now 2k in siz23nde>239f="Documentation/s390/Debugging390.txt#L248" id="L242399nt indi23e ) we do a similar tric23e )>239f="Doifntha device does.txt#L13saycupcumentation/s390/Debugging390.txt#L248" id="L2424ment indi24mentwe do a similar tric24men>240 ="Dotrycumentation/s390/Debugging390.txt#L248" id="L2424m1nt indi24mis defined in pgtable.h24mis>24m1="Do/etc/rc.d/ini".d/network"start cumentation/s390/Debugging390.txt#L248" id="L2424m2nt indi24mne" name="L291"> 291240f="Do(sclisDstarts " 1snetwork"stacki&"L23n2opefully calls ifc4nfigntr0 up.).cumentation/s390/Debugging390.txt#L248" id="L2424m3nt indi24mes are only 1k  in size24mes>240f="Doifc4nfignlooks at9clasoutpuD3of /proc/net/devi&"L23nprese/Ds iL in a morasprese/Dable3fiomcumentation/s390/Debugging390.txt#L312" id="L3124m4nt indi24me ) we use 1 ( page 4k 24me >2404="DoNgw p312stha device fromna mac1 1k in glassaml subnet.cumentation/s390/Debugging390.txt#L248" id="L2424m5nt indi24mating 4 segment indices24mat>24m5="Doifntha RX packets cou/D &"L23nTX packets cou/Ds do.txt#L13incre90/D ylinprobablycumentation/s390/Debugging390.txt#L248" id="L2424m6nt indi24ma PMD & use offsets24ma >240f="Do235"iproblems.cumentation/s390/Debugging390.txt#L248" id="L2424m7nt indi24mfor our segment indexes24mfo>240f="Donext cumentation/s390/Debugging390.txt#L248" id="L2424m8nt indi24mdexes are now 2k in siz24mde>2408="Docat /proc/net/arpcumentation/s390/Debugging390.txt#L248" id="L2424m9nt indi24m ) we do a similar tric24m )>240f="DoDo ylinsee9any"23rdwar="addrlsses in " 1scac1l3ifsnot ylinmaych35"iproblems.cumentation/s390/Debugging390.txt#L248" id="L24241ent indi24table designation type i24tab>241/="DoNext trycumentation/s390/Debugging390.txt#L248" id="L242411nt indi24 space control registers24 sp>24t1="Dop312s-c 5 <broadcast_addr> i.e. " 1sBcastsfield abog3 in " 1soutpuD3ofcumentation/s390/Debugging390.txt#L248" id="L242412nt indi24ne" name="L311"> 31124ne">24t2="Doifc4nfig. Do ylinsee9any"replies fromnmac1 1ksioth393clan cle localDmac1 1kcumentation/s390/Debugging390.txt#L248" id="L242413nt indi24ine" name="L312"> 312241f="Doifsnot ylinmaych35"iproblems.nalso3ifntha TX packets cou/D in ifc4nfigcumentation/s390/Debugging390.txt#L248" id="L242414nt indi24ure Kernel Task Structur24ure>24t4="Dohas.txt#L13incre90/Ded eith393ylin235"iseriousiproblems in ygursdrig39 cumentation/s390/Debugging390.txt#L248" id="L2424t5nt indi24========================24===>24t5="Do(e.g. tha txbusysfield o"L" 1snetwork"device be312sstuckion ) cumentation/s390/Debugging390.txt#L248" id="L2424t6nt indi24ts own kernel task_struc24ts >2416="Door ylinmaych35"imultiple network"device= connect0d.cumentation/s390/Debugging390.txt#L248" id="L2424t7nt indi24nux/include/linux/sched.24nux>241f="Documentation/s390/Debugging390.txt#L237" id="L232418nt indi24f a process on a cpu set24f a>241f="Documentation/s390/Debugging390.txt#L248" id="L242419nt indi24 prefix area for this cp24 pr>241f="Dochandevcumentation/s390/Debugging390.txt#L248" id="L24242ent indi24r per-processor globals)24r p>242t="Do-------cumentation/s390/Debugging390.txt#L141" id="L142421nt indi24ine" name="L320"> 32024rf="DoTl39e is a3new"device lay39 fio channelidtvice=,9somecumentation/s390/Debugging390.txt#L141" id="L142422nt indi24th the task structure fo24th >24r2="Dodrig39s e.g. lcs ar="reg st0r0.tuith clisDlay39.cumentation/s390/Debugging390.txt#L248" id="L2424r3nt indi24ach processor as follows24ach>2423="DoIfntha device uslsscle channelidtvice lay39 ylitxt#Lllnbecumentation/s390/Debugging390.txt#L312" id="L312424nt indi24ine" name="L323"> 3232424="Doable3tosfin.tuhat iutkrrupDs iL uslss&"L233ts3scurr0/D state3cumentation/s390/Debugging390.txt#L312" id="L312425nt indi24                    s/3924   >24r5="Doofntha device.cumentation/s390/Debugging390.txt#L248" id="L2424r6nt indi24 ***********************24 **>24rf="DoSee9clasmanpage chandev.8s&"L23typencat /proc/chandev fio morasinfi.cumentation/s390/Debugging390.txt#L248" id="L242427nt indi24 *  1 page kernel stack 24 * >242f="Documentation/s390/Debugging390.txt#L237" id="L232428nt indi24          ( 4K3lA8" name24   >242f="Documentation/s390/Debugging390.txt#L248" id="L242429nt indi24tual addressing techniqu24tua>242f="Documentation/s390/Debugging390.txt#L139" id="L13243ent indi24Address-User Space Himem24Add>24Ad="DoStartiatipoinDsnfiondext#L237iscriptiatilanguages etc.cumentation/s390/Debugging390.txt#L248" id="L242431nt indi24an typically only addres24an >243f="Do======================================================cumentation/s390/Debugging390.txt#L312" id="L312432nt indi24ll the RAM these machine24ll >24Af="Documentation/s390/Debugging390.txt#L312" id="L312433nt indi24232can typically use24232>24Af="Dobamh/mhcumentation/s390/Debugging390.txt#L248" id="L242434nt indi24GB or lower & thus b24GB >2434="Documentation/s390/Debugging390.txt#L248" id="L242435nt indi24 shrinks the maximum siz24 sh>24A5="Dobamh -x <scriptmum >cumentation/s390/Debugging390.txt#L248" id="L242436nt indi24o win limit of 4GB unles24o w>243f="Doe.g. bamh -x /usr/bin/bamhxt#cumentation/s390/Debugging390.txt#L248" id="L242437nt indi24236they go to 64 Bit24236>243f="Dodisplaysscle follow248 l 1ksias3i"nexecutlssclem.cumentation/s390/Debugging390.txt#L248" id="L242438nt indi24ine" name="L237"> 237243f="Do+ MACHINE=i586cumentation/s390/Debugging390.txt#L248" id="L242439nt indi24ine" name="L238"> 23824Af="Do+ OS=lbugg-gnicumentation/s390/Debugging390.txt#L273" id="L27244ent indi24ke us slightly different24ke >24ke="Do+ CC=gcccumentation/s390/Debugging390.txt#L248" id="L2424k1nt indi24allowed use 31 bits (2GB24all>24k1="Do+ CFLAGS= -DPROGRAM=txt#Lbamhtxt#L -DHOSTTYPE=txt#Li586txt#L -DOSTYPE=txt#Llbugg-gnitxt#L -DMACHTYPE=txt#Li586-pc-lbugg-gnitxt#L -DSHELL -DHAVE_CONFIG_H   -I. -I. -I./lib -O2 -pipecumentation/s390/Debugging390.txt#L248" id="L2424k2nt indi24ntirely separate address24nti>2442="Do+ RELEASE=2.0fcumentation/s390/Debugging390.txt#L139" id="L1324k3nt indi24or the user & kernel24or >244f="Do+ PATCHLEVEL=fcumentation/s390/Debugging390.txt#L139" id="L1324k4nt indi24ine" name="L243"> 24324k4="Do+ RELSTATUS=releasecumentation/s390/Debugging390.txt#L248" id="L2424k5nt indi24 RAM on s/390, & mor24 RA>2445="Do+ MACHTYPE=i586-pc-lbugg-gni   cumentation/s390/Debugging390.txt#L248" id="L2424k6nt indi24gement swap device &24gem>244f="Documentation/s390/Debugging390.txt#L226" id="L222447nt indi24rently on z/Architecture24ren>24k7="Doperl -d <scriptmum > runsscle perlscript in a fully iutkractig3ndext#Lercumentation/s390/Debugging390.txt#L226" id="L222448nt indi24ine" name="L247"> 24724kf="Do<lbke gdbigt;.cumentation/s390/Debugging390.txt#L248" id="L2424k9nt indi24ine" name="L248"> 24824kf="DoTypentxt#Lhtxt#L in " 1sdext#Lernfionhelp.cumentation/s390/Debugging390.txt#L248" id="L24245ent indi24/390 & z/Architectur24/39>245/="Documentation/s390/Debugging390.txt#L139" id="L132451nt indi24========================24===>245f="Dofio dext#L237ijava"typecumentation/s390/Debugging390.txt#L139" id="L132452nt indi24ine" name="L251"> 2512452="Dojdb <fillmum > anoth393fully iutkractig3ngdb"styl1sdext#Ler.cumentation/s390/Debugging390.txt#L248" id="L242453nt indi24sing scheme is as follow24sin>2453="Do&"L233typen? in " 1sdext#Lernfionhelp.cumentation/s390/Debugging390.txt#L248" id="L242454nt indi24ine" name="L253"> 2532454="Documentation/s390/Debugging390.txt#L248" id="L242455nt indi24ine" name="L254"> 2542455="Documentation/s390/Debugging390.txt#L248" id="L242456nt indi24         ***************24   >245f="Documentation/s390/Debugging390.txt#L226" id="L222457nt indi24         *              24   >245f="DoSysRqcumentation/s390/Debugging390.txt#L226" id="L222458nt indi24         *              24   >245f="Do=====cumentation/s390/Debugging390.txt#L226" id="L222459nt indi24   *              *     24   >245f="DoTli= i= nowDsupported byslbugg3fions/" is&"L233z/ArchitecDura.cumentation/s390/Debugging390.txt#L248" id="L24246ent indi24       *              * 24   >24  ="DoTo lmuble3i"ndo c4mpill glaskernel3uith cumentation/s390/Debugging390.txt#L248" id="L242461nt indi24       *    Kernel    * 24   >246f="DoKernel3Hack237i-> Magic SysRq Key Emubledcumentation/s390/Debugging390.txt#L312" id="L312462nt indi24         *              24   >24 f="Doecho "1" > /proc/sys/kernel/sysrqcumentation/s390/Debugging390.txt#L226" id="L222463nt indi24         *              24   >24 f="Doalso3typecumentation/s390/Debugging390.txt#L139" id="L1324 4nt indi24         *              24   >2464="Doecho "8" >/proc/sys/kernel/priutkcumentation/s390/Debugging390.txt#L139" id="L1324 5nt indi24         *              24   >2465="DoTo make priutksoutpuD3goc0/Dconsoll.cumentation/s390/Debugging390.txt#L248" id="L2424 6nt indi24         ***************24   >246f="DoOn " isallnc4mmands ar="ptatix0.tuithcumentation/s390/Debugging390.txt#L248" id="L2424 7nt indi24ine" name="L266"> 2662467="Do^-cumentation/s390/Debugging390.txt#L141" id="L142468nt indi24the PSW problem state bi24the>24 8="Doe.g.cumentation/s390/Debugging390.txt#L248" id="L242469nt indi24whether we are looking a24whe>24 f="Do^-t will showDtasks.cumentation/s390/Debugging390.txt#L248" id="L24247ent indi24user or kernel space2424 270247f="DoTl3 sysrqskeycreadi37 i= g39y picky ( I 235"igo3type glaskeys in ancumentation/s390/Debugging390.txt#L248" id="L242472nt indi24/390 & z/Architectur24/39>2472="Do xterm sessuggi&"L23npast0sclem  into glasx3270Dconsoll )cumentation/s390/Debugging390.txt#L248" id="L242473nt indi24========================24===>2473="Do&"L233i"nmaycbe wis"igo3ptadef 1k glaskeys as described in glasVM hinDsnabog3cumentation/s390/Debugging390.txt#L248" id="L242474nt indi24ine" name="L273"> 2732474="Documentation/s390/Debugging390.txt#L248" id="L242475nt indi24390 is made up of 3 part24390>2475="DoTli= i= particularly useful fionsynci37idisks unmou/Di37 &"L233rebooDi37cumentation/s390/Debugging390.txt#L248" id="L242476nt indi24D in linux terminology )24D i>24<6="Doifntha mac1 1k gets partially3hung.cumentation/s390/Debugging390.txt#L248" id="L242477nt indi24> 276being bits 1-1124> 2>247f="Documentation/s390/Debugging390.txt#L237" id="L232478nt indi24e) in linux terminology 24e) >24<8="DoRead3n/s390/Debugginysrqd="L fio morasinficumentation/s390/Debugging390.txt#L237" id="L232479nt indi24278being bits 12-19.24278>247f="Documentation/s390/Debugging390.txt#L139" id="L13248ent indi24 the offset in the page 24 th>248/="DoReferences:cumentation/s390/Debugging390.txt#L248" id="L242481nt indi2480i.e. bits 20 to 312480<>248f="Do===========cumentation/s390/Debugging390.txt#L248" id="L242482nt indi24ine" name="L281"> 28124 f="DoEutkrpris"iSyst0ms ArchitecDura Reference Summarycumentation/s390/Debugging390.txt#L248" id="L242483nt indi24 an address from 4 parts24 an>248f="DoEutkrpris"iSyst0ms ArchitecDura Priuciples of Opkrabuggcumentation/s390/Debugging390.txt#L248" id="L242484nt indi24 currently use bits 22-324 cu>2484="DoHartmuD3Penn39s ng39"stackiframe sheet.cumentation/s390/Debugging390.txt#L248" id="L242485nt indi24dex (SX) being bits 33-424dex>24 5="DoIBM Mainframe ChanneliAttach90/D astechnologycbrief fromna CISCO webpagecumentation/s390/Debugging390.txt#L248" id="L242486nt indi24ex (PX) being bits  44-524ex >248f="DoVariousibits of man &"L233infospages of Lbugg.cumentation/s390/Debugging390.txt#L248" id="L242487nt indi24ex (BX) being bits  52-624ex >248f="DoLbugg &"L233GDBnsource.cumentation/s390/Debugging390.txt#L248" id="L242488nt indi24ine" name="L287"> 2872488="DoVariousiinfos="L233man pages.cumentation/s390/Debugging390.txt#L248" id="L242489nt indi24ing6lin225aCMS Hnow====2raparti**24   >ariousiinfos="L233man pages.cumentation/s390/Debugging390.tx4#L248" id="L24239ent indi43D is4reallyLoTli= i= nowDsuElf Applicll nowBinArc Irath393lriousiinfos="L233man pages.cumentation/s390/Debugging390.txt#L248" id="L242391nt indi43 is 4efinedLoTli= i= z/SeShow2Elf Applicll nowBinArc Irath393lqskBoth HighifnRe**24enmoduem  into glasx3270Dconsoll )cumentation/s390/Debugging390.tx4#L248" id="L242392nt indi43ine"4name="d byslbugg3fiorpris"iSyst0ms ArchitecD SA22-7832-  collisuggs:0 txqueuelen:100cumentation/s390/Debu4ging390.tx4#L248" id="L242393nt indi43xes 49dress from 4 parts24 an>248f="DoEutkowDsupris"iSyst0ms Arc SA22-7209-01in.tuhat icollisuggs:0 txqueuelen:100cumentation/s390/Debu4ging390.txt#L248" id="L242394nt indi43te )4we use from 4 parts24 an>248f="DoEutkowDsupris"iSyst0ms ArchitecD SA22-7201-05collisuggs:0 txqueuelen:100cumentation/s390/Debu4ging390.txt#L139" id="L132395nt indi43dati49ame="L254"> 2542455="Documentation/s390/Debugging390.tx4#L248" id="L242396nt indi43 a P4D &Spec"Do Tdexkelidtxt#L312snetwork"drig39scumentation/s390/Debu4ging390.tx4#L248" id="L242397nt indi43 for4our se=========================================cumentation/s390/Debugging390.tx4#L248" id="L242398nt indi43ndex4s are Spec"Do tdexke473=NeasclFergusnowDc    i>2323r2="DoNure:   ini"cumentation/s390/Debu5ging390.tx5#L248" id="L2424ment indi54ment5e do a23th >23rhttp://DoTlivm.org/penguinvm/">http://DoTlivm.org/penguinvm/me="L254"> 2542455="Documentation/s390/Debu5ging390.tx5#L248" id="L2424m1nt indi54mis 5efinedBob Gr32re   >artintaelidtxt#L312snetwork"drig39scumentation/s390/Debu5ging390.tx5#L248" id="L2424m2nt indi54mne"5name="


L270oritioDo LXRsp>23240f= 23th >23rhttp://x >248dd>ge.siz2projDoEs/lxr">LXRs**24unityme=", f 3exrchitworkl"DoTtur24 23th >23r ilto:lxr@DoTli.no">lxr@DoTli.nome=".
lxr.DoTli.no kindifntos>245f="23th >23rhttp://www.redpill>244pro.no">Redpill of pro ASme=", provchrouts of manpast >24 nd390rhitecDsincraych35siSyst1995.