Commit Graph

411 Commits

Author SHA1 Message Date
Gregory Nutt 39e7d5431f update gitignore 2016-06-24 16:29:15 -06:00
Gregory Nutt 5118264e6c Rename CONFIG_SYSLOG_CONSOLE to CONFIG_CONSOLE_SYSLOG 2016-06-21 09:35:51 -06:00
Gregory Nutt 485aa6b231 SIM: Comment out skip scheduler debug output that can hang the simulation. 2016-06-21 08:59:01 -06:00
Gregory Nutt 62d8f839c7 SYSLOG: Now a two phase initialization. Some SYSLOG channels cannot be initialized until later in the bringup 2016-06-21 07:52:24 -06:00
Gregory Nutt 43eb04bb8f Without lowsyslog() *llinfo() is not useful. Eliminate and replace with *info(). 2016-06-20 11:59:15 -06:00
Gregory Nutt 2b445ddccc Remove lowsyslog(). The new syslog() includes all of the functionality of lowsyslog(). No longer any need for two interfaces. 2016-06-20 08:57:08 -06:00
Gregory Nutt 5b2aa7bf99 Remove all traces of CONFIG_SYSLOG 2016-06-19 13:59:43 -06:00
Gregory Nutt 0f18f3bd15 Move RAMLOG initialize from up_initialilize.c files to syslog_initialize(). up_initialize.c files now call syslog_initialize() unconditionally 2016-06-19 09:39:21 -06:00
Gregory Nutt 0c8c7fecf0 Add _ to the beginning of all debug macros to avoid name collisions 2016-06-16 12:33:32 -06:00
Gregory Nutt 24c51ec1ff Centralize definitions associated with CONFIG_DEBUG_LCD 2016-06-15 11:40:33 -06:00
Gregory Nutt ba03134bed Centralize definitions associated with CONFIG_DEBUG_SPI 2016-06-15 10:41:13 -06:00
Gregory Nutt dfc703f250 arch/sim/: Change some *err() message to *info() messages if what was a *dbg() message does not indicate and error condition. 2016-06-14 11:49:55 -06:00
Gregory Nutt 0f249016a0 Eliminate some warnings 2016-06-13 14:01:32 -06:00
Gregory Nutt a1469a3e95 Add CONFIG_DEBUG_ERROR. Change names of *dbg() * *err() 2016-06-11 15:50:49 -06:00
Gregory Nutt e99301d7c2 Rename *lldbg to *llerr 2016-06-11 14:55:27 -06:00
Gregory Nutt 1cdc746726 Rename CONFIG_DEBUG to CONFIG_DEBUG_FEATURES 2016-06-11 14:14:08 -06:00
Gregory Nutt fc3540cffe Replace all occurrences of vdbg with vinfo 2016-06-11 11:59:51 -06:00
Gregory Nutt 3a74a438d9 Rename CONFIG_DEBUG_VERBOSE to CONFIG_DEBUG_INFO 2016-06-11 11:50:18 -06:00
Steve a75c48c183 Fix for a minor typo that I introduced somewhere along the way during my testing. This makes the bridge code actually compile… 2016-05-21 17:09:50 -06:00
Steve bd3ef36eda SUMMARY
-------
   This patch enhances networking support for the simulation under Linux.
   Includes updated support for Linux TUN/TAP, and the addition of support for
   Linux bridge devices.

CHANGES
-------
   o Check to see if the d_txavail callback is present before calling it in
     the arp send code.  This prevents a segfault when simulating the telnetd
     daemon with arp send enabled.

   o Adjust the simulation's netdriver_loop() so it will detect and respond to
     ARP requests.

   o Do not attempt to take the tap device's hardware address for use by the
     simulation.  That hardware address belongs to the host end of the link,
     not the simulation end.  Generate a randomized MAC address instead.

   o Do not assign an IP address to the interface on the host side of the TAP
     link.

   + Provide two modes: "host route" and "bridge".

   + In host route mode, maintain a host route that points any traffic for the
     simulation's IP address to the tap device.  In this mode, so long as the
     simulation's IP is a free address in the same subnet as the host, no
     additional configuration will be required to talk to it from the host.
     Note that address changes are handled automatically if they follow the
     rule of if-down/set-address/if-up, which everything seems to.

   + In bridge mode, add the tap device to the specified bridge instance.  See
     configs/sim/NETWORK-LINUX.txt for information and usage examples.  This
     enables much more flexible configurations (with fewer headaches), such as
     running multiple simulations on a single host, all of which can access
     the network the host is connected to.

   o Refresh configurations in configs/sim where CONFIG_NET=y.  They default
     to "host route" mode.

   o Add configs/sim/NETWORK-LINUX.txt

CAVEATS
-------
   - The MAC address generation code is extremely simplistic, and does not
     check for potential conflicts on the network.  Probably not an issue, but
     something to be aware of.

   - I was careful to leave it in a state where Cygwin/pcap should still work,
     but I don't have a Windows environment to test in.  This should be
     checked.

   - I don't know if this was ever intended to work with OS X.  I didn't even
     try to test it there.

