- Mar 20, 2017
-
-
Alessandro Rubini authored
This also include a ppsi commit. We must have both at the same time, because each uses a feature of the other, to link sw-uart at build time. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
- Mar 02, 2017
-
-
Adam Wujek authored
Don't print informational message to standard error when an archive is created. Signed-off-by:
Adam Wujek <adam.wujek@cern.ch>
-
- Feb 27, 2017
-
-
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
... and it saves 60 bytes if CMD_CONFIG is set! Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Adam Wujek authored
Signed-off-by:
Adam Wujek <adam.wujek@cern.ch>
-
- Feb 23, 2017
-
-
-
Adam Wujek authored
To avoid triggering .config target at clean. Put explicit target for $(CURDIR)/.config Signed-off-by:
Adam Wujek <adam.wujek@cern.ch>
-
Adam Wujek authored
When any of exported structures is changed please update WRPC_SHMEM_VERSION or WRS_PPSI_SHMEM_VERSION (for PPSI) Signed-off-by:
Adam Wujek <adam.wujek@cern.ch>
-
Adam Wujek authored
Signed-off-by:
Adam Wujek <adam.wujek@cern.ch>
-
Adam Wujek authored
Also: --move removing of include/config and include/generated to distclean --trigger distclean in ppsi --update ppsi Signed-off-by:
Adam Wujek <adam.wujek@cern.ch>
-
Adam Wujek authored
To avoid triggering .config target at clean. All *_defconfig and *_config from configs directory will fall into this target, but not .config. NOTE: target for .config is executed at include of a file (see makefile manual) Signed-off-by:
Adam Wujek <adam.wujek@cern.ch>
-
Adam Wujek authored
Signed-off-by:
Adam Wujek <adam.wujek@cern.ch>
-
- Feb 16, 2017
-
-
Use make cleanall to remove files from all compilations. Signed-off-by:
Adam Wujek <adam.wujek@cern.ch>
-
remove on clean: --config.o --revision.o --$(OUTPUT).vhd --$(OUTPUT).mif --$(OUTPUT)_disasm.S --include/config --include/generated --tools/dump-info-host.bin arch/lm32/ram.ld is not removed Signed-off-by:
Adam Wujek <adam.wujek@cern.ch>
-
To avoid triggering .config target at clean Also in PPSI Signed-off-by:
Adam Wujek <adam.wujek@cern.ch>
-
Now the default for configurations that do not select peer-delay is to not even build peer-delay code. This provides for that, and adds two configurations for peer-delay operation. If pdelay is selected, e2e is built as well, but selection is currently only at build time. This will be fixed later. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
- Feb 09, 2017
-
-
Grzegorz Daniluk authored
-
- Jan 30, 2017
-
-
Adam Wujek authored
Signed-off-by:
Adam Wujek <adam.wujek@cern.ch>
-
Without this, after the first build of wrpc-sw the ppsi configuration was never changed. So if you built e.g. "gsi_defconfig" and then reconfigure for "gsi_pdelay_defconfig" you'll get no pdelay in there. For me, and the next maintainers of ppsi, the new configuration option CONFIG_PPSI_FORCE_CONFIG can be unset in order to test with personale changes in ppsi configuration. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Also, preserve and restore current configuration, so I don't get mad when checking with MAKEALL during my tests for new feature. The rationale for this is that wrpc-sw will soon select different ppsi choices according to its own configuration, through $(PPSI-CFG-y). Actually, it already does for the host process build. MAKEALL must obey this choice, so we trim ppsi configuration each time we reconfigure wrpc (removing the file would spit an error instead). Then, our Makefile forces a ppsi reconfig if ppsi/.config is missing *or* empty. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
- Jun 10, 2016
-
-
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>
-
- May 18, 2016
-
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
- Apr 04, 2016
-
-
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 dependencie...
-
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>
-
- Jan 20, 2016
-
-
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>
-
- Oct 15, 2015
-
-
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>
-
- Oct 13, 2015
-
-
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>
-
- Sep 01, 2015
-
-
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
-
- Jul 26, 2015
-
-
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>
-