-
Notifications
You must be signed in to change notification settings - Fork 72
Description
Is your feature request related to a problem? Please describe.
The only non-generic implementation in pc-rtems is the network setup, which prevents use on a generic target.
Describe the solution you'd like
Isolate/separate network setup to support source selection or similar configuration option. Consider configuring from target defs or similar to avoid changes required within psp.
Describe alternatives you've considered
Could make an additional psp, but doesn't seem worth duplicating all the pc-rtems code that isn't specific to pc's.
Additional context
Specific parts:
PSP/fsw/pc-rtems/src/cfe_psp_start.c
Lines 36 to 40 in a260e9c
| #include <rtems/rtems_bsdnet.h> | |
| #include <rtems/rtems_dhcp_failsafe.h> | |
| #include <bsp.h> | |
| extern int rtems_fxp_attach(struct rtems_bsdnet_ifconfig *config, int attaching); |
PSP/fsw/pc-rtems/src/cfe_psp_start.c
Lines 67 to 84 in a260e9c
| static unsigned char ethernet_address[6] = {0x00, 0x04, 0x9F, 0x00, 0x27, 0x61}; | |
| static char net_name_str[] = "fxp1"; | |
| static char ip_addr_str[] = "10.0.2.17"; | |
| static char ip_netmask_str[] = "255.255.255.0"; | |
| static struct rtems_bsdnet_ifconfig netdriver_config = { | |
| .name = net_name_str, | |
| .attach = rtems_fxp_attach, | |
| .next = NULL, | |
| .ip_address = ip_addr_str, | |
| .ip_netmask = ip_netmask_str, | |
| .hardware_address = ethernet_address | |
| /* more options can follow */ | |
| }; | |
| struct rtems_bsdnet_config rtems_bsdnet_config = { | |
| .ifconfig = &netdriver_config, .bootp = rtems_bsdnet_do_dhcp_failsafe, /* fill if DHCP is used*/ | |
| }; |
Might also benefit from making /mnt/eeprom a config param... depends on how/where this is actually set up by the PSP. Would be nice to shift away from "eeprom" and use generic "nonvol".
Requester Info
Jacob Hageman - NASA/GSFC