Fix conflict in ChangeLog

This commit is contained in:
Gregory Nutt
2014-06-27 10:00:28 -06:00
25 changed files with 419 additions and 31 deletions
+4 -8
View File
@@ -7540,12 +7540,8 @@
runs from ISRAM and loads an Intel HEX file into DRAM (2014-6-26). runs from ISRAM and loads an Intel HEX file into DRAM (2014-6-26).
* configs/sama5d4-ek/nsh and scripts/: Setup the SAMA5D4-EK NSHi * configs/sama5d4-ek/nsh and scripts/: Setup the SAMA5D4-EK NSHi
configuration to use the DRAMBOOT loader by default (2014-6-26). configuration to use the DRAMBOOT loader by default (2014-6-26).
* binfmt: Various changes associated with symbol tables. Most from Pelle
Windestam (2014-6-27).
* Networkin: Add network device ioctl to access PHY registers. From Daniel
Lazlo Sitzer (2014-6-27).
* net/netdev: Move net/netdev*.c to net/netdev/netdev*.c (2014-6-27). * net/netdev: Move net/netdev*.c to net/netdev/netdev*.c (2014-6-27).
* net/netdev: Move net/netdev*.c to net/netdev/netdev*.c (2014-6-27).
* net/netdev: Move net/netdev*.c to net/netdev/netdev*.c (2014-6-27).
* net/netdev: Move net/netdev*.c to net/netdev/netdev*.c (2014-6-27).
* net/netdev: Move net/netdev*.c to net/netdev/netdev*.c (2014-6-27).
* net/netdev: Move net/netdev*.c to net/netdev/netdev*.c (2014-6-27).
* net/netdev: Move net/netdev*.c to net/netdev/netdev*.c (2014-6-27).
* net/netdev: Move net/netdev*.c to net/netdev/netdev*.c (2014-6-27).
+5 -2
View File
@@ -407,7 +407,10 @@ any following arguments.
<code>nuttx/syscall/syscall.csv</code> that describes the NuttX RTOS interface, and <code>nuttx/syscall/syscall.csv</code> that describes the NuttX RTOS interface, and
</li> </li>
<li> <li>
<code>nuttx/libc/lib.csv</code> that describes the NuttX C library interface. <code>nuttx/libc/libc.csv</code> that describes the NuttX C library interface.
</li>
<li>
<code>nuttx/libc/math.cvs</code> that descirbes any math library.
</li> </li>
</ol> </ol>
<ul><pre> <ul><pre>
@@ -424,7 +427,7 @@ Where:
</p> </p>
<ul><pre> <ul><pre>
cd nuttx/tools cd nuttx/tools
cat ../syscall/syscall.csv ../libc/lib.csv | sort >tmp.csv cat ../syscall/syscall.csv ../libc/libc.csv | sort >tmp.csv
./mksymtab.exe tmp.csv tmp.c ./mksymtab.exe tmp.csv tmp.c
</pre></ul> </pre></ul>
+63
View File
@@ -665,6 +665,9 @@ static void stm32_rxdescinit(FAR struct stm32_ethmac_s *priv);
/* PHY Initialization */ /* PHY Initialization */
#ifdef CONFIG_NETDEV_PHY_IOCTL
static int stm32_ioctl(int cmd, struct mii_ioctl_data *req);
#endif
static int stm32_phyread(uint16_t phydevaddr, uint16_t phyregaddr, uint16_t *value); static int stm32_phyread(uint16_t phydevaddr, uint16_t phyregaddr, uint16_t *value);
static int stm32_phywrite(uint16_t phydevaddr, uint16_t phyregaddr, uint16_t value); static int stm32_phywrite(uint16_t phydevaddr, uint16_t phyregaddr, uint16_t value);
#ifdef CONFIG_ETH0_PHY_DM9161 #ifdef CONFIG_ETH0_PHY_DM9161
@@ -2475,6 +2478,63 @@ static void stm32_rxdescinit(FAR struct stm32_ethmac_s *priv)
stm32_putreg((uint32_t)priv->rxtable, STM32_ETH_DMARDLAR); stm32_putreg((uint32_t)priv->rxtable, STM32_ETH_DMARDLAR);
} }
/****************************************************************************
* Function: stm32_ioctl
*
* Description:
* Executes the SIOCxMIIxxx command and responds using the request struct
* that must be provided as its 2nd parameter.
*
* When called with SIOCGMIIPHY it will get the PHY address for the device
* and write it to the req->phy_id field of the request struct.
*
* When called with SIOCGMIIREG it will read a register of the PHY that is
* specified using the req->reg_no struct field and then write its output
* to the req->val_out field.
*
* When called with SIOCSMIIREG it will write to a register of the PHY that
* is specified using the req->reg_no struct field and use req->val_in as
* its input.
*
* Parameters:
* cmd - SIOCxMIIxxx command code
* req - request structure also used to return values
*
* Returned Value: Negated errno on failure.
*
* Assumptions:
*
****************************************************************************/
#ifdef CONFIG_NETDEV_PHY_IOCTL
static int stm32_ioctl(int cmd, struct mii_ioctl_data *req)
{
int ret = -ENOTTY;
switch (cmd)
{
case SIOCGMIIPHY: /* Get MII PHY address */
req->phy_id = CONFIG_STM32_PHYADDR;
ret = OK;
break;
case SIOCGMIIREG: /* Get register from MII PHY */
ret = stm32_phyread(req->phy_id, req->reg_num, &req->val_out);
break;
case SIOCSMIIREG: /* Set register in MII PHY */
ret = stm32_phywrite(req->phy_id, req->reg_num, req->val_in);
break;
default:
ret = -EINVAL;
break;
}
return ret;
}
#endif /* CONFIG_NETDEV_PHY_IOCTL */
/**************************************************************************** /****************************************************************************
* Function: stm32_phyread * Function: stm32_phyread
* *
@@ -3460,6 +3520,9 @@ int stm32_ethinitialize(int intf)
#ifdef CONFIG_NET_IGMP #ifdef CONFIG_NET_IGMP
priv->dev.d_addmac = stm32_addmac; /* Add multicast MAC address */ priv->dev.d_addmac = stm32_addmac; /* Add multicast MAC address */
priv->dev.d_rmmac = stm32_rmmac; /* Remove multicast MAC address */ priv->dev.d_rmmac = stm32_rmmac; /* Remove multicast MAC address */
#endif
#ifdef CONFIG_NETDEV_PHY_IOCTL
priv->dev.d_ioctl = stm32_ioctl; /* Support PHY ioctl() calls */
#endif #endif
priv->dev.d_private = (void*)g_stm32ethmac; /* Used to recover private state from dev */ priv->dev.d_private = (void*)g_stm32ethmac; /* Used to recover private state from dev */
+1 -1
View File
@@ -684,7 +684,7 @@ There are also common-separated value (CSV) values in the source try that
provide information about symbols. In particular: provide information about symbols. In particular:
nuttx/syscall/syscall.csv - Describes the NuttX RTOS interface, and nuttx/syscall/syscall.csv - Describes the NuttX RTOS interface, and
nuttx/lib/lib.csv - Describes the NuttX C library interface. nuttx/lib/libc.csv - Describes the NuttX C library interface.
There is a tool at nuttx/tools/mksymtab that will use these CSV files as There is a tool at nuttx/tools/mksymtab that will use these CSV files as
input to generate a generic symbol table. See nuttx/tools/README.txt for input to generate a generic symbol table. See nuttx/tools/README.txt for
+2 -2
View File
@@ -50,7 +50,7 @@ config SAMA5D4EK_DRAM_MAIN
by SAMA5D4EK_DRAM_START. by SAMA5D4EK_DRAM_START.
NOTE: If you use this boot loader, then your program must be built at NOTE: If you use this boot loader, then your program must be built at
origin 0x2000:0000, not at 0x2100:0000 as is customary with U-Boot. origin 0x2000:0000, not at 0x2000:8000 as is customary with U-Boot.
config SAMA5D4EK_DRAM_START config SAMA5D4EK_DRAM_START
bool "Start DRAM program" bool "Start DRAM program"
@@ -71,7 +71,7 @@ config SAMA5D4EK_DRAM_BOOT
Select this option if you are going to boot using the sdram_main Select this option if you are going to boot using the sdram_main
bootloader (created with SAMA5D4EK_DRAM_MAIN=y). This selection bootloader (created with SAMA5D4EK_DRAM_MAIN=y). This selection
will simply origin your program at 0x2000:0000 as required by the will simply origin your program at 0x2000:0000 as required by the
sdram_main bootloader (vs. 0x2100:0000 as required by U-Boot). sdram_main bootloader (vs. 0x2000:8000 as required by U-Boot).
config SAMA5D4EK_NAND_AUTOMOUNT config SAMA5D4EK_NAND_AUTOMOUNT
bool "NAND FLASH auto-mount" bool "NAND FLASH auto-mount"
+1 -1
View File
@@ -66,7 +66,7 @@ namespace std
using ::rmdir; using ::rmdir;
using ::getopt; using ::getopt;
using ::getoptargp; using ::getoptargp;
using ::getopindgp; using ::getoptindp;
using ::getoptoptp; using ::getoptoptp;
} }
+8 -7
View File
@@ -165,7 +165,8 @@ typedef void *imaxdiv_t; /* Dummy type since imaxdiv is not yet supported */
#ifdef __cplusplus #ifdef __cplusplus
#define EXTERN extern "C" #define EXTERN extern "C"
extern "C" { extern "C"
{
#else #else
#define EXTERN extern #define EXTERN extern
#endif #endif
@@ -174,13 +175,13 @@ extern "C" {
* macros. Function prototypes shall be provided." * macros. Function prototypes shall be provided."
*/ */
EXTERN intmax_t imaxabs(intmax_t); intmax_t imaxabs(intmax_t);
EXTERN imaxdiv_t imaxdiv(intmax_t, intmax_t); imaxdiv_t imaxdiv(intmax_t, intmax_t);
EXTERN intmax_t strtoimax(const char *, char **, int); intmax_t strtoimax(const char *, char **, int);
EXTERN uintmax_t strtoumax(const char *, char **, int); uintmax_t strtoumax(const char *, char **, int);
EXTERN intmax_t wcstoimax(const wchar_t *, wchar_t **, int); intmax_t wcstoimax(const wchar_t *, wchar_t **, int);
EXTERN uintmax_t wcstoumax(const wchar_t *, wchar_t **, int); uintmax_t wcstoumax(const wchar_t *, wchar_t **, int);
#undef EXTERN #undef EXTERN
#ifdef __cplusplus #ifdef __cplusplus
+26 -1
View File
@@ -57,11 +57,22 @@
#define IFF_RUNNING (1 << 2) #define IFF_RUNNING (1 << 2)
#define IFF_NOARP (1 << 7) #define IFF_NOARP (1 << 7)
/******************************************************************************************* /*******************************************************************************************
* Public Type Definitions * Public Type Definitions
*******************************************************************************************/ *******************************************************************************************/
/* Part of the I/F request used to read from or write to the MII/PHY management
* interface when SIOCxMIIREG ioctl was called.
*/
struct mii_ioctl_data
{
uint16_t phy_id; /* PHY device address */
uint16_t reg_num; /* PHY register address */
uint16_t val_in; /* PHY input data */
uint16_t val_out; /* PHY output data */
};
/* This is the newer form if the I/F request structure that can be used with both IPv4 /* This is the newer form if the I/F request structure that can be used with both IPv4
* and IPv6. * and IPv6.
*/ */
@@ -79,6 +90,7 @@ struct lifreq
int lifru_count; /* Number of devices */ int lifru_count; /* Number of devices */
int lifru_mtu; /* MTU size */ int lifru_mtu; /* MTU size */
uint8_t lifru_flags; /* Interface flags */ uint8_t lifru_flags; /* Interface flags */
struct mii_ioctl_data lifru_mii_data; /* MII request data */
} lifr_ifru; } lifr_ifru;
}; };
@@ -90,6 +102,10 @@ struct lifreq
#define lifr_mtu lifr_ifru.lifru_mtu /* MTU */ #define lifr_mtu lifr_ifru.lifru_mtu /* MTU */
#define lifr_count lifr_ifru.lifru_count /* Number of devices */ #define lifr_count lifr_ifru.lifru_count /* Number of devices */
#define lifr_flags lifr_ifru.lifru_flags /* interface flags */ #define lifr_flags lifr_ifru.lifru_flags /* interface flags */
#define lifr_mii_phy_id lifr_ifru.lifru_mii_data.phy_id /* PHY device address */
#define lifr_mii_reg_num lifr_ifru.lifru_mii_data.reg_num /* PHY register address */
#define lifr_mii_val_in lifr_ifru.lifru_mii_data.val_in /* PHY input data */
#define lifr_mii_val_out lifr_ifru.lifru_mii_data.val_out /* PHY output data */
/* This is the older I/F request that should only be used with IPv4. However, since /* This is the older I/F request that should only be used with IPv4. However, since
* NuttX only supports IPv4 or 6 (not both), we can force the older structure to * NuttX only supports IPv4 or 6 (not both), we can force the older structure to
@@ -110,6 +126,7 @@ struct ifreq
int ifru_count; /* Number of devices */ int ifru_count; /* Number of devices */
int ifru_mtu; /* MTU size */ int ifru_mtu; /* MTU size */
uint8_t ifru_flags; /* Interface flags */ uint8_t ifru_flags; /* Interface flags */
struct mii_ioctl_data ifru_mii_data; /* MII request data */
} ifr_ifru; } ifr_ifru;
}; };
@@ -121,6 +138,10 @@ struct ifreq
#define ifr_mtu ifr_ifru.ifru_mtu /* MTU */ #define ifr_mtu ifr_ifru.ifru_mtu /* MTU */
#define ifr_count ifr_ifru.ifru_count /* Number of devices */ #define ifr_count ifr_ifru.ifru_count /* Number of devices */
#define ifr_flags ifr_ifru.ifru_flags /* interface flags */ #define ifr_flags ifr_ifru.ifru_flags /* interface flags */
#define ifr_mii_phy_id ifr_ifru.ifru_mii_data.phy_id /* PHY device address */
#define ifr_mii_reg_num ifr_ifru.ifru_mii_data.reg_num /* PHY register address */
#define ifr_mii_val_in ifr_ifru.ifru_mii_data.val_in /* PHY input data */
#define ifr_mii_val_out ifr_ifru.ifru_mii_data.val_out /* PHY output data */
#else /* CONFIG_NET_IPv6 */ #else /* CONFIG_NET_IPv6 */
@@ -134,6 +155,10 @@ struct ifreq
#define ifr_mtu lifr_ifru.lifru_mtu /* MTU */ #define ifr_mtu lifr_ifru.lifru_mtu /* MTU */
#define ifr_count lifr_ifru.lifru_count /* Number of devices */ #define ifr_count lifr_ifru.lifru_count /* Number of devices */
#define ifr_flags lifr_ifru.lifru_flags /* interface flags */ #define ifr_flags lifr_ifru.lifru_flags /* interface flags */
#define ifr_mii_phy_id lifr_ifru.lifru_mii_data.phy_id /* PHY device address */
#define ifr_mii_reg_num lifr_ifru.lifru_mii_data.reg_num /* PHY register address */
#define ifr_mii_val_in lifr_ifru.lifru_mii_data.val_in /* PHY input data */
#define ifr_mii_val_out lifr_ifru.lifru_mii_data.val_out /* PHY output data */
#endif /* CONFIG_NET_IPv6 */ #endif /* CONFIG_NET_IPv6 */
+8
View File
@@ -150,6 +150,14 @@ double round (double x);
long double roundl(long double x); long double roundl(long double x);
#endif #endif
float rintf(float x); /* Not implemented */
#if CONFIG_HAVE_DOUBLE
double_t rint(double_t x);
#endif
#ifdef CONFIG_HAVE_LONG_DOUBLE
long double rintl(long double x); /* Not implemented */
#endif
float fabsf (float x); float fabsf (float x);
#if CONFIG_HAVE_DOUBLE #if CONFIG_HAVE_DOUBLE
double fabs (double x); double fabs (double x);
+6
View File
@@ -160,6 +160,12 @@
#define SIOCSIWPMKSA _SIOC(0x0041) /* PMKSA cache operation */ #define SIOCSIWPMKSA _SIOC(0x0041) /* PMKSA cache operation */
/* MDIO/MCD *****************************************************************/
#define SIOCGMIIPHY _SIOC(0x0042) /* Get address of MII PHY in use */
#define SIOCGMIIREG _SIOC(0x0043) /* Get a MII register via MDIO */
#define SIOCSMIIREG _SIOC(0x0044) /* Set a MII register via MDIO */
/**************************************************************************** /****************************************************************************
* Type Definitions * Type Definitions
****************************************************************************/ ****************************************************************************/
+3
View File
@@ -187,6 +187,9 @@ struct uip_driver_s
int (*d_addmac)(struct uip_driver_s *dev, FAR const uint8_t *mac); int (*d_addmac)(struct uip_driver_s *dev, FAR const uint8_t *mac);
int (*d_rmmac)(struct uip_driver_s *dev, FAR const uint8_t *mac); int (*d_rmmac)(struct uip_driver_s *dev, FAR const uint8_t *mac);
#endif #endif
#ifdef CONFIG_NETDEV_PHY_IOCTL
int (*d_ioctl)(int cmd, struct mii_ioctl_data *req);
#endif
/* Drivers may attached device-specific, private information */ /* Drivers may attached device-specific, private information */
+2 -2
View File
@@ -119,7 +119,7 @@ EXTERN int optind; /* Index into argv */
EXTERN int optopt; /* unrecognized option character */ EXTERN int optopt; /* unrecognized option character */
#else #else
# define optarg (*(getoptargp())) # define optarg (*(getoptargp()))
# define optind (*(getopindgp())) # define optind (*(getoptindp()))
# define optopt (*(getoptoptp())) # define optopt (*(getoptoptp()))
#endif #endif
@@ -183,7 +183,7 @@ int getopt(int argc, FAR char *const argv[], FAR const char *optstring);
*/ */
FAR char **getoptargp(void); /* Optional argument following option */ FAR char **getoptargp(void); /* Optional argument following option */
int *getopindgp(void); /* Index into argv */ int *getoptindp(void); /* Index into argv */
int *getoptoptp(void); /* unrecognized option character */ int *getoptoptp(void); /* unrecognized option character */
#undef EXTERN #undef EXTERN
+1 -1
View File
@@ -52,7 +52,7 @@ Library Database
Information about functions available in the NuttX C library information is Information about functions available in the NuttX C library information is
maintained in a database. That "database" is implemented as a simple comma- maintained in a database. That "database" is implemented as a simple comma-
separated-value file, lib.csv. Most spreadsheets programs will accept this separated-value file, libc.csv. Most spreadsheets programs will accept this
format and can be used to maintain the library database. format and can be used to maintain the library database.
This library database will (eventually) be used to generate symbol library This library database will (eventually) be used to generate symbol library
+1 -1
View File
@@ -35,7 +35,7 @@
# Add the fixed precision math C files to the build # Add the fixed precision math C files to the build
CSRCS += lib_rint.c lib_fixedmath.c lib_b16sin.c lib_b16cos.c lib_b16atan2.c CSRCS += lib_fixedmath.c lib_b16sin.c lib_b16cos.c lib_b16atan2.c
# Add the fixed precision math directory to the build # Add the fixed precision math directory to the build
+2 -3
View File
@@ -51,7 +51,7 @@
"gmtime_r","time.h","","FAR struct tm","FAR const time_t *","FAR struct tm *" "gmtime_r","time.h","","FAR struct tm","FAR const time_t *","FAR struct tm *"
"htonl","arpa/inet.h","","uint32_t","uint32_t" "htonl","arpa/inet.h","","uint32_t","uint32_t"
"htons","arpa/inet.h","","uint16_t","uint16_t" "htons","arpa/inet.h","","uint16_t","uint16_t"
"imaxabs","stdlib.h","","intmax_t","intmax_t" "imaxabs","inttypes.h","","intmax_t","intmax_t"
"inet_addr","arpa/inet.h","","in_addr_t","FAR const char " "inet_addr","arpa/inet.h","","in_addr_t","FAR const char "
"inet_ntoa","arpa/inet.h","!defined(CONFIG_NET_IPv6) && defined(CONFIG_CAN_PASS_STRUCTS)","FAR char","struct in_addr" "inet_ntoa","arpa/inet.h","!defined(CONFIG_NET_IPv6) && defined(CONFIG_CAN_PASS_STRUCTS)","FAR char","struct in_addr"
"inet_ntop","arpa/inet.h","","FAR const char","int","FAR const void *","FAR char *","socklen_t" "inet_ntop","arpa/inet.h","","FAR const char","int","FAR const void *","FAR char *","socklen_t"
@@ -62,7 +62,7 @@
"lldbg","debug.h","!defined(CONFIG_CPP_HAVE_VARARGS) && defined(CONFIG_DEBUG) && defined(CONFIG_ARCH_LOWPUTC)","int","const char *","..." "lldbg","debug.h","!defined(CONFIG_CPP_HAVE_VARARGS) && defined(CONFIG_DEBUG) && defined(CONFIG_ARCH_LOWPUTC)","int","const char *","..."
"llvdbg","debug.h","!defined(CONFIG_CPP_HAVE_VARARGS) && defined(CONFIG_DEBUG) && defined(CONFIG_DEBUG_VERBOSE) && defined(CONFIG_ARCH_LOWPUTC)","int","const char *","..." "llvdbg","debug.h","!defined(CONFIG_CPP_HAVE_VARARGS) && defined(CONFIG_DEBUG) && defined(CONFIG_DEBUG_VERBOSE) && defined(CONFIG_ARCH_LOWPUTC)","int","const char *","..."
"lowsyslog","syslog.h","","int","FAR const char *","..." "lowsyslog","syslog.h","","int","FAR const char *","..."
"match","","","int","const char *","const char *" "match","nuttx/regex.h","","int","const char *","const char *"
"memccpy","string.h","","FAR void","FAR void *","FAR const void *","int c","size_t" "memccpy","string.h","","FAR void","FAR void *","FAR const void *","int c","size_t"
"memchr","string.h","","FAR void","FAR const void *","int c","size_t" "memchr","string.h","","FAR void","FAR const void *","int c","size_t"
"memcmp","string.h","","int","FAR const void *","FAR const void *","size_t" "memcmp","string.h","","int","FAR const void *","FAR const void *","size_t"
@@ -102,7 +102,6 @@
"qsort","stdlib.h","","void","void *","size_t","size_t","int(*)(const void *","const void *)" "qsort","stdlib.h","","void","void *","size_t","size_t","int(*)(const void *","const void *)"
"rand","stdlib.h","","int" "rand","stdlib.h","","int"
"readdir_r","dirent.h","CONFIG_NFILE_DESCRIPTORS > 0","int","FAR DIR *","FAR struct dirent *","FAR struct dirent **" "readdir_r","dirent.h","CONFIG_NFILE_DESCRIPTORS > 0","int","FAR DIR *","FAR struct dirent *","FAR struct dirent **"
"rint","","","double_t","double_t"
"sched_get_priority_max","sched.h","","int","int" "sched_get_priority_max","sched.h","","int","int"
"sched_get_priority_min","sched.h","","int","int" "sched_get_priority_min","sched.h","","int","int"
"sem_getvalue","semaphore.h","","int","FAR sem_t *","FAR int *" "sem_getvalue","semaphore.h","","int","FAR sem_t *","FAR int *"
1 _inet_ntoa arpa/inet.h !defined(CONFIG_NET_IPv6) && !defined(CONFIG_CAN_PASS_STRUCTS) FAR char in_addr_t
51 gmtime_r time.h FAR struct tm FAR const time_t *
52 htonl arpa/inet.h uint32_t uint32_t
53 htons arpa/inet.h uint16_t uint16_t
54 imaxabs stdlib.h inttypes.h intmax_t intmax_t
55 inet_addr arpa/inet.h in_addr_t FAR const char
56 inet_ntoa arpa/inet.h !defined(CONFIG_NET_IPv6) && defined(CONFIG_CAN_PASS_STRUCTS) FAR char struct in_addr
57 inet_ntop arpa/inet.h FAR const char int
62 lldbg debug.h !defined(CONFIG_CPP_HAVE_VARARGS) && defined(CONFIG_DEBUG) && defined(CONFIG_ARCH_LOWPUTC) int const char *
63 llvdbg debug.h !defined(CONFIG_CPP_HAVE_VARARGS) && defined(CONFIG_DEBUG) && defined(CONFIG_DEBUG_VERBOSE) && defined(CONFIG_ARCH_LOWPUTC) int const char *
64 lowsyslog syslog.h int FAR const char *
65 match nuttx/regex.h int const char *
66 memccpy string.h FAR void FAR void *
67 memchr string.h FAR void FAR const void *
68 memcmp string.h int FAR const void *
102 qsort stdlib.h void void *
103 rand stdlib.h int
104 readdir_r dirent.h CONFIG_NFILE_DESCRIPTORS > 0 int FAR DIR *
rint double_t double_t
105 sched_get_priority_max sched.h int int
106 sched_get_priority_min sched.h int int
107 sem_getvalue semaphore.h int FAR sem_t *
+73
View File
@@ -0,0 +1,73 @@
"acos","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double"
"acosf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float"
"acosl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double"
"asin","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double"
"asinf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float"
"asinl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double"
"atan","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double"
"atan2","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double",double"
"atan2f","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float",float"
"atan2l","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double","long double"
"atanf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float"
"atanl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double"
"ceil","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double"
"ceilf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float"
"ceill","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double"
"cos","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double"
"cosf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float"
"cosh","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double"
"coshf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float"
"coshl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double"
"cosl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double"
"exp","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double"
"expf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float"
"expl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double"
"fabs","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double"
"fabsf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float"
"fabsl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double"
"floor","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double"
"floorf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float"
"floorl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double"
"fmod","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double","double"
"fmodf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float","float"
"fmodl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double","long double"
"frexp","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double","int *"
"frexpf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float","int *"
"frexpl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double",int *"
"ldexp","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double",int"
"ldexpf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float",int"
"ldexpl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double","int"
"log","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double"
"log10","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double"
"log10f","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float"
"log10l","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double"
"log2","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double"
"log2f","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float"
"log2l","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double"
"logf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float"
"logl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double"
"modf","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double","double *"
"modff","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float","float *"
"modfl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double","long double *"
"pow","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double","double"
"powf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float","float"
"powl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double","long double"
"rint","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double_t","double_t"
"round","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double"
"roundf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float"
"roundl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double"
"sin","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double"
"sinf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float"
"sinh","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double"
"sinhf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float"
"sinhl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double"
"sinl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double"
"sqrt","math.hdefined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","",""
"sqrtf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float"
"sqrtl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double"
"tan","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double"
"tanf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float"
"tanh","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double"
"tanhf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float"
"tanhl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double"
"tanl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double"
Can't render this file because it contains an unexpected character in line 8 and column 127.
+1 -1
View File
@@ -45,7 +45,7 @@ CSRCS += lib_roundf.c lib_sinf.c lib_sinhf.c lib_sqrtf.c lib_tanf.c lib_tanhf.c
CSRCS += lib_acos.c lib_asin.c lib_atan.c lib_atan2.c lib_ceil.c lib_cos.c CSRCS += lib_acos.c lib_asin.c lib_atan.c lib_atan2.c lib_ceil.c lib_cos.c
CSRCS += lib_cosh.c lib_exp.c lib_fabs.c lib_floor.c lib_fmod.c lib_frexp.c CSRCS += lib_cosh.c lib_exp.c lib_fabs.c lib_floor.c lib_fmod.c lib_frexp.c
CSRCS += lib_ldexp.c lib_log.c lib_log10.c lib_log2.c lib_modf.c lib_pow.c CSRCS += lib_ldexp.c lib_log.c lib_log10.c lib_log2.c lib_modf.c lib_pow.c
CSRCS += lib_round.c lib_sin.c lib_sinh.c lib_sqrt.c lib_tan.c lib_tanh.c CSRCS += lib_rint.c lib_round.c lib_sin.c lib_sinh.c lib_sqrt.c lib_tan.c lib_tanh.c
CSRCS += lib_acosl.c lib_asinl.c lib_atan2l.c lib_atanl.c lib_ceill.c lib_cosl.c CSRCS += lib_acosl.c lib_asinl.c lib_atan2l.c lib_atanl.c lib_ceill.c lib_cosl.c
CSRCS += lib_coshl.c lib_expl.c lib_fabsl.c lib_floorl.c lib_fmodl.c lib_frexpl.c CSRCS += lib_coshl.c lib_expl.c lib_fabsl.c lib_floorl.c lib_fmodl.c lib_frexpl.c
@@ -42,8 +42,10 @@
************************************************************/ ************************************************************/
#include <nuttx/config.h> #include <nuttx/config.h>
#include <sys/types.h> #include <sys/types.h>
#include <stdlib.h> #include <stdlib.h>
#include <math.h>
/************************************************************ /************************************************************
* Definitions * Definitions
+6
View File
@@ -73,6 +73,12 @@ config NET_SOCKOPTS
---help--- ---help---
Enable or disable support for socket options Enable or disable support for socket options
config NETDEV_PHY_IOCTL
bool "Enable PHY ioctl()"
default n
---help---
Enable support for ioctl() commands to access PHY registers"
if NET_SOCKOPTS if NET_SOCKOPTS
config NET_SOLINGER config NET_SOLINGER
+8
View File
@@ -0,0 +1,8 @@
#
# For a description of the syntax of this configuration file,
# see misc/tools/kconfig-language.txt.
#
#menu "Network Device Operations"
#endmenu # Network Device Operations
+54
View File
@@ -0,0 +1,54 @@
############################################################################
# net/netdev/Make.defs
#
# Copyright (C) 2014 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <gnutt@nuttx.org>
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in
# the documentation and/or other materials provided with the
# distribution.
# 3. Neither the name NuttX nor the names of its contributors may be
# used to endorse or promote products derived from this software
# without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#
############################################################################
ifeq ($(CONFIG_NET),y)
# Support for operations on network devices
NETDEV_CSRCS += netdev_register.c netdev_ioctl.c net_poll.c netdev_txnotify.c
NETDEV_CSRCS += netdev_findbyname.c netdev_findbyaddr.c netdev_count.c
NETDEV_CSRCS += netdev_foreach.c netdev_unregister.c netdev_sem.c
NETDEV_CSRCS += netdev_carrier.c
ifeq ($(CONFIG_NET_RXAVAIL),y)
NETDEV_CSRCS += netdev_rxnotify.c
endif
# Include netdev build support
DEPPATH += --dep-path netdev
VPATH += :netdev
endif # CONFIG_NET
+125
View File
@@ -0,0 +1,125 @@
/****************************************************************************
* net/netdev/netdev.h
*
* Copyright (C) 2014 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
* 3. Neither the name NuttX nor the names of its contributors may be
* used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
****************************************************************************/
#ifndef __NET_NETDEV_NETDEV_H
#define __NET_NETDEV_NETDEV_H
/****************************************************************************
* Included Files
****************************************************************************/
#include <nuttx/config.h>
#include <sys/types.h>
#include <nuttx/net/uip.h>
/****************************************************************************
* Pre-processor Definitions
****************************************************************************/
/****************************************************************************
* Public Type Definitions
****************************************************************************/
/****************************************************************************
* Public Data
****************************************************************************/
#undef EXTERN
#if defined(__cplusplus)
#define EXTERN extern "C"
extern "C"
{
#else
#define EXTERN extern
#endif
/* List of registered Ethernet device drivers */
#if CONFIG_NSOCKET_DESCRIPTORS > 0
EXTERN struct uip_driver_s *g_netdevices;
#endif
/****************************************************************************
* Public Function Prototypes
****************************************************************************/
/* netdev_register.c *********************************************************/
#if CONFIG_NSOCKET_DESCRIPTORS > 0
void netdev_seminit(void);
void netdev_semtake(void);
void netdev_semgive(void);
#endif
/* netdev_findbyname.c *******************************************************/
#if CONFIG_NSOCKET_DESCRIPTORS > 0
FAR struct uip_driver_s *netdev_findbyname(FAR const char *ifname);
#endif
/* netdev_findbyaddr.c *******************************************************/
#if CONFIG_NSOCKET_DESCRIPTORS > 0
FAR struct uip_driver_s *netdev_findbyaddr(const uip_ipaddr_t addr);
#endif
/* netdev_txnotify.c *********************************************************/
#if CONFIG_NSOCKET_DESCRIPTORS > 0
void netdev_txnotify(const uip_ipaddr_t addr);
#endif
/* netdev_rxnotify.c *********************************************************/
#if CONFIG_NSOCKET_DESCRIPTORS > 0 && defined(CONFIG_NET_RXAVAIL)
void netdev_rxnotify(const uip_ipaddr_t addr);
#else
# define netdev_rxnotify(addr)
#endif
/* net_count.c ***************************************************************/
#if CONFIG_NSOCKET_DESCRIPTORS > 0
int netdev_count(void);
#endif
#undef EXTERN
#ifdef __cplusplus
}
#endif
#endif /* __NET_NETDEV_NETDEV_H */
+15
View File
@@ -423,6 +423,21 @@ static int netdev_ifrioctl(FAR struct socket *psock, int cmd,
# error "IOCTL Commands not implemented" # error "IOCTL Commands not implemented"
#endif #endif
#ifdef CONFIG_NETDEV_PHY_IOCTL
case SIOCGMIIPHY: /* Get address of MII PHY in use */
case SIOCGMIIREG: /* Get MII register via MDIO */
case SIOCSMIIREG: /* Set MII register via MDIO */
{
dev = netdev_ifrdev(req);
if (dev && dev->d_ioctl)
{
struct mii_ioctl_data *mii_data = &req->ifr_ifru.ifru_mii_data;
ret = dev->d_ioctl(cmd, mii_data);
}
}
break;
#endif
default: default:
{ {
ret = -ENOTTY; ret = -ENOTTY;
+1 -1
View File
@@ -207,7 +207,7 @@ mksymtab.c, cvsparser.c, and cvsparser.h
Example: Example:
cd nuttx/tools cd nuttx/tools
cat ../syscall/syscall.csv ../lib/lib.csv | sort >tmp.csv cat ../syscall/syscall.csv ../lib/libc.csv | sort >tmp.csv
./mksymtab.exe tmp.csv tmp.c ./mksymtab.exe tmp.csv tmp.c
mkctags.sh mkctags.sh
+1
View File
@@ -222,6 +222,7 @@ int main(int argc, char **argv, char **envp)
fprintf(outstream, "/* %s: Auto-generated symbol table. Do not edit */\n\n", symtab); fprintf(outstream, "/* %s: Auto-generated symbol table. Do not edit */\n\n", symtab);
fprintf(outstream, "#include <nuttx/config.h>\n"); fprintf(outstream, "#include <nuttx/config.h>\n");
fprintf(outstream, "#include <nuttx/compiler.h>\n");
fprintf(outstream, "#include <nuttx/binfmt/symtab.h>\n\n"); fprintf(outstream, "#include <nuttx/binfmt/symtab.h>\n\n");
/* Output all of the require header files */ /* Output all of the require header files */