- 10 Jun, 2016 1 commit
-
-
Adam Wujek authored
Use git config --get-all user.name as an build author, if not available use user@hostname. Signed-off-by:
Adam Wujek <adam.wujek@cern.ch>
-
- 18 May, 2016 1 commit
-
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
- 04 Apr, 2016 5 commits
-
-
Alessandro Rubini authored
This commit is not breaking the current status, but adds the ability to build on the host, to simulate and (mainly) to help me hack the networking code in a simpler/faster environment. Missing features: - ptp - build in i386 (currently x86-64 is hardwired) Also, this commit requires a change in ppsi, that I'm not going to commit now: we must get rid of the main function (most of that stuff is done win wrc_ptp.c, which we must replicate in a unix-compatible way). This is the ppsi change --- a/arch-unix/Makefile +++ b/arch-unix/Makefile @@ -4,7 +4,7 @@ A := arch-$(ARCH) CFLAGS += -Itools -OBJ-y += $A/unix-startup.o \ +OBJ-y += \ $A/main-loop.o \ $A/unix-io.o \ $A/unix-conf.o \ Local changes in this commit: - adding CONFIG_HOST_PROCESS and the auto-generated opposites: CONFIG_LM32 and CONFIG_EMBEDDED_NODE (LM32 && NODE) - make some config option depend on !HOST_PROCESS - Makefile: some dependencies on HOST_PROCESS and the opposite - */*.mk: some dev and shell objects depend on CONFIG_EMBEDDED_NODE instead of CONFIG_WR_NODE (i.e.: both a node and an lm32) - new host/ subdir where some placeholders are placed - no sdb support on the host Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This, again, is preliminary to host builds, and has no effect. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
These changes have no effect at this point, but are the initial steps introducing host builds. Some changes are minor cleanups, some depend on CONFIG_HOST_PROCESS which is not defined at this point. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This allows a node built with CONFIG_VLAN to choose at run-time whether vlans are allowed or not. We build both pfilter rule-sets, and according to the active vlan number we write one or the other. The case "CONFIG_VLAN is not set" is handled by providing default NULL pointers for beginning and end of the vlan rule-set. As a side effect, I renamed the files and the functions in the pfilter-builder. This is how it works for me, with CONFIG_PFILTER_VERBOSE set, so you see different rule-set are used (29 rules vs. 16 rules): wrc# vlan set 0 0 ("0") out of range Command "vlan": error -22 wrc# vlan off fixing MAC adress in rule: use 22:33:44:55:66:77 pfilter rule 00: 4.00000000 pfilter rule 01: 1.e4466013 [...] pfilter rule 28: 8.00000000 current vlan: 0 (0x0) wrc# ip set 10.0.0.2 IP-address: 10.0.0.2 (static assignment) (and I am now reachable by untagged frames) wrc# vlan set 10 fixing MAC adress in rule: use 22:33:44:55:66:77 fixing VLAN number in rule: use 10 pfilter rule 00: 4.00000000 pfilter rule 01: 1.e4466013 [...] pfilter rule 15: 8.00000000 current vlan: 10 (0xa) (and I am now reachable on vlan 10) Signed-off-by:
Alessandro Rubini <rubini@gnudd.com> Conflicts: Makefile
-
Alessandro Rubini authored
WARNING: wr_switch_defconfig doesn't build, this is fixed in next commit Unfortunately this commit makes the internal communication between minic and lan asymmetric: on receive the tag is discarded (and the longer header falls into the payload) while on transmit it must be provided by lan.c. The reason is that on receive we can trim 4 bytes from the payload, but on send we can't add 4 bytes without a memmove. The functions receive pointers to two different header structures, so hopefully user errors will be signalled by the compiler. Still, users interact with net.c, which hides vlan completely from them. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
- 20 Jan, 2016 7 commits
-
-
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) This counts up to 28 rules. We have 4 more rules available and we may add options, either at build time or run time to add udp ports or other ethertypes. Or not... 2 caveats: - frames for the CPU will have class bits 0x41 instead of 0x01, because everything not etherbone will receive bit 6. This is not a problem, as the CPU is not checking the class bits. - the wr-nic gateware, when using this new sw code base, must be changed to use classes 6 and 7 like everybody else, not classes 7 and 5. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
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:
Alessandro Rubini <rubini@gnudd.com>
-
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:
Alessandro Rubini <rubini@gnudd.com>
-
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:
Alessandro Rubini <rubini@gnudd.com>
-
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.
-
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:
Alessandro Rubini <rubini@gnudd.com>
-
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:
Alessandro Rubini <rubini@gnudd.com>
-
- 15 Oct, 2015 1 commit
-
-
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:
Alessandro Rubini <rubini@gnudd.com>
-
- 13 Oct, 2015 3 commits
-
-
Alessandro Rubini authored
Use the rules from the array we are passed in the object file. We'll use the feature when enabling vlans: at that point we'll have two sets to choose from, according to run-time configuration. Using the build-time configuration avoids the hairy ifdef and saves almost 1kB of binary size. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Simplify access to $CONFIG_RAMSIZE. Actually, the previous way was not working for me, as my $SHELL is not bash. The bug is uncovered by the next commit, because the "-s" argument to genramvhd has always been wrong for me, but I didn't notice (so maybe the "-s" argument has no effect? I can't tell at this point) Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
"act accordingly" means pre-including ppsi/...autoconf.h within CFLAGS, or we miss CONFIG_MAX_VLANS_PER_PORT, used in defining the ppsi local data structure. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
- 01 Sep, 2015 1 commit
-
-
Alessandro Rubini authored
The function ptpd_netif_create_socket() still receives two arguments, because it is being called by ppsi, and I'd better not change the API in small steps in there. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com> y
-
- 26 Jul, 2015 3 commits
-
-
Alessandro Rubini authored
This time I added -Wmissing-prototypes and fixed accordingly. Again, this used to be part of -Wall and I'm disgusted by it not being so any more. What does "all" mean, then? Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
I added -Wstrict-prototypes, that used to be included in -Wall settings but is not. Actually, I think it should be an error to not specify an argument list by now. If any, -traditional is there for old timers. Fortunately no bug was exposed by the missing prototypes. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Yesterday I was eventually fussed up by the need to "make clean" every time. So here's a stupid depend rule, not perfect but better than nothing. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
- 30 Jun, 2015 2 commits
-
-
Adam Wujek authored
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:
Adam Wujek <adam.wujek@cern.ch>
-
Adam Wujek authored
--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:
Adam Wujek <adam.wujek@cern.ch>
-
- 06 Jan, 2015 1 commit
-
-
Theodor-Adrian Stana authored
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:
Theodor Stana <t.stana@cern.ch>
-
- 08 Oct, 2014 1 commit
-
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
- 07 Oct, 2014 2 commits
-
-
Pietro Fezzardi authored
This adds 2.3kB to the GSI configuration, beause it enable ptpdump. Earlier it was always forces off, due to wrong comparison of ram size.
-
Pietro Fezzardi authored
-
- 18 Aug, 2014 1 commit
-
-
Alessandro Rubini authored
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:
Alessandro Rubini <rubini@gnudd.com>
-
- 05 Aug, 2014 1 commit
-
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
- 11 Feb, 2014 3 commits
-
-
Alessandro Rubini authored
ram.ld must be rebuilt every time the configuration changes. It was supposed to be like that, but it was not. So, the older ram.ld was used when first building with a new config, and only the second time the rule was used. This was exposed by failuers in ./MAKEALL where each configuration is built only once. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This fixes the makefile to build either wrc.bin or rt_cpu.bin, using the obj-y convention. At this point Kconfig can't select rt_cpu.bin, and nothing changes in the ouput binary, in all configurations. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
- 13 Nov, 2013 1 commit
-
-
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:
Alessandro Rubini <rubini@gnudd.com>
-
- 25 Oct, 2013 1 commit
-
-
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.
-
- 17 Oct, 2013 1 commit
-
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
- 11 Oct, 2013 1 commit
-
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
- 10 Oct, 2013 1 commit
-
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
- 24 Sep, 2013 2 commits
-
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This is needed to build sdb-lib for the target, in case you rely on the default value for CROSS_COMPILE instead of using the environment variable. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-