Commit Graph

80 Commits

Author SHA1 Message Date
YAMAMOTO Takashi
80c05979fe sim: enable CONFIG_TESTING_OSTEST_POWEROFF in ostest config
To make it easier to run on CI jobs.
2020-03-30 22:10:56 -05:00
YAMAMOTO Takashi
23e2c17a0f sim: Remove CONFIG_SIM_M32 and CONFIG_ELF where unnecessary
Namely these defconfig files:

    boards/sim/sim/sim/configs/mtdpart/defconfig
    boards/sim/sim/sim/configs/mtdrwb/defconfig
    boards/sim/sim/sim/configs/rpproxy/defconfig
    boards/sim/sim/sim/configs/rpserver/defconfig
    boards/sim/sim/sim/configs/tcpblaster/defconfig

Because the recent versions of macOS is 64-bit only and thus
incompatible with CONFIG_SIM_M32=y.

The following defconfig files are left intact as these configs
are important for them:

    boards/sim/sim/sim/configs/loadable/defconfig
    boards/sim/sim/sim/configs/module32/defconfig
2020-03-30 02:26:01 -05:00
YAMAMOTO Takashi
2b139625bb sim: Add a config to test examples/{module,sotest} with -m32 2020-03-29 14:16:14 +01:00
YAMAMOTO Takashi
4ae8e435d1 sim: Add a config to test examples/{module,sotest} 2020-03-29 14:16:14 +01:00
YAMAMOTO Takashi
01c91e8af8 sim: Remove CONFIG_RAW_BINARY=y from configs
Because:

* A raw binary doesn't make sense for sim, where ./nuttx is
  a host OS executable.

* It breaks test builds on macOS, where native objcopy
  is not available.
2020-03-28 10:47:43 -05:00
YAMAMOTO Takashi
2f6d458bcf sim/README: Mention macOS 2020-03-27 02:42:11 -05:00
YAMAMOTO Takashi
748777e3f5 sim: MODULE definitions for macOS 2020-03-27 00:04:36 -05:00
YAMAMOTO Takashi
f8077022bd Introduce CONFIG_DEFAULT_TASK_STACKSIZE
* The appropriate size of stack varies among archs.
  E.g. for 64-bit sim, 2048 is way too small, especially when the task
  happens to use host OS functionalities.
  I plan to allow an arch provide its own default.

* I plan to use this to replace hardcoded "STACKSIZE = 2048" in APPDIR.
2020-03-26 22:30:13 -05:00
YAMAMOTO Takashi
f19355132a sim: Mention vpnkit docker image 2020-03-24 20:49:19 -05:00
YAMAMOTO Takashi
702d82d052 vpnkit: Add a config to specify the socket 2020-03-23 14:37:56 -05:00
YAMAMOTO Takashi
1ffa009c8b Revert "Don't generate .depend anymore"
This reverts commit 79af7fbf4e.

Because:

* btashton reported some issues in local builds:

  https://github.com/apache/incubator-nuttx/pull/603#issuecomment-602264860

* this might be related to the current CI breakage:

  > /bin/sh: 1: /__w/incubator-nuttx/incubator-nuttx/nuttx/tools/mkdeps: not found
2020-03-22 23:07:29 -05:00
Xiang Xiao
79af7fbf4e
Don't generate .depend anymore 2020-03-22 18:15:29 +00:00
YAMAMOTO Takashi
5d5878d52d NETWORK-VPNKIT.txt: Fix a typo 2020-03-20 02:44:31 -05:00
YAMAMOTO Takashi
a427b2889b Add a sample config with CONFIG_SIM_NETDEV_VPNKIT 2020-03-19 09:13:32 -05:00
YAMAMOTO Takashi
a1539cf3d3 NETWORK-VPNKIT.txt: Mention vpnkit setup 2020-03-19 09:13:32 -05:00
YAMAMOTO Takashi
d93851148c Document CONFIG_SIM_NETDEV_VPNKIT 2020-03-19 09:13:32 -05:00
Gregory Nutt
c9d570d77a boards/sim/sim/sim: Add -fno-strict-aliasing to Make.defs
Adds -fno-strict-aliasing to ARCHOPTIMIZAITON definition for all sim Make.defs file.  This is constistent with the setting used in the Make.defs file of all other architectures and should eliminate the build test warnings:

