mirror of
https://github.com/apache/nuttx.git
synced 2026-05-18 00:34:10 +08:00
More trailing whilespace removal
This commit is contained in:
@@ -11,14 +11,14 @@ NuttX
|
||||
|
||||
License for NuttX in general (authorship of individual files may vary):
|
||||
/*************************************************************************
|
||||
*
|
||||
*
|
||||
* Copyright (C) 2007-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
|
||||
* 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
|
||||
@@ -32,13 +32,13 @@ License for NuttX in general (authorship of individual files may vary):
|
||||
* 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
|
||||
* 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
|
||||
* 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.
|
||||
*
|
||||
@@ -66,7 +66,7 @@ FAT Long File Names
|
||||
o "U.S. Patent 6,286,013 (http://www.google.com/patents?vid=6286013) -
|
||||
Method and system for providing a common name space for long and
|
||||
short file names in an operating system. ...
|
||||
|
||||
|
||||
"Many technical commentators have concluded that these patents only cover
|
||||
FAT implementations that include support for long filenames, and that
|
||||
removable solid state media and consumer devices only using short names
|
||||
@@ -74,7 +74,7 @@ FAT Long File Names
|
||||
|
||||
This Wikipedia entry has been updated with recent legal decisions in favor
|
||||
of Microsoft. Refer to:
|
||||
|
||||
|
||||
http://en.wikipedia.org/wiki/File_Allocation_Table#Legal_issues
|
||||
|
||||
So you have been forewarned: Use the long filename at your own risk!
|
||||
@@ -129,7 +129,7 @@ fs/nfs:
|
||||
^^^^^^^
|
||||
|
||||
NFS:
|
||||
|
||||
|
||||
Copyright (c) 1989, 1991, 1993, 1995 The Regents of the University of
|
||||
California. All rights reserved.
|
||||
|
||||
@@ -178,20 +178,20 @@ libc/string/lib_vikmemcpy.c
|
||||
Permission is granted to anyone to use this software for any
|
||||
purpose, including commercial applications, and to alter it and
|
||||
redistribute it freely, subject to the following restrictions:
|
||||
|
||||
|
||||
1. The origin of this software must not be misrepresented; you
|
||||
must not claim that you wrote the original software. If you
|
||||
use this software in a product, an acknowledgment in the
|
||||
use this software in a product, an acknowledgment in the
|
||||
product documentation would be appreciated but is not
|
||||
required.
|
||||
|
||||
|
||||
2. Altered source versions must be plainly marked as such, and
|
||||
must not be misrepresented as being the original software.
|
||||
|
||||
|
||||
3. This notice may not be removed or altered from any source
|
||||
distribution.
|
||||
|
||||
|
||||
libc/math
|
||||
^^^^^^^^^
|
||||
|
||||
@@ -202,11 +202,11 @@ libc/math
|
||||
compatible MIT license:
|
||||
|
||||
Copyright (C) 2009-2011 Nick Johnson <nickbjohnson4224 at gmail.com>
|
||||
|
||||
|
||||
Permission to use, copy, modify, and distribute this software for any
|
||||
purpose with or without fee is hereby granted, provided that the above
|
||||
copyright notice and this permission notice appear in all copies.
|
||||
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||
|
||||
@@ -326,7 +326,7 @@
|
||||
<p>
|
||||
NX is organized into 6 (and perhaps someday 7 or 8) logical modules.
|
||||
These logical modules also correspond to the directory organization.
|
||||
That NuttX directory organization is discussed in
|
||||
That NuttX directory organization is discussed in
|
||||
<a href="#grapicsdirs">Appendix B</a> of this document.
|
||||
The logic modules are discussed in the following sub-paragraphs.
|
||||
</p>
|
||||
@@ -622,7 +622,7 @@ void nxgl_rectunion(FAR struct nxgl_rect_s *dest,
|
||||
</pre></ul>
|
||||
<p>
|
||||
<b>Description:</b>
|
||||
Given two rectanges, <code>src1</code> and <code>src2</code>, return the larger rectangle that
|
||||
Given two rectanges, <code>src1</code> and <code>src2</code>, return the larger rectangle that
|
||||
contains both, <code>dest</code>.
|
||||
</p>
|
||||
|
||||
@@ -766,7 +766,7 @@ int nxgl_splitline(FAR struct nxgl_vector_s *vector, FAR struct nxgl_trapezoid_s
|
||||
<b>Description:</b>
|
||||
In the general case, a line with width can be represented as a parallelogram with a triangle at the top and bottom.
|
||||
Triangles and parallelograms are both degenerate versions of a trapezoid.
|
||||
This function breaks a wide line into triangles and trapezoids.
|
||||
This function breaks a wide line into triangles and trapezoids.
|
||||
This function also detects other degenerate cases:
|
||||
</p>
|
||||
<ol>
|
||||
@@ -801,7 +801,7 @@ int nxgl_splitline(FAR struct nxgl_vector_s *vector, FAR struct nxgl_trapezoid_s
|
||||
</p>
|
||||
<ul>
|
||||
<p>
|
||||
<code>0</code>: Line successfully broken up into three trapezoids.
|
||||
<code>0</code>: Line successfully broken up into three trapezoids.
|
||||
Values in <code>traps[0]</code>, <code>traps[1]</code>, and <code>traps[2]</code> are valid.
|
||||
</p>
|
||||
<p>
|
||||
@@ -1551,7 +1551,7 @@ int nx_setposition(NXWINDOW hwnd, FAR struct nxgl_point_s *pos);
|
||||
<ul><dl>
|
||||
<dt><code>hwnd</code>
|
||||
<dd>The handle returned by <a href="#nxopenwindow"><code>nx_openwindow()</code></a>.
|
||||
This handle must not have been created by
|
||||
This handle must not have been created by
|
||||
<a href="#nxrequestbkgd"><code>nx_requestbkgd()</code></a>.
|
||||
<dt><code>pos</code>
|
||||
<dd>The new position of the window
|
||||
@@ -1579,7 +1579,7 @@ int nx_setsize(NXWINDOW hwnd, FAR struct nxgl_size_s *size);
|
||||
<ul><dl>
|
||||
<dt><code>hwnd</code>
|
||||
<dd>The handle returned by <a href="#nxopenwindow"><code>nx_openwindow()</code></a>.
|
||||
This handle must not have been created by
|
||||
This handle must not have been created by
|
||||
<a href="#nxrequestbkgd"><code>nx_requestbkgd()</code></a>.
|
||||
<dt><code>size</code>
|
||||
<dd>The new size of the window (in pixels).
|
||||
@@ -1607,7 +1607,7 @@ int nx_raise(NXWINDOW hwnd);
|
||||
<ul><dl>
|
||||
<dt><code>hwnd</code>
|
||||
<dd>The handle returned by <a href="#nxopenwindow"><code>nx_openwindow()</code></a>.
|
||||
This handle must not have been created by
|
||||
This handle must not have been created by
|
||||
<a href="#nxrequestbkgd"><code>nx_requestbkgd()</code></a>.
|
||||
<dt><code></code>
|
||||
<dd>
|
||||
@@ -1635,7 +1635,7 @@ int nx_lower(NXWINDOW hwnd);
|
||||
<ul><dl>
|
||||
<dt><code>hwnd</code>
|
||||
<dd>The handle returned by <a href="#nxopenwindow"><code>nx_openwindow()</code></a>.
|
||||
This handle must not have been created by
|
||||
This handle must not have been created by
|
||||
<a href="#nxrequestbkgd"><code>nx_requestbkgd()</code></a>.
|
||||
<dt><code></code>
|
||||
<dd>
|
||||
@@ -3132,7 +3132,7 @@ int nxf_convert_32bpp(FAR uint32_t *dest, uint16_t height,
|
||||
|
||||
<p><b>Building <code>apps/examples/nx</code></b>.
|
||||
Testing was performed using the Linux/Cygwin-based NuttX simulator.
|
||||
Instructions are provided for building that simulation are provided in
|
||||
Instructions are provided for building that simulation are provided in
|
||||
<a href="#testcoverage">Appendix C</a> of this document.
|
||||
</p>
|
||||
|
||||
@@ -3299,7 +3299,7 @@ int nxf_convert_32bpp(FAR uint32_t *dest, uint16_t height,
|
||||
<dd>Specify the colors of the border used with framed windows.
|
||||
<dt><code>CONFIG_NXTK_BORDERCOLOR2</code>
|
||||
<dd>The shadow side color and so is normally darker.
|
||||
<dt><code>CONFIG_NXTK_BORDERCOLOR3</code>
|
||||
<dt><code>CONFIG_NXTK_BORDERCOLOR3</code>
|
||||
<dd>The shiny side color and so is normally brighter.
|
||||
The default is medium, dark, and light grey, respectively
|
||||
<dt><code>CONFIG_NXTK_AUTORAISE</code>:
|
||||
@@ -3426,7 +3426,7 @@ int nxf_convert_32bpp(FAR uint32_t *dest, uint16_t height,
|
||||
<dt><code>CONFIG_NXCONSOLE_NXKBDIN</code>:
|
||||
<dd>Take input from the NX keyboard input callback.
|
||||
By default, keyboard input is taken from stdin (<code>/dev/console</code>).
|
||||
If this option is set, then the interface<code>nxcon_kdbin()</code> is enabled.
|
||||
If this option is set, then the interface<code>nxcon_kdbin()</code> is enabled.
|
||||
That interface may be driven by window callback functions so that keyboard input <i>only</i> goes to the top window.
|
||||
<dt><code>CONFIG__NXCONSOLE_KBDBUFSIZE</code>:
|
||||
<dd>If <code>CONFIG_NXCONSOLE_NXKBDIN</code> is enabled, then this value may be used to
|
||||
@@ -3467,7 +3467,7 @@ int nxf_convert_32bpp(FAR uint32_t *dest, uint16_t height,
|
||||
<p>
|
||||
Locate a font in BDF format.
|
||||
There are many good BDF bitmap fonts bundled with X-11.
|
||||
See <a href="http://www.cl.cam.ac.uk/~mgk25/ucs-fonts.html">this link</a>, as an example,
|
||||
See <a href="http://www.cl.cam.ac.uk/~mgk25/ucs-fonts.html">this link</a>, as an example,
|
||||
</p>
|
||||
</li>
|
||||
<li>
|
||||
@@ -3703,7 +3703,7 @@ sudo ln -s libXext.so.6.4.0 libXext.so
|
||||
This is because the sim target is based upon some assembly language setjmp/longjmp logic that only works on 32-bit systems.
|
||||
</p>
|
||||
<p><small>
|
||||
<b>NOTE</b>: There is a workaround in this case:
|
||||
<b>NOTE</b>: There is a workaround in this case:
|
||||
You can build for 32-bit execution on a 64-bit machine by adding <code>-m3</code> to the <code>CFLAGS</code> and <code>-m32 -m elf_i386</code> to the <code>LDFLAGS</code>.
|
||||
See the patch file <code>0001-Quick-hacks-to-build-sim-nsh-ostest-on-x86_64-as-32-.patch</code>
|
||||
that can be found in NuttX <a href="http://tech.groups.yahoo.com/group/nuttx/files">files</a>.
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 34 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
@@ -107,7 +107,7 @@
|
||||
|
||||
<h2>2.1 <a name="binfmthdr">Binary Loader Header Files</a></h2>
|
||||
<p>
|
||||
The interface to the binary loader is described in the header file
|
||||
The interface to the binary loader is described in the header file
|
||||
<a href="http://sourceforge.net/p/nuttx/git/ci/master/tree/nuttx/include/nuttx/binfmt/binfmt.h">
|
||||
<code>include/nuttx/binfmt/binfmt.h</code></a>.
|
||||
A brief summary of the data structurs and interfaces prototyped in that header file are listed below.
|
||||
@@ -457,7 +457,7 @@ void exepath_release(EXEPATH_HANDLE handle);
|
||||
|
||||
<h2>3.1 <a name="symtabhdr">Symbol Table Header Files</a></h2>
|
||||
<p>
|
||||
The interface to the symbol table logic is described in the header file
|
||||
The interface to the symbol table logic is described in the header file
|
||||
<a href="http://sourceforge.net/p/nuttx/git/ci/master/tree/nuttx/include/nuttx/binfmt/symtab.h">
|
||||
<code>include/nuttx/binfmt/symtab.h</code></a>.
|
||||
A brief summary of the data structurs and interfaces prototyped in that header file are listed below.
|
||||
@@ -477,7 +477,7 @@ struct symtab_s
|
||||
</pre></ul>
|
||||
|
||||
</p>
|
||||
A symbol table is a fixed size array of <code>struct symtab_s</code>.
|
||||
A symbol table is a fixed size array of <code>struct symtab_s</code>.
|
||||
The information is intentionally minimal and supports only:
|
||||
</p>
|
||||
<ol>
|
||||
|
||||
@@ -136,7 +136,7 @@
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
A line that consists of the opening C comment (<code>/*</code>) followed by a series of asterisks extending to the length of the line (usually to column 78).
|
||||
A line that consists of the opening C comment (<code>/*</code>) followed by a series of asterisks extending to the length of the line (usually to column 78).
|
||||
</li>
|
||||
<li>
|
||||
The name of the grouping, starting at column 4.
|
||||
@@ -310,7 +310,7 @@
|
||||
/* The forward link to the next instance of struct
|
||||
* some_long_struct_name_s in a singly linked list
|
||||
*/
|
||||
|
||||
|
||||
struct some_long_struct_name_s *flink;
|
||||
int short_name1; /* Short comment 1 */
|
||||
int short_name2; /* This is a very long comment describing subtle
|
||||
@@ -2157,7 +2157,7 @@ x++;
|
||||
{
|
||||
ptr++;
|
||||
}
|
||||
|
||||
|
||||
</ul></pre></font>
|
||||
</td></tr>
|
||||
</table></center>
|
||||
|
||||
@@ -243,7 +243,7 @@
|
||||
</li>
|
||||
<li>
|
||||
<b>Boost the page fill worker thread priority</b>.
|
||||
Check the priority of the task at the head of the <code>g_waitingforfill</code> list.
|
||||
Check the priority of the task at the head of the <code>g_waitingforfill</code> list.
|
||||
If the priority of that task is higher than the current priority of the page fill worker thread, then boost the priority of the page fill worker thread to that priority.
|
||||
Thus, the page fill worker thread will always run at the priority of the highest priority task that is waiting for a fill.
|
||||
</li>
|
||||
@@ -370,7 +370,7 @@
|
||||
The architecture-specific functions, <code>up_checkmapping()</code>, <code>up_allocpage(tcb, &vpage)</code> and <code>up_fillpage(page, pg_callback)</code>
|
||||
will be prototyped in <code>include/nuttx/arch.h</code>
|
||||
</p>
|
||||
|
||||
|
||||
<a name="FillComplete"><h2>Fill Complete</h2></a>
|
||||
|
||||
<p>
|
||||
@@ -379,7 +379,7 @@
|
||||
<p>
|
||||
For the non-blocking <code>up_fillpage()</code>, the architecture-specific driver call the <code>pg_callback()</code> that was provided to <code>up_fillpage()</code> when the fill completes.
|
||||
In this case, the <code>pg_callback()</code> will probably be called from driver interrupt-level logic.
|
||||
The driver will provide the result of the fill as an argument to the callback function.
|
||||
The driver will provide the result of the fill as an argument to the callback function.
|
||||
NOTE: <code>pg_callback()</code> must also be <a href="#MemoryOrg">locked</a> in memory.
|
||||
</p>
|
||||
<p>
|
||||
@@ -404,7 +404,7 @@
|
||||
</li>
|
||||
</ul>
|
||||
</p>
|
||||
|
||||
|
||||
<a name="TaskResumption"><h2>Task Resumption</h2></a>
|
||||
|
||||
<p>
|
||||
@@ -600,7 +600,7 @@
|
||||
<li>
|
||||
In the first phase, create a partially linked objected containing all interrupt/exception handling logic, the page fill worker thread plus all parts of the IDLE thread (which must always be available for execution).
|
||||
</li>
|
||||
<li>
|
||||
<li>
|
||||
All of the <code>.text</code> and <code>.rodata</code> sections of this partial link should be collected into a single section.
|
||||
</li>
|
||||
<li>
|
||||
@@ -625,7 +625,7 @@
|
||||
The currently executing task at the head of the ready to run list must be stopped.
|
||||
Save its context and move it to the inactive list specified by task_state.
|
||||
This function is called by the on-demand paging logic in order to block the task that requires the
|
||||
page fill, and to
|
||||
page fill, and to
|
||||
</dd>
|
||||
<dt>
|
||||
<code>void up_unblock_task(FAR struct tcb_s *tcb);</code>
|
||||
@@ -671,4 +671,4 @@
|
||||
</dl></ul>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
||||
|
||||
@@ -229,7 +229,7 @@
|
||||
<li><b>Read-Only Data in RAM</b>
|
||||
<ul>
|
||||
<p>
|
||||
With older GCC compilers (at least up to 4.3.3), read-only data must reside in RAM.
|
||||
With older GCC compilers (at least up to 4.3.3), read-only data must reside in RAM.
|
||||
In code generated by GCC, all data references are indexed by the PIC<sup>2</sup> base register (that is usually R10 or <i>sl</i> for the ARM processors).
|
||||
The includes read-only data (<code>.rodata</code>).
|
||||
Embedded firmware developers normally like to keep <code>.rodata</code> in FLASH with the code sections.
|
||||
@@ -304,7 +304,7 @@
|
||||
<p>
|
||||
In order to use NXFLAT, you must use special NXFLAT tools to create the binary module in FLASH.
|
||||
To do this, you will need to download the buildroot package and build it on your Linux or Cygwin machine.
|
||||
The buildroot can be downloaded from
|
||||
The buildroot can be downloaded from
|
||||
<a https://sourceforge.net/projects/nuttx/files/">Sourceforge</a>.
|
||||
You will need version 0.1.7 or later.
|
||||
</p>
|
||||
@@ -486,7 +486,7 @@ cat ../syscall/syscall.csv ../libc/lib.csv | sort >tmp.csv
|
||||
<p><b>Target 1</b>.
|
||||
This target links all of the module's object files together into one relocatable object.
|
||||
Two relocatable objects will be generated; this is the first one (hence, the suffic <code>.r1</code>).
|
||||
In this "Hello, World!" case, there is only a single object file, <code>hello.o</code>,
|
||||
In this "Hello, World!" case, there is only a single object file, <code>hello.o</code>,
|
||||
that is linked to produce the <code>hello.r1</code> object.
|
||||
</p>
|
||||
|
||||
@@ -553,7 +553,7 @@ cat ../syscall/syscall.csv ../libc/lib.csv | sort >tmp.csv
|
||||
<p><b>Relevant Header Files:</b></p>
|
||||
<ul>
|
||||
<li>
|
||||
The interface to the binary loader is described in the header file
|
||||
The interface to the binary loader is described in the header file
|
||||
<a href="http://sourceforge.net/p/nuttx/git/ci/master/tree/nuttx/include/nuttx/binfmt/binfmt.h">
|
||||
<code>include/nuttx/binfmt/binfmt.h</code></a>.
|
||||
A brief summary of the APIs prototyped in that header file are listed below.
|
||||
@@ -787,7 +787,7 @@ cat ../syscall/syscall.csv ../libc/lib.csv | sort >tmp.csv
|
||||
The PIC base register needs to point to the base of the <code>.got</code> and only
|
||||
addresses in the <code>.got</code>, <code>.data</code>, and <code>.bss</code>
|
||||
sections can be accessed as an offset from the PIC base register.
|
||||
See also this
|
||||
See also this
|
||||
<a href="http://xflat.cvs.sourceforge.net/viewvc/*checkout*/xflat/xflat/gcc/README?revision=1.1.1.1">XFLAT discussion</a>.
|
||||
</p>
|
||||
<p>
|
||||
|
||||
@@ -1620,7 +1620,7 @@ The system can be re-made subsequently by just typing <code>make</code>.
|
||||
<p>
|
||||
There is also a <code>arch/<architecture>/include/<chip>/chip.h</code> header file that can be used to communicate other microprocessor-specific information between the board logic and even application logic.
|
||||
Application logic may, for example, need to know specific capabilities of the chip.
|
||||
Prototypes in that <code>chip.h</code> header file should follow the microprocessor-specific naming convention.
|
||||
Prototypes in that <code>chip.h</code> header file should follow the microprocessor-specific naming convention.
|
||||
</p>
|
||||
</li>
|
||||
<li>
|
||||
|
||||
@@ -107,7 +107,7 @@
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
For the USB serial and mass storage class, the 8-bit event data is provided in <code>include/nuttx/usb/usbdev_trace.h</code>.
|
||||
For the USB serial and mass storage class, the 8-bit event data is provided in <code>include/nuttx/usb/usbdev_trace.h</code>.
|
||||
</li>
|
||||
<li>
|
||||
For the USB device driver, that 8-bit event data is provided within the USB device driver itself.
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
+2
-2
@@ -707,12 +707,12 @@ download: $(BIN)
|
||||
# pass1dep: Create pass1 build dependencies
|
||||
# pass2dep: Create pass2 build dependencies
|
||||
|
||||
pass1dep: context tools/mkdeps$(HOSTEXEEXT)
|
||||
pass1dep: context tools/mkdeps$(HOSTEXEEXT)
|
||||
$(Q) for dir in $(USERDEPDIRS) ; do \
|
||||
$(MAKE) -C $$dir TOPDIR="$(TOPDIR)" depend ; \
|
||||
done
|
||||
|
||||
pass2dep: context tools/mkdeps$(HOSTEXEEXT)
|
||||
pass2dep: context tools/mkdeps$(HOSTEXEEXT)
|
||||
$(Q) for dir in $(KERNDEPDIRS) ; do \
|
||||
$(MAKE) -C $$dir TOPDIR="$(TOPDIR)" EXTRADEFINES=$(KDEFINE) depend; \
|
||||
done
|
||||
|
||||
+4
-4
@@ -5923,7 +5923,7 @@ Additional new features and extended functionality:
|
||||
* TI Tiva TMC4C123G:
|
||||
|
||||
- Added architecture support for the TI Tiva TM4C123G parts. This was
|
||||
merged into the existing support for the LM3S and LM4F families.
|
||||
merged into the existing support for the LM3S and LM4F families.
|
||||
All directory, file, and function references changed from lm to tiva.
|
||||
|
||||
* TI Tiva TMC4C123G Board Support:
|
||||
@@ -5949,7 +5949,7 @@ Additional new features and extended functionality:
|
||||
|
||||
* Documentation:
|
||||
|
||||
- Added a coding standards document. See
|
||||
- Added a coding standards document. See
|
||||
http://www.nuttx.org/doku.php?id=documentation:codingstandard
|
||||
|
||||
* Configuration/Build System:
|
||||
@@ -6013,7 +6013,7 @@ Bugfixes (see the ChangeLog for details). Some of these are very important:
|
||||
- Fix one place where the connection reference count was not being
|
||||
decremented in the socket close() logic. This is really a cosmetic
|
||||
change BUT when CONFIG_DEBUG_NET is enabled, it will cause assertions.
|
||||
- Backed out a small part of the NuttX 6.33 write buffering changed.
|
||||
- Backed out a small part of the NuttX 6.33 write buffering changed.
|
||||
David G says that this causes problems in connecting to a server.
|
||||
- In DHCPD, there was a place where the logic was calling ntohl()
|
||||
inappropriately; the address was already in the correct order. How
|
||||
@@ -6054,7 +6054,7 @@ Bugfixes (see the ChangeLog for details). Some of these are very important:
|
||||
|
||||
* Configuration/Build System:
|
||||
|
||||
- Several changes to restore the broken native Windows build
|
||||
- Several changes to restore the broken native Windows build
|
||||
|
||||
* NuttShell (NSH):
|
||||
|
||||
|
||||
@@ -1254,9 +1254,9 @@ o File system / Generic drivers (fs/, drivers/)
|
||||
AtEsT.tXt
|
||||
aTeSt.TxT
|
||||
nsh> cat /tmp/aTeSt.TxT
|
||||
Test2
|
||||
Test2
|
||||
nsh> cat /tmp/AtEsT.tXt
|
||||
Test1
|
||||
Test1
|
||||
|
||||
Status: Open
|
||||
Priority: Low
|
||||
|
||||
@@ -160,7 +160,7 @@ struct xcptcontext
|
||||
|
||||
uint8_t nbytes;
|
||||
|
||||
/* This is the saved stack. Space is allocated for the
|
||||
/* This is the saved stack. Space is allocated for the
|
||||
* entire 256 byte IRAM (minus register and bit usage at
|
||||
* the beginning).
|
||||
*/
|
||||
|
||||
@@ -33,8 +33,8 @@
|
||||
*
|
||||
************************************************************/
|
||||
|
||||
#ifndef __ARCH_8051_INCLUDE_LIMITS_H
|
||||
#define __ARCH_8051_INCLUDE_LIMITS_H
|
||||
#ifndef __ARCH_8051_INCLUDE_LIMITS_H
|
||||
#define __ARCH_8051_INCLUDE_LIMITS_H
|
||||
|
||||
/************************************************************
|
||||
* Included Files
|
||||
|
||||
@@ -37,8 +37,8 @@
|
||||
* only indirectly through sys/types.h
|
||||
*/
|
||||
|
||||
#ifndef __ARCH_8051_INCLUDE_TYPES_H
|
||||
#define __ARCH_8051_INCLUDE_TYPES_H
|
||||
#ifndef __ARCH_8051_INCLUDE_TYPES_H
|
||||
#define __ARCH_8051_INCLUDE_TYPES_H
|
||||
|
||||
/************************************************************************
|
||||
* Included Files
|
||||
|
||||
@@ -200,7 +200,7 @@ up_mem.h: pass1.mem
|
||||
libarch$(LIBEXT): up_mem.h $(OBJS)
|
||||
$(call ARCHIVE, $@, $(OBJS))
|
||||
|
||||
# This builds the libboard library in the board/ subdirectory
|
||||
# This builds the libboard library in the board/ subdirectory
|
||||
|
||||
board/libboard$(LIBEXT):
|
||||
$(Q) $(MAKE) -C board TOPDIR="$(TOPDIR)" libboard$(LIBEXT) EXTRADEFINES=$(EXTRADEFINES)
|
||||
|
||||
@@ -131,7 +131,7 @@ void up_block_task(FAR struct tcb_s *tcb, tstate_t task_state)
|
||||
|
||||
up_saveirqcontext(&tcb->xcp);
|
||||
|
||||
/* Restore the exception context of the rtcb at the (new) head
|
||||
/* Restore the exception context of the rtcb at the (new) head
|
||||
* of the g_readytorun task list.
|
||||
*/
|
||||
|
||||
@@ -152,7 +152,7 @@ void up_block_task(FAR struct tcb_s *tcb, tstate_t task_state)
|
||||
|
||||
else if (!up_savecontext(&rtcb->xcp))
|
||||
{
|
||||
/* Restore the exception context of the rtcb at the (new) head
|
||||
/* Restore the exception context of the rtcb at the (new) head
|
||||
* of the g_readytorun task list.
|
||||
*/
|
||||
|
||||
|
||||
@@ -178,7 +178,7 @@ _up_timer0:
|
||||
push ie
|
||||
clr ea
|
||||
|
||||
/* Save the remaining registers with interrupts disabled
|
||||
/* Save the remaining registers with interrupts disabled
|
||||
*
|
||||
* a, ie, and dptr go on the stack.
|
||||
*/
|
||||
@@ -232,7 +232,7 @@ _up_interrupt:
|
||||
push ie
|
||||
clr ea
|
||||
|
||||
/* Save the remaining registers with interrupts disabled
|
||||
/* Save the remaining registers with interrupts disabled
|
||||
*
|
||||
* a, ie, and dptr go on the stack.
|
||||
*/
|
||||
|
||||
@@ -86,7 +86,7 @@ FAR struct xcptcontext *g_irqcontext;
|
||||
* to comput them.
|
||||
*/
|
||||
|
||||
const uint8_t g_ntobit[8] =
|
||||
const uint8_t g_ntobit[8] =
|
||||
{ 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80 };
|
||||
|
||||
/************************************************************************
|
||||
|
||||
@@ -72,7 +72,7 @@ bool g_irqtest;
|
||||
volatile uint8_t g_irqtos;
|
||||
uint8_t g_irqregs[REGS_SIZE];
|
||||
int g_nirqs;
|
||||
FAR struct xcptcontext *g_irqcontext;
|
||||
FAR struct xcptcontext *g_irqcontext;
|
||||
|
||||
/************************************************************************
|
||||
* Private Functions
|
||||
|
||||
@@ -76,6 +76,6 @@ int up_putc(int ch)
|
||||
{
|
||||
_up_putc('\r');
|
||||
}
|
||||
return ch;
|
||||
return ch;
|
||||
}
|
||||
|
||||
|
||||
@@ -98,7 +98,7 @@ void up_release_pending(void)
|
||||
|
||||
up_saveirqcontext(&rtcb->xcp);
|
||||
|
||||
/* Restore the exception context of the rtcb at the (new) head
|
||||
/* Restore the exception context of the rtcb at the (new) head
|
||||
* of the g_readytorun task list.
|
||||
*/
|
||||
|
||||
@@ -114,13 +114,13 @@ void up_release_pending(void)
|
||||
|
||||
/* Copy the exception context into the TCB of the task that
|
||||
* was currently active. if up_savecontext returns a non-zero
|
||||
* value, then this is really the previously running task
|
||||
* value, then this is really the previously running task
|
||||
* restarting!
|
||||
*/
|
||||
|
||||
else if (!up_savecontext(&rtcb->xcp))
|
||||
{
|
||||
/* Restore the exception context of the rtcb at the (new) head
|
||||
/* Restore the exception context of the rtcb at the (new) head
|
||||
* of the g_readytorun task list.
|
||||
*/
|
||||
|
||||
|
||||
@@ -70,7 +70,7 @@
|
||||
*
|
||||
* Description:
|
||||
* Called when the priority of a running or
|
||||
* ready-to-run task changes and the reprioritization will
|
||||
* ready-to-run task changes and the reprioritization will
|
||||
* cause a context switch. Two cases:
|
||||
*
|
||||
* 1) The priority of the currently running task drops and the next
|
||||
@@ -153,7 +153,7 @@ void up_reprioritize_rtr(FAR struct tcb_s *tcb, uint8_t priority)
|
||||
|
||||
up_saveirqcontext(&tcb->xcp);
|
||||
|
||||
/* Restore the exception context of the rtcb at the (new) head
|
||||
/* Restore the exception context of the rtcb at the (new) head
|
||||
* of the g_readytorun task list.
|
||||
*/
|
||||
|
||||
@@ -174,7 +174,7 @@ void up_reprioritize_rtr(FAR struct tcb_s *tcb, uint8_t priority)
|
||||
|
||||
else if (!up_savecontext(&rtcb->xcp))
|
||||
{
|
||||
/* Restore the exception context of the rtcb at the (new) head
|
||||
/* Restore the exception context of the rtcb at the (new) head
|
||||
* of the g_readytorun task list.
|
||||
*/
|
||||
|
||||
|
||||
@@ -276,7 +276,7 @@ void up_restorecontext(FAR struct xcptcontext *context) __naked
|
||||
/* Restore registers from the new stack */
|
||||
|
||||
pop dph
|
||||
pop dpl
|
||||
pop dpl
|
||||
|
||||
/* Restore the interrupt state per the stored IE value */
|
||||
|
||||
|
||||
@@ -112,7 +112,7 @@ void up_unblock_task(FAR struct tcb_s *tcb)
|
||||
/* The currently active task has changed! We need to do
|
||||
* a context switch to the new task.
|
||||
*
|
||||
* Are we in an interrupt handler?
|
||||
* Are we in an interrupt handler?
|
||||
*/
|
||||
|
||||
if (g_irqtos)
|
||||
@@ -123,7 +123,7 @@ void up_unblock_task(FAR struct tcb_s *tcb)
|
||||
|
||||
up_saveirqcontext(&rtcb->xcp);
|
||||
|
||||
/* Restore the exception context of the rtcb at the (new) head
|
||||
/* Restore the exception context of the rtcb at the (new) head
|
||||
* of the g_readytorun task list.
|
||||
*/
|
||||
|
||||
@@ -138,7 +138,7 @@ void up_unblock_task(FAR struct tcb_s *tcb)
|
||||
}
|
||||
|
||||
/* We are not in an interrupt andler. Copy the user C context
|
||||
* into the TCB of the task that was previously active. if
|
||||
* into the TCB of the task that was previously active. if
|
||||
* up_savecontext returns a non-zero value, then this is really the
|
||||
* previously running task restarting!
|
||||
*/
|
||||
|
||||
+2
-2
@@ -171,7 +171,7 @@ arch/arm - ARM-based micro-controllers
|
||||
is complete on the basic port (timer, serial console, SPI).
|
||||
|
||||
arch/arm/include/lm and arch/arm/src/lm
|
||||
These directories contain support for the Luminary LM3S/4F family. The
|
||||
These directories contain support for the Luminary LM3S/4F family. The
|
||||
initial, release of this port was included in NuttX version 0.4.6. The
|
||||
current port includes timer, serial console, Ethernet, SSI, and microSD
|
||||
support. There are working configurations the NuttX OS test, to run the
|
||||
@@ -211,7 +211,7 @@ arch/arm - ARM-based micro-controllers
|
||||
STATUS: The basic AT91SAM3U port was released in NuttX version 5.1.
|
||||
The basic port includes boot-up logic, interrupt driven serial
|
||||
console, and system timer interrupts. That release passes the
|
||||
NuttX OS test and is proven to have a valid OS implementation. A
|
||||
NuttX OS test and is proven to have a valid OS implementation. A
|
||||
onfiguration to support the NuttShell is also included.
|
||||
|
||||
arch/arm/include/stm32 and arch/arm/src/stm32
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
* Pre-Processor Definitions
|
||||
****************************************************************************************/
|
||||
|
||||
/* External interrupts numbers */
|
||||
/* External interrupts numbers */
|
||||
|
||||
#define A1X_IRQ_NMI 0 /* External Non-Mask Interrupt */
|
||||
# define A1X_IRQ_POWER 0 /* Power module */
|
||||
|
||||
@@ -60,7 +60,7 @@
|
||||
* (1) stmia rx, {r0-r14}
|
||||
* (2) then the PC and CPSR
|
||||
*
|
||||
* This results in the following set of indices that can be used to access
|
||||
* This results in the following set of indices that can be used to access
|
||||
* individual registers in the xcp.regs array:
|
||||
*/
|
||||
|
||||
|
||||
@@ -70,7 +70,7 @@
|
||||
#ifdef CONFIG_ARCH_FPU
|
||||
|
||||
/* If the MCU supports a floating point unit, then it will be necessary
|
||||
* to save the state of the non-volatile registers before calling code
|
||||
* to save the state of the non-volatile registers before calling code
|
||||
* that may save and overwrite them.
|
||||
*/
|
||||
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
#define EF_ARM_EABI_VER4 0x04000000
|
||||
#define EF_ARM_EABI_VER5 0x05000000
|
||||
|
||||
#define EF_ARM_BE8 0x00800000
|
||||
#define EF_ARM_BE8 0x00800000
|
||||
|
||||
/* Table 4-4, Processor specific section types */
|
||||
|
||||
|
||||
@@ -56,7 +56,7 @@
|
||||
/****************************************************************************
|
||||
* Definitions
|
||||
****************************************************************************/
|
||||
|
||||
|
||||
/* LPC2378 Interrupts */
|
||||
|
||||
#define WDT_IRQ 0 /* Watchdog */
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
/********************************************************************************************
|
||||
* Pre-processor Definitions
|
||||
********************************************************************************************/
|
||||
|
||||
|
||||
/* IRQ numbers. The IRQ number corresponds vector number and hence map directly to bits in
|
||||
* the NVIC. This does, however, waste several words of memory in the IRQ to handle mapping
|
||||
* tables.
|
||||
|
||||
@@ -82,7 +82,7 @@
|
||||
#define NUC_IRQ_ADC (45) /* ADC */
|
||||
/* 46: Reserved */
|
||||
#define NUC_IRQ_RTC (47) /* Real time clock */
|
||||
|
||||
|
||||
#define NR_IRQS (48)
|
||||
|
||||
/************************************************************************************
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
* Pre-processor Definitions
|
||||
****************************************************************************************************/
|
||||
/* SAMA5D3 Family
|
||||
*
|
||||
*
|
||||
* ATSAMA5D31 ATSAMA5D33 ATSAMA5D34 ATSAMA5D35 ATSAMA5D36
|
||||
* ------------------------- ------------- ------------- ------------- ------------- -------------
|
||||
* Pin Count 324 324 324 324 324
|
||||
|
||||
@@ -113,7 +113,7 @@ static int a1x_pio_interrupt(int irq, void *context)
|
||||
int irq;
|
||||
|
||||
/* Read the set of pending GPIO interrupts */
|
||||
|
||||
|
||||
status = getreg32(A1X_PIO_INT_STA);
|
||||
mask = getreg32(A1X_PIO_INT_CTL);
|
||||
pending = status & mask;
|
||||
|
||||
@@ -120,7 +120,7 @@ void up_timerinit(void)
|
||||
uint32_t regval;
|
||||
|
||||
/* Set the timer reload interval value */
|
||||
|
||||
|
||||
putreg32(TMR_INTERVAL, A1X_TMR0_INTV_VALUE);
|
||||
|
||||
/* Configure timer 0:
|
||||
|
||||
@@ -332,7 +332,7 @@ static inline unsigned int get_cp15c3(void)
|
||||
* ARM926EJ-S operation: Invalidate set-associative
|
||||
* Data: Should be zero
|
||||
*/
|
||||
|
||||
|
||||
static inline void tlb_invalidate(void)
|
||||
{
|
||||
unsigned int sbz = 0;
|
||||
|
||||
@@ -183,7 +183,7 @@
|
||||
* larger than the size of the physical paged region. That is the
|
||||
* core of what the On-Demanding Paging feature provides.
|
||||
*/
|
||||
|
||||
|
||||
#define PG_L1_PAGED_PADDR (PGTABLE_BASE_PADDR + ((PG_PAGED_VBASE >> 20) << 2))
|
||||
#define PG_L1_PAGED_VADDR (PGTABLE_BASE_VADDR + ((PG_PAGED_VBASE >> 20) << 2))
|
||||
|
||||
@@ -261,10 +261,10 @@
|
||||
/* Case 2: Vectors are in low memory and the locked text region starts at
|
||||
* the beginning of SRAM (which will be aliased to address 0x00000000).
|
||||
* However, the beginning of SRAM may not be aligned to the beginning
|
||||
* of the L2 page table (because the beginning of RAM is offset into
|
||||
* of the L2 page table (because the beginning of RAM is offset into
|
||||
* the table.
|
||||
*/
|
||||
|
||||
|
||||
#elif defined(CONFIG_ARCH_LOWVECTORS) && !defined(CONFIG_PAGING_LOCKED_PBASE)
|
||||
# define PG_VECT_PBASE PG_LOCKED_PBASE
|
||||
# define PG_L2_VECT_OFFSET (((PG_LOCKED_VBASE & 0x000fffff) >> PAGESHIFT) << 2)
|
||||
@@ -327,7 +327,7 @@
|
||||
* text region (the address at the beginning of
|
||||
* the page).
|
||||
* PG_POOL_MAXL2NDX - This is the maximum value+1 of such an index.
|
||||
*
|
||||
*
|
||||
* PG_POOL_PGPADDR(ndx) - Converts an page index into the corresponding
|
||||
* (physical) address of the backing page memory.
|
||||
* PG_POOL_PGVADDR(ndx) - Converts an page index into the corresponding
|
||||
@@ -340,7 +340,7 @@
|
||||
* written.
|
||||
*/
|
||||
|
||||
#define PG_POOL_VA2L1OFFSET(va) (((va) >> 20) << 2)
|
||||
#define PG_POOL_VA2L1OFFSET(va) (((va) >> 20) << 2)
|
||||
#define PG_POOL_VA2L1VADDR(va) (PGTABLE_BASE_VADDR + PG_POOL_VA2L1OFFSET(va))
|
||||
#define PG_POOL_L12PPTABLE(L1) ((L1) & PG_L1_PADDRMASK)
|
||||
#define PG_POOL_L12VPTABLE(L1) (PG_POOL_L12PPTABLE(L1) - PGTABLE_BASE_PADDR + PGTABLE_BASE_VADDR)
|
||||
@@ -442,7 +442,7 @@
|
||||
* follows:
|
||||
*
|
||||
* ldr r0, =PG_L1_PGTABLE_PADDR <-- Address in the L1 table
|
||||
* ldr r1, =PG_L2_PGTABLE_PADDR <-- Physical address of L2 page table
|
||||
* ldr r1, =PG_L2_PGTABLE_PADDR <-- Physical address of L2 page table
|
||||
* ldr r2, =PG_PGTABLE_NPAGES <-- Total number of pages
|
||||
* ldr r3, =PG_PGTABLE_NPAGE1 <-- Number of pages in the first PTE
|
||||
* ldr r4, =MMU_L1_PGTABFLAGS <-- L1 MMU flags
|
||||
|
||||
@@ -171,7 +171,7 @@ int up_allocpage(FAR struct tcb_s *tcb, FAR void **vpage)
|
||||
uintptr_t paddr;
|
||||
uint32_t *pte;
|
||||
unsigned int pgndx;
|
||||
|
||||
|
||||
/* Since interrupts are disabled, we don't need to anything special. */
|
||||
|
||||
DEBUGASSERT(tcb && vpage);
|
||||
@@ -199,7 +199,7 @@ int up_allocpage(FAR struct tcb_s *tcb, FAR void **vpage)
|
||||
if (g_pgwrap)
|
||||
{
|
||||
/* Yes.. Get a pointer to the L2 entry corresponding to the previous
|
||||
* mapping -- then zero it!
|
||||
* mapping -- then zero it!
|
||||
*/
|
||||
|
||||
uintptr_t oldvaddr = PG_POOL_NDX2VA(g_ptemap[pgndx]);
|
||||
@@ -214,7 +214,7 @@ int up_allocpage(FAR struct tcb_s *tcb, FAR void **vpage)
|
||||
* case: The I-Cache uses a virtual address index and, hence, since the
|
||||
* NuttX address space is flat, the cached instruction value should be
|
||||
* correct even if the page mapping is no longer in place.
|
||||
*/
|
||||
*/
|
||||
}
|
||||
|
||||
/* Then convert the index to a (physical) page address. */
|
||||
@@ -231,7 +231,7 @@ int up_allocpage(FAR struct tcb_s *tcb, FAR void **vpage)
|
||||
*pte = (paddr | MMU_L2_ALLOCFLAGS);
|
||||
|
||||
/* And save the new L1 index */
|
||||
|
||||
|
||||
g_ptemap[pgndx] = PG_POOL_VA2L2NDX(vaddr);
|
||||
|
||||
/* Finally, return the virtual address of allocated page */
|
||||
|
||||
@@ -130,7 +130,7 @@ void up_block_task(struct tcb_s *tcb, tstate_t task_state)
|
||||
|
||||
up_savestate(rtcb->xcp.regs);
|
||||
|
||||
/* Restore the exception context of the rtcb at the (new) head
|
||||
/* Restore the exception context of the rtcb at the (new) head
|
||||
* of the g_readytorun task list.
|
||||
*/
|
||||
|
||||
@@ -148,7 +148,7 @@ void up_block_task(struct tcb_s *tcb, tstate_t task_state)
|
||||
|
||||
else if (!up_saveusercontext(rtcb->xcp.regs))
|
||||
{
|
||||
/* Restore the exception context of the rtcb at the (new) head
|
||||
/* Restore the exception context of the rtcb at the (new) head
|
||||
* of the g_readytorun task list.
|
||||
*/
|
||||
|
||||
|
||||
@@ -88,7 +88,7 @@
|
||||
* Wait for interrupt SBZ MCR p15, 0, <Rd>, c7, c0, 4
|
||||
*/
|
||||
|
||||
/* Esure coherency between the Icache and the Dcache in the region described
|
||||
/* Esure coherency between the Icache and the Dcache in the region described
|
||||
* by r0=start and r1=end. Cleans the corresponding D-cache lines and invalidates
|
||||
* the corresponding I-Cache lines.
|
||||
*/
|
||||
|
||||
@@ -56,7 +56,7 @@
|
||||
* Pre-processor Definitions
|
||||
****************************************************************************/
|
||||
|
||||
/* Output debug info if stack dump is selected -- even if
|
||||
/* Output debug info if stack dump is selected -- even if
|
||||
* debug is not selected.
|
||||
*/
|
||||
|
||||
@@ -139,7 +139,7 @@ void up_dataabort(uint32_t *regs, uint32_t far, uint32_t fsr)
|
||||
* the exception occurred, this address was provided in the FAR register.
|
||||
* (It has not yet been saved in the register context save area).
|
||||
*/
|
||||
|
||||
|
||||
pgllvdbg("VBASE: %08x VEND: %08x\n", PG_PAGED_VBASE, PG_PAGED_VEND);
|
||||
if (far < PG_PAGED_VBASE || far >= PG_PAGED_VEND)
|
||||
{
|
||||
|
||||
@@ -56,7 +56,7 @@
|
||||
|
||||
/* Debug ********************************************************************/
|
||||
|
||||
/* Output debug info if stack dump is selected -- even if
|
||||
/* Output debug info if stack dump is selected -- even if
|
||||
* debug is not selected.
|
||||
*/
|
||||
|
||||
|
||||
@@ -97,7 +97,7 @@ void up_release_pending(void)
|
||||
|
||||
up_savestate(rtcb->xcp.regs);
|
||||
|
||||
/* Restore the exception context of the rtcb at the (new) head
|
||||
/* Restore the exception context of the rtcb at the (new) head
|
||||
* of the g_readytorun task list.
|
||||
*/
|
||||
|
||||
@@ -111,13 +111,13 @@ void up_release_pending(void)
|
||||
|
||||
/* Copy the exception context into the TCB of the task that
|
||||
* was currently active. if up_saveusercontext returns a non-zero
|
||||
* value, then this is really the previously running task
|
||||
* value, then this is really the previously running task
|
||||
* restarting!
|
||||
*/
|
||||
|
||||
else if (!up_saveusercontext(rtcb->xcp.regs))
|
||||
{
|
||||
/* Restore the exception context of the rtcb at the (new) head
|
||||
/* Restore the exception context of the rtcb at the (new) head
|
||||
* of the g_readytorun task list.
|
||||
*/
|
||||
|
||||
|
||||
@@ -69,7 +69,7 @@
|
||||
*
|
||||
* Description:
|
||||
* Called when the priority of a running or
|
||||
* ready-to-run task changes and the reprioritization will
|
||||
* ready-to-run task changes and the reprioritization will
|
||||
* cause a context switch. Two cases:
|
||||
*
|
||||
* 1) The priority of the currently running task drops and the next
|
||||
@@ -152,7 +152,7 @@ void up_reprioritize_rtr(struct tcb_s *tcb, uint8_t priority)
|
||||
|
||||
up_savestate(rtcb->xcp.regs);
|
||||
|
||||
/* Restore the exception context of the rtcb at the (new) head
|
||||
/* Restore the exception context of the rtcb at the (new) head
|
||||
* of the g_readytorun task list.
|
||||
*/
|
||||
|
||||
@@ -171,7 +171,7 @@ void up_reprioritize_rtr(struct tcb_s *tcb, uint8_t priority)
|
||||
|
||||
else if (!up_saveusercontext(rtcb->xcp.regs))
|
||||
{
|
||||
/* Restore the exception context of the rtcb at the (new) head
|
||||
/* Restore the exception context of the rtcb at the (new) head
|
||||
* of the g_readytorun task list.
|
||||
*/
|
||||
|
||||
|
||||
@@ -50,7 +50,7 @@
|
||||
* Pre-processor Definitions
|
||||
****************************************************************************/
|
||||
|
||||
/* Output debug info if stack dump is selected -- even if
|
||||
/* Output debug info if stack dump is selected -- even if
|
||||
* debug is not selected.
|
||||
*/
|
||||
|
||||
|
||||
@@ -109,7 +109,7 @@ void up_unblock_task(struct tcb_s *tcb)
|
||||
/* The currently active task has changed! We need to do
|
||||
* a context switch to the new task.
|
||||
*
|
||||
* Are we in an interrupt handler?
|
||||
* Are we in an interrupt handler?
|
||||
*/
|
||||
|
||||
if (current_regs)
|
||||
@@ -120,7 +120,7 @@ void up_unblock_task(struct tcb_s *tcb)
|
||||
|
||||
up_savestate(rtcb->xcp.regs);
|
||||
|
||||
/* Restore the exception context of the rtcb at the (new) head
|
||||
/* Restore the exception context of the rtcb at the (new) head
|
||||
* of the g_readytorun task list.
|
||||
*/
|
||||
|
||||
@@ -132,7 +132,7 @@ void up_unblock_task(struct tcb_s *tcb)
|
||||
}
|
||||
|
||||
/* We are not in an interrupt handler. Copy the user C context
|
||||
* into the TCB of the task that was previously active. if
|
||||
* into the TCB of the task that was previously active. if
|
||||
* up_saveusercontext returns a non-zero value, then this is really the
|
||||
* previously running task restarting!
|
||||
*/
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
* Pre-processor Definitions
|
||||
****************************************************************************/
|
||||
|
||||
/* Output debug info if stack dump is selected -- even if
|
||||
/* Output debug info if stack dump is selected -- even if
|
||||
* debug is not selected.
|
||||
*/
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user