I have created a libbsd port for a modified version of the lpc32xx BSP.  The 
lpc code from FREEBSD 10 was backported to FREEBSD 9.3 because FREEBSD 9.3 did 
not support ARM LPC processors.  I ran into some issues that I would like to 
run by the group.

Issue 1 - the order of declared modules in nexus-devices.h does not guarantee 
that they will come up in that order on boot up.

a.       The lpc code consists of multiple modules that need to be instantiated 
in a particular order.  When running the libbsd testsuite (mainly dhcp01 and 
usb01), the boot up order of the modules was different for each test.  In one 
case it was OK but the other was not.

b.       To have some control over the ordering, I added order support to 
RTEMS_BSD_DEFINE_NEXUS_DEVICE (RTEMS_BSD_DEFINE_NEXUS_DEVICE_ORDERED). This is 
modeled off of what FREEBSD does for DRIVER_MODULE (DRIVER_MODULE_ORDERED).   A 
small change to rtems-kernel-nexus.c was needed to support this.

Issue 2 - rtems_bsd_get_mac_address() , rtems_bsd_get_task_priority(), and 
rtems_bsd_get_task_stack_size() are application dependent.  Are we against 
creating a configuration structure to initialize these things before 
rtems_bsd_initialize() is called?  At a bare minimum, the RTEMS BSP could set 
some variables used by libbsd.

Kevin Kirspel
Electrical Engineer - Sr. Staff
Opti Medical
235 Hembree Park Drive
Roswell GA 30076
Tel: (770)-510-4444 ext. 81642
Direct: (770)-688-1642
Fax: (770)-510-4445
_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Reply via email to