diff --git a/doc/hazard3.pdf b/doc/hazard3.pdf index 4a3a749..8246068 100644 --- a/doc/hazard3.pdf +++ b/doc/hazard3.pdf @@ -5,7 +5,7 @@ /Creator (Asciidoctor PDF 1.5.4, based on Prawn 2.2.2) /Producer (Asciidoctor PDF 1.5.4, based on Prawn 2.2.2) /ModDate (D:20210618200929+01'00') -/CreationDate (D:20210710154407+01'00') +/CreationDate (D:20210710171241+01'00') >> endobj 2 0 obj @@ -12324,7 +12324,7 @@ endobj endobj 67 0 obj << /Type /Font -/BaseFont /f37706+NotoSerif-Italic +/BaseFont /e6a149+NotoSerif-Italic /Subtype /TrueType /FontDescriptor 170 0 R /FirstChar 32 @@ -13600,7 +13600,7 @@ endobj [69 0 R /XYZ 0 337.01 null] endobj 72 0 obj -<< /Length 13598 +<< /Length 14683 >> stream q @@ -13713,7 +13713,7 @@ ET BT 66.24 681.866 Td /F1.0 10.5 Tf -[<50726f6772> 20.0195 <616d206275666665723a203220776f72647320706c757320>] TJ +[<50726f6772> 20.0195 <616d204275666665722c203220776f72647320706c757320>] TJ ET 0.0 0.0 0.0 SCN @@ -13722,7 +13722,7 @@ ET 0.6941 0.1294 0.2745 SCN BT -215.9593 681.866 Td +216.0013 681.866 Td /F3.0 10.5 Tf <696d7065627265616b> Tj ET @@ -13751,32 +13751,55 @@ ET 0.2 0.2 0.2 scn 0.2 0.2 0.2 SCN +3.2135 Tw + BT 66.24 660.086 Td /F1.0 10.5 Tf -[<41> 20.0195 <75746f6d617469632070726f6772> 20.0195 <616d2062756666657220657865637574696f6e207472696767657265642062> 20.0195 <79206162737472> 20.0195 <61637420475052206163636573732028>] TJ +[<41> 20.0195 <75746f6d617469632074726967676572206f66206162737472> 20.0195 <61637420636f6d6d616e64206f6e20646174612f70726f67627566206163636573732028>] TJ ET + +0.0 Tw 0.0 0.0 0.0 SCN 0.0 0.0 0.0 scn 0.6941 0.1294 0.2745 scn 0.6941 0.1294 0.2745 SCN +3.2135 Tw + BT -420.3727 660.086 Td +412.3449 660.086 Td /F3.0 10.5 Tf <61627374726163746175746f> Tj ET + +0.0 Tw +0.0 0.0 0.0 SCN +0.0 0.0 0.0 scn +0.2 0.2 0.2 scn +0.2 0.2 0.2 SCN + +3.2135 Tw + +BT +475.3449 660.086 Td +/F1.0 10.5 Tf +<2920666f7220656666696369656e74> Tj +ET + + +0.0 Tw 0.0 0.0 0.0 SCN 0.0 0.0 0.0 scn 0.2 0.2 0.2 scn 0.2 0.2 0.2 SCN BT -483.3727 660.086 Td +66.24 644.306 Td /F1.0 10.5 Tf -<29> Tj +[<6d656d6f727920626c6f636b207472> 20.0195 <616e73666572732066726f6d2074686520686f7374>] TJ ET 0.0 0.0 0.0 SCN @@ -13791,7 +13814,7 @@ ET 0.2 0.2 0.2 SCN BT -56.8805 638.306 Td +56.8805 622.526 Td /F1.0 10.5 Tf Tj ET @@ -13804,7 +13827,7 @@ ET 0.2 0.2 0.2 SCN BT -66.24 638.306 Td +66.24 622.526 Td /F1.0 10.5 Tf <536f6d65206d696e696d756d2075736566756c207472696767657220756e6974> Tj /F1.1 10.5 Tf @@ -13825,7 +13848,7 @@ ET 3.0868 Tw BT -48.24 610.526 Td +48.24 594.746 Td /F1.0 10.5 Tf <54686520636f726520697473656c662077696c6c20696d706c656d656e742074686520666f6c6c6f77696e672c20656e61626c696e672074686520444d20746f2070726f76696465206120636f6d706c69616e74206465627567> Tj ET @@ -13838,7 +13861,7 @@ ET 0.2 0.2 0.2 SCN BT -48.24 594.746 Td +48.24 578.966 Td /F1.0 10.5 Tf <696e746572666163653a> Tj ET @@ -13855,7 +13878,7 @@ ET 0.2 0.2 0.2 SCN BT -56.8805 566.966 Td +56.8805 551.186 Td /F1.0 10.5 Tf Tj ET @@ -13868,39 +13891,9 @@ ET 0.2 0.2 0.2 SCN BT -66.24 566.966 Td +66.24 551.186 Td /F1.0 10.5 Tf -<4465627567206d6f64652043535273> Tj -ET - -0.0 0.0 0.0 SCN -0.0 0.0 0.0 scn - --0.5 Tc - -0.0 Tc - --0.5 Tc -0.2 0.2 0.2 scn -0.2 0.2 0.2 SCN - -BT -56.8805 545.186 Td -/F1.0 10.5 Tf - Tj -ET - -0.0 0.0 0.0 SCN -0.0 0.0 0.0 scn - -0.0 Tc -0.2 0.2 0.2 scn -0.2 0.2 0.2 SCN - -BT -66.24 545.186 Td -/F1.0 10.5 Tf -<4162696c69747920746f20656e746572206465627567206d6f6465207769746820636f727265637420757064617465206f6620> Tj +<4465627567206d6f6465204353527320> Tj ET 0.0 0.0 0.0 SCN @@ -13909,7 +13902,29 @@ ET 0.6941 0.1294 0.2745 SCN BT -322.3665 545.186 Td +158.1675 551.186 Td +/F3.0 10.5 Tf +<64637372> Tj +ET + +0.0 0.0 0.0 SCN +0.0 0.0 0.0 scn +0.2 0.2 0.2 scn +0.2 0.2 0.2 SCN + +BT +179.1675 551.186 Td +/F1.0 10.5 Tf +<2c20> Tj +ET + +0.0 0.0 0.0 SCN +0.0 0.0 0.0 scn +0.6941 0.1294 0.2745 scn +0.6941 0.1294 0.2745 SCN + +BT +184.512 551.186 Td /F3.0 10.5 Tf <647063> Tj ET @@ -13920,9 +13935,20 @@ ET 0.2 0.2 0.2 SCN BT -338.1165 545.186 Td +200.262 551.186 Td /F1.0 10.5 Tf -<20657463> Tj +<20616e6420> Tj +ET + +0.0 0.0 0.0 SCN +0.0 0.0 0.0 scn +0.6941 0.1294 0.2745 scn +0.6941 0.1294 0.2745 SCN + +BT +224.811 551.186 Td +/F3.0 10.5 Tf +<6461746130> Tj ET 0.0 0.0 0.0 SCN @@ -13937,7 +13963,70 @@ ET 0.2 0.2 0.2 SCN BT -74.954 523.406 Td +56.8805 529.406 Td +/F1.0 10.5 Tf + Tj +ET + +0.0 0.0 0.0 SCN +0.0 0.0 0.0 scn + +0.0 Tc +0.2 0.2 0.2 scn +0.2 0.2 0.2 SCN + +BT +66.24 529.406 Td +/F1.0 10.5 Tf +<4162696c69747920746f20656e746572206465627567206d6f6465207769746820636f727265637420757064617465206f6620> Tj +ET + +0.0 0.0 0.0 SCN +0.0 0.0 0.0 scn +0.6941 0.1294 0.2745 scn +0.6941 0.1294 0.2745 SCN + +BT +322.3665 529.406 Td +/F3.0 10.5 Tf +<64637372> Tj +ET + +0.0 0.0 0.0 SCN +0.0 0.0 0.0 scn +0.2 0.2 0.2 scn +0.2 0.2 0.2 SCN + +BT +343.3665 529.406 Td +/F1.0 10.5 Tf +<20616e6420> Tj +ET + +0.0 0.0 0.0 SCN +0.0 0.0 0.0 scn +0.6941 0.1294 0.2745 scn +0.6941 0.1294 0.2745 SCN + +BT +367.9155 529.406 Td +/F3.0 10.5 Tf +<647063> Tj +ET + +0.0 0.0 0.0 SCN +0.0 0.0 0.0 scn + +-0.5 Tc + +0.0 Tc + +-0.5 Tc +0.2 0.2 0.2 scn +0.2 0.2 0.2 SCN + +BT +74.954 507.626 Td /F1.1 10.5 Tf <21> Tj ET @@ -13950,7 +14039,7 @@ ET 0.2 0.2 0.2 SCN BT -84.24 523.406 Td +84.24 507.626 Td /F1.0 10.5 Tf [<53> 20.0195 <796e6368726f6e6f75736c792076696120657863657074696f6e2c20>] TJ ET @@ -13961,7 +14050,7 @@ ET 0.6941 0.1294 0.2745 SCN BT -233.5498 523.406 Td +233.5498 507.626 Td /F3.0 10.5 Tf <65627265616b> Tj ET @@ -13972,7 +14061,7 @@ ET 0.2 0.2 0.2 SCN BT -265.0498 523.406 Td +265.0498 507.626 Td /F1.0 10.5 Tf <206f722074726967676572206d61746368> Tj ET @@ -13989,7 +14078,7 @@ ET 0.2 0.2 0.2 SCN BT -74.954 501.626 Td +74.954 485.846 Td /F1.1 10.5 Tf <21> Tj ET @@ -14002,7 +14091,7 @@ ET 0.2 0.2 0.2 SCN BT -84.24 501.626 Td +84.24 485.846 Td /F1.0 10.5 Tf <4173796e6368726f6e6f75736c79207669612065787465726e616c2068616c742072657175657374> Tj ET @@ -14019,7 +14108,7 @@ ET 0.2 0.2 0.2 SCN BT -56.8805 479.846 Td +56.8805 464.066 Td /F1.0 10.5 Tf Tj ET @@ -14032,7 +14121,7 @@ ET 0.2 0.2 0.2 SCN BT -66.24 479.846 Td +66.24 464.066 Td /F1.0 10.5 Tf <4162696c69747920746f2065786974206465627567206d6f646520746f204d206d6f6465> Tj ET @@ -14049,7 +14138,7 @@ ET 0.2 0.2 0.2 SCN BT -56.8805 458.066 Td +56.8805 442.286 Td /F1.0 10.5 Tf Tj ET @@ -14062,9 +14151,31 @@ ET 0.2 0.2 0.2 SCN BT -66.24 458.066 Td +66.24 442.286 Td /F1.0 10.5 Tf -[<41> 20.0195 <6464726573732071756572792f6d6174636820696e7465726661636520666f722065787465726e616c207472696767657220756e6974>] TJ +<44697265637420726561642f77726974652061636365737320746f2074686520> Tj +ET + +0.0 0.0 0.0 SCN +0.0 0.0 0.0 scn +0.6941 0.1294 0.2745 scn +0.6941 0.1294 0.2745 SCN + +BT +219.8655 442.286 Td +/F3.0 10.5 Tf +<6461746130> Tj +ET + +0.0 0.0 0.0 SCN +0.0 0.0 0.0 scn +0.2 0.2 0.2 scn +0.2 0.2 0.2 SCN + +BT +246.1155 442.286 Td +/F1.0 10.5 Tf +<204353522066726f6d20616e2065787465726e616c204465627567204d6f64756c65> Tj ET 0.0 0.0 0.0 SCN @@ -14079,7 +14190,7 @@ ET 0.2 0.2 0.2 SCN BT -56.8805 436.286 Td +56.8805 420.506 Td /F1.0 10.5 Tf Tj ET @@ -14092,9 +14203,9 @@ ET 0.2 0.2 0.2 SCN BT -66.24 436.286 Td +66.24 420.506 Td /F1.0 10.5 Tf -<4162696c69747920746f20696e6a65637420776f72647320696e746f2074686520696e737472756374696f6e207072656665746368207175657565207768656e207468652070726f636573736f722069732068616c746564> Tj +<4162696c69747920746f20696e6a65637420776f72647320696e746f2074686520696e737472756374696f6e207072656665746368207175657565207768656e20696e206465627567206d6f6465> Tj ET 0.0 0.0 0.0 SCN @@ -14109,7 +14220,7 @@ ET 0.2 0.2 0.2 SCN BT -56.8805 414.506 Td +56.8805 398.726 Td /F1.0 10.5 Tf Tj ET @@ -14121,25 +14232,10 @@ ET 0.2 0.2 0.2 scn 0.2 0.2 0.2 SCN -0.258 Tw - -BT -66.24 414.506 Td -/F1.0 10.5 Tf -<4162696c69747920746f20737570707265737320657863657074696f6e20656e747279207768656e20657865637574696e6720696e737472756374696f6e7320696e206465627567206d6f64652c20616e642070726f7669646520616e> Tj -ET - - -0.0 Tw -0.0 0.0 0.0 SCN -0.0 0.0 0.0 scn -0.2 0.2 0.2 scn -0.2 0.2 0.2 SCN - BT 66.24 398.726 Td /F1.0 10.5 Tf -<65787465726e616c207369676e616c20746f20696e6469636174652074686520657863657074696f6e20746f6f6b20706c616365> Tj +[<41> 20.0195 <6464726573732071756572792f6d6174636820696e7465726661636520666f722065787465726e616c207472696767657220756e6974>] TJ ET 0.0 0.0 0.0 SCN @@ -14166,23 +14262,12 @@ ET 0.2 0.2 0.2 scn 0.2 0.2 0.2 SCN +0.258 Tw + BT 66.24 376.946 Td /F1.0 10.5 Tf -<4120726561642f777269746520646174612062757320776869636820616c6c6f77732074686520444d20746f20696e7465726365707420636f726520435352206163636573736573> Tj -ET - -0.0 0.0 0.0 SCN -0.0 0.0 0.0 scn -0.2 0.2 0.2 scn -0.2 0.2 0.2 SCN - -3.6926 Tw - -BT -48.24 349.166 Td -/F1.0 10.5 Tf -[<54686520444d20696d706c656d656e7473206162737472> 20.0195 <61637420475052206163636573732062> 20.0195 <7920696e6a656374696e6720612064756d6d79204353522061636365737320696e737472756374696f6e2c20616e64>] TJ +<4162696c69747920746f20737570707265737320657863657074696f6e20656e747279207768656e20657865637574696e6720696e737472756374696f6e7320696e206465627567206d6f64652c20616e642070726f7669646520616e> Tj ET @@ -14192,12 +14277,23 @@ ET 0.2 0.2 0.2 scn 0.2 0.2 0.2 SCN -0.9575 Tw +BT +66.24 361.166 Td +/F1.0 10.5 Tf +<65787465726e616c207369676e616c20746f20696e6469636174652074686520657863657074696f6e20746f6f6b20706c616365> Tj +ET + +0.0 0.0 0.0 SCN +0.0 0.0 0.0 scn +0.2 0.2 0.2 scn +0.2 0.2 0.2 SCN + +0.3921 Tw BT 48.24 333.386 Td /F1.0 10.5 Tf -<6d616e6970756c6174696e67207468652043535220706f727420746f20676574206461746120696e2f6f7574206f662074686520636f72652e204120> Tj +[<54686520444d20696d706c656d656e7473206162737472> 20.0195 <61637420475052206163636573732062> 20.0195 <792072656164696e672f77726974696e672074686520>] TJ ET @@ -14207,12 +14303,12 @@ ET 0.6941 0.1294 0.2745 scn 0.6941 0.1294 0.2745 SCN -0.9575 Tw +0.3921 Tw BT -350.0652 333.386 Td +370.6325 333.386 Td /F3.0 10.5 Tf -<63737272> Tj +<6461746130> Tj ET @@ -14222,12 +14318,12 @@ ET 0.2 0.2 0.2 scn 0.2 0.2 0.2 SCN -0.9575 Tw +0.3921 Tw BT -371.0652 333.386 Td +396.8825 333.386 Td /F1.0 10.5 Tf -<206973207573656420746f20777269746520746f206120636f72652072656769737465722c> Tj +<204353522c20616e6420696e6a656374696e672043535220616363657373> Tj ET @@ -14237,12 +14333,12 @@ ET 0.2 0.2 0.2 scn 0.2 0.2 0.2 SCN -0.4275 Tw +0.1101 Tw BT 48.24 317.606 Td /F1.0 10.5 Tf -<616e64206120> Tj +<696e737472756374696f6e732e2041204750522077726974652075736573206120> Tj ET @@ -14252,100 +14348,118 @@ ET 0.6941 0.1294 0.2745 scn 0.6941 0.1294 0.2745 SCN -0.4275 Tw +0.1101 Tw BT -79.5451 317.606 Td +210.1808 317.606 Td +/F3.0 10.5 Tf +<6461746130> Tj +ET + + +0.0 Tw +0.0 0.0 0.0 SCN +0.0 0.0 0.0 scn +0.2 0.2 0.2 scn +0.2 0.2 0.2 SCN + +0.1101 Tw + +BT +236.4308 317.606 Td +/F1.0 10.5 Tf +[<20777269746520666f6c6c6f7765642062> 20.0195 <79206120>] TJ +ET + + +0.0 Tw +0.0 0.0 0.0 SCN +0.0 0.0 0.0 scn +0.6941 0.1294 0.2745 scn +0.6941 0.1294 0.2745 SCN + +0.1101 Tw + +BT +338.8733 317.606 Td +/F3.0 10.5 Tf +<6373727220782c206461746130> Tj +ET + + +0.0 Tw +0.0 0.0 0.0 SCN +0.0 0.0 0.0 scn +0.2 0.2 0.2 scn +0.2 0.2 0.2 SCN + +0.1101 Tw + +BT +407.3436 317.606 Td +/F1.0 10.5 Tf +<2c20616e6420612047505220726561642075736573206120> Tj +ET + + +0.0 Tw +0.0 0.0 0.0 SCN +0.0 0.0 0.0 scn +0.6941 0.1294 0.2745 scn +0.6941 0.1294 0.2745 SCN + +0.1101 Tw + +BT +526.04 317.606 Td /F3.0 10.5 Tf <63737277> Tj ET 0.0 Tw +0.0 0.0 0.0 SCN +0.0 0.0 0.0 scn +0.6941 0.1294 0.2745 scn +0.6941 0.1294 0.2745 SCN + +BT +48.24 301.826 Td +/F3.0 10.5 Tf +<64617461302c2078> Tj +ET + 0.0 0.0 0.0 SCN 0.0 0.0 0.0 scn 0.2 0.2 0.2 scn 0.2 0.2 0.2 SCN -0.4275 Tw - BT -100.5451 317.606 Td +90.24 301.826 Td /F1.0 10.5 Tf -[<20746f20726561642066726f6d206120636f72652072656769737465722e2042> 20.0195 <7920696e6a656374696e67206120>] TJ +[<20666f6c6c6f7765642062> 20.0195 <79206120>] TJ ET - -0.0 Tw 0.0 0.0 0.0 SCN 0.0 0.0 0.0 scn 0.6941 0.1294 0.2745 scn 0.6941 0.1294 0.2745 SCN -0.4275 Tw - BT -320.3117 317.606 Td +162.7633 301.826 Td /F3.0 10.5 Tf -<6373727277> Tj +<6461746130> Tj ET - -0.0 Tw 0.0 0.0 0.0 SCN 0.0 0.0 0.0 scn 0.2 0.2 0.2 scn 0.2 0.2 0.2 SCN -0.4275 Tw - BT -346.5617 317.606 Td +189.0133 301.826 Td /F1.0 10.5 Tf -<2c2074686520444d2063616e20> Tj -ET - - -0.0 Tw -0.0 0.0 0.0 SCN -0.0 0.0 0.0 scn -0.2 0.2 0.2 scn -0.2 0.2 0.2 SCN - -0.4275 Tw - -BT -413.0568 317.606 Td -/F4.0 10.5 Tf -<73776170> Tj -ET - - -0.0 Tw -0.0 0.0 0.0 SCN -0.0 0.0 0.0 scn -0.2 0.2 0.2 scn -0.2 0.2 0.2 SCN - -0.4275 Tw - -BT -438.6453 317.606 Td -/F1.0 10.5 Tf -<2061204750522077697468206f6e65206f6620697473> Tj -ET - - -0.0 Tw -0.0 0.0 0.0 SCN -0.0 0.0 0.0 scn -0.2 0.2 0.2 scn -0.2 0.2 0.2 SCN - -BT -48.24 301.826 Td -/F1.0 10.5 Tf -[<6f776e20696e7465726e616c207265676973746572732c2074686f7567682074686973206973206e6f74206578706f736564207468726f75676820746865206162737472> 20.0195 <616374204750522061636365737320636f6d6d616e642e>] TJ +<20726561642e> Tj ET 0.0 0.0 0.0 SCN @@ -14639,7 +14753,6 @@ endobj /F1.0 8 0 R /F3.0 18 0 R /F1.1 19 0 R -/F4.0 67 0 R >> /XObject << /Stamp2 152 0 R >> @@ -17653,32 +17766,32 @@ endobj [259 354 559 1000 200 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500] endobj 169 0 obj -<< /Length1 6860 -/Length 4046 +<< /Length1 6472 +/Length 3684 /Filter [/FlateDecode] >> stream -xXtS}$Y˶l\+?l`%bٖd6%Hdؒ'- qB,ldgiҝ~ɗVNSwj씛:'oEzP_o.>Ẅ́[R܈vzH#HsҤӓo֭Ə=XWaJXWHf S@~@.?'_>~3?JgrUCpށI=fpU5xEُ Ш^V!AVdWfX;Z Э*m#z0N>@( -&__.d9syn :@(908bIth8ሄOd/:r8Lr&2u9{iT{s ~rn5Ӈ Xh4{Dm.tU6UO:toP[߰Cv!m}^S9Ĩ|o8hh*:b ϷGrģXh<4F'ቤʱP9S?ȴ $c4qՌ9TC5 -' -I^*3^H-nUAžo`xyٰgŲ$E}9~VQ1vN3ٱGn݆}H;#BQ_ܜ}žg-U8u#6ƸS/V7;Y)cY'qfӌhI~"-\ܑSv"ݟg4_^:'gKrM8[94Gb~GF}a{_fn$ g{ _P\*Xu(+ջ\x_Y|HZ˱/ވYb<)Ed-e@Hk@}>KΒ Yb$3vIQ&iҚ&6iZlk JjŖbd7 U-!EHASV!O!%|Γ &E>'#]i{ -Њk|tkpDo+"5|ѺW+VhF}٪ًw/ -Eo!}Zp–WHWIWH*Hs3"#/f4*.{,dXUEHJ0Jwic[4H<.ј -ǖw_spqk |tuT;ZR.o,s"-K'_+Q$]+S$bh1γDKȩaW]]B^vGxB!'k ٹ9h_ߣlsyzo fq`X?_x<a " ʍI3D2y |e L16SWqjzî==ήNfmŖw=y[,Mkk6Hզ -ch‚|}N1LvJOJ]] >olc%B}"uh 4SDm] =8I^=|j$L&\AAUt0eP|aA!4|A! qldn&y<V3XcAVi2yƧTtJICt8I믤_0nU@ -{яkS=zN)S6K6eSVJd+uLjВ*1H4 ;[+j :0C/_ΎJ WJEaઅ;'+^ ]L'&&.}tІz.X6XXp߇[S,RT1JK̲\D];4S{g˙dIKИ9D+M1̫Z{W|q4)V/nW^h7QkTaOK٩`45HʜL9E_R"ނW׀(KEn4CLMc -ZN]tD9]&)4 8MUŸBςڵ8%Ib8bYrz$YJAX<7e5<^  &^$X0G]*^"v.NӔ^qpIhS֝ŕY=K?1V4Լj96%9)ix|*3PYDN [ >%=19'߀sK+8*0`sKVY>1"F`lAaEL@LìcREc緝|L,ǡ#D!n{UJ$+R;[ޚu 夡.}R]e2^^оon0‹[ٓ[1~qpޅx6 Ku<7q-$%?.p'Q6o?b3(}t/T:Rgh +G؊ blwaX2LyQZq-`O_ < 2| ڴ~2e> |tߙOs,{ZA0 -:]n]¡󺵗'|KxǴ#aQg? -Kru +xX}l[u?=,Ӫ9GzbOiYvd;EI$%JH*|D&GGJXEĥc7kph6H MyC3lMaPNQMgFEV;Ilz{y) P gr +XH|'gd ѸzMrE4Ȗ4POw)Fϱރ~édF-|~7QޙJs(_(F8x7V`C*9ހ lj.@,1>'qVl}h6M{MapPf"ڪm^|;*,,?opnpM Zpq 5m.T_׵{Ij޷Uj\-ܬgOD<၁GZqWod6˩3S}=ϼ'|82ő/n +S`kmjݷ}{5+\[>?|㻕/ߙ׾>Ś/6*0gOއ+oAPHK,J3˯y.QD~DI7i/ɋs.(`^(RpzA_R(`>#)W e;1} + +0{8` dz-E X?Ru\|O#yaHEudq#Tu$&Jv 꿬딀\q3ԓe7ß 5:^ +uBNa\.2x\C(x9mk;W@WW +/ :-䭁dj!t=t0W71c}tue褒Qǔ )X4`b8ۉ%AM"> +J^H رՇ<֓k2\RV&$),"/׈Wc3Ȫl1y$H )7.sޣ#Ȓl hyѮ82!CK +g>6ק)%%ӾNqfEmCrmwl #J\N?EónSI0 O!f72'<ܥdbs W}FxYٺ(wɪLIW"tzF*ڑC~< +0Fag#hأ:p?~>kIs@C*Rǎ$iGg$ʁ}$8֑qĒd= bY\&?I&TKΪSGIdГDDIS5P0K)B;vzH,cYEM9A|k}>>ѾɾQct`l{FQоکCsT97L&4OXmJ2)e&6rb.+*RJ:˰^IDp*\KS lf 1'&p׫|Ob@FRֶ('-,\ׇ{0c< ̇70#rgƲU~MUn_Se3>}ئe&1;Ŗ 5re/1D(~!#]~BX`a +ZUNK'3i#34_GQNVsbcf94Y,e~eVE[\HF_DHفpM e Yݦaz.efұgbdz19ZXSkέǚ~YLCNo.LV| f~%r= uڝ+PyK+~v`4Blźz0K\X@jA{qN +X"Xcx@T ; +R r`|T--eһL`ٲLžgHjER'T*, Bi R:刲2KN)$W?gZyxJ7Wyaߤ._WʱU&QtZ]b? Moy[zu+ꕦW_>%2uRW$;Zۤ`;9j M%B 9G +ue&š#XGjЃۜ +@mWMp*x[Dc=SSbo`,p5p=p;` x 5VRhT*  ^^%V]]%b朄76ϋ Hȋymd09?SZΉ## =w oZx{hD`ذl7@(ɨm!6i6-22L=UU'PKV0l-s4鰞ƣNw(&'F9<2]}C_yw|elkjTm,/+5t6[ݫm\ 8fJ8%14ͷ_νdp[EDȏ5QƱ9ѝ=Ui$_5]r6:26Ƚ)flH41r[77"Z,kzнG\8'/%jr\ʍ Z*iy!YQrP_ӻvⱠ&xhTFz%~:3Y݀@wOm6KNFA[eZ/҄0빼S`==kFsioDrO4ӓ,Erjr5#u)ZĨflE0Sؐ [[V%wX;mDѮ C-†Scv9!x4x21_чiugQb3Sw.*%*t^rU;jMakw, Zm3IA% =Ng3j€?8F&;ŽF +Z4rLU ߃Vbׂ(KįUm4CE݊KcR#KU6g`j يOGTGSV< C̗,iPRs<ý;\Y&ayڬ띫 ryM]941rI'ܫKaj+l?K71hsy(۶9I`Y3l!#v<95wS#Kz a %@&P&0I\z {  p8f^, E̲ c(5Fx~i/B\8r#G4"BHD0UheүK exo7134grqcwUè"lp3 C| pp^ Rr}Ǽڸ=6 _ky?yn;7c'n:]"- 20&8[8'௜MЉrR\/~[簧S68'7߂g/񯡾pހOX[W=^qIQp(ub4k@d%w(|_x#a}.<]Rg endstream endobj 170 0 obj << /Type /FontDescriptor -/FontName /f37706+NotoSerif-Italic +/FontName /e6a149+NotoSerif-Italic /FontFile2 169 0 R /FontBBox [-254 -250 1238 1047] /Flags 70 @@ -17701,7 +17814,7 @@ x endstream endobj 172 0 obj -[600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 579 600 600 600 600 600 600 600 600 600 600 304 600 600 600 577 600 600 463 600 600 600 818 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600] +[600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 579 600 600 600 600 600 600 600 600 600 600 304 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600] endobj xref 0 173 @@ -17778,111 +17891,111 @@ xref 0000180831 00000 n 0000180875 00000 n 0000180919 00000 n -0000194571 00000 n -0000194952 00000 n -0000194996 00000 n -0000195040 00000 n -0000216406 00000 n -0000216761 00000 n -0000216805 00000 n -0000222783 00000 n -0000223125 00000 n -0000223249 00000 n -0000223375 00000 n -0000223512 00000 n -0000223650 00000 n -0000223768 00000 n -0000223887 00000 n -0000224010 00000 n -0000224135 00000 n -0000224258 00000 n -0000224383 00000 n -0000224534 00000 n -0000224687 00000 n -0000224802 00000 n -0000224920 00000 n -0000225046 00000 n -0000225173 00000 n -0000225294 00000 n -0000225417 00000 n -0000225537 00000 n -0000225659 00000 n -0000225778 00000 n -0000225899 00000 n -0000226019 00000 n -0000226141 00000 n -0000226258 00000 n -0000226377 00000 n -0000226502 00000 n -0000226628 00000 n -0000226747 00000 n -0000226867 00000 n -0000226985 00000 n -0000227105 00000 n -0000227223 00000 n -0000227343 00000 n -0000227460 00000 n -0000227579 00000 n -0000227703 00000 n -0000227828 00000 n -0000227946 00000 n -0000228066 00000 n -0000228212 00000 n -0000228359 00000 n -0000228481 00000 n -0000228604 00000 n -0000228682 00000 n -0000228819 00000 n -0000229011 00000 n -0000229227 00000 n -0000229520 00000 n -0000229670 00000 n -0000229858 00000 n -0000230046 00000 n -0000230340 00000 n -0000230554 00000 n -0000230765 00000 n -0000230939 00000 n -0000231119 00000 n -0000231295 00000 n -0000231475 00000 n -0000231629 00000 n -0000231832 00000 n -0000231990 00000 n -0000232162 00000 n -0000232334 00000 n -0000232502 00000 n -0000232680 00000 n -0000232883 00000 n -0000233141 00000 n -0000233303 00000 n -0000233518 00000 n -0000233789 00000 n -0000234060 00000 n -0000244797 00000 n -0000245013 00000 n -0000246376 00000 n -0000247293 00000 n -0000256287 00000 n -0000256508 00000 n -0000257871 00000 n -0000258787 00000 n -0000264118 00000 n -0000264333 00000 n -0000265696 00000 n -0000266611 00000 n -0000270547 00000 n -0000270763 00000 n -0000271086 00000 n -0000272002 00000 n -0000276139 00000 n -0000276365 00000 n -0000277728 00000 n +0000195656 00000 n +0000196024 00000 n +0000196068 00000 n +0000196112 00000 n +0000217478 00000 n +0000217833 00000 n +0000217877 00000 n +0000223855 00000 n +0000224197 00000 n +0000224321 00000 n +0000224447 00000 n +0000224584 00000 n +0000224722 00000 n +0000224840 00000 n +0000224959 00000 n +0000225082 00000 n +0000225207 00000 n +0000225330 00000 n +0000225455 00000 n +0000225606 00000 n +0000225759 00000 n +0000225874 00000 n +0000225992 00000 n +0000226118 00000 n +0000226245 00000 n +0000226366 00000 n +0000226489 00000 n +0000226609 00000 n +0000226731 00000 n +0000226850 00000 n +0000226971 00000 n +0000227091 00000 n +0000227213 00000 n +0000227330 00000 n +0000227449 00000 n +0000227574 00000 n +0000227700 00000 n +0000227819 00000 n +0000227939 00000 n +0000228057 00000 n +0000228177 00000 n +0000228295 00000 n +0000228415 00000 n +0000228532 00000 n +0000228651 00000 n +0000228775 00000 n +0000228900 00000 n +0000229018 00000 n +0000229138 00000 n +0000229284 00000 n +0000229431 00000 n +0000229553 00000 n +0000229676 00000 n +0000229754 00000 n +0000229891 00000 n +0000230083 00000 n +0000230299 00000 n +0000230592 00000 n +0000230742 00000 n +0000230930 00000 n +0000231118 00000 n +0000231412 00000 n +0000231626 00000 n +0000231837 00000 n +0000232011 00000 n +0000232191 00000 n +0000232367 00000 n +0000232547 00000 n +0000232701 00000 n +0000232904 00000 n +0000233062 00000 n +0000233234 00000 n +0000233406 00000 n +0000233574 00000 n +0000233752 00000 n +0000233955 00000 n +0000234213 00000 n +0000234375 00000 n +0000234590 00000 n +0000234861 00000 n +0000235132 00000 n +0000245869 00000 n +0000246085 00000 n +0000247448 00000 n +0000248365 00000 n +0000257359 00000 n +0000257580 00000 n +0000258943 00000 n +0000259859 00000 n +0000265190 00000 n +0000265405 00000 n +0000266768 00000 n +0000267683 00000 n +0000271619 00000 n +0000271835 00000 n +0000272158 00000 n +0000273074 00000 n +0000276849 00000 n +0000277075 00000 n +0000278438 00000 n trailer << /Size 173 /Root 2 0 R /Info 1 0 R >> startxref -278643 +279353 %%EOF diff --git a/doc/sections/debug.adoc b/doc/sections/debug.adoc index 3e90500..b859dad 100644 --- a/doc/sections/debug.adoc +++ b/doc/sections/debug.adoc @@ -4,23 +4,23 @@ Currently the plan is for Hazard3, with its associated debug module (DM), to sup * Run/halt/reset control as required * Abstract GPR access as required -* Program buffer: 2 words plus `impebreak` -* Automatic program buffer execution triggered by abstract GPR access (`abstractauto`) +* Program Buffer, 2 words plus `impebreak` +* Automatic trigger of abstract command on data/progbuf access (`abstractauto`) for efficient memory block transfers from the host * Some minimum useful trigger unit -- likely just breakpoints, no watchpoints The core itself will implement the following, enabling the DM to provide a compliant debug interface: -* Debug mode CSRs -* Ability to enter debug mode with correct update of `dpc` etc +* Debug mode CSRs `dcsr`, `dpc` and `data0` +* Ability to enter debug mode with correct update of `dcsr` and `dpc` ** Synchronously via exception, `ebreak` or trigger match ** Asynchronously via external halt request * Ability to exit debug mode to M mode +* Direct read/write access to the `data0` CSR from an external Debug Module +* Ability to inject words into the instruction prefetch queue when in debug mode * Address query/match interface for external trigger unit -* Ability to inject words into the instruction prefetch queue when the processor is halted * Ability to suppress exception entry when executing instructions in debug mode, and provide an external signal to indicate the exception took place -* A read/write data bus which allows the DM to intercept core CSR accesses -The DM implements abstract GPR access by injecting a dummy CSR access instruction, and manipulating the CSR port to get data in/out of the core. A `csrr` is used to write to a core register, and a `csrw` to read from a core register. By injecting a `csrrw`, the DM can _swap_ a GPR with one of its own internal registers, though this is not exposed through the abstract GPR access command. +The DM implements abstract GPR access by reading/writing the `data0` CSR, and injecting CSR access instructions. A GPR write uses a `data0` write followed by a `csrr x, data0`, and a GPR read uses a `csrw data0, x` followed by a `data0` read. The debugger implements memory and CSR access using the Program Buffer, which uses the same instruction injection interface used by the DM to implement abstract GPR access. The `abstractauto` feature allows the DM to execute the program buffer automatically following every abstract GPR access, which can be used for e.g. autoincrementing read/write memory bursts. @@ -45,7 +45,7 @@ Core behaviour: * The `dscratch` CSRs are not implemented * `data0` is implemented as a scratch CSR mapped at `0x7b2` (the location of `dscratch0`), readable and writable by the debugger. * `dcsr.stepie` is hardwired to 0 (no interrupts during single stepping) -* `dcsr.stopcount` and `dcsr.stoptime` are hardwired to 1 (no counter/timer increment in debug mode) +* `dcsr.stopcount` and `dcsr.stoptime` are hardwired to 1 (no counter or internal timer increment in debug mode) * `dcsr.mprven` is hardwired to 0 * `dcsr.prv` is hardwired to 3 (M-mode)