- 21 Mar, 2014 7 commits
-
-
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.
-
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
-
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
-
Pietro Fezzardi authored
Kconfig is updated with new arch. It compiles but it's actually doing nothing
-
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.
-
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).
-
Pietro Fezzardi authored
given that INTS() is defined as inline it should not affect the performance even in time-critical cases.
-
- 02 Mar, 2014 10 commits
-
-
Pietro Fezzardi authored
-
Pietro Fezzardi authored
previously one could use config options without arguments, or config options with wrong names, and the program did not complain. now you have to use correct names for config options and only options with type ARG_NONE can be without arguments. hardcoded default config file and config string are supposed always correct so there's still no error check on their parsing. however for any config options passed from command line with -f or -C all the checks are enabled. if there are some syntax errors or options without value the process exits with errors, printing informations on all the found configuration errors.
-
Pietro Fezzardi authored
-
Pietro Fezzardi authored
-
Pietro Fezzardi authored
both in comments and in diagnostics
-
Pietro Fezzardi authored
instead of bare numbers
-
Pietro Fezzardi authored
-
Pietro Fezzardi authored
-
Pietro Fezzardi authored
now it reflects the definition in pp_ext_hooks. With this new prototype you can always choose a different pp_runtime_opts to be used for the initialization
-
Pietro Fezzardi authored
instead to rewrite every time the checks for the parser
-
- 02 Dec, 2013 3 commits
-
-
Pietro Fezzardi authored
-
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.
-
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.
-
- 26 Nov, 2013 2 commits
-
-
Pietro Fezzardi authored
-
Pietro Fezzardi authored
in ppsi.h. This allows to pass only a single argument to cfg_handlers configuration functions. Definitions of functions and arguments have been updated in lib/conf.c to follow this changes.
-
- 18 Nov, 2013 1 commit
-
-
Pietro Fezzardi authored
- backup the existing .config file, if present, and restore it before exiting - make clean before exiting
-
- 15 Nov, 2013 10 commits
-
-
Alessandro Rubini authored
Since check_packet is using network channels (file descriptors), it is better declared as a network operations. This allows, for example, to make a simulator using ARCH=unix and only changing TIME= . Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This simplifies the build system, by relying in weak symbols instead of the link order. We need weak symbols anyways for configuration, so we can get rid of the libraries. The size of binaries returned at build time is increased, because arch/ and lib/ stuff is not part of ppsi.o (as it actually should). Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
-
Alessandro Rubini authored
Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
The tool now builds all configs/* setups, but it has fewer options than it used to have (no command-line arguments as yet, so "./MAKEALL bare" will not just check bare configs. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This adds the needed configuration items: architectures, extension, cross_compile and wrpc_root. So, what we passed on environment and command line is now in the configuration file. This changes the priorities of such options, so the Makefile is changed to force $(CC), $(LD) and $(CROSS_COMPILE) down to subprojects (i.e. pp_printf and arch-wrs/mini-rpc). Also, we need to remove quotes from .config items, and this is ugly linesin ./Makefile Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Now Kconfig works, but we have no active configuration at all. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Add the lines from the .gitignore found in bst-kconfig. As in the previous commit, use bst-kconfig commit v2.6.34-4-g8168c0b (cherry-picked from wrpc-sw d923523a) Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This is the combination of the following commits (oldest on top) from wrpc-sw: 89cdfcd added kconfig infrastructure, the trivial way 5fda0c8 kconfig: use pathnames from Linux-2.6.34 ab30804 kconfig: use 'Kconfig' as file name, not the bst-kconfig ones 7c78880 kconfig: trivially write "WRPC" in place of "Linux Kernel" 2c30cb4 kconfig: trivially fix most 'kernel' words in messages 70eb3ba kconfig: add a configs/ directory and use it 64cc10f scripts/kconfig: don't complain for default in choices After picking them, I replaced all "WRPC" with "PPSi", and I removed the configs/ files (unrelated to this project). In practice, at this point we have the Kconfig infrastructure of Linux-2.6.34, which I picked from the "bst-kconfig" package, which did the extraction work. One day I forward-ported this from v2.6.34 to v3.4, by applying a few hundred kernel patches. While the final code was working, we decided the port was not needed for wrpc-sw. Here in PPSi I keep the same version we have in wrpc-sw. As of this commit, the code is not used; the default configuration file and Makefile targets are added in the next commits. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
- 14 Nov, 2013 1 commit
-
-
Grzegorz Daniluk authored
-
- 13 Nov, 2013 2 commits
-
-
Alessandro Rubini authored
Bug introduced by ce8485bf bmc: remove field ppi->frgn_rec_i I forgot to run ./MAKEALL during the last commits. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This is needed for the wrpc-sw release, as Etherbone won't fit with a full ppsi in the default RAM size for SPEC cards. ptpdump support will soon become optional in ppsi, through Kconfig, and a bigger RAM size will become the default for SPEC images as well. But currently we need this hack. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
- 09 Nov, 2013 2 commits
-
-
Alessandro Rubini authored
Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
- 08 Nov, 2013 1 commit
-
-
Alessandro Rubini authored
This was already expexted to happen, but it was done in the wrong place (my fault). Most likely we should move this "enable_timing_output" in the ptp-wide operations, to be used outside of WR as well. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
- 07 Nov, 2013 1 commit
-
-
Alessandro Rubini authored
The field is a duplicate of ppi->frgn_rec_num, and got out of sync. This removal fixes WR syncronization as a slave. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-