- Mar 20, 2017
-
-
Alessandro Rubini authored
I spits a number of warnings, and we are not simulating snmp anyways. Better avoiding the warning than fixing (thanks randconfig) Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Otherwise we get this: ppsi/arch-unix/unix-startup.c:35: multiple definition of `main' wrc_main_sim.c:193: first defined here (thanks randconfig) Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This simplifies, in a way. Otherwise, we'd need to make most developer options depend on WR_NODE too. (thanks randconfig) Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
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>
-
Alessandro Rubini authored
We'd miss some symbols in wrs, besides missing the shell shell/cmd_diag.c:32:30: error: 'DIAG_RO_BANK' undeclared (thanks randconfig) Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
We can't run such stuff in the switch: (thanks randconfig) Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Otherwise, if we have syslog we fail building: lib/syslog.c:197:23: error: 'CONFIG_TEMP_HIGH_THRESHOLD' undeclared (thanks randconfig) Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
- Mar 14, 2017
-
-
Adam Wujek authored
Keep assert enabled only for devel_build_test_defconfig Signed-off-by:
Adam Wujek <adam.wujek@cern.ch>
-
Adam Wujek authored
Signed-off-by:
Adam Wujek <adam.wujek@cern.ch>
-
- Mar 02, 2017
-
-
Adam Wujek authored
Signed-off-by:
Adam Wujek <adam.wujek@cern.ch>
-
- Mar 01, 2017
-
-
Adam Wujek authored
Signed-off-by:
Adam Wujek <adam.wujek@cern.ch>
-
Adam Wujek authored
move helper configuration items at the end of Kconfig, by this all advanced options are correctly indented in menuconfig/nconfig Signed-off-by:
Adam Wujek <adam.wujek@cern.ch>
-
Adam Wujek authored
It is enabled by default anyway Signed-off-by:
Adam Wujek <adam.wujek@cern.ch>
-
- Feb 28, 2017
-
-
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
- Feb 23, 2017
-
-
- Feb 16, 2017
-
-
If !CONFIG_SYSLOG, usual verbose output is printed to console. If CONFIG_SYSLOG, you can send the latency error problems to syslog. The node sends to syslog only the number of lost frames (FIX THIS) and the latency if it's more than twice the current running average. such an average is on 8 samples, so it moves quickly. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
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>
-
- Jan 30, 2017
-
-
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>
-
The new config tools are more picky. We got: Kconfig:22:warning: defaults for choice values not supported and warning: (WR_SWITCH) selects UART which has unmet direct dependencies (DEVELOPER && EMBEDDED_NODE) The latter is fixed adding WR_SWITCH in the dependencies. The former is worked-around by using "IS_XINT" and friends in "choice", and then "XINT" replicates the "IS_" choice. I dislike it, because it's repetition, but we really need CONFIG_PRINTF_XINT and friends in pp_printf/ Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
- Aug 04, 2016
-
-
Add conditional compilation of support of aux diag registers and SNMP for these registers. Signed-off-by:
Adam Wujek <adam.wujek@cern.ch>
-
- Jul 29, 2016
-
-
Adam Wujek authored
Signed-off-by:
Adam Wujek <adam.wujek@cern.ch>
-
Adam Wujek authored
Signed-off-by:
Adam Wujek <adam.wujek@cern.ch>
-
Adam Wujek authored
It will be possible to set via SNMP system name when SNMP SET is implemented. Signed-off-by:
Adam Wujek <adam.wujek@cern.ch>
-
Adam Wujek authored
Move SNMP just after syslog. Signed-off-by:
Adam Wujek <adam.wujek@cern.ch>
-
The "community" string is public. We have tree items only: the host name, the date and uptime. The code is designed to make it simple any addition. But we only have snmpget support, not snmpwak (i.e. "get next" query). This is run on an host build (CONFIG_HOST_PROCESS) where the time and date are not related to the real world: # snmpget -v 1 -c public 192.168.16.1 .1.3.6.1.2.1.1.5.0 SNMPv2-MIB::sysName.0 = STRING: wrc # snmpget -v 1 -c public 192.168.16.1 .1.3.6.1.2.1.25.1.2.0 HOST-RESOURCES-MIB::hrSystemDate.0 = STRING: 1970-0-1,19:52:34.0 # snmpget -v 1 -c public 192.168.16.1 .1.3.6.1.2.1.25.1.2.0 HOST-RESOURCES-MIB::hrSystemDate.0 = STRING: 1970-0-1,19:53:2.0 # snmpget -v 1 -c public 192.168.16.1 .1.3.6.1.2.1.25.1.1.0 [...] hrSystemUptime.0 = Timeticks: (94193300) 10 days, 21:38:53.00 Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
- May 18, 2016
-
-
Alessandro Rubini authored
This commit adds the Kconfig mechanism and the pfilter rules. The latency test socket transmists frames of a specific ether type; the receiver must receive all such frames. To minimize the load on the packet filter, this adds a single rule: we already accept all PTPv2 frames, so we now "OR" to this the new ethernet type. If the feature is configured off, the rule uses the same PTPv2 ethertye, thus turning in practice into a NOP. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
- Apr 04, 2016
-
-
Alessandro Rubini authored
The threshold and the repeat interval is set by Kconfig. The temperatures are read using the temperature framework. Tested in host environment: wrc# faketemp 90 80 10 wrc# faketemp 90 40 20 wrc# faketemp 20 30 40 Jan 1 10:32:09 192.168.16.7 Temperature high: \ roof:90.0000 core:80.0000 case:10.0000 Jan 1 10:33:09 192.168.16.7 Temperature high: \ roof:90.0000 core:40.0000 case:20.0000 Jan 1 10:33:18 192.168.16.7 Temperature ok: \ roof:20.0000 core:30.0000 case:40.0000 Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
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
We have three temperatures, called "roof", "core", "case" (yess rubi like word same lengt, s/he most love four). There is a "faketemp" command that can set one two or all of them. This allows to test negative temperatures in printouts (White Rabbit in Siberia does it, but we southish can't test easily). All temperatures are initialized to invalid. Example: wrc# faketemp -10 -2.5 wrc# faketemp fff60000 fffd8003 80000000 wrc# temp pcb:84.7500 roof:-10.0000 core:-2.4999 case:INVALID Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This commit adds data structures, methods and a process to manage temperature. Currently the only temperature being read is the onewire thermometer, so there is no difference with what we had before. The cost is 1.1 kB in binary size. Well, there is a difference: only the stat engine was reading temperature, while now the thermometer is read continuously (every 15 seconds, or another Kconfig-urable interval). This takes quite some CPU time (18.5ms per polling loop, but allows any user to read temperature (using the API we now provide) without re-reading the onewire bus. The real aim of this is monitoring a board-specific set of sensors, as implemented and show in the next commit. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Also, this changes how to mac address is retrieved in patching pfilter rules. I'd better use format_mac(get_mac) for the verbose message, so get_mac is also the source for patching the rules. register and get_mac/set_mac are guaranteed to be in-sync. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
These numbers are only available at build time; there is no run-time command to change them as yet. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This commit adds the possibility to build an init command in the binary. It can be useful to install a number of nodes with a special configuration, without the need to reach the shell and/or eeprom of each one. This is useful, for example, to pass syslog configuration or the (yet to be implemented) definition of multiple vlans for etherbone and the wr fabric (frame classes 7 and 6 f the packet filter). Moreover, I personally love to load a master or slave node for testing without interacting with the node (or changing the flash over and over). This commit also makes reading of commands from storage an optional feature, but only in the advanced/developer options. Thus, you can build a wrpc that uses the build-time init commands, or the flash-stored init commands, both or none of them. Size effects: * no effect if you keep the defaults (no build-time init, flash init) * +248 bytes (+ the command itself) if you enable build-time init * -1696 bytes if you remove flash-based init (discouraged) Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
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>
-
- Feb 15, 2016
-
-
Alessandro Rubini authored
This costs 1K in binary size, and it currently only prints an alive message every 10 seconds. The time format is still wrong, so the syslog daemon adds its own timestamp. 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
This removes TRACE_DEV(), turning it into pll_verbose() and wrc_verbose(). The functions are enabled and disabled by kconfig, with defaults matching the previous behaviour. So nothing changes, but the binary is smaller because the previous wrc_debug_printf() was silent because of a run-time conditional (though hardwired false at build time). The condional is now at build time. We save around 2k, between strings and calling code, in all wrc builds (nothing is saved in wrs, which is verbose by default, nor in devel_build_test_defconfig where all verbose options are on)). Signed-off-by:
Alessandro Rubini <rubini@gnudd.com> devel_build_test_defconfig: enable all verbose options Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-