arp/arp_arpin.c: In function 'arp_arpin':
arp/arp_arpin.c:136:13: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
             net_ipv4addr_hdrcopy(arp->ah_sipaddr, &dev->d_ipaddr);
             ^~~~~~~~~~~~~~~~~~~~
arp/arp_format.c: In function 'arp_format':
arp/arp_format.c:96:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
   net_ipv4addr_hdrcopy(arp->ah_dipaddr, &ipaddr);
   ^~~~~~~~~~~~~~~~~~~~

And similar warnings from icmp/icmp_input.c, and tcp/tcp_send.c.  -fno-strict-aliasing i required for a warning free build of NuttX code since there is use of punned pointers.
2020-03-08 08:41:05 -05:00
Juha Niskanen
f3490e42c3 Fix typos in comments 2020-03-03 09:11:57 -06:00
Adam Feuer
7fa1486181 simulator network host route helper script and docs
Squashed commit of the following:

commit 685951b5385062035ac558df1112353c9441c910
Author: Adam Feuer <adam@starcat.io>
Date:   Mon Feb 24 16:33:00 2020 -0800

    fixed typo in readme

commit ad1d3289b48af0de3095e3f365429017e57278b3
Author: Adam Feuer <adam@starcat.io>
Date:   Mon Feb 24 16:07:48 2020 -0800

    simulator host route helper script and docs

    Squashed commit of the following:

    commit cf5cddcf55a155303cb5abb1aa026f6dcaf369ca
    Author: Adam Feuer <adam@starcat.io>
    Date:   Mon Feb 24 15:50:40 2020 -0800

        syslog on console to fix compile error

    commit def1bb73fcfbc8b115c55d9f4544b97d583807f2
    Author: Adam Feuer <adam@starcat.io>
    Date:   Mon Feb 24 15:46:13 2020 -0800

        formatting as per PR feedback; removed ping

    commit b179fd8831b77fbbe85527a4ab3161e1f1ca1e43
    Author: Adam Feuer <adam@starcat.io>
    Date:   Mon Feb 24 15:45:49 2020 -0800

        formatting as per PR feedback

    commit e3280bede9798d9a00b118e126c02ceab497e33a
    Author: Adam Feuer <adam@starcat.io>
    Date:   Mon Feb 24 13:56:50 2020 -0800

        add simhostroute.sh description to readme

    commit 09a6b0ca3bacf005c2a79102141ae8cc3eb91849
    Author: Adam Feuer <adam@starcat.io>
    Date:   Sun Feb 23 17:38:40 2020 -0800

        fixed error in simhostroute.sh usage docs

    commit d838582119d43ee2002ce3808051c82b23e98c58
    Author: Adam Feuer <adam@starcat.io>
    Date:   Sun Feb 23 17:28:35 2020 -0800

        added tcpblaster defconfig and updated docs

    commit af3d2d6591f12d1127027fdd363858052094e624
    Author: Adam Feuer <adam@starcat.io>
    Date:   Sun Feb 23 17:21:29 2020 -0800

        added info about capabilities and running as root

    commit 6359cfdfedefc818b169455401942d3d33a59f41
    Author: Adam Feuer <adam@starcat.io>
    Date:   Sun Feb 23 17:20:42 2020 -0800

        updated network linux readme

    commit 47feb08aa74e4b1fc6c802567bc777d31e7c9a83
    Author: Adam Feuer <adam@starcat.io>
    Date:   Sun Feb 23 17:09:04 2020 -0800

        initial addition
2020-02-24 20:20:25 -06:00
Xiang Xiao
cde88cabcc Run codespell -w with the latest dictonary again
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-02-23 22:27:46 +01:00
Xiang Xiao
bd4e8e19d3 Run codespell -w against all files
and fix the wrong correction
2020-02-22 14:45:07 -06:00
Xiang Xiao
e7d9260014 arch: Customize the typedef of size_t instead of intptr_t
To ensure size_t same as toolchain definition in the first place and rename CXX_NEWLONG to ARCH_SIZET_LONG.  The change also check whether __SIZE_TYPE__ exist before CONFIG_ARCH_SIZET_LONG so our definition can align with toolchain(gcc/clang) definition automatically.
2020-02-18 07:15:19 -06:00
Juha Niskanen
15b78abccf Fix typos in comments 2020-02-14 08:50:45 -06:00
liuhaitao
6eae882cbe sim/userfs: Add worker thread config to fix build break
net/loopback.c:75:4: error: #error Worker thread support is required (CONFIG_SCHED_WORKQUEUE)
 #  error Worker thread support is required (CONFIG_SCHED_WORKQUEUE)
    ^~~~~