NOTES
-----
   - Was able to get telnetd working and simulate nsh over telnet, but only so
     long as listen backlogs were disabled.

     There appears to be a bug in the backlog code where sockets are being
     returned in SYN_RCVD state instead of waiting until they're ESTABLISHED;
     if you perform an immediate send after accepting the connection, it will
     confuse the stack and the send will hang; additionally, the connection
     will never reach ESTABLISHED state.

     Can be worked around by adding a sleep(1) after the accept in telnetd.  I
     don't have the necessary knowledge of the IP stack to know what the
     correct fix is.
2016-05-20 17:36:14 -06:00
Gregory Nutt fb484a581f All GCC final arch/*/src/Makefiles: Allow --start-group and --end-group to be redefined for the case where GCC is used to link (instead of LD). Suggested by Paul Alexander Patience. 2016-05-17 10:43:15 -06:00
Gregory Nutt a3f3cc12c0 Update some comments; Fix grammatic error in ChangeLog. 2016-05-13 17:36:08 -06:00
Gregory Nutt faca2fb1e7 ARMv7-A/i.MX6: Add logic to handle allocation of CPU IDLE thread stacks more efficiently 2016-05-13 11:39:42 -06:00
Gregory Nutt 70782b0f14 ARMv7-A i.MX6: More SMP logic. Still untested. 2016-05-12 15:04:46 -06:00
Gregory Nutt aa64214877 FB: Add a display number to the framebuffer planeinfo structure 2016-04-17 10:08:27 -06:00
Gregory Nutt 46846c0c24 Framebuffer driver: Add a display number to each interface in order to support multiple displays 2016-04-14 12:23:15 -06:00
Gregory Nutt 267e20c729 PM: Add domain to all PM interfaces. Internal PM data structures now handle multiple PM domains. 2016-03-27 13:01:32 -06:00
Gregory Nutt 32acc35c88 PM: Add activity domain to all PM callbacks 2016-03-27 11:18:54 -06:00
Gregory Nutt 35707e4d48 SIM: Update scheduler implementation to match prototype changes 2016-03-22 18:18:37 -06:00
Gregory Nutt e767df5994 SIM: Add another name to the NuttX names list 2016-03-22 13:00:09 -06:00
Gregory Nutt be5b79875f Fix an error in the simulator version of up_unblock_task() 2016-03-21 15:20:14 -06:00
Gregory Nutt bd846c2e72 All architectures: Register the schedule note driver if enabled 2016-03-17 17:00:59 -06:00
Gregory Nutt 82c58eb609 SIM: Register the schedule note driver if enabled 2016-03-17 14:43:29 -06:00
Gregory Nutt 8fbe5b6243 sim: Omit built-in scheduler imstrumentation if buffered instrumentation is selected. 2016-03-17 09:50:33 -06:00
Gregory Nutt 411cf0ba1f SMP: Add per-CPU initialization logic 2016-03-13 07:16:26 -06:00
Gregory Nutt 2b2f157569 Forgot to add a file before last commit 2016-03-12 15:28:58 -06:00
Gregory Nutt 6288e381ee Conform to revised SMP interfaces. Improve i.MX6 SMP startup handshake. 2016-03-12 15:22:45 -06:00
Gregory Nutt a74c19bbae SIM: Add TLS support to to the simulator 2016-03-11 14:03:27 -06:00
Gregory Nutt c6a0f284e4 Remove comments before empty sections in C files 2016-02-21 14:19:01 -06:00
Gregory Nutt bd0d46138c SIM: Trivial, uninteresting change to file inclusion in IDLE loop 2016-02-20 14:56:25 -06:00
Gregory Nutt de885064d2 SIM: Clean up some comments 2016-02-18 14:56:17 -06:00
Gregory Nutt 526c90986a sim SMP: CPU0 should not be the main thread. That introduces an asymmetry since the main thread has no pthread_t ID. Instead, start an additional pthread for CPU0. The main thread will just wait and do nothing in this case 2016-02-18 14:54:48 -06:00
Gregory Nutt 08e2fc0be8 Can't call sdbg() from a signal handler; And another name to nuttx-names.dat 2016-02-18 12:29:37 -06:00
Gregory Nutt 3508e22f3f SMP: Rename sim_cpupause to sim_cpu_pause for consistency with other naming 2016-02-18 11:46:08 -06:00
Gregory Nutt 3deac3d43d SMP: Initial implementation of up_cpu_pause and up_cpu_resume. Does not yet work. 2016-02-18 11:12:43 -06:00
Gregory Nutt e3ea40e4f9 SMP: Cosmetic renaming to clarify functionality of SMP interfaces. Update comments. 2016-02-17 13:35:23 -06:00
Gregory Nutt 063caf3a90 Add warnings and some comments 2016-02-16 16:08:59 -06:00
Gregory Nutt 8ac45d4f4d Add some additional schedule instrumentation 2016-02-16 15:19:44 -06:00
Gregory Nutt b4dae46fd7 SIM: Add scheduler instrumentation 2016-02-16 13:40:15 -06:00
Gregory Nutt 9234eec334 SIM: Needs to include stdint.h 2016-02-16 10:12:06 -06:00