Commit Graph

91 Commits

Author SHA1 Message Date
Gregory Nutt
b656e371d3 ELF: Move sim and x86 ARM versions of ELF relocation logic to libc/machine 2017-01-21 15:40:51 -06:00
Gregory Nutt
046acf6b54 Add a simulated oneshot lowerhalf driver 2016-08-12 13:14:03 -06:00
Gregory Nutt
778a8131bf SIM: Add a simulated I/O Expander driver 2016-08-03 09:44:48 -06:00
Ken Pettit
148cf1ac22 Adds the simulated QSPI (N25Q) flash to the simulation and modify sim up_spiflash.c to enable it to run with different MTD drivers based on config options (currently m25p, sst26 and w25). 2016-07-19 07:33:44 -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
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
8fbe5b6243 sim: Omit built-in scheduler imstrumentation if buffered instrumentation is selected. 2016-03-17 09:50:33 -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
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
b4dae46fd7 SIM: Add scheduler instrumentation 2016-02-16 13:40:15 -06:00
Gregory Nutt
e41de0a00e SIM: Move IDLE thread initialization from sim to OS since it should be common 2016-02-11 14:10:19 -06:00
Gregory Nutt
b087cb7f9a SIM: Add SMP idle thread setup logic 2016-02-11 12:16:19 -06:00
Gregory Nutt
52f88b0625 SIM: Add simulation of a multi-CPU processor 2016-02-10 14:58:21 -06:00
Gregory Nutt
e421258808 Move sim/src/up_appinit.c to configs/sim/src where it really belongs 2015-11-29 13:54:03 -06:00
Gregory Nutt
2afd4595e4 Re-think how __KERNEL__ option is set in architecture Makefiles. Should be passed in EXTRADEFINES 2015-11-26 06:59:35 -06:00
Gregory Nutt
4aa3dcb51a __KERNEL__ should be defined when compiler architecture specific logic 2015-11-25 18:05:36 -06:00
Gregory Nutt
f4e8f84887 __KERNEL__ should be defined when compiler architecture specific logic 2015-11-25 17:52:14 -06:00
Ken Pettit
641ca79321 arch/sim/src: Add a special file system for use with simulator that supports access to the host file system from the simulation. From Ken Petit 2015-11-25 08:36:44 -06:00
Gregory Nutt
569a29a327 Simulation: Newer versions of Cygwin tools do not seem to pre-pend symbol names with underscore character 2015-09-24 09:08:52 -06:00
Gregory Nutt
8db3a7a13e Add a board_app_initilize() stub function needed by the simulatin when CONFIG_LIB_BOARDCTL=y 2015-07-04 07:35:14 -06:00
Gregory Nutt
fd9164a18a More renaming: up_lcdinitialize->board_lcd_initialize, up_lcdgetdev->board_lcd_getdev, up_lcduninitialize->board_lcd_uninitialize 2015-04-04 11:49:15 -06:00
Gregory Nutt
9b5fe1e446 Various fixes to get Unix domain sockets to build on the simulator without Ethernet 2015-01-27 14:11:46 -06:00
Gregory Nutt
ca3977e91e SIM: Add an X11 mouse-based simulation of an analog joystick device 2014-12-14 10:19:07 -06:00
Gregory Nutt
2330c9c842 Rename CONFIG_NET_BUFSIZE to CONFIG_NET_ETH_MTU is all MCU Ethernet drivers 2014-11-16 08:10:06 -06:00
Gregory Nutt
84d555c1be Oops... accidentally checked in a debug-only change with the last commit 2014-11-02 08:03:34 -06:00
Gregory Nutt
ed2519dce3 Can't use isatty, tcsetattr, or tcgettr is CONFIG_SERIAL_CONSOLE is not defined 2014-11-02 07:59:56 -06:00
Gregory Nutt
31049a203c Add support for 64-bit lonjmp/setjmp in simulator platform 2014-10-03 08:23:57 -06:00
Gregory Nutt
e1aa0b039f Mostly cosmetic changes to simulator 2014-10-01 08:40:52 -06:00
Gregory Nutt
f7e857b42b Completes simulated uart implementation... does not work 2014-09-30 14:41:57 -06:00
Gregory Nutt
18ed0123a6 simulation: Add a simulatied UART input device. Also lots of misc clean-up for stylistic compatibility with other architectures 2014-09-30 14:41:57 -06:00
Gregory Nutt
400d469956 Emulated SPI FLASH driver for the sim target from Ken Pettit 2014-09-19 10:27:18 -06:00
Gregory Nutt
3dd3b1f5e2 The 'make export' target needs to bundle up the user C startup file (crt0), not the kernel head object 2014-09-04 13:31:34 -06:00
Gregory Nutt
02c3d38ed0 Add misc/Obsoleted/ChangeLog and misc/Obsoleted/Patches/Remove-8051-2014-9-1.patch 2014-09-01 16:21:29 -06:00
Gregory Nutt
595ec296fb Don't build in sched_processtimer.c if CONFIG_SCHED_TICKLESS is selected. 2014-08-06 18:27:10 -06:00
Gregory Nutt
dfb5bc1413 NET: More renaming 2014-07-03 17:53:16 -06:00
Gregory Nutt
25d4ff745b More trailing whilespace removal 2014-04-13 16:22:22 -06:00
patacongo
00d2b645e6 Missing comma in EVERY DELFILE/DELDIR macro call in every Makefile
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5373 42af7a65-404d-4744-a932-0658087f49c3
2012-11-20 15:47:41 +00:00
patacongo
756e84977b Most of the changes needed to support Windows native clean; distclean is has a problem
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5367 42af7a65-404d-4744-a932-0658087f49c3
2012-11-17 18:54:53 +00:00
patacongo
7163ac74fa Move some (hopefully) un-necessary quotes in Makefiles for Mike
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5356 42af7a65-404d-4744-a932-0658087f49c3
2012-11-15 17:43:29 +00:00
patacongo
fbdc3246fd A few more build fixes
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5340 42af7a65-404d-4744-a932-0658087f49c3
2012-11-12 01:54:54 +00:00
patacongo
bf8f1e986c Correct some issues with last check-in; ez80 still does not build
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5339 42af7a65-404d-4744-a932-0658087f49c3
2012-11-11 23:44:31 +00:00
patacongo
fac751de6b Partial change: Removing bash ARCHIVE loop
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5335 42af7a65-404d-4744-a932-0658087f49c3
2012-11-11 15:42:12 +00:00
patacongo
9b822f3086 arch/../src/Makefiles now use only libraries in lib/
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5333 42af7a65-404d-4744-a932-0658087f49c3
2012-11-11 13:52:31 +00:00
patacongo
362302e003 Create an STM32F4Discovery configuration for testing uClibc++
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5300 42af7a65-404d-4744-a932-0658087f49c3
2012-11-02 23:22:48 +00:00
patacongo
64741f2bcc Add libsupc++ to sim/cxxtest configuration
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5296 42af7a65-404d-4744-a932-0658087f49c3
2012-11-02 00:22:52 +00:00
patacongo
a34472f4a8 Add x86 ELF support
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5258 42af7a65-404d-4744-a932-0658087f49c3
2012-10-25 16:37:31 +00:00
patacongo
8948524fd3 Include libgcc.a inside of the group of recursively linked libraries in all Makefiles
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4573 42af7a65-404d-4744-a932-0658087f49c3
2012-04-08 13:03:26 +00:00
patacongo
7667d2a64e LPC17xx DAC fixes
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4521 42af7a65-404d-4744-a932-0658087f49c3
2012-03-25 16:22:07 +00:00
patacongo
50138c565e Candidate fix for the libboard.a dependency problem (from Mike Smith)
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4346 42af7a65-404d-4744-a932-0658087f49c3
2012-01-29 20:07:16 +00:00