* Add RTEMS libbsd static network config for motload nvram
setBootConfigFromNVRAM() now configures static networking via the
libbsd rtems_bsd_ifconfig() API when building against RTEMS with
libbsd. It only uses static networking if it can find a configured IP
and netmask from GEV or the mot script boot parameters, otherwise it
falls back to DHCP.
Also note, NTP was part of setBootConfigFromNVRAM() when using legacy
RTEMS networking, but is handled outside this function for LibBSD. To
preserve the legacy behavior, setBootConfigFromNVRAM() still pulls out
NTP server info, but now stores it in an output parameter for outside
code to use.
* Wait for link to come up when starting RTEMS/libbsd/static IP
When configuring a static IP on RTEMS/libbsd, we need to intentionally
wait for the link to come up before continuing to configure ntp, etc.
* Separate common network setup from BSP specific implementations
All the BSP setBootConfigFromNVRAM() functions ultimately configured
the RTEMS networking the same way. The common networking code
has been pulled out into a separate function now called from BSP specific
code.
All networking setup is now included and optionally used only
when the BSP sets the field appropriately.
This lets the setBootConfigFromNVRAM functions be independent of the
network stack, just focussing on collecting the configuration from each
BSP as appropriate.
* Fix unused function warnings for functions unused on certain BSPs
* Remove old comments about if MY_BOOTP
* Added release note entry
--
Co-authored-by: Brendan Chandler <bchandler@anl.gov>
RTEMS performs a few early errlogPrintf calls. This initialises
the errlog buffers to some default values blocking certain tests
from re-initialising the error log later.
Fix EditorConfig failure in modules/libcom/RTEMS/epicsNtp.c
Add dbDefs to Sphinx API index, move devLib to libcom
Rename internal CA enum tag to fix Doxygen complaint
Set Clang's minimum MacOS version for aarch64 CPUs
Most errors found with:
codespell -L cach,thst,odly,aslo,parm,parms,inpu,ges,prset,pevent,ptd,pring,valu,noo,noe,ned,inout,ro,siz,froms,nd,fo,singl,sart,multy,tthe,allong,ment,inate,nodel,tring,alse,ture,thi,wille,numer
Some more manually found (its -> it's)
c++20: Do not use apostrophe (e.g. can't) in unquoted #error message
This replaces an implementation that used a header guard being defined
to indicate BSP specific options. Hopefully this method is more
explicit when config options should be set for specific BSPs.
This looks like a merge issue, where we included ne2kpci possibly
twice, based on CPU being i386 and BSP being pc686. Just
checking CPU as i386 should be sufficient for all cases.
rtems_init.c will write out a dhcpcd.conf if one doesn't already
exist, but if there's a filesystem including this file, don't write
over it, use whatever's there instead.
Use strtok_r rather than strtok
Use strlen() rather than harcoded string size. GCC should optimize
this to the hardcoded string size, so the result should be the same
but maybe prevents future mistakes.
replace strncpy() with snprintf() to avoid issues with NULL terminated
strings.
In the future, it would be nice to add an ioc shell command to launch
into an RTEMS shell, but for now, it can be helpful when debugging to
enable this section for poking around in an RTEMS shell check network
configuration and stuff like that.
RTEMS dhcp will wait indefinitely for a response.
rtems_init.c will wait on DHCP for 10 minutes, before timing out and
starting main(). Note that rtems should still be waiting in the
background and a dhcp connection could still come up after this timeout.
Use strtok_r rather than strtok
Use strlen() rather than harcoded string size. GCC should optimize
this to the hardcoded string size, so the result should be the same
but maybe prevents future mistakes.
replace strncpy() with snprintf() to avoid issues with NULL terminated
strings.