make[1]: *** [loopback.o] Error 1
2020-02-14 08:32:56 -06:00
YAMAMOTO Takashi
3ead7795b2 sim: Add loadable module definitions
Also, add -fno-pic to avoid generating GOT relocations.
2020-02-14 14:40:15 +08:00
YAMAMOTO Takashi
ba331e8ea8 Run refresh.sh after CONFIG_BUILTIN_PROXY_STACKSIZE removal 2020-02-13 17:56:47 +08:00
YAMAMOTO Takashi
b21e809d58 sim: Use generic name (cc) than GCC specific (gcc)
This makes it easier to use clang on ubuntu.
2020-02-13 15:25:15 +08:00
Xiang Xiao
18ba6eb076 boards/sim: Update README.txt for network setup 2020-02-12 08:16:55 -06:00
Xiang Xiao
5e99e64d9f sim/net: Replace the busy polling with work
netdriver_loop should check there is data to read before queue the work
2020-02-12 08:16:43 -06:00
Xiang Xiao
d5ea46c610 boards/sim: Update README.txt to inform about the xhost command. 2020-02-11 21:07:48 +00:00
Gregory Nutt
3c0b49448a Network Loopback Driver: A configuration option to control packet size.
Historically, the loopback driver used the largest packet size of all enabled link layer protocols.  This permitted packets to be forward via the loopbak device with no major loss of performance.  However, in experimenting with configurations where no other link layer protocols were enabled, this means the loopback packet size was set to the smallest possible size, to the SLIP minimum of 296 bytes.  This resulted in terrible loopback performance.

    This commit adds an option to increase the loopback packet size with the option CONFIG_NET_LOOPBACK_PACKETSIZE.

    The loopback driver packet buffer should be quite large.  The larger the loopback packet buffer, the better will be TCP performance of the loopback transfers.  The Linux loopback device historically used packet buffers of size 16Kb, but that was increased in recent Linux versions to 64Kb.  Those sizes may be excessive for resource constrained MCUs, however.

    The network still enforces the lower limit that is the maximum packet size of all enabled link layer protocols.  But this new option permits the loopback packet size to be increased from that.

    * net/Kconfig:  Adds CONFIG_NET_LOOPBACK_PKTSIZE option
    * include/nuttx/net/netconfig.h:  Assures that the packet size that is used is at least as large as the largest packet size of other link layer protocols.
    * drivers/net/loopback.c:  Use that larger packet size.
    * boards/sim/sim/sim/configs/tcploop/defconfig:  Set the loopback packet size to 1500
