| Line 29... | Line 29... | 
      
        | # Sequence of independent interrupts
 | # Sequence of independent interrupts
 | 
      
        | run_libsim "int-level simple 1"                     \
 | run_libsim "int-level simple 1"                     \
 | 
      
        |     [list "Initalization succeeded."                \
 |     [list "Initalization succeeded."                \
 | 
      
        |           "Starting interrupt handler"              \
 |           "Starting interrupt handler"              \
 | 
      
        |           "Enabling interrupts."                    \
 |           "Enabling interrupts."                    \
 | 
      
        |           "Raising interrupt 1"                     \
 |           "Triggering interrupt 1"                  \
 | 
      
        |           "PICSR = 0x00000002"                      \
 |           "PICSR = 0x00000002"                      \
 | 
      
        |           "Clearing interrupt 1"                    \
 |           "Clearing interrupt 1"                    \
 | 
      
        |           "Test completed successfully."]           \
 |           "Test completed successfully."]           \
 | 
      
        |     "lib-inttest/lib-inttest-level" "int-level.cfg" \
 |     "lib-inttest/lib-inttest" "int-level.cfg"       \
 | 
      
        |     "int-logger/int-logger-level" "+1" "-1"
 |     "int-logger/int-logger" "-l" "1"
 | 
      
        |  
 |  
 | 
      
        | run_libsim "int-level simple 2"                     \
 | run_libsim "int-level simple 2"                     \
 | 
      
        |     [list "Initalization succeeded."                \
 |     [list "Initalization succeeded."                \
 | 
      
        |           "Starting interrupt handler"              \
 |           "Starting interrupt handler"              \
 | 
      
        |           "Enabling interrupts."                    \
 |           "Enabling interrupts."                    \
 | 
      
        |           "Raising interrupt 7"                     \
 |           "Triggering interrupt 7"                  \
 | 
      
        |           "PICSR = 0x00000080"                      \
 |           "PICSR = 0x00000080"                      \
 | 
      
        |           "Clearing interrupt 7"                    \
 |           "Clearing interrupt 7"                    \
 | 
      
        |           "Raising interrupt 17"                    \
 |           "Triggering interrupt 17"                 \
 | 
      
        |           "PICSR = 0x00020000"                      \
 |           "PICSR = 0x00020000"                      \
 | 
      
        |           "Clearing interrupt 17"                   \
 |           "Clearing interrupt 17"                   \
 | 
      
        |           "Raising interrupt 31"                    \
 |           "Triggering interrupt 31"                 \
 | 
      
        |           "PICSR = 0x80000000"                      \
 |           "PICSR = 0x80000000"                      \
 | 
      
        |           "Clearing interrupt 31"                   \
 |           "Clearing interrupt 31"                   \
 | 
      
        |           "Test completed successfully."]           \
 |           "Test completed successfully."]           \
 | 
      
        |     "lib-inttest/lib-inttest-level" "int-level.cfg" \
 |     "lib-inttest/lib-inttest" "int-level.cfg"       \
 | 
      
        |     "int-logger/int-logger-level" "+7" "-7" "+17" "-17" "+31" "-31"
 |     "int-logger/int-logger" "-l" "7" "17" "31"
 | 
      
        |  
 |   | 
      
        | # Uncleared interrupt (this only matches the first two reports or PICSR, there
 |   | 
      
        | # are many)
 |   | 
      
        | run_libsim "int-level uncleared interrupt"          \
 |   | 
      
        |     [list "Initalization succeeded."                \
 |   | 
      
        |           "Starting interrupt handler"              \
 |   | 
      
        |           "Enabling interrupts."                    \
 |   | 
      
        |           "Raising interrupt 1"                     \
 |   | 
      
        |           "PICSR = 0x00000002"                      \
 |   | 
      
        |           "PICSR = 0x00000002"                      \
 |   | 
      
        |           "Test completed successfully."]           \
 |   | 
      
        |     "lib-inttest/lib-inttest-level" "int-level.cfg" \
 |   | 
      
        |     "int-logger/int-logger-level" "+1"
 |   | 
      
        |  
 |   | 
      
        | # Clearing the wrong interrupt
 |   | 
      
        | run_libsim "int-level wrong clear"                  \
 |   | 
      
        |     [list "Initalization succeeded."                \
 |   | 
      
        |           "Starting interrupt handler"              \
 |   | 
      
        |           "Enabling interrupts."                    \
 |   | 
      
        |           "Raising interrupt 31"                    \
 |   | 
      
        |           "PICSR = 0x80000000"                      \
 |   | 
      
        |           "Clearing interrupt 1"                    \
 |   | 
      
        |           "PICSR = 0x80000000"                      \
 |   | 
      
        |           "Clearing interrupt 31"                   \
 |   | 
      
        |           "Test completed successfully."]           \
 |   | 
      
        |     "lib-inttest/lib-inttest-level" "int-level.cfg" \
 |   | 
      
        |     "int-logger/int-logger-level" "+31" "-1" "-31"
 |   | 
      
        |  
 |  
 | 
      
        | # Check the boundaries of acceptable interrupt numbers
 | # Check the boundaries of acceptable interrupt numbers
 | 
      
        | run_libsim "int-level check boundaries"               \
 | run_libsim "int-level check boundaries"               \
 | 
      
        |     [list "Warning: Invalid interrupt # 32 to raise." \
 |     [list "Warning: Invalid interrupt # 0 to raise: Exiting."]  \
 | 
      
        |           "Warning: Invalid interrupt # 32 to clear." \
 |     "lib-inttest/lib-inttest" "int-level.cfg"                   \
 | 
      
        |           "Initalization succeeded."                  \
 |     "int-logger/int-logger" "-l" "0" "1" "31" "32" "31" "1" "0"
 | 
      
        |           "Starting interrupt handler"                \
 |   | 
      
        |           "Enabling interrupts."                      \
 |   | 
      
        |           "Raising interrupt 0"                       \
 |   | 
      
        |           "PICSR = 0x00000001"                        \
 |   | 
      
        |           "Clearing interrupt 0"                      \
 |   | 
      
        |           "Raising interrupt 1"                       \
 |   | 
      
        |           "PICSR = 0x00000002"                        \
 |   | 
      
        |           "Clearing interrupt 1"                      \
 |   | 
      
        |           "Raising interrupt 31"                      \
 |   | 
      
        |           "PICSR = 0x80000000"                        \
 |   | 
      
        |           "Clearing interrupt 31"                     \
 |   | 
      
        |           "Raising interrupt 31"                      \
 |   | 
      
        |           "PICSR = 0x80000000"                        \
 |   | 
      
        |           "Clearing interrupt 31"                     \
 |   | 
      
        |           "Raising interrupt 1"                       \
 |   | 
      
        |           "PICSR = 0x00000002"                        \
 |   | 
      
        |           "Clearing interrupt 1"                      \
 |   | 
      
        |           "Raising interrupt 0"                       \
 |   | 
      
        |           "PICSR = 0x00000001"                        \
 |   | 
      
        |           "Clearing interrupt 0"                      \
 |   | 
      
        |           "Test completed successfully."]             \
 |   | 
      
        |     "lib-inttest/lib-inttest-level" "int-level.cfg"   \
 |   | 
      
        |     "int-logger/int-logger-level" "+0" "-0" "+1" "-1" "+31" "-31" "+32" "-32" \
 |   | 
      
        |                                   "+31" "-31" "+1" "-1" "+0" "-0"
 |   | 
      
        |     "int-logger/int-logger" "-l" "0" "1" "31" "32" "31" "1" "0"
 |   |