1. 05 Nov, 2015 1 commit
    • Christian Dietrich's avatar
      coptermock: fix timing for osek-v · 04fef307
      Christian Dietrich authored
      The maxallowedvalue of the watchdog timer was too small for the actual
      usage of the timer. This regression was introduced in 243a06f0. So it
      has no influence of already published research, since it only appears in
      the osek-v branch.
      
      Change-Id: I074d5b757e03bf8632e838a9f5cbd9e25ba2182e
      04fef307
  2. 04 Nov, 2015 2 commits
  3. 03 Nov, 2015 1 commit
  4. 29 Oct, 2015 8 commits
    • Christian Dietrich's avatar
      generator: make static alarm detection optional · db0aec51
      Christian Dietrich authored
      The static alarm detection can be turned of for osek-v with
      --static-alarms n. With this flag all counters and alarms are
      instantiated dynamically.
      
      Change-Id: I6cf44ed79ae60aebcdf9a375acd1ccb2fd450ea5
      db0aec51
    • Christian Dietrich's avatar
      extractor: compile bugfix · 6116139f
      Christian Dietrich authored
      The extractor did not build under posix AND osek-v, since the headers,
      which come with risc-v are weird.
      
      Change-Id: I43be143492954487a4cbe0d2a206a69b75d206b6
      6116139f
    • Christian Dietrich's avatar
      os_wired: labels before and after synchroneus syscalls · 26acd9bf
      Christian Dietrich authored
      Change-Id: I239c2c81f0946568c9a027d8c5004d0a691399f4
      26acd9bf
    • Christian Dietrich's avatar
      osek-v: possible base prescaling · 243a06f0
      Christian Dietrich authored
      After removing the static alarms from the system, we can optimize the
      timer irq frequency. We choose the GCD resolution of all dynamic
      counters and let the timer interrupt with a lower frequency. We're only
      allowed to do this optimization, if the underlying count has a lower
      resolution.
      
      Change-Id: Ic39c8f6db142baa97a7f50b19c23a7a1fe601eaa
      243a06f0
    • Christian Dietrich's avatar
      osek-v: wipe static alarms from software implementation · 7d05cde0
      Christian Dietrich authored
      Static alarms are not managed by the timer interrupt. We wipe them from
      the implementation. If a counter has no present alarms anymore, we wipe
      it from the timer interrupt. If no counter has to be ticked, the timer
      interrupt is disabled, the Counter::tick() method becomes empty.
      
      Change-Id: I9438c8cfa511b5163bbb477c2d5b4f2e0f469697
      7d05cde0
    • Christian Dietrich's avatar
      osek-v: static alarms · 269d7dcc
      Christian Dietrich authored
      We will identify static alarms. A static alarm is configured running
      within the OIL file, and is never touched by
      CancelAlarm/SetRelAlarm/SetAbsAlarm. The OSEK-V architecture will not
      emit code for manaing static alarms. They are managed by the hardware.
      
      Change-Id: I7ebd5c06120cbdf6e36a60f2939b5a5f01eb5962
      269d7dcc
    • Christian Dietrich's avatar
      osek-v: bench-coptermock workz! · 5c5a7ea2
      Christian Dietrich authored
      A few changes had to be done at the osek-v port in order to support
      bench-coptermock application:
      
      - interrupt support
      - slower timer interrupt
      - arch_startup has to return normally
      - implement interrupt control system calls
      
      Change-Id: I6fe5c046a9bd1fc6422c5abcc9aa2041cceae990
      5c5a7ea2
    • Christian Dietrich's avatar
      osek-v: new architecture · e24cffbe
      Christian Dietrich authored
      Change-Id: Icbff87011948f22e269824b772a48b3bda596804
      e24cffbe
  5. 23 Oct, 2015 1 commit
  6. 20 Oct, 2015 1 commit
  7. 23 Sep, 2015 1 commit
  8. 18 Sep, 2015 1 commit
  9. 16 Sep, 2015 1 commit
  10. 10 Sep, 2015 3 commits
  11. 07 Sep, 2015 1 commit
    • Christian Dietrich's avatar
      sse: do not wipe set events on SetEvent · be3c6155
      Christian Dietrich authored
      It is unwise to overwrite the set-event bitmask on a SetEvent system
      call. ecc1_event1f will ensure the correct behavior in the future.
      
      Change-Id: I98bf21664d381e6093c194ad0442ee168fc92764
      be3c6155
  12. 12 Aug, 2015 4 commits
  13. 06 Aug, 2015 1 commit
    • Christian Dietrich's avatar
      generator: application FSM transformation · 2f69ade0
      Christian Dietrich authored
      The ApplicationFSM pass transforms the ICFG of a task to a finite state
      machine. This construction is done by transforming CFG-edges to
      FSM-states, and CFG-blocks to FSM-transitions.
      
      In a second step, the CFG-computation blocks are handled as FSM-epsilon
      transitions. Then a standard epsilon elimination is done for
      subtask-FSM.
      
      Change-Id: I874bc3b17ebaf16b58bb70226e5eef091e5cbbe9
      2f69ade0
  14. 05 Aug, 2015 1 commit
  15. 27 Jul, 2015 4 commits
  16. 23 Jul, 2015 3 commits
    • Christian Dietrich's avatar
      fail: expose --inline-scheduler in variant name · 243b6a9f
      Christian Dietrich authored
      Change-Id: I83cac7005d667bdfd2045f8e0e58c03bddf1a475
      243b6a9f
    • Christian Dietrich's avatar
      os/scheduler: make schedule inlinable again · 4d9f11e5
      Christian Dietrich authored
      Inlining the scheduler reveals a high potential for specialization and
      and SDC reduction. In the implementation of the zedboard benchmark, we
      dropped the inlinability support. This is now possible again. With
      inline-scheduler+specialization the scheduler is paritally instansiated
      whereever possible.
      
      Test-Config: --arch i386 --encoded=no --inline-scheduler=yes --specialize=yes
      Test-Config: --arch i386 --encoded=no --inline-scheduler=yes --specialize=no
      Test-Config: --arch i386 --encoded=no --inline-scheduler=no --specialize=yes
      Test-Config: --arch i386 --encoded=no --inline-scheduler=no --specialize=no
      Test-Config: --arch i386 --encoded=yes --inline-scheduler=yes --specialize=yes
      Test-Config: --arch i386 --encoded=yes --inline-scheduler=yes --specialize=no
      Test-Config: --arch i386 --encoded=yes --inline-scheduler=no --specialize=yes
      Test-Config: --arch i386 --encoded=yes --inline-scheduler=no --specialize=no
      
      Change-Id: I2749078a3cc4ebeeb19bde14eb769b5781ac409f
      4d9f11e5
    • Christian Dietrich's avatar
      build system: proper inlining · 5b4cd7d8
      Christian Dietrich authored
      Inlining is hard. Convincing the compiler to actually inline the
      systemcall bodies is even harder. Therefore we now use the always_inline
      flag together with the -always-inline (llvm-opt) compiler
      pass. Furthermore -gc-section drops all unused functions.
      
      Change-Id: Ifd429e28ebb330944230076bca3886f4ef1171e3
      5b4cd7d8
  17. 20 Jul, 2015 1 commit
    • Christian Dietrich's avatar
      os/scheduler: unify scheduler.h.in · 4568b8f8
      Christian Dietrich authored
      Until know there where two different versions of scheduler.h.in, one for
      encoded and one for the unencoded variant. In essence they were nearly
      identical. Therefore, they could be unified without changing the
      execution sequence.
      
      Change-Id: Ifff4cd4a18bee135e286f330212aa14247cc2277
      4568b8f8
  18. 08 Jun, 2015 2 commits
    • Christian Dietrich's avatar
      i386: FaultDetectedHook in page fault handler · 1ca1f032
      Christian Dietrich authored
      Like the last change, this one does not change the SDC rate, but does only make
      them detectable by application/FAIL*. Until now, MPU faults were routed to isr_undetected
      
      Change-Id: Iac81f8611753cafbddb6d1f9c4bbe505a788890e
      1ca1f032
    • Christian Dietrich's avatar
      i386: FaultDetectedHook on unhandled interrupt · 01ad46c1
      Christian Dietrich authored
      Until now, unhandled interrupt resulted in a hanging machine. This did *not*
      cause the SDC rates to change, but made the TIMEOUT numbers for fault injection
      campaigns slightly too high.
      
      Change-Id: I4616c5ddad66659bab604cd3ed5b5405ceea44ce
      01ad46c1
  19. 01 Jun, 2015 1 commit
  20. 29 May, 2015 2 commits