2020-02-10 22:17:32 -03:00
Gregory Nutt
2af17da334 boards/sim: Add a TCP loopback test. 2020-02-10 21:05:08 +01:00
Xiang Xiao
a129389fe1 sim/README.txt: Update the SMP related section 2020-02-09 07:45:14 -06:00
Xiang Xiao
a8de37fbec Ensure all source code end with one and only one newline
by this command:
git ls-files -z | while IFS= read -rd '' f; do tail -c1 < "$f" | read -r _ || echo >> "$f"; done
2020-02-08 07:25:56 -06:00
YAMAMOTO Takashi
2984fb9602 sim: Add -fno-common to ARCHCPUFLAGS
It seems that "ld -r" on macOS doesn't include objects from
libraries for common symbols. Because of that, sim build
ends up with undefined references to globals like g_binfmts
and g_mmheap.
2020-02-05 00:36:58 -08:00
Xiang Xiao
5c80b94820 Replace #include <semaphore.h> to #include <nuttx/semaphore.h>
Since the kernel side should call nxsem_xxx instead and remove the unused inclusion
2020-02-01 08:27:30 -06:00
Xiang Xiao
68951e8d72 Remove exra whitespace from files (#189)
* Remove multiple newlines at the end of files
* Remove the whitespace from the end of lines
2020-01-31 09:24:49 -06:00
Nathan Hartman
6c4b672a08 boards/sim/sim/sim/README.txt: Improve and rewrap text.
Fix some typos and grammar. Rewrap the text to 80 columns for
consistency with the rest of the file.
2020-01-29 11:27:09 -06:00
YAMAMOTO Takashi
b2b84cb010 sim: Update documentation for macOS 2020-01-29 09:03:48 +01:00
YAMAMOTO Takashi
b879b9b908 sim: Fix ostest build on macOS
On some platforms like macOS, we can't create an empty archive.
2020-01-29 09:03:48 +01:00
YAMAMOTO Takashi
b1678d0e26 sim: Remove -g from LDFLAGS/LDLINKFLAGS
My copy of GNU ld documentation is saying that -g is ignored.
macOS's ld doesn't know the option and bails out.

	% ld -g
	ld: unknown option: -g
	%
2020-01-29 09:03:48 +01:00
YAMAMOTO Takashi
5c6cca8633 sim: Fix typos in README.txt 2020-01-29 09:03:48 +01:00
YAMAMOTO Takashi
aa8aadf18e Use "uname -s" where "uname -o" is not available
Namely this changes HOSTOS for macOS from "Other" to "Darwin".

Also, suppress the following harmless messages during a "make":
(Missing redirect in tools/Makefile.host)

	uname: illegal option -- o
	usage: uname [-amnprsv]
2020-01-29 09:03:48 +01:00
Xiang Xiao
1e3f457c9e Remove TIME_EXTENDED option to more conform C standard
Gregory Nutt <gnutt@nuttx.org>

    Run all .c and .h files modified in this PR through nxstyle and correct all coding standard problems.

Xiang Xiao <xiaoxiang@xiaomi.com>

    Remove TIME_EXTENDED option to more conform C standard

    Note: the code/data size increment is small
2020-01-23 08:17:22 -06:00
Xiang Xiao
540e947c0c Run ./tools/refresh.sh --silent all 2020-01-22 20:47:18 -06:00
Xiang Xiao
389e8828df sim/x64: Enable cxx new long (#139)
CXX error:
libxx_new.cxx:68:39: error: operator new takes type size_t
(long unsigned int) as first parameter [-fpermissive]
 void *operator new(unsigned int nbytes)

Change-Id: Id7aa74d1df5536f0d2cd1437ee55fc059590bdca
Signed-off-by: chao.an <anchao@xiaomi.com>

Co-authored-by: archer <758493+anchao@users.noreply.github.com>
2020-01-21 15:26:24 +01:00
Xiang Xiao
6a3c2aded6 Fix wait loop and void cast (#24)
* Simplify EINTR/ECANCEL error handling

1. Add semaphore uninterruptible wait function
2 .Replace semaphore wait loop with a single uninterruptible wait
3. Replace all sem_xxx to nxsem_xxx

* Unify the void cast usage

1. Remove void cast for function because many place ignore the returned value witout cast
2. Replace void cast for variable with UNUSED macro
2020-01-02 10:54:43 -06:00
Xiang Xiao
3187dde36c fix sim:bluetooth compiler error (#18)
wireless/bluetooth/bt_null.c:274:10: warning: implicit declaration of function 'bt_driver_register'; did you mean 'bt_netdev_register'? [-Wimplicit-function-declaration]

   return bt_driver_register(&g_bt_null);

sim_bringup.c:324:9: error: too few arguments to function 'bt_netdev_register'

   ret = bt_netdev_register();
2019-12-31 09:30:44 -06:00
Xiang Xiao
af5d0d3157 boards/sim/sim/sim/src/sim_bringup.c: Simulator shouldn't assume that graphics stack is enabled if both X11 framebuffer and touchscreen driver turn on. 2019-12-16 08:57:40 -06:00
chao.an
3c472dcf52 boards/sim/sim/sim/src/sim_bringup.c: Force format little fs before mount. 2019-12-16 08:55:35 -06:00