Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 0 additions & 10 deletions docs/src/man/man9/hm2_eth.9.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -156,16 +156,6 @@ hm2___<BoardType>__.__<BoardNum>__.packet-read-timeout (s32, rw)::
Setting this value too low can cause spurious read errors.
Setting it too high can cause realtime delay errors.

== FUNCTIONS

hm2_eth.realtime-init::
Realtime initialization function. This function initializes the realtime
ethernet for *evl*. With *posix*, this function is not needed.
It needs to be called once at startup using:
....
initf hm2_eth.realtime-init servo-thread
....

== NOTES

hm2_eth installs firewall rules to control the network interface while
Expand Down
6 changes: 6 additions & 0 deletions rtnet_down.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#! /bin/sh
rtifconfig rteth0 down

rmmod rt_igb
modprobe igb
ifup enp2s0f0
15 changes: 15 additions & 0 deletions rtnet_up.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
#! /bin/sh
ifdown enp2s0f0

modprobe rt_loopback
modprobe rtudp
modprobe rtipv4
rmmod igb
rmmod rt_igb
modprobe rt_igb
rtifconfig rteth0 up 192.168.1.120 netmask 255.255.255.254
sleep 1
rtroute solicit 192.168.1.121 dev rteth0
sleep 1
rtping 192.168.1.121

11 changes: 4 additions & 7 deletions src/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -1080,11 +1080,8 @@ hm2_pci-objs := \
$(MATHSTUB)
hm2_eth-objs := \
hal/drivers/mesa-hostmot2/hm2_eth.o \
hal/drivers/mesa-hostmot2/hm2_eth_net_posix.o
ifeq ($(CONFIG_USPACE_XENOMAI_EVL),y)
hm2_eth-objs += hal/drivers/mesa-hostmot2/hm2_eth_net_evl.o
endif
hm2_eth-objs += $(MATHSTUB)
hal/drivers/mesa-hostmot2/hm2_eth_net_posix.o \
$(MATHSTUB)
hm2_spi-objs := \
hal/drivers/mesa-hostmot2/hm2_spi.o \
hal/drivers/mesa-hostmot2/llio_info.o \
Expand Down Expand Up @@ -1329,7 +1326,7 @@ modules: $(patsubst %.o,../rtlib/%.so,$(obj-m))
$(Q)objdump -w -j .rtapi_export -t objects/$*.tmp \
| awk 'BEGIN{print "{ global :"} /rtapi_exported_/{printf("%s;\n", substr($$6,16))} END{print "local : * ; };"}' \
> objects/$*.ver
$(Q)$(CC) -shared -Bsymbolic -Wl,--version-script,objects/$*.ver -o $@ $^ -lm $(XENOMAI_EVL_LDFLAGS) $(LDFLAGS)
$(Q)$(CC) -shared -Bsymbolic -Wl,--version-script,objects/$*.ver -o $@ $^ -lm $(LDFLAGS)
$(Q)chmod -x $@

RTFLAGS += -fno-strict-aliasing -fwrapv
Expand All @@ -1340,7 +1337,7 @@ $(sort $(filter-out objects/rtemc/tp/cruckig/%,$(RTOBJS))) : objects/rt%.o : %.c
@rm -f $@
@mkdir -p $(dir $@)
$(Q)$(CC) -c $(OPT) $(DEBUG) $(EXTRA_DEBUG) -DRTAPI \
$(EXTRA_CFLAGS) $(XENOMAI_EVL_CFLAGS) \
$(EXTRA_CFLAGS) \
-MP -MD -MF "${@:.o=.d}" -MT "$@" \
$< -o $@

Expand Down
1 change: 1 addition & 0 deletions src/Makefile.inc.in
Original file line number Diff line number Diff line change
Expand Up @@ -235,6 +235,7 @@ RTAI_LXRT_LDFLAGS=@RTAI_LXRT_LDFLAGS@
CONFIG_USPACE_XENOMAI=@CONFIG_USPACE_XENOMAI@
XENOMAI_CFLAGS=@XENOMAI_CFLAGS@
XENOMAI_LDFLAGS=@XENOMAI_LDFLAGS@
XENOMAI_LDFLAGS_NOINIT=@XENOMAI_LDFLAGS_NOINIT@

