Skip to content
Snippets Groups Projects
  1. Jan 20, 2016
    • Alessandro Rubini's avatar
      pfilter: simplify the rule-set and make it stronger. Use one set only. · e35610a6
      Alessandro Rubini authored
      This changes the pfilter rule-set, to make it ready for vlan addition.
      Moreover, it removes the choice between three rule-sets and uses one
      that works for everyone (we'll add the vlan option later on).
      
      Moreover, we prepare for the option of peer-delay PTP and UDP-based PTP.
      
      As a side effect, one Kconfig option is removed.
      
      We know for sure that what goes to the "streamer" protocol
      is re-checked, so the streamer can get some "everything else", exactly
      like the 7S wr-nic (that sends to the host everything unused).
      
      This is the current rule set:
      
           - everything tagged is dropped
           - CPU: arp broadcast, not unicast (i.e. requests only).
           - CPU: PTP ethtype. Any mac address.
           - CPU: ICMP unicast, not broadcast.
           - CPU: UDP (uni/multicast), ports  bootpc, ptp-event, ptp-general.
           - Etherbone (class 7): UDP (uni/multicast) and port 0xebd0
           - Other fabric (class 6): anything not Etherbone (inverted class 7 bit)
      
      Thi...
      e35610a6
    • Alessandro Rubini's avatar
      include changes, no difference in binaries · 560f32f3
      Alessandro Rubini authored
      
      The makefile included trace.h for everyone, which in turns included
      wrc.h.  It's better to include wrc.h straight on (we can't rely on all
      files including it, for example pp_printf does not).
      
      Meanwhile, some redundant includes are removed, and some are added
      (I prefer wrc.h to be explicitly listed in the files that use it,
      even if the command line set in Makefile already prepends it).
      
      Signed-off-by: default avatarAlessandro Rubini <rubini@gnudd.com>
      560f32f3
    • Alessandro Rubini's avatar
      Makefile: tools depend on .config · 87ed5e5b
      Alessandro Rubini authored
      
      Otherwise, the first "make" builds tools before spitting the
      error about an unconfigured system. I prefer to have the error alone.
      
      Signed-off-by: default avatarAlessandro Rubini <rubini@gnudd.com>
      87ed5e5b
    • Alessandro Rubini's avatar
      Makefile: be quiet in calling Kbuild makefiles · bcdbd2ab
      Alessandro Rubini authored
      
      This quiet=quiet_ has the effect of printing
      
        HOSTCC  scripts/kconfig/conf.o
        HOSTCC  scripts/kconfig/kxgettext.o
        SHIPPED scripts/kconfig/zconf.tab.c
        SHIPPED scripts/kconfig/lex.zconf.c
        SHIPPED scripts/kconfig/zconf.hash.c
        HOSTCC  scripts/kconfig/zconf.tab.o
        HOSTLD  scripts/kconfig/conf
      
      instead of the full command lines. We could even use quite=silent_ to
      have no output at all, but this would introduce a noticeable delay in
      the build.
      
      The aim of this change is making more visible the error "your wrpc is
      not configured" at the first build. The full compilation of config
      stuff makes the error less clear, and the initial error confuses
      people (me included).
      
      Signed-off-by: default avatarAlessandro Rubini <rubini@gnudd.com>
      bcdbd2ab
    • Alessandro Rubini's avatar
      Revert "Makefile: add a depend rule, long missing" · 41f432a6
      Alessandro Rubini authored
      This reverts commit 3a3c3806.
      
      The previous line: every object depending on .config, was better.
      We had the problem that a fresh clone was not building because of a
      missing autoconf.h.
      
      The depend rule was not working anyways, because it created an empty
      .depend the first time over, due to the missing autoconf.h.  I admit I
      don't know how to create a depend file after configuration: make
      pretends to remake all its inclusions as the first step, so a rule
      like ".depend: silentoldconfig" loops forever.
      41f432a6
    • Alessandro Rubini's avatar
      config: rename CONFIG_ETHERBONE to CONFIG_IP · 53ac0936
      Alessandro Rubini authored
      
      Actually, Etherbone is in gateware, and this option only enables Internet
      Protocol in the software.  This fixes a long-standing misunderstanding.
      
      Signed-off-by: default avatarAlessandro Rubini <rubini@gnudd.com>
      53ac0936
    • Alessandro Rubini's avatar
      tool/wrpc-dump: change the access mode, to avoid "gcc -m32" · 1a18111c
      Alessandro Rubini authored
      
      Accessing data structures in the host to get target fields is broken:
      we may have different data size or alignment, or whatever. The hack
      of using "-m32" to be able to access lm32 fields from x86-64 is not
      clean (we imply the i386 and target have the same size/alignment).
      Even worse, not everybody has an x86-64 cross-compiler for i386.
      
      Thus, we use OFFSET_OF in the target, with the lm32 cross compiler,
      to build a binary table that is then accessed by the host.
      
      In order to link the data structure in the host we use the assembler
      instead of objcopy. With objcopy we'd need to spell out the bfd name
      of the host, and we'd get horrible names like
         struct dump_info _binary_dump_info_host_bin_start[];
      
      Signed-off-by: default avatarAlessandro Rubini <rubini@gnudd.com>
      1a18111c
  2. Oct 15, 2015
    • Alessandro Rubini's avatar
      Revert "ppsi: pick new master and act accordingly" · a7f92ab1
      Alessandro Rubini authored
      This reverts commit 03062ea3.
      
      The patch is wrong, because it duplicates
      
          9491e61b
      
       ppsi: pick new master and fix building accordingly
      
      which does the "fixing" in a more elegant way. With both in history,
      we now have
      
         ./ppsi/include/generated/autoconf.h:13:0: warning:
                 "CONFIG_VLAN_ARRAY_SIZE" redefined
         generated/autoconf.h:14:0: note: this is the previous definition
      
      Besides, the reverted commit was not even using new ppsi master (we
      did it before this commit).
      
      Signed-off-by: default avatarAlessandro Rubini <rubini@gnudd.com>
      a7f92ab1
  3. Oct 13, 2015
  4. Sep 01, 2015
  5. Jul 26, 2015
  6. Jun 30, 2015
    • Adam Wujek's avatar
      wrs_main: check for stack overflow and detect reset · da3da2d9
      Adam Wujek authored and Grzegorz Daniluk's avatar Grzegorz Daniluk committed
      Add checking stack overflow and detecting reset to wrs. Code common for wrpc
      and wrs is placed in system_checks.c and .h. Work is based on following
      commits in wrc_main.c:
      1704a668 main: check for stack overflow
      7836c39e
      
       Optionally detect reset and print a stack trace
      
      Additionally:
      --update Kconfig to have a possibility to select CHECK_RESET also for switch,
        not only for node as before
      --and _endram to ram-wrs.ld
      
      When "stack overflow" occurs then message is printed once every second.
      When reset occours then LM32 will print stack trace and reset once more.
      NOTE: I couldn't get spll to work after reset, for sure problem is in
            ad9516 init function, but not only there.
      
      Signed-off-by: default avatarAdam Wujek <adam.wujek@cern.ch>
      da3da2d9
    • Adam Wujek's avatar
      revision: report build information via spll_stats structure · ee1c7482
      Adam Wujek authored and Grzegorz Daniluk's avatar Grzegorz Daniluk committed
      
      --increase spll_stats structure version to 2
      --add to spll_stats structure:
        - commit_id
        - build_date
        - build_time
        - start_cnt (to be used later for start counter)
      --move declaration of spll_stats structure from wrs_main.c to revision.c
      --pass git version and author at compile time to revision.c
      --create revision.h with build_* externs
      --update version reporting at cpu start
      --update version command
      --include section .stats in section .data for node
      
      Signed-off-by: default avatarAdam Wujek <adam.wujek@cern.ch>
      ee1c7482
  7. Jan 06, 2015
    • Theodor-Adrian Stana's avatar
      Add flash-write · 6ef8ac88
      Theodor-Adrian Stana authored and Grzegorz Daniluk's avatar Grzegorz Daniluk committed
      
      The flash-write tool is operational. The call to read status register
      from flash-host is not working yet, and that is to be solved. In the
      meantime, there are sleep functions inserted where we're supposed
      to poll the status register.
      
      Signed-off-by: default avatarTheodor Stana <t.stana@cern.ch>
      6ef8ac88
  8. Oct 08, 2014
  9. Oct 07, 2014
  10. Aug 18, 2014
    • Alessandro Rubini's avatar
      ppsi: get new release, and fix Makefile accordingly · d447f096
      Alessandro Rubini authored and Grzegorz Daniluk's avatar Grzegorz Daniluk committed
      
      This includes ppsi-v2014.07.
      
      The new ppsi master is Kconfig-based, so our makefile must
      make "wrpc_defconfig" in ppsi before building it.
      Additionally, the link steps changed to the better in there, so we
      don't link the "strange" $(PPSI)/proto-standard/libstd.a any more.
      
      We may consider whether a local .config for ppsi should be
      provided by this package instead of relying on its own choices;
      not a big deal, though, as we maintain them at the same time.
      
      Please note that any existent ppsi/.config is preserved, to allow
      local tests. This should not have any impact on normal users.
      
      Signed-off-by: default avatarAlessandro Rubini <rubini@gnudd.com>
      d447f096
  11. Aug 05, 2014
  12. Feb 11, 2014
  13. Nov 13, 2013
    • Alessandro Rubini's avatar
      build: avoid internal "ptpdump" support in ppsi, when RAM won't fit · c54cfe24
      Alessandro Rubini authored
      
      Etherbone won't fit with a full ppsi in the default RAM size for SPEC
      cards. So this commit uses a ppsi hack to avoid internal ptpdump,
      activating it when CONFIG_RAMSIZE is not 128kB and CONFIG_ETHERBONE is
      set.
      
      We should rather compare RAMSIZE with "< 131072", but neither gnu make
      nor this version of Kconfig support numeric comparison.
      
      This hack will soon disappera, as ppsi is gaining Kconfig support, so
      wrpc-sw will be able to pass proper configuration. Also, 128kB will soon
      be the default for SPEC images.
      
      Signed-off-by: default avatarAlessandro Rubini <rubini@gnudd.com>
      c54cfe24
  14. Oct 25, 2013
    • Wesley W. Terpstra's avatar
      move stdint.h and inttypes.h to another folder · 4fd8e991
      Wesley W. Terpstra authored
      These headers shadow system headers.
      While they are necessary for building on the LM32, it breaks any
      code that wants the other WR headers on a different architecture.
      
      By moving these headers, we can pick whether to use them or not.
      4fd8e991
  15. Oct 17, 2013
  16. Oct 11, 2013
  17. Oct 10, 2013
  18. Sep 24, 2013
  19. Jul 26, 2013
  20. May 23, 2013
  21. May 14, 2013
  22. May 09, 2013
  23. May 08, 2013
    • Alessandro Rubini's avatar
      for-ppsi: Makefile changes to please "make -j8" · b15ffc99
      Alessandro Rubini authored
      
      We need to link ppsi/proto-standard/libstd.a explicitly, but we also
      need a rule to generate it, or parallel compilation fails saying it
      has no rule. The makefile depended on build order (my fault), as
      building ppsi/ppsi.o, with its rule), also built libstd.a
      
      BTW, this removes ppsi/arch-wrpc/libarch.a from the dependencies,
      because it is already linked in making ppsi/ppsi.o (otoh the need for
      an explicit mention of libstd.a can't easily be solved in ppsi
      itself, so it remains here).
      
      Signed-off-by: default avatarAlessandro Rubini <rubini@gnudd.com>
      b15ffc99
    • Alessandro Rubini's avatar
      for-ppsi: link libstd, too · b01313dc
      Alessandro Rubini authored
      
      In recent ppsi code, proto-ext-whiterabbit is not replicating
      proto-standard any more, but rather it offers hooks for the additional
      code it needs.  Thus, we need to link the library for standard PTP as
      well, to pick some of the states for the WR state machine.
      
      Signed-off-by: default avatarAlessandro Rubini <rubini@gnudd.com>
      b01313dc