1. 21 Mar, 2014 7 commits
    • Pietro Fezzardi's avatar
      arch-sim: fields added to struct sim_ppi_arch_data · 16b4b4e3
      Pietro Fezzardi authored
      These are namely Data Sets, runtime options, servo and TimeProperties.
      We need them in every instance because we have two ppi (master and slave)
      acting like two different machines, so they need different copies of
      these variables. We just put the per-instance stuff in the arch_data.
      Then we'll change the pointers in the ppg directly in the net operations,
      according to our needs.
      16b4b4e3
    • Pietro Fezzardi's avatar
      time-sim: added time operations · aea3aa29
      Pietro Fezzardi authored
      They're designed to be used for both the instances, master and slave.
      This is possible because the new data structure pp_sim_time_instance
      holding all the information about the time of a single instance is
      placed inside the ppi arch_data
      aea3aa29
    • Pietro Fezzardi's avatar
      arch-sim: new prototype for global arch_data · 44e73697
      Pietro Fezzardi authored
      For now it's the same as arch-unix but it will change
      when we will add more configuration parameters for the
      simulator. So it's better to change its name, from the
      beginning
      44e73697
    • Pietro Fezzardi's avatar
      arch-sim: initial commit with directory tree · 8d898988
      Pietro Fezzardi authored
      Kconfig is updated with new arch.
      It compiles but it's actually doing nothing
      8d898988
    • Pietro Fezzardi's avatar
      config: removed global variables current_ppg and current_ppi · 899ab83e
      Pietro Fezzardi authored
      New prototype for cfg_handler to remove the global variable *current_ppg.
      The current ppg is now passed as argument to the cfg handler as follows:
      
      typedef int (*cfg_handler)(int lineno, struct pp_globals *ppg,
      				union pp_cfg_arg *arg);
      
      New variable added in include/ppsi/pp-instance.h:
      
      struct pp_globals_cfg {
      	int cfg_items;
      	int cur_ppi_n;
      };
      
      Now struct pp_globals has a new field:
      
      struct pp_globals {
      	[...]
      	struct pp_globals_cfg cfg;
      	[...]
      };
      
      The field cfg_items has been moved from pp_globals
      to pp_globals_cfg. The configuration routine uses the field
      cur_ppi_n inside pp_globals_cfg to store the current ppi being
      configured. So neither the global variable *current_ppi is needed
      anymore.
      
      The helper inline function CUR_PPI has been defined to make
      accesses to current ppi more readable.
      899ab83e
    • Grzegorz Daniluk's avatar
      arch-wrs: try connecting to HAL multiple times · 6b84951e
      Grzegorz Daniluk authored
      As it was done also in ptp-noposix. We need to try multiple times
      because sometimes it takes time for HAL to become ready (especially in
      the GrandMaster mode when it has to lock SoftPLL to an ext clock).
      6b84951e
    • Pietro Fezzardi's avatar
      use INST() to access instances everywhere · 0a8e929e
      Pietro Fezzardi authored
      given that INTS() is defined as inline it should not affect
      the performance even in time-critical cases.
      0a8e929e
  2. 02 Mar, 2014 10 commits
  3. 02 Dec, 2013 3 commits
    • Pietro Fezzardi's avatar
      961deb82
    • Pietro Fezzardi's avatar
      lib/conf.c: fix ARG_NONE, factorize code · cd75d6f0
      Pietro Fezzardi authored
      Every case of the switch was colling the cfg_handler out of the
      switch construct, avery time with the same arguments.
      The only case not calling the config function was case ARG_NONE.
      But this doesn't make sense, because if a configuration option
      does not do anything, then it should not be there, even without
      arguments.
      So the call to config function is now made from every case, even
      ARG_NONE, then it should not stay inside the switch.
      cd75d6f0
    • Pietro Fezzardi's avatar
      configuration: added ARG_TIME config argument · 35456ab1
      Pietro Fezzardi authored
      and all the data structures needed to set configuration options
      about time.
      In ppsi.h added struct pp_cfg_time a platform independent timespec-like
      data structure.
      union pp_cfg_arg is extended with a pp_cfg_time field.
      enum pp_argtype is extended with ARG_TIME.
      In lib/conf.c a case ARG_TIME is added to handle it.
      35456ab1
  4. 26 Nov, 2013 2 commits
  5. 18 Nov, 2013 1 commit
  6. 15 Nov, 2013 10 commits
  7. 14 Nov, 2013 1 commit
  8. 13 Nov, 2013 2 commits
  9. 09 Nov, 2013 2 commits
  10. 08 Nov, 2013 1 commit
  11. 07 Nov, 2013 1 commit