CONFIG_USPACE_XENOMAI_EVL=@CONFIG_USPACE_XENOMAI_EVL@
XENOMAI_EVL_CFLAGS=@XENOMAI_EVL_CFLAGS@
Expand Down
4 changes: 4 additions & 0 deletions src/configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -242,17 +242,21 @@ if test "$RTS" = uspace || test -z "$RTS" -a "$RTAI_CONFIG" = "none" ; then
CONFIG_USPACE_XENOMAI=n
XENOMAI_CFLAGS=
XENOMAI_LDFLAGS=
XENOMAI_LDFLAGS_NOINIT=
else
USPACE_XENOMAI=+xenomai
CONFIG_USPACE_XENOMAI=y
XENOMAI_CFLAGS=`$XENOMAI_CONFIG --skin posix --cflags`
XENOMAI_LDFLAGS=`$XENOMAI_CONFIG --skin posix --ldflags`
#Libs need --no-auto-init, otherwhise, each module initialises xenomai at load
XENOMAI_LDFLAGS_NOINIT=`$XENOMAI_CONFIG --skin posix --ldflags --no-auto-init`
AC_DEFINE([USPACE_XENOMAI], [], [Define if uspace realtime should optionally support Xenomai])
fi

AC_SUBST([CONFIG_USPACE_XENOMAI])
AC_SUBST([XENOMAI_CFLAGS])
AC_SUBST([XENOMAI_LDFLAGS])
AC_SUBST([XENOMAI_LDFLAGS_NOINIT])

if test "$HAS_EVL" = "n" ; then
USPACE_XENOMAI_EVL=
Expand Down
22 changes: 22 additions & 0 deletions src/hal/drivers/Submakefile
Original file line number Diff line number Diff line change
Expand Up @@ -39,3 +39,25 @@ modules: \
hal/drivers/pluto_step_rbf.h
endif


ifeq ($(CONFIG_USPACE_XENOMAI_EVL),y)
NET_EVL_SRCS := hal/drivers/mesa-hostmot2/hm2_eth_net_evl.c
USERSRCS += $(NET_EVL_SRCS)
$(call TOOBJSDEPS, $(NET_EVL_SRCS)): EXTRAFLAGS += -fPIC $(XENOMAI_EVL_CFLAGS)
../lib/liblinuxcnc-hm2_eth_net_evl.so.0: $(call TOOBJS, $(NET_EVL_SRCS))
$(ECHO) Linking $(notdir $@)
$(Q)$(CXX) -shared $(LDFLAGS) -o $@ $^ $(XENOMAI_EVL_LDFLAGS) -Wl,-soname,$(notdir $@)
TARGETS += ../lib/liblinuxcnc-hm2_eth_net_evl.so.0
TARGETS += ../lib/liblinuxcnc-hm2_eth_net_evl.so
endif

ifeq ($(CONFIG_USPACE_XENOMAI),y)
NET_XENOMAI_SRCS := hal/drivers/mesa-hostmot2/hm2_eth_net_xenomai.c
USERSRCS += $(NET_XENOMAI_SRCS)
$(call TOOBJSDEPS, $(NET_XENOMAI_SRCS)): EXTRAFLAGS += -fPIC $(XENOMAI_CFLAGS)
../lib/liblinuxcnc-hm2_eth_net_xenomai.so.0: $(call TOOBJS, $(NET_XENOMAI_SRCS))
$(ECHO) Linking $(notdir $@)
$(Q)$(CXX) -shared $(LDFLAGS) -o $@ $^ $(XENOMAI_LDFLAGS_NOINIT) -Wl,-soname,$(notdir $@)
TARGETS += ../lib/liblinuxcnc-hm2_eth_net_xenomai.so.0
TARGETS += ../lib/liblinuxcnc-hm2_eth_net_xenomai.so
endif
Loading