summaryrefslogtreecommitdiff
path: root/nuttx/configs/sim
diff options
context:
space:
mode:
authorGregory Nutt <gnutt@nuttx.org>2014-10-03 09:56:05 -0600
committerGregory Nutt <gnutt@nuttx.org>2014-10-03 09:56:05 -0600
commit7b24870d66e7a67cc59c97a04522d062d03111ed (patch)
tree8c6583bdd5cd8b67f6a3d7f7472b3f8861b66178 /nuttx/configs/sim
parent54d8dbca18876b27bb6c112850f32232dff906b6 (diff)
downloadnuttx-7b24870d66e7a67cc59c97a04522d062d03111ed.tar.gz
nuttx-7b24870d66e7a67cc59c97a04522d062d03111ed.tar.bz2
nuttx-7b24870d66e7a67cc59c97a04522d062d03111ed.zip
Update README
Diffstat (limited to 'nuttx/configs/sim')
-rw-r--r--nuttx/configs/sim/README.txt26
1 files changed, 6 insertions, 20 deletions
diff --git a/nuttx/configs/sim/README.txt b/nuttx/configs/sim/README.txt
index c0a1eadbe..9db5ff534 100644
--- a/nuttx/configs/sim/README.txt
+++ b/nuttx/configs/sim/README.txt
@@ -86,9 +86,12 @@ Issues
64-Bit Issues
-------------
-As mentioned above, context switching is based on logic like setjmp and longjmp.
-This context switching is only available for 32-bit targets. On 64-bit machines,
-this context switching will fail.
+As mentioned above, context switching is based on logic like setjmp() and
+longjmp(). This context switching is available for 32-bit and 64-bit
+targets. You must, however, set the correct target in the configuration
+before you build: HOST_X86_64 or HOST_X86 for 62- and 32-bit targets,
+respectively. On a 64-bit machine, you can also force the 32-bit build
+with CONFIG_SIM_M32=y.
There are other 64-bit issues as well. For example, addresses are retained in
32-bit unsigned integer types in a few places. On a 64-bit machine, the 32-bit
@@ -96,17 +99,6 @@ address storage may correcupt 64-bit addressing. NOTE: This is really a bug --
addresses should not be retained in uint32_t types but rather in uintptr_t types
to avoid issues just like this.
-The workaround on 64-bit machines for now is to build for a 32-bit target on the
-64-bit machine. The workaround for this issue has been included in NuttX 6.15 and
-beyond. For thoses versions, you must add CONFIG_SIM_M32=y to the .config file in
-order to enable building a 32-bit image on a 64-bit platform.
-
-For older versions of NuttX, a patch also exists. The patch the Make.defs file in the
-appropriate places so that -m32 is included in the CFLAGS and -m32 and -melf_386
-are included in the LDFLAGS. See the patch
-0001-Quick-hacks-to-build-sim-nsh-ostest-on-x86_64-as-32-.patch that can be found at
-http://tech.groups.yahoo.com/group/nuttx/files.
-
Compiler differences
--------------------
@@ -115,12 +107,6 @@ operator new:
Problem: "'operator new' takes size_t ('...') as first parameter"
Workaround: Add -fpermissive to the compilation flags
-Continue up_setjmp() issues:
-
- With some newer compilers, I am now getting segmentation faults in
- up_setjmp.S (even when built with the -m32 option). I have not looked into
- this yet.
-
Stack Size Issues
-----------------
When you run the NuttX simulation, it uses stacks allocated by NuttX from the