You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by gi...@apache.org on 2023/01/02 16:52:41 UTC

[nuttx-website] branch asf-site updated: Publishing web: 4b401e13a9490577fa0448cbe8b6d393302e43f3 docs: 1cee890aa7fdc0889a6c6810aaf9c0c242725a13

This is an automated email from the ASF dual-hosted git repository.

github-bot pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/nuttx-website.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new 5714d376 Publishing web: 4b401e13a9490577fa0448cbe8b6d393302e43f3 docs: 1cee890aa7fdc0889a6c6810aaf9c0c242725a13
5714d376 is described below

commit 5714d376546ba2510af6c094b413b5934f4292ed
Author: dependabot[bot] <49...@users.noreply.github.com>
AuthorDate: Mon Jan 2 16:49:27 2023 +0000

    Publishing web: 4b401e13a9490577fa0448cbe8b6d393302e43f3 docs: 1cee890aa7fdc0889a6c6810aaf9c0c242725a13
---
 content/community-members/index.html               |   2 +-
 content/community/index.html                       |   2 +-
 content/docs/10.0.0/index.html                     |   2 +-
 content/docs/10.0.0/searchindex.js                 |   2 +-
 content/docs/10.0.1/index.html                     |   2 +-
 content/docs/10.0.1/searchindex.js                 |   2 +-
 content/docs/10.1.0/index.html                     |   2 +-
 content/docs/10.1.0/searchindex.js                 |   2 +-
 content/docs/10.2.0/index.html                     |   2 +-
 content/docs/10.2.0/searchindex.js                 |   2 +-
 content/docs/10.3.0/index.html                     |   2 +-
 content/docs/10.3.0/searchindex.js                 |   2 +-
 content/docs/11.0.0/index.html                     |   2 +-
 content/docs/11.0.0/searchindex.js                 |   2 +-
 .../docs/latest/_sources/guides/simulator.rst.txt  |   6 +
 .../latest/_sources/guides/tasktraceuser.rst.txt   |  12 +-
 .../arm/a64/boards/pinephone/index.rst.txt         |  39 ++-
 .../esp32c3/boards/esp32c3-devkit/index.rst.txt    |  68 +++++
 .../docs/latest/_sources/reference/os/arch.rst.txt |   4 +-
 .../latest/_sources/reference/os/index.rst.txt     |   1 +
 .../docs/latest/_sources/reference/os/nat.rst.txt  |  15 +-
 .../latest/_sources/reference/os/notifier.rst.txt  |  95 ++++++
 .../_sources/reference/user/10_filesystem.rst.txt  |  11 +-
 content/docs/latest/faq/index.html                 |   4 +-
 content/docs/latest/genindex.html                  |  20 +-
 content/docs/latest/guides/simulator.html          |   4 +
 content/docs/latest/guides/tasktraceuser.html      |  14 +-
 content/docs/latest/index.html                     |   2 +-
 content/docs/latest/introduction/licensing.html    |  26 ++
 content/docs/latest/objects.inv                    | Bin 39684 -> 39975 bytes
 .../platforms/arm/a64/boards/pinephone/index.html  |  59 +++-
 .../esp32c3/boards/esp32c3-devkit/index.html       |  75 +++++
 content/docs/latest/reference/os/addrenv.html      |   1 +
 content/docs/latest/reference/os/app_vs_os.html    |   1 +
 content/docs/latest/reference/os/arch.html         |   7 +-
 content/docs/latest/reference/os/board.html        |   1 +
 content/docs/latest/reference/os/conventions.html  |   1 +
 content/docs/latest/reference/os/index.html        |  14 +
 content/docs/latest/reference/os/iob.html          |   5 +-
 content/docs/latest/reference/os/led.html          |   1 +
 content/docs/latest/reference/os/mutex.html        |   1 +
 content/docs/latest/reference/os/nat.html          |  14 +-
 content/docs/latest/reference/os/notifier.html     | 325 +++++++++++++++++++++
 content/docs/latest/reference/os/nuttx.html        |   1 +
 content/docs/latest/reference/os/paging.html       |   1 +
 content/docs/latest/reference/os/shm.html          |   1 +
 content/docs/latest/reference/os/smp.html          |   1 +
 content/docs/latest/reference/os/time_clock.html   |   1 +
 content/docs/latest/reference/os/wqueue.html       |   1 +
 .../docs/latest/reference/user/10_filesystem.html  |  11 +-
 content/docs/latest/searchindex.js                 |   2 +-
 content/download/index.html                        |   2 +-
 content/feed.xml                                   |   4 +-
 content/history/index.html                         |   2 +-
 content/index.html                                 |   2 +-
 content/releases/10.0.0/index.html                 |   2 +-
 content/releases/10.0.1/index.html                 |   2 +-
 content/releases/10.1.0/index.html                 |   2 +-
 content/releases/10.2.0/index.html                 |   2 +-
 content/releases/10.3.0/index.html                 |   2 +-
 content/releases/11.0.0/index.html                 |   2 +-
 content/releases/7.13/index.html                   |   2 +-
 content/releases/7.14/index.html                   |   2 +-
 content/releases/7.15/index.html                   |   2 +-
 content/releases/7.16/index.html                   |   2 +-
 content/releases/7.17/index.html                   |   2 +-
 content/releases/7.18/index.html                   |   2 +-
 content/releases/7.19/index.html                   |   2 +-
 content/releases/7.20/index.html                   |   2 +-
 content/releases/7.21/index.html                   |   2 +-
 content/releases/7.22/index.html                   |   2 +-
 content/releases/7.23/index.html                   |   2 +-
 content/releases/7.24/index.html                   |   2 +-
 content/releases/7.25/index.html                   |   2 +-
 content/releases/7.26/index.html                   |   2 +-
 content/releases/7.27/index.html                   |   2 +-
 content/releases/7.28/index.html                   |   2 +-
 content/releases/7.29/index.html                   |   2 +-
 content/releases/7.30/index.html                   |   2 +-
 content/releases/7.31/index.html                   |   2 +-
 content/releases/8.1/index.html                    |   2 +-
 content/releases/8.2/index.html                    |   2 +-
 content/releases/9.0.0/index.html                  |   2 +-
 content/releases/9.1.0/index.html                  |   2 +-
 content/releases/9.1.1/index.html                  |   2 +-
 85 files changed, 823 insertions(+), 120 deletions(-)

diff --git a/content/community-members/index.html b/content/community-members/index.html
index bebcc10b..7a07ab97 100644
--- a/content/community-members/index.html
+++ b/content/community-members/index.html
@@ -348,7 +348,7 @@
 
       <hr>
       <footer>
-        <!-- <p>&copy; 2022 </p>-->
+        <!-- <p>&copy; 2023 </p>-->
         <footer class="site-footer">
     <div class="wrapper">
         <div class="footer-col-wrapper">
diff --git a/content/community/index.html b/content/community/index.html
index 4fb33ce0..963e4026 100644
--- a/content/community/index.html
+++ b/content/community/index.html
@@ -153,7 +153,7 @@
 
       <hr>
       <footer>
-        <!-- <p>&copy; 2022 </p>-->
+        <!-- <p>&copy; 2023 </p>-->
         <footer class="site-footer">
     <div class="wrapper">
         <div class="footer-col-wrapper">
diff --git a/content/docs/10.0.0/index.html b/content/docs/10.0.0/index.html
index 7982e31e..6356ff46 100644
--- a/content/docs/10.0.0/index.html
+++ b/content/docs/10.0.0/index.html
@@ -133,7 +133,7 @@ by following these <a class="reference internal" href="contributing/documentatio
 <section id="nuttx-documentation">
 <h1>NuttX Documentation<a class="headerlink" href="#nuttx-documentation" title="Permalink to this headline"></a></h1>
 <p>NuttX is a real-time operating system (RTOS) with an emphasis on standards compliance and small footprint. Scalable from 8-bit to 32-bit microcontroller environments, the primary governing standards in NuttX are Posix and ANSI standards. Additional standard APIs from Unix and other common RTOS’s (such as VxWorks) are adopted for functionality not available under these standards, or for functionality that is not appropriate for deeply-embedded environments (such as fork()).</p>
-<p>Last Updated: 21 December 22 at 00:09</p>
+<p>Last Updated: 02 January 23 at 16:46</p>
 <div class="toctree-wrapper compound">
 <p class="caption" role="heading"><span class="caption-text">Table of Contents</span></p>
 <ul class="current">
diff --git a/content/docs/10.0.0/searchindex.js b/content/docs/10.0.0/searchindex.js
index fa453c86..6788de09 100644
--- a/content/docs/10.0.0/searchindex.js
+++ b/content/docs/10.0.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({docnames:["applications/index","boards/index","components/binfmt","components/drivers/block/index","components/drivers/character/analog","components/drivers/character/can","components/drivers/character/index","components/drivers/character/keypad","components/drivers/character/pwm","components/drivers/character/quadrature","components/drivers/character/rtc","components/drivers/character/serial","components/drivers/character/timer","components/drivers/character/touchscreen [...]
\ No newline at end of file
+Search.setIndex({docnames:["applications/index","boards/index","components/binfmt","components/drivers/block/index","components/drivers/character/analog","components/drivers/character/can","components/drivers/character/index","components/drivers/character/keypad","components/drivers/character/pwm","components/drivers/character/quadrature","components/drivers/character/rtc","components/drivers/character/serial","components/drivers/character/timer","components/drivers/character/touchscreen [...]
\ No newline at end of file
diff --git a/content/docs/10.0.1/index.html b/content/docs/10.0.1/index.html
index 291f8e0d..6eaa2b05 100644
--- a/content/docs/10.0.1/index.html
+++ b/content/docs/10.0.1/index.html
@@ -145,7 +145,7 @@ by following these <a class="reference internal" href="contributing/documentatio
 <section id="nuttx-documentation">
 <h1>NuttX Documentation<a class="headerlink" href="#nuttx-documentation" title="Permalink to this headline"></a></h1>
 <p>NuttX is a real-time operating system (RTOS) with an emphasis on standards compliance and small footprint. Scalable from 8-bit to 32-bit microcontroller environments, the primary governing standards in NuttX are Posix and ANSI standards. Additional standard APIs from Unix and other common RTOS’s (such as VxWorks) are adopted for functionality not available under these standards, or for functionality that is not appropriate for deeply-embedded environments (such as fork()).</p>
-<p>Last Updated: 21 December 22 at 00:09</p>
+<p>Last Updated: 02 January 23 at 16:47</p>
 <div class="toctree-wrapper compound">
 <p class="caption" role="heading"><span class="caption-text">Table of Contents</span></p>
 <ul class="current">
diff --git a/content/docs/10.0.1/searchindex.js b/content/docs/10.0.1/searchindex.js
index fa453c86..039131d1 100644
--- a/content/docs/10.0.1/searchindex.js
+++ b/content/docs/10.0.1/searchindex.js
@@ -1 +1 @@
-Search.setIndex({docnames:["applications/index","boards/index","components/binfmt","components/drivers/block/index","components/drivers/character/analog","components/drivers/character/can","components/drivers/character/index","components/drivers/character/keypad","components/drivers/character/pwm","components/drivers/character/quadrature","components/drivers/character/rtc","components/drivers/character/serial","components/drivers/character/timer","components/drivers/character/touchscreen [...]
\ No newline at end of file
+Search.setIndex({docnames:["applications/index","boards/index","components/binfmt","components/drivers/block/index","components/drivers/character/analog","components/drivers/character/can","components/drivers/character/index","components/drivers/character/keypad","components/drivers/character/pwm","components/drivers/character/quadrature","components/drivers/character/rtc","components/drivers/character/serial","components/drivers/character/timer","components/drivers/character/touchscreen [...]
\ No newline at end of file
diff --git a/content/docs/10.1.0/index.html b/content/docs/10.1.0/index.html
index 52bc8d69..4d8bf13a 100644
--- a/content/docs/10.1.0/index.html
+++ b/content/docs/10.1.0/index.html
@@ -144,7 +144,7 @@ by following these <a class="reference internal" href="contributing/documentatio
 <section id="nuttx-documentation">
 <h1>NuttX Documentation<a class="headerlink" href="#nuttx-documentation" title="Permalink to this headline"></a></h1>
 <p>NuttX is a real-time operating system (RTOS) with an emphasis on standards compliance and small footprint. Scalable from 8-bit to 64-bit microcontroller environments, the primary governing standards in NuttX are POSIX and ANSI standards. Additional standard APIs from Unix and other common RTOS’s (such as VxWorks) are adopted for functionality not available under these standards, or for functionality that is not appropriate for deeply-embedded environments (such as fork()).</p>
-<p>Last Updated: 21 December 22 at 00:09</p>
+<p>Last Updated: 02 January 23 at 16:47</p>
 <div class="toctree-wrapper compound">
 <p class="caption" role="heading"><span class="caption-text">Table of Contents</span></p>
 <ul class="current">
diff --git a/content/docs/10.1.0/searchindex.js b/content/docs/10.1.0/searchindex.js
index 6888a83f..1f588277 100644
--- a/content/docs/10.1.0/searchindex.js
+++ b/content/docs/10.1.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({docnames:["applications/index","applications/nsh/builtin","applications/nsh/commands","applications/nsh/config","applications/nsh/customizing","applications/nsh/index","applications/nsh/installation","applications/nsh/login","applications/nsh/nsh","components/binfmt","components/drivers/block/index","components/drivers/character/analog","components/drivers/character/can","components/drivers/character/foc","components/drivers/character/index","components/drivers/character [...]
\ No newline at end of file
+Search.setIndex({docnames:["applications/index","applications/nsh/builtin","applications/nsh/commands","applications/nsh/config","applications/nsh/customizing","applications/nsh/index","applications/nsh/installation","applications/nsh/login","applications/nsh/nsh","components/binfmt","components/drivers/block/index","components/drivers/character/analog","components/drivers/character/can","components/drivers/character/foc","components/drivers/character/index","components/drivers/character [...]
\ No newline at end of file
diff --git a/content/docs/10.2.0/index.html b/content/docs/10.2.0/index.html
index 0ab286db..eab712e9 100644
--- a/content/docs/10.2.0/index.html
+++ b/content/docs/10.2.0/index.html
@@ -145,7 +145,7 @@ by following these <a class="reference internal" href="contributing/documentatio
 <section id="nuttx-documentation">
 <h1>NuttX Documentation<a class="headerlink" href="#nuttx-documentation" title="Permalink to this headline"></a></h1>
 <p>NuttX is a real-time operating system (RTOS) with an emphasis on standards compliance and small footprint. Scalable from 8-bit to 64-bit microcontroller environments, the primary governing standards in NuttX are POSIX and ANSI standards. Additional standard APIs from Unix and other common RTOS’s (such as VxWorks) are adopted for functionality not available under these standards, or for functionality that is not appropriate for deeply-embedded environments (such as fork()).</p>
-<p>Last Updated: 21 December 22 at 00:09</p>
+<p>Last Updated: 02 January 23 at 16:47</p>
 <div class="toctree-wrapper compound">
 <p class="caption" role="heading"><span class="caption-text">Table of Contents</span></p>
 <ul class="current">
diff --git a/content/docs/10.2.0/searchindex.js b/content/docs/10.2.0/searchindex.js
index d980dd2c..c0d0aee6 100644
--- a/content/docs/10.2.0/searchindex.js
+++ b/content/docs/10.2.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({docnames:["applications/index","applications/nsh/builtin","applications/nsh/commands","applications/nsh/config","applications/nsh/customizing","applications/nsh/index","applications/nsh/installation","applications/nsh/login","applications/nsh/nsh","components/binfmt","components/drivers/block/index","components/drivers/character/analog","components/drivers/character/can","components/drivers/character/foc","components/drivers/character/index","components/drivers/character [...]
\ No newline at end of file
+Search.setIndex({docnames:["applications/index","applications/nsh/builtin","applications/nsh/commands","applications/nsh/config","applications/nsh/customizing","applications/nsh/index","applications/nsh/installation","applications/nsh/login","applications/nsh/nsh","components/binfmt","components/drivers/block/index","components/drivers/character/analog","components/drivers/character/can","components/drivers/character/foc","components/drivers/character/index","components/drivers/character [...]
\ No newline at end of file
diff --git a/content/docs/10.3.0/index.html b/content/docs/10.3.0/index.html
index b6edcadf..eab712e9 100644
--- a/content/docs/10.3.0/index.html
+++ b/content/docs/10.3.0/index.html
@@ -145,7 +145,7 @@ by following these <a class="reference internal" href="contributing/documentatio
 <section id="nuttx-documentation">
 <h1>NuttX Documentation<a class="headerlink" href="#nuttx-documentation" title="Permalink to this headline"></a></h1>
 <p>NuttX is a real-time operating system (RTOS) with an emphasis on standards compliance and small footprint. Scalable from 8-bit to 64-bit microcontroller environments, the primary governing standards in NuttX are POSIX and ANSI standards. Additional standard APIs from Unix and other common RTOS’s (such as VxWorks) are adopted for functionality not available under these standards, or for functionality that is not appropriate for deeply-embedded environments (such as fork()).</p>
-<p>Last Updated: 21 December 22 at 00:10</p>
+<p>Last Updated: 02 January 23 at 16:47</p>
 <div class="toctree-wrapper compound">
 <p class="caption" role="heading"><span class="caption-text">Table of Contents</span></p>
 <ul class="current">
diff --git a/content/docs/10.3.0/searchindex.js b/content/docs/10.3.0/searchindex.js
index 5cf77792..aa1f5290 100644
--- a/content/docs/10.3.0/searchindex.js
+++ b/content/docs/10.3.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({docnames:["applications/index","applications/nsh/builtin","applications/nsh/commands","applications/nsh/config","applications/nsh/customizing","applications/nsh/index","applications/nsh/installation","applications/nsh/login","applications/nsh/nsh","components/binfmt","components/drivers/block/index","components/drivers/character/analog","components/drivers/character/can","components/drivers/character/foc","components/drivers/character/index","components/drivers/character [...]
\ No newline at end of file
+Search.setIndex({docnames:["applications/index","applications/nsh/builtin","applications/nsh/commands","applications/nsh/config","applications/nsh/customizing","applications/nsh/index","applications/nsh/installation","applications/nsh/login","applications/nsh/nsh","components/binfmt","components/drivers/block/index","components/drivers/character/analog","components/drivers/character/can","components/drivers/character/foc","components/drivers/character/index","components/drivers/character [...]
\ No newline at end of file
diff --git a/content/docs/11.0.0/index.html b/content/docs/11.0.0/index.html
index b6edcadf..8cc89c3a 100644
--- a/content/docs/11.0.0/index.html
+++ b/content/docs/11.0.0/index.html
@@ -145,7 +145,7 @@ by following these <a class="reference internal" href="contributing/documentatio
 <section id="nuttx-documentation">
 <h1>NuttX Documentation<a class="headerlink" href="#nuttx-documentation" title="Permalink to this headline"></a></h1>
 <p>NuttX is a real-time operating system (RTOS) with an emphasis on standards compliance and small footprint. Scalable from 8-bit to 64-bit microcontroller environments, the primary governing standards in NuttX are POSIX and ANSI standards. Additional standard APIs from Unix and other common RTOS’s (such as VxWorks) are adopted for functionality not available under these standards, or for functionality that is not appropriate for deeply-embedded environments (such as fork()).</p>
-<p>Last Updated: 21 December 22 at 00:10</p>
+<p>Last Updated: 02 January 23 at 16:48</p>
 <div class="toctree-wrapper compound">
 <p class="caption" role="heading"><span class="caption-text">Table of Contents</span></p>
 <ul class="current">
diff --git a/content/docs/11.0.0/searchindex.js b/content/docs/11.0.0/searchindex.js
index 51aa11d9..4d80d82f 100644
--- a/content/docs/11.0.0/searchindex.js
+++ b/content/docs/11.0.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({docnames:["applications/index","applications/nsh/builtin","applications/nsh/commands","applications/nsh/config","applications/nsh/customizing","applications/nsh/index","applications/nsh/installation","applications/nsh/login","applications/nsh/nsh","components/binfmt","components/drivers/block/index","components/drivers/character/analog","components/drivers/character/can","components/drivers/character/foc","components/drivers/character/index","components/drivers/character [...]
\ No newline at end of file
+Search.setIndex({docnames:["applications/index","applications/nsh/builtin","applications/nsh/commands","applications/nsh/config","applications/nsh/customizing","applications/nsh/index","applications/nsh/installation","applications/nsh/login","applications/nsh/nsh","components/binfmt","components/drivers/block/index","components/drivers/character/analog","components/drivers/character/can","components/drivers/character/foc","components/drivers/character/index","components/drivers/character [...]
\ No newline at end of file
diff --git a/content/docs/latest/_sources/guides/simulator.rst.txt b/content/docs/latest/_sources/guides/simulator.rst.txt
index 33ca8212..307d38d8 100644
--- a/content/docs/latest/_sources/guides/simulator.rst.txt
+++ b/content/docs/latest/_sources/guides/simulator.rst.txt
@@ -170,6 +170,12 @@ Accessing the Network
        56 bytes from 8.8.8.8: icmp_seq=0 time=10 ms
        1 packets transmitted, 1 received, 0% packet loss, time 1010 ms
 
+    If it doesn't work, then you need to enable the IP forward on your computer:
+
+    .. code-block:: console
+
+       sudo sysctl -w net.ipv4.ip_forward=1
+
    Success!
 
 Testing / capturing TCP network traffic
diff --git a/content/docs/latest/_sources/guides/tasktraceuser.rst.txt b/content/docs/latest/_sources/guides/tasktraceuser.rst.txt
index a340d097..b518e9fd 100644
--- a/content/docs/latest/_sources/guides/tasktraceuser.rst.txt
+++ b/content/docs/latest/_sources/guides/tasktraceuser.rst.txt
@@ -46,18 +46,18 @@ The following configurations are configurable parameters for trace.
 
   - If enabled, use higher resolution system timer for instrumentation.
 
-- ``CONFIG_DRIVER_NOTERAM_BUFSIZE``
-
-  - Specify the note buffer size in bytes.
-    Higher value can hold more note records, but consumes more kernel memory.
-
-- ``CONFIG_DRIVER_NOTERAM_TASKNAME_BUFSIZE``
+- ``CONFIG_DRIVER_NOTE_TASKNAME_BUFSIZE``
 
   - Specify the task name buffer size in bytes.
     The buffer is used to hold the name of the task during instrumentation.
     Trace dump can find and show a task name corresponding to given pid in the instrumentation data by using this buffer.
     If 0 is specified, this feature is disabled and trace dump shows only the name of the newly created task.
 
+- ``CONFIG_DRIVER_NOTERAM_BUFSIZE``
+
+  - Specify the note buffer size in bytes.
+    Higher value can hold more note records, but consumes more kernel memory.
+
 - ``CONFIG_DRIVER_NOTERAM_DEFAULT_NOOVERWRITE``
 
   - If enabled, stop overwriting old notes in the circular buffer when the buffer is full by default.
diff --git a/content/docs/latest/_sources/platforms/arm/a64/boards/pinephone/index.rst.txt b/content/docs/latest/_sources/platforms/arm/a64/boards/pinephone/index.rst.txt
index aa48e5f4..951390ad 100644
--- a/content/docs/latest/_sources/platforms/arm/a64/boards/pinephone/index.rst.txt
+++ b/content/docs/latest/_sources/platforms/arm/a64/boards/pinephone/index.rst.txt
@@ -12,7 +12,7 @@ Features
     - **GPU:** ARM Mali400 MP2
     - **Interrupt Controller:** ARM GIC PL400 (Generic Interrupt Controller v2)
     - **Display Engine:** Allwinner Display Engine 2.0 (MIPI DSI with DMA)
-- **Display:** Xingbangda XBD599 HD IPS Capacitive Touchscreen (5.95 inches, 1440x720 resolution, 16M colors)
+- **Display:** Xingbangda XBD599 HD IPS Capacitive Touchscreen (5.95 inches, 1440x720 resolution, 16M colors, PWM Backlight)
 - **LCD Controller:** Sitronix ST7703 (MIPI DSI)
 - **RAM:** 2GB or 3GB LPDDR3 SDRAM
 - **Internal Storage:** 16GB or 32GB eMMC, extendable up to 2TB via microSD
@@ -29,6 +29,7 @@ Features
 - **Privacy Switches:** Modem, WiFi & Bluetooth, Microphone, Cameras, Headphone
 - **Battery:** Lithium-ion, rated capacity 2800mAh (10.64Wh), typical capacity 3000mAh (11.40Wh)
 - **I/O:** USB Type-C, USB Host, DisplayPort Alternate Mode output, 15W 5V 3A Quick Charge, follows USB PD specification
+- **Power Management Integrated Circuit:** X-Powers AXP803 (Reduced Serial Bus)
 
 Serial Console
 ==============
@@ -73,7 +74,7 @@ Configure the NuttX project and build the project:
 .. code:: console
 
    $ cd nuttx
-   $ tools/configure.sh pinephone:nsh
+   $ tools/configure.sh pinephone:lcd
    $ make
    $ cp nuttx.bin Image
    $ rm -f Image.gz
@@ -129,6 +130,15 @@ LED3  Blue LED  PD20
 Configurations
 ==============
 
+lcd
+___
+
+Supports LCD Display (XBD599) with LCD Controller (ST7703),
+Display Engine 2.0, MIPI Display Serial Interface (DSI),
+Power Management Integrated Circuit (AXP803) and
+Reduced Serial Bus (RSB).
+Serial Console is enabled on UART0 at 115.2 kbps.
+
 nsh
 ---
 
@@ -142,12 +152,19 @@ Peripheral Support
 
 NuttX for PinePhone supports these peripherals:
 
-=========== ======= =====
-Peripheral  Support NOTES
-=========== ======= =====
-MIPI D-PHY   Yes
-MIPI DSI     Yes
-PIO          Yes
-TCON0        Yes
-UART         Yes    Only UART0 is supported
-=========== ======= =====
+======================= ======= =====
+Peripheral              Support NOTES
+======================= ======= =====
+Backlight                Yes
+Display Engine           Yes
+Frame Buffer             Yes
+LCD Controller (ST7703)  Yes
+LCD Panel (XBD599)       Yes
+MIPI D-PHY               Yes
+MIPI DSI                 Yes
+PIO                      Yes
+PMIC (AXP803)            Yes
+RSB                      Yes
+TCON0                    Yes
+UART                     Yes    Only UART0 is supported
+======================= ======= =====
diff --git a/content/docs/latest/_sources/platforms/risc-v/esp32c3/boards/esp32c3-devkit/index.rst.txt b/content/docs/latest/_sources/platforms/risc-v/esp32c3/boards/esp32c3-devkit/index.rst.txt
index 209021cd..f0f65f18 100644
--- a/content/docs/latest/_sources/platforms/risc-v/esp32c3/boards/esp32c3-devkit/index.rst.txt
+++ b/content/docs/latest/_sources/platforms/risc-v/esp32c3/boards/esp32c3-devkit/index.rst.txt
@@ -70,6 +70,74 @@ We can use the interrupt pin to send a signal when the interrupt fires::
 The pin is configured as a rising edge interrupt, so after issuing the
 above command, connect it to 3.3V.
 
+ble
+---
+
+This configuration is used to enable the Bluetooth Low Energy (BLE) of
+ESP32C3 chip.
+
+To test it, just run the following command below...
+
+Confirm that bnep interface exist:
+
+    nsh> ifconfig
+    bnep0   Link encap:UNSPEC at DOWN
+        inet addr:0.0.0.0 DRaddr:0.0.0.0 Mask:0.0.0.0
+
+Get basic information from it:
+
+    nsh> bt bnep0 info
+    Device: bnep0
+    BDAddr: 86:f7:03:09:41:4d
+    Flags:  0000
+    Free:   20
+      ACL:  20
+      SCO:  0
+    Max:
+      ACL:  24
+      SCO:  0
+    MTU:
+      ACL:  70
+      SCO:  70
+    Policy: 0
+    Type:   0
+
+Start the scanning process:
+
+    nsh> bt bnep0 scan start
+
+Wait a little bit before stopping it.
+
+Then after some minutes stop it:
+
+    nsh> bt bnep0 scan stop
+
+Get the list of BLE devices found around you:
+
+    nsh> bt bnep0 scan get
+    Scan result:
+    1.     addr:           d7:c4:e6:xx:xx:xx type: 0
+           rssi:            -62
+           response type:   4
+           advertiser data: 10 09 4d 69 20 XX XX XX XX XX XX XX XX XX XX 20                      e
+    2.     addr:           cb:23:18:xx:xx:xx type: 0
+           rssi:            -60
+           response type:   0
+           advertiser data: 02 01 06 1b ff XX XX XX ff ff ff ff ff ff ff ff                      8
+    3.     addr:           cb:23:18:xx:xx:xx type: 0
+           rssi:            -60
+           response type:   4
+           advertiser data: 10 09 4d 69 20 XX XX XX XX XX XX XX XX XX XX 20                      e
+    4.     addr:           d7:c4:e6:xx:xx:xx type: 0
+           rssi:            -62
+           response type:   0
+           advertiser data: 02 01 06 1b ff XX XX XX ff ff ff ff ff ff ff ff                      e
+    5.     addr:           d7:c4:e6:xx:xx:xx type: 0
+           rssi:            -62
+           response type:   4
+           advertiser data: 10 09 4d 69 20 XX XX XX XX XX XX XX XX XX XX 20                      e
+    nsh>
+
 watchdog
 --------
 
diff --git a/content/docs/latest/_sources/reference/os/arch.rst.txt b/content/docs/latest/_sources/reference/os/arch.rst.txt
index b9b5c1e3..1fd49f1f 100644
--- a/content/docs/latest/_sources/reference/os/arch.rst.txt
+++ b/content/docs/latest/_sources/reference/os/arch.rst.txt
@@ -198,9 +198,9 @@ APIs Exported by Architecture-Specific Logic to NuttX
   function should disable interrupts before performing scheduling
   operations.
 
-.. c:function:: void up_assert(FAR const char *filename, int linenum)
+.. c:function:: void up_dump_register(FAR void *dumpregs)
 
-  Assertions may be handled in an
+  Register dump may be handled in an
   architecture-specific way.
 
 .. c:function:: void up_schedule_sigaction(FAR struct tcb_s *tcb, sig_deliver_t sigdeliver)
diff --git a/content/docs/latest/_sources/reference/os/index.rst.txt b/content/docs/latest/_sources/reference/os/index.rst.txt
index f0317126..855e73f2 100644
--- a/content/docs/latest/_sources/reference/os/index.rst.txt
+++ b/content/docs/latest/_sources/reference/os/index.rst.txt
@@ -23,3 +23,4 @@ in other header files.
   paging.rst
   led.rst
   iob.rst
+  notifier.rst
diff --git a/content/docs/latest/_sources/reference/os/nat.rst.txt b/content/docs/latest/_sources/reference/os/nat.rst.txt
index 7804ca9e..01215356 100644
--- a/content/docs/latest/_sources/reference/os/nat.rst.txt
+++ b/content/docs/latest/_sources/reference/os/nat.rst.txt
@@ -46,6 +46,8 @@ Configuration Options
 ``CONFIG_NET_NAT``
   Enable or disable Network Address Translation (NAT) function.
   Depends on ``CONFIG_NET_IPFORWARD``.
+``CONFIG_NET_NAT_HASH_BITS``
+  The bits of the hashtable of NAT entries, hashtable has (1 << bits) buckets.
 ``CONFIG_NET_NAT_TCP_EXPIRE_SEC``
   The expiration time for idle TCP entry in NAT.
   The default value 86400 is suggested by RFC2663, Section 2.6,
@@ -55,6 +57,14 @@ Configuration Options
   The expiration time for idle UDP entry in NAT.
 ``CONFIG_NET_NAT_ICMP_EXPIRE_SEC``
   The expiration time for idle ICMP entry in NAT.
+``CONFIG_NET_NAT_ENTRY_RECLAIM_SEC``
+  The time to auto reclaim all expired NAT entries. A value of zero will
+  disable auto reclaiming.
+  Expired entries will be automatically reclaimed when matching
+  inbound/outbound entries, so this config does not have significant
+  impact when NAT is normally used, but very useful when the hashtable
+  is big and there are only a few connections using NAT (which will
+  only trigger reclaiming on a few chains in hashtable).
 
 Usage
 =====
@@ -67,11 +77,6 @@ Usage
   Enable NAT function on a network device, on which the outbound packets
   will be masqueraded.
 
-  Note that NAT is currently designed to be enabled on single device, it
-  may work when enabled on multiple devices, but external ports will not
-  be isolated between devices, so an external port used on one NAT device
-  will also be used by same local ip:port on another NAT device.
-
   :return: Zero is returned if NAT function is successfully enabled on
     the device; A negated errno value is returned if failed.
 
diff --git a/content/docs/latest/_sources/reference/os/notifier.rst.txt b/content/docs/latest/_sources/reference/os/notifier.rst.txt
new file mode 100644
index 00000000..3deb077d
--- /dev/null
+++ b/content/docs/latest/_sources/reference/os/notifier.rst.txt
@@ -0,0 +1,95 @@
+===========
+Notifier Chain
+===========
+
+NuttX provides a callback list mechanism called *Notifier Chain*.
+Notifier chain is essentially a list of callbacks used at certain times,
+such as system asserting, powering off and restarting.
+
+**Notifier chain** is very much like the Linux notifier chains, except
+for some implementation differences.
+
+Classes of Notifier Chain
+======================
+
+There are currently two different classes of notifier.
+
+Atomic notifier chains
+-------------------------------
+
+Atomic notifier chains: Chain callbacks run in interrupt/atomic context.
+In Nuttx, callouts are allowed to block(In Linux, callouts in atomic
+notifier chain are not allowed to block). One example of an Atomic notifier
+chain is turning off FPU when asserting.
+
+Blocking notifier chains:
+------------------------------
+
+Blocking notifier chains: Chain callbacks run in process context.
+Callouts are allowed to block. One example of a blocking notifier chain
+is when an orderly powering off is needed. 
+
+Common Notifier Chain Interfaces
+============================
+
+Notifier Block Types
+--------------------------
+
+-  ``struct notifier_block``. Defines one notifier callback entry.
+
+Notifier Chain Interfaces
+---------------------
+
+.. c:function:: void panic_notifier_chain_register(FAR struct notifier_block *nb)
+
+  Add notifier to the panic notifier chain.
+
+  The panic notifier chain is an atomic notifier chain. It will be called
+  when asserting.
+
+  :param nb: New entry in notifier chain.
+
+.. c:function:: void panic_notifier_chain_unregister(FAR struct notifier_block *nb)
+
+  Remove notifier from the panic notifier chain.
+
+  The panic notifier chain is an atomic notifier chain. It will be called
+  when asserting.
+
+  :param nh: Entry to remove from notifier chain.
+
+.. c:function:: void panic_notifier_call_chain(unsigned long action, FAR void *data)
+
+  Call functions in the panic notifier chain.
+
+  The panic notifier chain is an atomic notifier chain. It will be called
+  when asserting.
+
+  :param action: Value passed unmodified to notifier function.
+  :param data: Pointer passed unmodified to notifier function.
+
+.. c:function:: void register_reboot_notifier(FAR struct notifier_block *nb)
+
+  Add notifier to the reboot notifier chain.
+
+  The reboot notifier chain is an atomic notifier chain.
+
+  :param nb: New entry in notifier chain.
+
+.. c:function:: void unregister_reboot_notifier(FAR struct notifier_block *nb)
+
+  Remove notifier from the reboot notifier chain.
+
+  The reboot notifier chain is an atomic notifier chain.
+
+  :param nh: Entry to remove from notifier chain.
+
+.. c:function:: void reboot_notifier_call_chain(unsigned long action, FAR void *data)
+
+  Call functions in the reboot notifier chain.
+
+  The reboot notifier chain is an atomic notifier chain.
+
+  :param action: Value passed unmodified to notifier function.
+  :param data: Pointer passed unmodified to notifier function.
+
diff --git a/content/docs/latest/_sources/reference/user/10_filesystem.rst.txt b/content/docs/latest/_sources/reference/user/10_filesystem.rst.txt
index acbf64b0..d567797d 100644
--- a/content/docs/latest/_sources/reference/user/10_filesystem.rst.txt
+++ b/content/docs/latest/_sources/reference/user/10_filesystem.rst.txt
@@ -458,12 +458,11 @@ are two conditions where ``mmap()`` can be supported:
 1. ``mmap()`` can be used to support *eXecute In Place* (XIP) on random
    access media under the following very restrictive conditions:
 
-   a. The file-system supports the ``FIOC_MMAP`` ioctl command. Any file
-      system that maps files contiguously on the media should support
-      this ``ioctl`` command. By comparison, most file system scatter
-      files over the media in non-contiguous sectors. As of this
-      writing, ROMFS is the only file system that meets this
-      requirement.
+   a. Any file system that maps files contiguously on the media
+      should implement the mmap file operation. By comparison, most
+      file system scatter files over the media in non-contiguous
+      sectors. As of this writing, ROMFS is the only file system
+      that meets this requirement.
 
    b. The underlying block driver supports the ``BIOC_XIPBASE``
       ``ioctl`` command that maps the underlying media to a randomly
diff --git a/content/docs/latest/faq/index.html b/content/docs/latest/faq/index.html
index 57b963a1..34614b8f 100644
--- a/content/docs/latest/faq/index.html
+++ b/content/docs/latest/faq/index.html
@@ -41,7 +41,7 @@
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
     <link rel="next" title="Guides" href="../guides/index.html" />
-    <link rel="prev" title="I/O Buffer Management" href="../reference/os/iob.html" /> 
+    <link rel="prev" title="Notifier Chain" href="../reference/os/notifier.html" /> 
 </head>
 
 <body class="wy-body-for-nav"> 
@@ -318,7 +318,7 @@ setup the MTU using the <code class="docutils literal notranslate"><span class="
            </div>
           </div>
           <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
-        <a href="../reference/os/iob.html" class="btn btn-neutral float-left" title="I/O Buffer Management" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="../reference/os/notifier.html" class="btn btn-neutral float-left" title="Notifier Chain" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
         <a href="../guides/index.html" class="btn btn-neutral float-right" title="Guides" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
     </div>
 
diff --git a/content/docs/latest/genindex.html b/content/docs/latest/genindex.html
index c2ab61f0..c69e2c5d 100644
--- a/content/docs/latest/genindex.html
+++ b/content/docs/latest/genindex.html
@@ -1003,6 +1003,12 @@
 <h2 id="P">P</h2>
 <table style="width: 100%" class="indextable genindextable"><tr>
   <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="reference/os/notifier.html#c.panic_notifier_call_chain">panic_notifier_call_chain (C function)</a>
+</li>
+      <li><a href="reference/os/notifier.html#c.panic_notifier_chain_register">panic_notifier_chain_register (C function)</a>
+</li>
+      <li><a href="reference/os/notifier.html#c.panic_notifier_chain_unregister">panic_notifier_chain_unregister (C function)</a>
+</li>
       <li><a href="reference/user/07_signals.html#c.pause">pause (C function)</a>
 </li>
       <li><a href="glossary.html#term-Peripheral"><strong>Peripheral</strong></a>
@@ -1102,11 +1108,11 @@
       <li><a href="reference/user/08_pthread.html#c.pthread_attr_setstacksize">pthread_attr_setstacksize (C function)</a>
 </li>
       <li><a href="reference/user/08_pthread.html#c.pthread_barrier_destroy">pthread_barrier_destroy (C function)</a>
-</li>
-      <li><a href="reference/user/08_pthread.html#c.pthread_barrier_init">pthread_barrier_init (C function)</a>
 </li>
   </ul></td>
   <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="reference/user/08_pthread.html#c.pthread_barrier_init">pthread_barrier_init (C function)</a>
+</li>
       <li><a href="reference/user/08_pthread.html#c.pthread_barrier_wait">pthread_barrier_wait (C function)</a>
 </li>
       <li><a href="reference/user/08_pthread.html#c.pthread_barrierattr_destroy">pthread_barrierattr_destroy (C function)</a>
@@ -1232,6 +1238,8 @@
       <li><a href="reference/user/10_filesystem.html#c.readdir">readdir (C function)</a>
 </li>
       <li><a href="reference/user/10_filesystem.html#c.readdir_r">readdir_r (C function)</a>
+</li>
+      <li><a href="reference/os/notifier.html#c.reboot_notifier_call_chain">reboot_notifier_call_chain (C function)</a>
 </li>
       <li><a href="reference/user/11_network.html#c.recv">recv (C function)</a>
 </li>
@@ -1242,6 +1250,8 @@
   </ul></td>
   <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="components/binfmt.html#c.register_binfmt">register_binfmt (C function)</a>
+</li>
+      <li><a href="reference/os/notifier.html#c.register_reboot_notifier">register_reboot_notifier (C function)</a>
 </li>
       <li><a href="reference/user/10_filesystem.html#c.rewinddir">rewinddir (C function)</a>
 </li>
@@ -1518,6 +1528,8 @@
       <li><a href="components/binfmt.html#c.unload_module">unload_module (C function)</a>
 </li>
       <li><a href="components/binfmt.html#c.unregister_binfmt">unregister_binfmt (C function)</a>
+</li>
+      <li><a href="reference/os/notifier.html#c.unregister_reboot_notifier">unregister_reboot_notifier (C function)</a>
 </li>
       <li><a href="reference/user/09_env_vars.html#c.unsetenv">unsetenv (C function)</a>
 </li>
@@ -1560,8 +1572,6 @@
       <li><a href="reference/os/arch.html#c.up_allocate_heap">up_allocate_heap (C function)</a>
 </li>
       <li><a href="components/paging.html#c.up_allocpage">up_allocpage (C function)</a>
-</li>
-      <li><a href="reference/os/arch.html#c.up_assert">up_assert (C function)</a>
 </li>
       <li><a href="components/paging.html#c.up_checkmapping">up_checkmapping (C function)</a>
 </li>
@@ -1578,6 +1588,8 @@
       <li><a href="reference/os/arch.html#c.up_create_stack">up_create_stack (C function)</a>
 </li>
       <li><a href="reference/os/arch.html#c.up_disable_irq">up_disable_irq (C function)</a>
+</li>
+      <li><a href="reference/os/arch.html#c.up_dump_register">up_dump_register (C function)</a>
 </li>
       <li><a href="reference/os/arch.html#c.up_enable_irq">up_enable_irq (C function)</a>
 </li>
diff --git a/content/docs/latest/guides/simulator.html b/content/docs/latest/guides/simulator.html
index 21e0a7a7..fb50d814 100644
--- a/content/docs/latest/guides/simulator.html
+++ b/content/docs/latest/guides/simulator.html
@@ -320,6 +320,10 @@ Internet:</p>
 <span class="go">1 packets transmitted, 1 received, 0% packet loss, time 1010 ms</span>
 </pre></div>
 </div>
+<p>If it doesn’t work, then you need to enable the IP forward on your computer:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">sudo sysctl -w net.ipv4.ip_forward=1</span>
+</pre></div>
+</div>
 </div></blockquote>
 <p>Success!</p>
 </li>
diff --git a/content/docs/latest/guides/tasktraceuser.html b/content/docs/latest/guides/tasktraceuser.html
index c8df58ec..9ed1878a 100644
--- a/content/docs/latest/guides/tasktraceuser.html
+++ b/content/docs/latest/guides/tasktraceuser.html
@@ -215,13 +215,7 @@ If the following bits are set, the corresponding instrumentations are enabled on
 <li><p>If enabled, use higher resolution system timer for instrumentation.</p></li>
 </ul>
 </li>
-<li><p><code class="docutils literal notranslate"><span class="pre">CONFIG_DRIVER_NOTERAM_BUFSIZE</span></code></p>
-<ul>
-<li><p>Specify the note buffer size in bytes.
-Higher value can hold more note records, but consumes more kernel memory.</p></li>
-</ul>
-</li>
-<li><p><code class="docutils literal notranslate"><span class="pre">CONFIG_DRIVER_NOTERAM_TASKNAME_BUFSIZE</span></code></p>
+<li><p><code class="docutils literal notranslate"><span class="pre">CONFIG_DRIVER_NOTE_TASKNAME_BUFSIZE</span></code></p>
 <ul>
 <li><p>Specify the task name buffer size in bytes.
 The buffer is used to hold the name of the task during instrumentation.
@@ -229,6 +223,12 @@ Trace dump can find and show a task name corresponding to given pid in the instr
 If 0 is specified, this feature is disabled and trace dump shows only the name of the newly created task.</p></li>
 </ul>
 </li>
+<li><p><code class="docutils literal notranslate"><span class="pre">CONFIG_DRIVER_NOTERAM_BUFSIZE</span></code></p>
+<ul>
+<li><p>Specify the note buffer size in bytes.
+Higher value can hold more note records, but consumes more kernel memory.</p></li>
+</ul>
+</li>
 <li><p><code class="docutils literal notranslate"><span class="pre">CONFIG_DRIVER_NOTERAM_DEFAULT_NOOVERWRITE</span></code></p>
 <ul>
 <li><p>If enabled, stop overwriting old notes in the circular buffer when the buffer is full by default.
diff --git a/content/docs/latest/index.html b/content/docs/latest/index.html
index 841dd61d..a32935c3 100644
--- a/content/docs/latest/index.html
+++ b/content/docs/latest/index.html
@@ -145,7 +145,7 @@ by following these <a class="reference internal" href="contributing/documentatio
 <section id="nuttx-documentation">
 <h1>NuttX Documentation<a class="headerlink" href="#nuttx-documentation" title="Permalink to this headline"></a></h1>
 <p>NuttX is a real-time operating system (RTOS) with an emphasis on standards compliance and small footprint. Scalable from 8-bit to 64-bit microcontroller environments, the primary governing standards in NuttX are POSIX and ANSI standards. Additional standard APIs from Unix and other common RTOS’s (such as VxWorks) are adopted for functionality not available under these standards, or for functionality that is not appropriate for deeply-embedded environments (such as fork()).</p>
-<p>Last Updated: 21 December 22 at 00:10</p>
+<p>Last Updated: 02 January 23 at 16:48</p>
 <div class="toctree-wrapper compound">
 <p class="caption" role="heading"><span class="caption-text">Table of Contents</span></p>
 <ul class="current">
diff --git a/content/docs/latest/introduction/licensing.html b/content/docs/latest/introduction/licensing.html
index e3d09c22..f8709f96 100644
--- a/content/docs/latest/introduction/licensing.html
+++ b/content/docs/latest/introduction/licensing.html
@@ -5525,6 +5525,32 @@ 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.
 
+libs/libc/math/scalbnf.c
+libs/libc/math/scalbn.c
+libs/libc/math/scalbnl.c
+======================
+
+   Copyright © 2005-2020 Rich Felker, et al.
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+&quot;Software&quot;), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
 libs/libc/math/__cos.c
 libs/libc/math/__sin.c
 libs/libc/math/lib_lgamma.c
diff --git a/content/docs/latest/objects.inv b/content/docs/latest/objects.inv
index 5590b38b..95fb0c28 100644
Binary files a/content/docs/latest/objects.inv and b/content/docs/latest/objects.inv differ
diff --git a/content/docs/latest/platforms/arm/a64/boards/pinephone/index.html b/content/docs/latest/platforms/arm/a64/boards/pinephone/index.html
index fd3ce052..280de6be 100644
--- a/content/docs/latest/platforms/arm/a64/boards/pinephone/index.html
+++ b/content/docs/latest/platforms/arm/a64/boards/pinephone/index.html
@@ -172,7 +172,7 @@
 </dd>
 </dl>
 </li>
-<li><p><strong>Display:</strong> Xingbangda XBD599 HD IPS Capacitive Touchscreen (5.95 inches, 1440x720 resolution, 16M colors)</p></li>
+<li><p><strong>Display:</strong> Xingbangda XBD599 HD IPS Capacitive Touchscreen (5.95 inches, 1440x720 resolution, 16M colors, PWM Backlight)</p></li>
 <li><p><strong>LCD Controller:</strong> Sitronix ST7703 (MIPI DSI)</p></li>
 <li><p><strong>RAM:</strong> 2GB or 3GB LPDDR3 SDRAM</p></li>
 <li><p><strong>Internal Storage:</strong> 16GB or 32GB eMMC, extendable up to 2TB via microSD</p></li>
@@ -199,6 +199,7 @@
 <li><p><strong>Privacy Switches:</strong> Modem, WiFi &amp; Bluetooth, Microphone, Cameras, Headphone</p></li>
 <li><p><strong>Battery:</strong> Lithium-ion, rated capacity 2800mAh (10.64Wh), typical capacity 3000mAh (11.40Wh)</p></li>
 <li><p><strong>I/O:</strong> USB Type-C, USB Host, DisplayPort Alternate Mode output, 15W 5V 3A Quick Charge, follows USB PD specification</p></li>
+<li><p><strong>Power Management Integrated Circuit:</strong> X-Powers AXP803 (Reduced Serial Bus)</p></li>
 </ul>
 </section>
 <section id="serial-console">
@@ -231,7 +232,7 @@ to the <code class="docutils literal notranslate"><span class="pre">PATH</span><
 <a class="reference internal" href="../../../../../quickstart/install.html"><span class="doc">clone the git repositories</span></a> for <code class="docutils literal notranslate"><span class="pre">nuttx</span></code> and <code class="docutils literal notranslate"><span class="pre">apps</span></code>.</p>
 <p>Configure the NuttX project and build the project:</p>
 <div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span><span class="nb">cd</span> nuttx
-<span class="gp">$ </span>tools/configure.sh pinephone:nsh
+<span class="gp">$ </span>tools/configure.sh pinephone:lcd
 <span class="gp">$ </span>make
 <span class="gp">$ </span>cp nuttx.bin Image
 <span class="gp">$ </span>rm -f Image.gz
@@ -297,22 +298,30 @@ NuttX boots on PinePhone and NuttShell (nsh) appears in the Serial Console.</p>
 </section>
 <section id="configurations">
 <h2>Configurations<a class="headerlink" href="#configurations" title="Permalink to this headline"></a></h2>
+<section id="lcd">
+<h3>lcd<a class="headerlink" href="#lcd" title="Permalink to this headline"></a></h3>
+<p>Supports LCD Display (XBD599) with LCD Controller (ST7703),
+Display Engine 2.0, MIPI Display Serial Interface (DSI),
+Power Management Integrated Circuit (AXP803) and
+Reduced Serial Bus (RSB).
+Serial Console is enabled on UART0 at 115.2 kbps.</p>
 <section id="nsh">
-<h3>nsh<a class="headerlink" href="#nsh" title="Permalink to this headline"></a></h3>
+<h4>nsh<a class="headerlink" href="#nsh" title="Permalink to this headline"></a></h4>
 <p>Basic configuration that runs NuttShell (nsh).
 This configuration is focused on low level, command-line driver testing.
 Built-in applications are supported, but none are enabled.
 Serial Console is enabled on UART0 at 115.2 kbps.</p>
 </section>
 </section>
+</section>
 <section id="peripheral-support">
 <h2>Peripheral Support<a class="headerlink" href="#peripheral-support" title="Permalink to this headline"></a></h2>
 <p>NuttX for PinePhone supports these peripherals:</p>
 <table class="docutils align-default">
 <colgroup>
-<col style="width: 27%" />
-<col style="width: 17%" />
-<col style="width: 56%" />
+<col style="width: 43%" />
+<col style="width: 13%" />
+<col style="width: 43%" />
 </colgroup>
 <thead>
 <tr class="row-odd"><th class="head"><p>Peripheral</p></th>
@@ -321,23 +330,51 @@ Serial Console is enabled on UART0 at 115.2 kbps.</p>
 </tr>
 </thead>
 <tbody>
-<tr class="row-even"><td><p>MIPI D-PHY</p></td>
+<tr class="row-even"><td><p>Backlight</p></td>
+<td><p>Yes</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p>Display Engine</p></td>
+<td><p>Yes</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p>Frame Buffer</p></td>
+<td><p>Yes</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p>LCD Controller (ST7703)</p></td>
+<td><p>Yes</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p>LCD Panel (XBD599)</p></td>
+<td><p>Yes</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p>MIPI D-PHY</p></td>
+<td><p>Yes</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p>MIPI DSI</p></td>
+<td><p>Yes</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p>PIO</p></td>
 <td><p>Yes</p></td>
 <td></td>
 </tr>
-<tr class="row-odd"><td><p>MIPI DSI</p></td>
+<tr class="row-even"><td><p>PMIC (AXP803)</p></td>
 <td><p>Yes</p></td>
 <td></td>
 </tr>
-<tr class="row-even"><td><p>PIO</p></td>
+<tr class="row-odd"><td><p>RSB</p></td>
 <td><p>Yes</p></td>
 <td></td>
 </tr>
-<tr class="row-odd"><td><p>TCON0</p></td>
+<tr class="row-even"><td><p>TCON0</p></td>
 <td><p>Yes</p></td>
 <td></td>
 </tr>
-<tr class="row-even"><td><p>UART</p></td>
+<tr class="row-odd"><td><p>UART</p></td>
 <td><p>Yes</p></td>
 <td><p>Only UART0 is supported</p></td>
 </tr>
diff --git a/content/docs/latest/platforms/risc-v/esp32c3/boards/esp32c3-devkit/index.html b/content/docs/latest/platforms/risc-v/esp32c3/boards/esp32c3-devkit/index.html
index b0725a1d..1230b8b9 100644
--- a/content/docs/latest/platforms/risc-v/esp32c3/boards/esp32c3-devkit/index.html
+++ b/content/docs/latest/platforms/risc-v/esp32c3/boards/esp32c3-devkit/index.html
@@ -231,6 +231,81 @@ nsh&gt; gpio -o 0 /dev/gpio1
 above command, connect it to 3.3V.</p>
 </section>
 </section>
+<section id="ble">
+<h3>ble<a class="headerlink" href="#ble" title="Permalink to this headline"></a></h3>
+<p>This configuration is used to enable the Bluetooth Low Energy (BLE) of
+ESP32C3 chip.</p>
+<p>To test it, just run the following command below…</p>
+<p>Confirm that bnep interface exist:</p>
+<blockquote>
+<div><p>nsh&gt; ifconfig
+bnep0   Link encap:UNSPEC at DOWN</p>
+<blockquote>
+<div><p>inet addr:0.0.0.0 DRaddr:0.0.0.0 Mask:0.0.0.0</p>
+</div></blockquote>
+</div></blockquote>
+<p>Get basic information from it:</p>
+<blockquote>
+<div><p>nsh&gt; bt bnep0 info
+Device: bnep0
+BDAddr: 86:f7:03:09:41:4d
+Flags:  0000
+Free:   20</p>
+<blockquote>
+<div><p>ACL:  20
+SCO:  0</p>
+</div></blockquote>
+<dl class="simple">
+<dt>Max:</dt><dd><p>ACL:  24
+SCO:  0</p>
+</dd>
+<dt>MTU:</dt><dd><p>ACL:  70
+SCO:  70</p>
+</dd>
+</dl>
+<p>Policy: 0
+Type:   0</p>
+</div></blockquote>
+<p>Start the scanning process:</p>
+<blockquote>
+<div><p>nsh&gt; bt bnep0 scan start</p>
+</div></blockquote>
+<p>Wait a little bit before stopping it.</p>
+<p>Then after some minutes stop it:</p>
+<blockquote>
+<div><p>nsh&gt; bt bnep0 scan stop</p>
+</div></blockquote>
+<p>Get the list of BLE devices found around you:</p>
+<blockquote>
+<div><p>nsh&gt; bt bnep0 scan get
+Scan result:
+1.     addr:           d7:c4:e6:xx:xx:xx type: 0</p>
+<blockquote>
+<div><p>rssi:            -62
+response type:   4
+advertiser data: 10 09 4d 69 20 XX XX XX XX XX XX XX XX XX XX 20                      e</p>
+</div></blockquote>
+<ol class="arabic simple" start="2">
+<li><p>addr:           cb:23:18:xx:xx:xx type: 0
+rssi:            -60
+response type:   0
+advertiser data: 02 01 06 1b ff XX XX XX ff ff ff ff ff ff ff ff                      8</p></li>
+<li><p>addr:           cb:23:18:xx:xx:xx type: 0
+rssi:            -60
+response type:   4
+advertiser data: 10 09 4d 69 20 XX XX XX XX XX XX XX XX XX XX 20                      e</p></li>
+<li><p>addr:           d7:c4:e6:xx:xx:xx type: 0
+rssi:            -62
+response type:   0
+advertiser data: 02 01 06 1b ff XX XX XX ff ff ff ff ff ff ff ff                      e</p></li>
+<li><p>addr:           d7:c4:e6:xx:xx:xx type: 0
+rssi:            -62
+response type:   4
+advertiser data: 10 09 4d 69 20 XX XX XX XX XX XX XX XX XX XX 20                      e</p></li>
+</ol>
+<p>nsh&gt;</p>
+</div></blockquote>
+</section>
 <section id="watchdog">
 <h3>watchdog<a class="headerlink" href="#watchdog" title="Permalink to this headline"></a></h3>
 <p>This configuration tests the watchdog timers. It includes the 2 MWDTS,
diff --git a/content/docs/latest/reference/os/addrenv.html b/content/docs/latest/reference/os/addrenv.html
index 63b60009..5912c9ad 100644
--- a/content/docs/latest/reference/os/addrenv.html
+++ b/content/docs/latest/reference/os/addrenv.html
@@ -119,6 +119,7 @@
 <li class="toctree-l3"><a class="reference internal" href="paging.html">On-Demand Paging</a></li>
 <li class="toctree-l3"><a class="reference internal" href="led.html">LED Support</a></li>
 <li class="toctree-l3"><a class="reference internal" href="iob.html">I/O Buffer Management</a></li>
+<li class="toctree-l3"><a class="reference internal" href="notifier.html">Notifier Chain</a></li>
 </ul>
 </li>
 </ul>
diff --git a/content/docs/latest/reference/os/app_vs_os.html b/content/docs/latest/reference/os/app_vs_os.html
index da0688ff..5ffc602f 100644
--- a/content/docs/latest/reference/os/app_vs_os.html
+++ b/content/docs/latest/reference/os/app_vs_os.html
@@ -119,6 +119,7 @@
 <li class="toctree-l3"><a class="reference internal" href="paging.html">On-Demand Paging</a></li>
 <li class="toctree-l3"><a class="reference internal" href="led.html">LED Support</a></li>
 <li class="toctree-l3"><a class="reference internal" href="iob.html">I/O Buffer Management</a></li>
+<li class="toctree-l3"><a class="reference internal" href="notifier.html">Notifier Chain</a></li>
 </ul>
 </li>
 </ul>
diff --git a/content/docs/latest/reference/os/arch.html b/content/docs/latest/reference/os/arch.html
index 4780069b..abf34783 100644
--- a/content/docs/latest/reference/os/arch.html
+++ b/content/docs/latest/reference/os/arch.html
@@ -119,6 +119,7 @@
 <li class="toctree-l3"><a class="reference internal" href="paging.html">On-Demand Paging</a></li>
 <li class="toctree-l3"><a class="reference internal" href="led.html">LED Support</a></li>
 <li class="toctree-l3"><a class="reference internal" href="iob.html">I/O Buffer Management</a></li>
+<li class="toctree-l3"><a class="reference internal" href="notifier.html">Notifier Chain</a></li>
 </ul>
 </li>
 </ul>
@@ -390,9 +391,9 @@ operations.</p>
 </dd></dl>
 
 <dl class="c function">
-<dt class="sig sig-object c" id="c.up_assert">
-<span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">up_assert</span></span></span><span class="sig-paren">(</span><span class="pre">FAR</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre [...]
-<dd><p>Assertions may be handled in an
+<dt class="sig sig-object c" id="c.up_dump_register">
+<span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">up_dump_register</span></span></span><span class="sig-paren">(</span><span class="pre">FAR</span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">dumpregs</span></span><span class="sig-paren">)</span><a class="head [...]
+<dd><p>Register dump may be handled in an
 architecture-specific way.</p>
 </dd></dl>
 
diff --git a/content/docs/latest/reference/os/board.html b/content/docs/latest/reference/os/board.html
index e74e083d..d699a431 100644
--- a/content/docs/latest/reference/os/board.html
+++ b/content/docs/latest/reference/os/board.html
@@ -119,6 +119,7 @@
 <li class="toctree-l3"><a class="reference internal" href="paging.html">On-Demand Paging</a></li>
 <li class="toctree-l3"><a class="reference internal" href="led.html">LED Support</a></li>
 <li class="toctree-l3"><a class="reference internal" href="iob.html">I/O Buffer Management</a></li>
+<li class="toctree-l3"><a class="reference internal" href="notifier.html">Notifier Chain</a></li>
 </ul>
 </li>
 </ul>
diff --git a/content/docs/latest/reference/os/conventions.html b/content/docs/latest/reference/os/conventions.html
index eb8d4548..c68867e3 100644
--- a/content/docs/latest/reference/os/conventions.html
+++ b/content/docs/latest/reference/os/conventions.html
@@ -119,6 +119,7 @@
 <li class="toctree-l3"><a class="reference internal" href="paging.html">On-Demand Paging</a></li>
 <li class="toctree-l3"><a class="reference internal" href="led.html">LED Support</a></li>
 <li class="toctree-l3"><a class="reference internal" href="iob.html">I/O Buffer Management</a></li>
+<li class="toctree-l3"><a class="reference internal" href="notifier.html">Notifier Chain</a></li>
 </ul>
 </li>
 </ul>
diff --git a/content/docs/latest/reference/os/index.html b/content/docs/latest/reference/os/index.html
index bfe69beb..46768c7d 100644
--- a/content/docs/latest/reference/os/index.html
+++ b/content/docs/latest/reference/os/index.html
@@ -119,6 +119,7 @@
 <li class="toctree-l3"><a class="reference internal" href="paging.html">On-Demand Paging</a></li>
 <li class="toctree-l3"><a class="reference internal" href="led.html">LED Support</a></li>
 <li class="toctree-l3"><a class="reference internal" href="iob.html">I/O Buffer Management</a></li>
+<li class="toctree-l3"><a class="reference internal" href="notifier.html">Notifier Chain</a></li>
 </ul>
 </li>
 </ul>
@@ -220,6 +221,19 @@ in other header files.</p>
 <li class="toctree-l2"><a class="reference internal" href="iob.html#public-function-prototypes">Public Function Prototypes</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="notifier.html">Notifier Chain</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="notifier.html#classes-of-notifier-chain">Classes of Notifier Chain</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="notifier.html#atomic-notifier-chains">Atomic notifier chains</a></li>
+<li class="toctree-l3"><a class="reference internal" href="notifier.html#blocking-notifier-chains">Blocking notifier chains:</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="notifier.html#common-notifier-chain-interfaces">Common Notifier Chain Interfaces</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="notifier.html#notifier-block-types">Notifier Block Types</a></li>
+<li class="toctree-l3"><a class="reference internal" href="notifier.html#notifier-chain-interfaces">Notifier Chain Interfaces</a></li>
+</ul>
+</li>
+</ul>
+</li>
 </ul>
 </div>
 </section>
diff --git a/content/docs/latest/reference/os/iob.html b/content/docs/latest/reference/os/iob.html
index 5395a05a..85f2e53c 100644
--- a/content/docs/latest/reference/os/iob.html
+++ b/content/docs/latest/reference/os/iob.html
@@ -40,7 +40,7 @@
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" />
-    <link rel="next" title="FAQ" href="../../faq/index.html" />
+    <link rel="next" title="Notifier Chain" href="notifier.html" />
     <link rel="prev" title="LED Support" href="led.html" /> 
 </head>
 
@@ -125,6 +125,7 @@
 <li class="toctree-l4"><a class="reference internal" href="#public-function-prototypes">Public Function Prototypes</a></li>
 </ul>
 </li>
+<li class="toctree-l3"><a class="reference internal" href="notifier.html">Notifier Chain</a></li>
 </ul>
 </li>
 </ul>
@@ -547,7 +548,7 @@ space at the beginning of the I/O buffer chain starting at
           </div>
           <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
         <a href="led.html" class="btn btn-neutral float-left" title="LED Support" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
-        <a href="../../faq/index.html" class="btn btn-neutral float-right" title="FAQ" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+        <a href="notifier.html" class="btn btn-neutral float-right" title="Notifier Chain" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
     </div>
 
   <hr/>
diff --git a/content/docs/latest/reference/os/led.html b/content/docs/latest/reference/os/led.html
index 18a3b632..2fb5b606 100644
--- a/content/docs/latest/reference/os/led.html
+++ b/content/docs/latest/reference/os/led.html
@@ -124,6 +124,7 @@
 </ul>
 </li>
 <li class="toctree-l3"><a class="reference internal" href="iob.html">I/O Buffer Management</a></li>
+<li class="toctree-l3"><a class="reference internal" href="notifier.html">Notifier Chain</a></li>
 </ul>
 </li>
 </ul>
diff --git a/content/docs/latest/reference/os/mutex.html b/content/docs/latest/reference/os/mutex.html
index da40d1a0..e6b1ec53 100644
--- a/content/docs/latest/reference/os/mutex.html
+++ b/content/docs/latest/reference/os/mutex.html
@@ -123,6 +123,7 @@
 <li class="toctree-l3"><a class="reference internal" href="paging.html">On-Demand Paging</a></li>
 <li class="toctree-l3"><a class="reference internal" href="led.html">LED Support</a></li>
 <li class="toctree-l3"><a class="reference internal" href="iob.html">I/O Buffer Management</a></li>
+<li class="toctree-l3"><a class="reference internal" href="notifier.html">Notifier Chain</a></li>
 </ul>
 </li>
 </ul>
diff --git a/content/docs/latest/reference/os/nat.html b/content/docs/latest/reference/os/nat.html
index 9c47a477..13b5ed96 100644
--- a/content/docs/latest/reference/os/nat.html
+++ b/content/docs/latest/reference/os/nat.html
@@ -176,6 +176,8 @@ with <code class="docutils literal notranslate"><span class="pre">local</span> <
 <dt><code class="docutils literal notranslate"><span class="pre">CONFIG_NET_NAT</span></code></dt><dd><p>Enable or disable Network Address Translation (NAT) function.
 Depends on <code class="docutils literal notranslate"><span class="pre">CONFIG_NET_IPFORWARD</span></code>.</p>
 </dd>
+<dt><code class="docutils literal notranslate"><span class="pre">CONFIG_NET_NAT_HASH_BITS</span></code></dt><dd><p>The bits of the hashtable of NAT entries, hashtable has (1 &lt;&lt; bits) buckets.</p>
+</dd>
 <dt><code class="docutils literal notranslate"><span class="pre">CONFIG_NET_NAT_TCP_EXPIRE_SEC</span></code></dt><dd><p>The expiration time for idle TCP entry in NAT.
 The default value 86400 is suggested by RFC2663, Section 2.6,
 Page 5. But we may set it to shorter time like 240s for better
@@ -185,6 +187,14 @@ performance.</p>
 </dd>
 <dt><code class="docutils literal notranslate"><span class="pre">CONFIG_NET_NAT_ICMP_EXPIRE_SEC</span></code></dt><dd><p>The expiration time for idle ICMP entry in NAT.</p>
 </dd>
+<dt><code class="docutils literal notranslate"><span class="pre">CONFIG_NET_NAT_ENTRY_RECLAIM_SEC</span></code></dt><dd><p>The time to auto reclaim all expired NAT entries. A value of zero will
+disable auto reclaiming.
+Expired entries will be automatically reclaimed when matching
+inbound/outbound entries, so this config does not have significant
+impact when NAT is normally used, but very useful when the hashtable
+is big and there are only a few connections using NAT (which will
+only trigger reclaiming on a few chains in hashtable).</p>
+</dd>
 </dl>
 </section>
 <section id="usage">
@@ -200,10 +210,6 @@ performance.</p>
 <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ipv4_nat_enable</span></span></span><span class="sig-paren">(</span><span class="pre">FAR</span><span class="w"> </span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="n"><span class="pre">net_driver_s</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><sp [...]
 <dd><p>Enable NAT function on a network device, on which the outbound packets
 will be masqueraded.</p>
-<p>Note that NAT is currently designed to be enabled on single device, it
-may work when enabled on multiple devices, but external ports will not
-be isolated between devices, so an external port used on one NAT device
-will also be used by same local ip:port on another NAT device.</p>
 <dl class="field-list simple">
 <dt class="field-odd">Returns</dt>
 <dd class="field-odd"><p>Zero is returned if NAT function is successfully enabled on
diff --git a/content/docs/latest/reference/os/notifier.html b/content/docs/latest/reference/os/notifier.html
new file mode 100644
index 00000000..97a6e442
--- /dev/null
+++ b/content/docs/latest/reference/os/notifier.html
@@ -0,0 +1,325 @@
+<!--
+ Documentation/_templates/layout.html
+
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.  The
+ ASF licenses this file to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance with the
+ License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+ License for the specific language governing permissions and limitations
+ under the License.
+-->
+
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" >
+<head>
+  <meta charset="utf-8" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Notifier Chain &mdash; NuttX latest documentation</title>
+      <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+      <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
+      <link rel="stylesheet" href="../../_static/tabs.css" type="text/css" />
+      <link rel="stylesheet" href="../../_static/custom.css" type="text/css" />
+    <link rel="shortcut icon" href="../../_static/favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js"></script>
+        <script src="../../_static/jquery.js"></script>
+        <script src="../../_static/underscore.js"></script>
+        <script src="../../_static/doctools.js"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="FAQ" href="../../faq/index.html" />
+    <link rel="prev" title="I/O Buffer Management" href="iob.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+  
+    <a href="../../index.html" class="icon icon-home"> NuttX
+  
+
+  
+    
+    <img src="../../_static/NuttX.png" class="logo" alt="Logo"/>
+  
+  </a>
+
+  <!-- this version selector is quite ugly, should be probably replaced by something
+       more modern -->
+
+  <div class="version-selector">
+    <select onchange="javascript:location.href = this.value;">
+    
+    <option value="../../../latest" selected="selected">latest</option>
+    
+    <option value="../../../10.0.0" >10.0.0</option>
+    
+    <option value="../../../10.0.1" >10.0.1</option>
+    
+    <option value="../../../10.1.0" >10.1.0</option>
+    
+    <option value="../../../10.2.0" >10.2.0</option>
+    
+    <option value="../../../10.3.0" >10.3.0</option>
+    
+    <option value="../../../11.0.0" >11.0.0</option>
+    
+    </select>
+  </div>
+
+  
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <p class="caption" role="heading"><span class="caption-text">Table of Contents</span></p>
+<ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../index.html">Home</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../introduction/index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../quickstart/index.html">Getting Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../contributing/index.html">Contributing</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../introduction/inviolables.html">The Inviolable Principles of NuttX</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../platforms/index.html">Supported Platforms</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../components/index.html">OS Components</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../applications/index.html">Applications</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">API Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../user/index.html">Userspace API</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html">Architecture APIs</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="conventions.html">Naming and Header File Conventions</a></li>
+<li class="toctree-l3"><a class="reference internal" href="arch.html">APIs Exported by Architecture-Specific Logic to NuttX</a></li>
+<li class="toctree-l3"><a class="reference internal" href="board.html">APIs Exported by Board-Specific Logic to NuttX</a></li>
+<li class="toctree-l3"><a class="reference internal" href="time_clock.html">System Time and Clock</a></li>
+<li class="toctree-l3"><a class="reference internal" href="mutex.html">Mutual Exclusion lock</a></li>
+<li class="toctree-l3"><a class="reference internal" href="wqueue.html">Work Queues</a></li>
+<li class="toctree-l3"><a class="reference internal" href="addrenv.html">Address Environments</a></li>
+<li class="toctree-l3"><a class="reference internal" href="nuttx.html">APIs Exported by NuttX to Architecture-Specific Logic</a></li>
+<li class="toctree-l3"><a class="reference internal" href="app_vs_os.html">Application OS vs. Internal OS Interfaces</a></li>
+<li class="toctree-l3"><a class="reference internal" href="smp.html">Symmetric Multiprocessing (SMP) Application</a></li>
+<li class="toctree-l3"><a class="reference internal" href="shm.html">Shared Memory</a></li>
+<li class="toctree-l3"><a class="reference internal" href="paging.html">On-Demand Paging</a></li>
+<li class="toctree-l3"><a class="reference internal" href="led.html">LED Support</a></li>
+<li class="toctree-l3"><a class="reference internal" href="iob.html">I/O Buffer Management</a></li>
+<li class="toctree-l3 current"><a class="current reference internal" href="#">Notifier Chain</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#classes-of-notifier-chain">Classes of Notifier Chain</a><ul>
+<li class="toctree-l5"><a class="reference internal" href="#atomic-notifier-chains">Atomic notifier chains</a></li>
+<li class="toctree-l5"><a class="reference internal" href="#blocking-notifier-chains">Blocking notifier chains:</a></li>
+</ul>
+</li>
+<li class="toctree-l4"><a class="reference internal" href="#common-notifier-chain-interfaces">Common Notifier Chain Interfaces</a><ul>
+<li class="toctree-l5"><a class="reference internal" href="#notifier-block-types">Notifier Block Types</a></li>
+<li class="toctree-l5"><a class="reference internal" href="#notifier-chain-interfaces">Notifier Chain Interfaces</a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../faq/index.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../guides/index.html">Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">NuttX</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home"></a> &raquo;</li>
+          <li><a href="../index.html">API Reference</a> &raquo;</li>
+          <li><a href="index.html">Architecture APIs</a> &raquo;</li>
+      <li>Notifier Chain</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/reference/os/notifier.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="notifier-chain">
+<h1>Notifier Chain<a class="headerlink" href="#notifier-chain" title="Permalink to this headline"></a></h1>
+<p>NuttX provides a callback list mechanism called <em>Notifier Chain</em>.
+Notifier chain is essentially a list of callbacks used at certain times,
+such as system asserting, powering off and restarting.</p>
+<p><strong>Notifier chain</strong> is very much like the Linux notifier chains, except
+for some implementation differences.</p>
+<section id="classes-of-notifier-chain">
+<h2>Classes of Notifier Chain<a class="headerlink" href="#classes-of-notifier-chain" title="Permalink to this headline"></a></h2>
+<p>There are currently two different classes of notifier.</p>
+<section id="atomic-notifier-chains">
+<h3>Atomic notifier chains<a class="headerlink" href="#atomic-notifier-chains" title="Permalink to this headline"></a></h3>
+<p>Atomic notifier chains: Chain callbacks run in interrupt/atomic context.
+In Nuttx, callouts are allowed to block(In Linux, callouts in atomic
+notifier chain are not allowed to block). One example of an Atomic notifier
+chain is turning off FPU when asserting.</p>
+</section>
+<section id="blocking-notifier-chains">
+<h3>Blocking notifier chains:<a class="headerlink" href="#blocking-notifier-chains" title="Permalink to this headline"></a></h3>
+<p>Blocking notifier chains: Chain callbacks run in process context.
+Callouts are allowed to block. One example of a blocking notifier chain
+is when an orderly powering off is needed.</p>
+</section>
+</section>
+<section id="common-notifier-chain-interfaces">
+<h2>Common Notifier Chain Interfaces<a class="headerlink" href="#common-notifier-chain-interfaces" title="Permalink to this headline"></a></h2>
+<section id="notifier-block-types">
+<h3>Notifier Block Types<a class="headerlink" href="#notifier-block-types" title="Permalink to this headline"></a></h3>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">struct</span> <span class="pre">notifier_block</span></code>. Defines one notifier callback entry.</p></li>
+</ul>
+</section>
+<section id="notifier-chain-interfaces">
+<h3>Notifier Chain Interfaces<a class="headerlink" href="#notifier-chain-interfaces" title="Permalink to this headline"></a></h3>
+<dl class="c function">
+<dt class="sig sig-object c" id="c.panic_notifier_chain_register">
+<span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">panic_notifier_chain_register</span></span></span><span class="sig-paren">(</span><span class="pre">FAR</span><span class="w"> </span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="n"><span class="pre">notifier_block</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><s [...]
+<dd><p>Add notifier to the panic notifier chain.</p>
+<p>The panic notifier chain is an atomic notifier chain. It will be called
+when asserting.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>nb</strong> – New entry in notifier chain.</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="c function">
+<dt class="sig sig-object c" id="c.panic_notifier_chain_unregister">
+<span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">panic_notifier_chain_unregister</span></span></span><span class="sig-paren">(</span><span class="pre">FAR</span><span class="w"> </span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="n"><span class="pre">notifier_block</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span> [...]
+<dd><p>Remove notifier from the panic notifier chain.</p>
+<p>The panic notifier chain is an atomic notifier chain. It will be called
+when asserting.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>nh</strong> – Entry to remove from notifier chain.</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="c function">
+<dt class="sig sig-object c" id="c.panic_notifier_call_chain">
+<span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">panic_notifier_call_chain</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">unsigned</span></span><span class="w"> </span><span class="kt"><span class="pre">long</span></span><span class="w"> </span><span class="n"><span class="pre">action</span></span>, <span class="pre">FAR</span><span class="w"> </span><span [...]
+<dd><p>Call functions in the panic notifier chain.</p>
+<p>The panic notifier chain is an atomic notifier chain. It will be called
+when asserting.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>action</strong> – Value passed unmodified to notifier function.</p></li>
+<li><p><strong>data</strong> – Pointer passed unmodified to notifier function.</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="c function">
+<dt class="sig sig-object c" id="c.register_reboot_notifier">
+<span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">register_reboot_notifier</span></span></span><span class="sig-paren">(</span><span class="pre">FAR</span><span class="w"> </span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="n"><span class="pre">notifier_block</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span c [...]
+<dd><p>Add notifier to the reboot notifier chain.</p>
+<p>The reboot notifier chain is an atomic notifier chain.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>nb</strong> – New entry in notifier chain.</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="c function">
+<dt class="sig sig-object c" id="c.unregister_reboot_notifier">
+<span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">unregister_reboot_notifier</span></span></span><span class="sig-paren">(</span><span class="pre">FAR</span><span class="w"> </span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="n"><span class="pre">notifier_block</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span [...]
+<dd><p>Remove notifier from the reboot notifier chain.</p>
+<p>The reboot notifier chain is an atomic notifier chain.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>nh</strong> – Entry to remove from notifier chain.</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="c function">
+<dt class="sig sig-object c" id="c.reboot_notifier_call_chain">
+<span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">reboot_notifier_call_chain</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">unsigned</span></span><span class="w"> </span><span class="kt"><span class="pre">long</span></span><span class="w"> </span><span class="n"><span class="pre">action</span></span>, <span class="pre">FAR</span><span class="w"> </span><spa [...]
+<dd><p>Call functions in the reboot notifier chain.</p>
+<p>The reboot notifier chain is an atomic notifier chain.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>action</strong> – Value passed unmodified to notifier function.</p></li>
+<li><p><strong>data</strong> – Pointer passed unmodified to notifier function.</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+</section>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="iob.html" class="btn btn-neutral float-left" title="I/O Buffer Management" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="../../faq/index.html" class="btn btn-neutral float-right" title="FAQ" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2020, The Apache Software Foundation.</p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/latest/reference/os/nuttx.html b/content/docs/latest/reference/os/nuttx.html
index f202daf1..e1618f4a 100644
--- a/content/docs/latest/reference/os/nuttx.html
+++ b/content/docs/latest/reference/os/nuttx.html
@@ -122,6 +122,7 @@
 <li class="toctree-l3"><a class="reference internal" href="paging.html">On-Demand Paging</a></li>
 <li class="toctree-l3"><a class="reference internal" href="led.html">LED Support</a></li>
 <li class="toctree-l3"><a class="reference internal" href="iob.html">I/O Buffer Management</a></li>
+<li class="toctree-l3"><a class="reference internal" href="notifier.html">Notifier Chain</a></li>
 </ul>
 </li>
 </ul>
diff --git a/content/docs/latest/reference/os/paging.html b/content/docs/latest/reference/os/paging.html
index 302c7ef7..f92b601f 100644
--- a/content/docs/latest/reference/os/paging.html
+++ b/content/docs/latest/reference/os/paging.html
@@ -119,6 +119,7 @@
 <li class="toctree-l3 current"><a class="current reference internal" href="#">On-Demand Paging</a></li>
 <li class="toctree-l3"><a class="reference internal" href="led.html">LED Support</a></li>
 <li class="toctree-l3"><a class="reference internal" href="iob.html">I/O Buffer Management</a></li>
+<li class="toctree-l3"><a class="reference internal" href="notifier.html">Notifier Chain</a></li>
 </ul>
 </li>
 </ul>
diff --git a/content/docs/latest/reference/os/shm.html b/content/docs/latest/reference/os/shm.html
index 0c9fbb28..7d265745 100644
--- a/content/docs/latest/reference/os/shm.html
+++ b/content/docs/latest/reference/os/shm.html
@@ -119,6 +119,7 @@
 <li class="toctree-l3"><a class="reference internal" href="paging.html">On-Demand Paging</a></li>
 <li class="toctree-l3"><a class="reference internal" href="led.html">LED Support</a></li>
 <li class="toctree-l3"><a class="reference internal" href="iob.html">I/O Buffer Management</a></li>
+<li class="toctree-l3"><a class="reference internal" href="notifier.html">Notifier Chain</a></li>
 </ul>
 </li>
 </ul>
diff --git a/content/docs/latest/reference/os/smp.html b/content/docs/latest/reference/os/smp.html
index f52a5720..b79d5d97 100644
--- a/content/docs/latest/reference/os/smp.html
+++ b/content/docs/latest/reference/os/smp.html
@@ -119,6 +119,7 @@
 <li class="toctree-l3"><a class="reference internal" href="paging.html">On-Demand Paging</a></li>
 <li class="toctree-l3"><a class="reference internal" href="led.html">LED Support</a></li>
 <li class="toctree-l3"><a class="reference internal" href="iob.html">I/O Buffer Management</a></li>
+<li class="toctree-l3"><a class="reference internal" href="notifier.html">Notifier Chain</a></li>
 </ul>
 </li>
 </ul>
diff --git a/content/docs/latest/reference/os/time_clock.html b/content/docs/latest/reference/os/time_clock.html
index c0e8b7f4..23aaf88e 100644
--- a/content/docs/latest/reference/os/time_clock.html
+++ b/content/docs/latest/reference/os/time_clock.html
@@ -131,6 +131,7 @@
 <li class="toctree-l3"><a class="reference internal" href="paging.html">On-Demand Paging</a></li>
 <li class="toctree-l3"><a class="reference internal" href="led.html">LED Support</a></li>
 <li class="toctree-l3"><a class="reference internal" href="iob.html">I/O Buffer Management</a></li>
+<li class="toctree-l3"><a class="reference internal" href="notifier.html">Notifier Chain</a></li>
 </ul>
 </li>
 </ul>
diff --git a/content/docs/latest/reference/os/wqueue.html b/content/docs/latest/reference/os/wqueue.html
index 9fd6ca65..dfa21c6e 100644
--- a/content/docs/latest/reference/os/wqueue.html
+++ b/content/docs/latest/reference/os/wqueue.html
@@ -133,6 +133,7 @@
 <li class="toctree-l3"><a class="reference internal" href="paging.html">On-Demand Paging</a></li>
 <li class="toctree-l3"><a class="reference internal" href="led.html">LED Support</a></li>
 <li class="toctree-l3"><a class="reference internal" href="iob.html">I/O Buffer Management</a></li>
+<li class="toctree-l3"><a class="reference internal" href="notifier.html">Notifier Chain</a></li>
 </ul>
 </li>
 </ul>
diff --git a/content/docs/latest/reference/user/10_filesystem.html b/content/docs/latest/reference/user/10_filesystem.html
index 1d75f96a..96221f60 100644
--- a/content/docs/latest/reference/user/10_filesystem.html
+++ b/content/docs/latest/reference/user/10_filesystem.html
@@ -726,12 +726,11 @@ are two conditions where <code class="docutils literal notranslate"><span class=
 <li><p><code class="docutils literal notranslate"><span class="pre">mmap()</span></code> can be used to support <em>eXecute In Place</em> (XIP) on random
 access media under the following very restrictive conditions:</p>
 <ol class="loweralpha simple">
-<li><p>The file-system supports the <code class="docutils literal notranslate"><span class="pre">FIOC_MMAP</span></code> ioctl command. Any file
-system that maps files contiguously on the media should support
-this <code class="docutils literal notranslate"><span class="pre">ioctl</span></code> command. By comparison, most file system scatter
-files over the media in non-contiguous sectors. As of this
-writing, ROMFS is the only file system that meets this
-requirement.</p></li>
+<li><p>Any file system that maps files contiguously on the media
+should implement the mmap file operation. By comparison, most
+file system scatter files over the media in non-contiguous
+sectors. As of this writing, ROMFS is the only file system
+that meets this requirement.</p></li>
 <li><p>The underlying block driver supports the <code class="docutils literal notranslate"><span class="pre">BIOC_XIPBASE</span></code>
 <code class="docutils literal notranslate"><span class="pre">ioctl</span></code> command that maps the underlying media to a randomly
 accessible address. At present, only the RAM/ROM disk driver does
diff --git a/content/docs/latest/searchindex.js b/content/docs/latest/searchindex.js
index f1c81396..bdc65411 100644
--- a/content/docs/latest/searchindex.js
+++ b/content/docs/latest/searchindex.js
@@ -1 +1 @@
-Search.setIndex({docnames:["applications/index","applications/nsh/builtin","applications/nsh/commands","applications/nsh/config","applications/nsh/customizing","applications/nsh/index","applications/nsh/installation","applications/nsh/login","applications/nsh/nsh","components/binfmt","components/drivers/block/index","components/drivers/character/analog","components/drivers/character/can","components/drivers/character/foc","components/drivers/character/index","components/drivers/character [...]
\ No newline at end of file
+Search.setIndex({docnames:["applications/index","applications/nsh/builtin","applications/nsh/commands","applications/nsh/config","applications/nsh/customizing","applications/nsh/index","applications/nsh/installation","applications/nsh/login","applications/nsh/nsh","components/binfmt","components/drivers/block/index","components/drivers/character/analog","components/drivers/character/can","components/drivers/character/foc","components/drivers/character/index","components/drivers/character [...]
\ No newline at end of file
diff --git a/content/download/index.html b/content/download/index.html
index 72fb52dc..cf8601bf 100644
--- a/content/download/index.html
+++ b/content/download/index.html
@@ -464,7 +464,7 @@ download has completed OK.</p>
 
       <hr>
       <footer>
-        <!-- <p>&copy; 2022 </p>-->
+        <!-- <p>&copy; 2023 </p>-->
         <footer class="site-footer">
     <div class="wrapper">
         <div class="footer-col-wrapper">
diff --git a/content/feed.xml b/content/feed.xml
index bf7c2046..adf80c40 100644
--- a/content/feed.xml
+++ b/content/feed.xml
@@ -5,8 +5,8 @@
     <description></description>
     <link>/</link>
     <atom:link href="/feed.xml" rel="self" type="application/rss+xml"/>
-    <pubDate>Wed, 21 Dec 2022 00:11:20 +0000</pubDate>
-    <lastBuildDate>Wed, 21 Dec 2022 00:11:20 +0000</lastBuildDate>
+    <pubDate>Mon, 02 Jan 2023 16:49:24 +0000</pubDate>
+    <lastBuildDate>Mon, 02 Jan 2023 16:49:24 +0000</lastBuildDate>
     <generator>Jekyll v3.9.2</generator>
     
       <item>
diff --git a/content/history/index.html b/content/history/index.html
index 4d84e6ff..81f370e7 100644
--- a/content/history/index.html
+++ b/content/history/index.html
@@ -105,7 +105,7 @@ Downloads are available on the
 
       <hr>
       <footer>
-        <!-- <p>&copy; 2022 </p>-->
+        <!-- <p>&copy; 2023 </p>-->
         <footer class="site-footer">
     <div class="wrapper">
         <div class="footer-col-wrapper">
diff --git a/content/index.html b/content/index.html
index 79f9f302..83feac21 100644
--- a/content/index.html
+++ b/content/index.html
@@ -122,7 +122,7 @@ as fork()).</p>
 
       <hr>
       <footer>
-        <!-- <p>&copy; 2022 </p>-->
+        <!-- <p>&copy; 2023 </p>-->
         <footer class="site-footer">
     <div class="wrapper">
         <div class="footer-col-wrapper">
diff --git a/content/releases/10.0.0/index.html b/content/releases/10.0.0/index.html
index 7662236b..41ec24c5 100644
--- a/content/releases/10.0.0/index.html
+++ b/content/releases/10.0.0/index.html
@@ -1832,7 +1832,7 @@ in the main NuttX repository.</p>
 
       <hr>
       <footer>
-        <!-- <p>&copy; 2022 </p>-->
+        <!-- <p>&copy; 2023 </p>-->
         <footer class="site-footer">
     <div class="wrapper">
         <div class="footer-col-wrapper">
diff --git a/content/releases/10.0.1/index.html b/content/releases/10.0.1/index.html
index adaf0b0b..1a336b58 100644
--- a/content/releases/10.0.1/index.html
+++ b/content/releases/10.0.1/index.html
@@ -124,7 +124,7 @@ configuration flags enabled.</p>
 
       <hr>
       <footer>
-        <!-- <p>&copy; 2022 </p>-->
+        <!-- <p>&copy; 2023 </p>-->
         <footer class="site-footer">
     <div class="wrapper">
         <div class="footer-col-wrapper">
diff --git a/content/releases/10.1.0/index.html b/content/releases/10.1.0/index.html
index 87271887..88026ae5 100644
--- a/content/releases/10.1.0/index.html
+++ b/content/releases/10.1.0/index.html
@@ -1286,7 +1286,7 @@ want to make a similar change to your Make.defs files.</p>
 
       <hr>
       <footer>
-        <!-- <p>&copy; 2022 </p>-->
+        <!-- <p>&copy; 2023 </p>-->
         <footer class="site-footer">
     <div class="wrapper">
         <div class="footer-col-wrapper">
diff --git a/content/releases/10.2.0/index.html b/content/releases/10.2.0/index.html
index de1a0cfc..9d631e50 100644
--- a/content/releases/10.2.0/index.html
+++ b/content/releases/10.2.0/index.html
@@ -1371,7 +1371,7 @@ endif
 
       <hr>
       <footer>
-        <!-- <p>&copy; 2022 </p>-->
+        <!-- <p>&copy; 2023 </p>-->
         <footer class="site-footer">
     <div class="wrapper">
         <div class="footer-col-wrapper">
diff --git a/content/releases/10.3.0/index.html b/content/releases/10.3.0/index.html
index a9e1a985..384dfd70 100644
--- a/content/releases/10.3.0/index.html
+++ b/content/releases/10.3.0/index.html
@@ -1455,7 +1455,7 @@ Refactored Arch Headers</p>
 
       <hr>
       <footer>
-        <!-- <p>&copy; 2022 </p>-->
+        <!-- <p>&copy; 2023 </p>-->
         <footer class="site-footer">
     <div class="wrapper">
         <div class="footer-col-wrapper">
diff --git a/content/releases/11.0.0/index.html b/content/releases/11.0.0/index.html
index 224cd1fe..557ce5f3 100644
--- a/content/releases/11.0.0/index.html
+++ b/content/releases/11.0.0/index.html
@@ -1152,7 +1152,7 @@ endif</p>
 
       <hr>
       <footer>
-        <!-- <p>&copy; 2022 </p>-->
+        <!-- <p>&copy; 2023 </p>-->
         <footer class="site-footer">
     <div class="wrapper">
         <div class="footer-col-wrapper">
diff --git a/content/releases/7.13/index.html b/content/releases/7.13/index.html
index 9cc07f53..791d5146 100644
--- a/content/releases/7.13/index.html
+++ b/content/releases/7.13/index.html
@@ -377,7 +377,7 @@ detailed bugfix information):</p>
 
       <hr>
       <footer>
-        <!-- <p>&copy; 2022 </p>-->
+        <!-- <p>&copy; 2023 </p>-->
         <footer class="site-footer">
     <div class="wrapper">
         <div class="footer-col-wrapper">
diff --git a/content/releases/7.14/index.html b/content/releases/7.14/index.html
index 5d375013..7cdf360b 100644
--- a/content/releases/7.14/index.html
+++ b/content/releases/7.14/index.html
@@ -356,7 +356,7 @@ detailed bugfix information):</p>
 
       <hr>
       <footer>
-        <!-- <p>&copy; 2022 </p>-->
+        <!-- <p>&copy; 2023 </p>-->
         <footer class="site-footer">
     <div class="wrapper">
         <div class="footer-col-wrapper">
diff --git a/content/releases/7.15/index.html b/content/releases/7.15/index.html
index e8a28489..2c3a531f 100644
--- a/content/releases/7.15/index.html
+++ b/content/releases/7.15/index.html
@@ -368,7 +368,7 @@ detailed bugfix information):</p>
 
       <hr>
       <footer>
-        <!-- <p>&copy; 2022 </p>-->
+        <!-- <p>&copy; 2023 </p>-->
         <footer class="site-footer">
     <div class="wrapper">
         <div class="footer-col-wrapper">
diff --git a/content/releases/7.16/index.html b/content/releases/7.16/index.html
index 09f38c65..2b2d45e7 100644
--- a/content/releases/7.16/index.html
+++ b/content/releases/7.16/index.html
@@ -469,7 +469,7 @@ detailed bugfix information):</p>
 
       <hr>
       <footer>
-        <!-- <p>&copy; 2022 </p>-->
+        <!-- <p>&copy; 2023 </p>-->
         <footer class="site-footer">
     <div class="wrapper">
         <div class="footer-col-wrapper">
diff --git a/content/releases/7.17/index.html b/content/releases/7.17/index.html
index 90311248..6a6e3f66 100644
--- a/content/releases/7.17/index.html
+++ b/content/releases/7.17/index.html
@@ -796,7 +796,7 @@ detailed bugfix information):</p>
 
       <hr>
       <footer>
-        <!-- <p>&copy; 2022 </p>-->
+        <!-- <p>&copy; 2023 </p>-->
         <footer class="site-footer">
     <div class="wrapper">
         <div class="footer-col-wrapper">
diff --git a/content/releases/7.18/index.html b/content/releases/7.18/index.html
index 05515fb1..1e2a36f9 100644
--- a/content/releases/7.18/index.html
+++ b/content/releases/7.18/index.html
@@ -619,7 +619,7 @@ detailed bugfix information):</p>
 
       <hr>
       <footer>
-        <!-- <p>&copy; 2022 </p>-->
+        <!-- <p>&copy; 2023 </p>-->
         <footer class="site-footer">
     <div class="wrapper">
         <div class="footer-col-wrapper">
diff --git a/content/releases/7.19/index.html b/content/releases/7.19/index.html
index 6d53007a..7e5bd659 100644
--- a/content/releases/7.19/index.html
+++ b/content/releases/7.19/index.html
@@ -891,7 +891,7 @@ detailed bugfix information):</p>
 
       <hr>
       <footer>
-        <!-- <p>&copy; 2022 </p>-->
+        <!-- <p>&copy; 2023 </p>-->
         <footer class="site-footer">
     <div class="wrapper">
         <div class="footer-col-wrapper">
diff --git a/content/releases/7.20/index.html b/content/releases/7.20/index.html
index fa7f644e..93a4d754 100644
--- a/content/releases/7.20/index.html
+++ b/content/releases/7.20/index.html
@@ -561,7 +561,7 @@ detailed bugfix information):</p>
 
       <hr>
       <footer>
-        <!-- <p>&copy; 2022 </p>-->
+        <!-- <p>&copy; 2023 </p>-->
         <footer class="site-footer">
     <div class="wrapper">
         <div class="footer-col-wrapper">
diff --git a/content/releases/7.21/index.html b/content/releases/7.21/index.html
index 502eddfe..0694f29c 100644
--- a/content/releases/7.21/index.html
+++ b/content/releases/7.21/index.html
@@ -1087,7 +1087,7 @@ detailed bugfix information):</p>
 
       <hr>
       <footer>
-        <!-- <p>&copy; 2022 </p>-->
+        <!-- <p>&copy; 2023 </p>-->
         <footer class="site-footer">
     <div class="wrapper">
         <div class="footer-col-wrapper">
diff --git a/content/releases/7.22/index.html b/content/releases/7.22/index.html
index 734ceea0..4a6f7516 100644
--- a/content/releases/7.22/index.html
+++ b/content/releases/7.22/index.html
@@ -1166,7 +1166,7 @@ detailed bugfix information):</p>
 
       <hr>
       <footer>
-        <!-- <p>&copy; 2022 </p>-->
+        <!-- <p>&copy; 2023 </p>-->
         <footer class="site-footer">
     <div class="wrapper">
         <div class="footer-col-wrapper">
diff --git a/content/releases/7.23/index.html b/content/releases/7.23/index.html
index 35edac70..bb72b7e5 100644
--- a/content/releases/7.23/index.html
+++ b/content/releases/7.23/index.html
@@ -1203,7 +1203,7 @@ detailed bugfix information):</p>
 
       <hr>
       <footer>
-        <!-- <p>&copy; 2022 </p>-->
+        <!-- <p>&copy; 2023 </p>-->
         <footer class="site-footer">
     <div class="wrapper">
         <div class="footer-col-wrapper">
diff --git a/content/releases/7.24/index.html b/content/releases/7.24/index.html
index 9a058bda..fed243ca 100644
--- a/content/releases/7.24/index.html
+++ b/content/releases/7.24/index.html
@@ -845,7 +845,7 @@ detailed bugfix information):</p>
 
       <hr>
       <footer>
-        <!-- <p>&copy; 2022 </p>-->
+        <!-- <p>&copy; 2023 </p>-->
         <footer class="site-footer">
     <div class="wrapper">
         <div class="footer-col-wrapper">
diff --git a/content/releases/7.25/index.html b/content/releases/7.25/index.html
index 0ddb082c..f5d00b4b 100644
--- a/content/releases/7.25/index.html
+++ b/content/releases/7.25/index.html
@@ -869,7 +869,7 @@ detailed bugfix information):</p>
 
       <hr>
       <footer>
-        <!-- <p>&copy; 2022 </p>-->
+        <!-- <p>&copy; 2023 </p>-->
         <footer class="site-footer">
     <div class="wrapper">
         <div class="footer-col-wrapper">
diff --git a/content/releases/7.26/index.html b/content/releases/7.26/index.html
index cdd18d5e..d2b33603 100644
--- a/content/releases/7.26/index.html
+++ b/content/releases/7.26/index.html
@@ -1555,7 +1555,7 @@ detailed bugfix information):</p>
 
       <hr>
       <footer>
-        <!-- <p>&copy; 2022 </p>-->
+        <!-- <p>&copy; 2023 </p>-->
         <footer class="site-footer">
     <div class="wrapper">
         <div class="footer-col-wrapper">
diff --git a/content/releases/7.27/index.html b/content/releases/7.27/index.html
index 4445e966..657cdc77 100644
--- a/content/releases/7.27/index.html
+++ b/content/releases/7.27/index.html
@@ -1098,7 +1098,7 @@ detailed bugfix information):</p>
 
       <hr>
       <footer>
-        <!-- <p>&copy; 2022 </p>-->
+        <!-- <p>&copy; 2023 </p>-->
         <footer class="site-footer">
     <div class="wrapper">
         <div class="footer-col-wrapper">
diff --git a/content/releases/7.28/index.html b/content/releases/7.28/index.html
index 5585c13c..83b3b63b 100644
--- a/content/releases/7.28/index.html
+++ b/content/releases/7.28/index.html
@@ -1200,7 +1200,7 @@ detailed bugfix information):</p>
 
       <hr>
       <footer>
-        <!-- <p>&copy; 2022 </p>-->
+        <!-- <p>&copy; 2023 </p>-->
         <footer class="site-footer">
     <div class="wrapper">
         <div class="footer-col-wrapper">
diff --git a/content/releases/7.29/index.html b/content/releases/7.29/index.html
index f25b5c72..7d33fa12 100644
--- a/content/releases/7.29/index.html
+++ b/content/releases/7.29/index.html
@@ -1195,7 +1195,7 @@ detailed bugfix information):</p>
 
       <hr>
       <footer>
-        <!-- <p>&copy; 2022 </p>-->
+        <!-- <p>&copy; 2023 </p>-->
         <footer class="site-footer">
     <div class="wrapper">
         <div class="footer-col-wrapper">
diff --git a/content/releases/7.30/index.html b/content/releases/7.30/index.html
index e6f8cfc5..141d1d5e 100644
--- a/content/releases/7.30/index.html
+++ b/content/releases/7.30/index.html
@@ -709,7 +709,7 @@ detailed bugfix information):</p>
 
       <hr>
       <footer>
-        <!-- <p>&copy; 2022 </p>-->
+        <!-- <p>&copy; 2023 </p>-->
         <footer class="site-footer">
     <div class="wrapper">
         <div class="footer-col-wrapper">
diff --git a/content/releases/7.31/index.html b/content/releases/7.31/index.html
index 883aeb0f..32cc34da 100644
--- a/content/releases/7.31/index.html
+++ b/content/releases/7.31/index.html
@@ -1095,7 +1095,7 @@ detailed bugfix information):</p>
 
       <hr>
       <footer>
-        <!-- <p>&copy; 2022 </p>-->
+        <!-- <p>&copy; 2023 </p>-->
         <footer class="site-footer">
     <div class="wrapper">
         <div class="footer-col-wrapper">
diff --git a/content/releases/8.1/index.html b/content/releases/8.1/index.html
index d438a83a..c9edf11c 100644
--- a/content/releases/8.1/index.html
+++ b/content/releases/8.1/index.html
@@ -1258,7 +1258,7 @@ information):</p>
 
       <hr>
       <footer>
-        <!-- <p>&copy; 2022 </p>-->
+        <!-- <p>&copy; 2023 </p>-->
         <footer class="site-footer">
     <div class="wrapper">
         <div class="footer-col-wrapper">
diff --git a/content/releases/8.2/index.html b/content/releases/8.2/index.html
index 43967381..5ce2178d 100644
--- a/content/releases/8.2/index.html
+++ b/content/releases/8.2/index.html
@@ -1072,7 +1072,7 @@ information):</p>
 
       <hr>
       <footer>
-        <!-- <p>&copy; 2022 </p>-->
+        <!-- <p>&copy; 2023 </p>-->
         <footer class="site-footer">
     <div class="wrapper">
         <div class="footer-col-wrapper">
diff --git a/content/releases/9.0.0/index.html b/content/releases/9.0.0/index.html
index 571e89ed..89fce938 100644
--- a/content/releases/9.0.0/index.html
+++ b/content/releases/9.0.0/index.html
@@ -297,7 +297,7 @@ information).  SHA512 checksums:</p>
 
       <hr>
       <footer>
-        <!-- <p>&copy; 2022 </p>-->
+        <!-- <p>&copy; 2023 </p>-->
         <footer class="site-footer">
     <div class="wrapper">
         <div class="footer-col-wrapper">
diff --git a/content/releases/9.1.0/index.html b/content/releases/9.1.0/index.html
index 0eb38335..0a49fcb9 100644
--- a/content/releases/9.1.0/index.html
+++ b/content/releases/9.1.0/index.html
@@ -794,7 +794,7 @@ NuttX repository.</p>
 
       <hr>
       <footer>
-        <!-- <p>&copy; 2022 </p>-->
+        <!-- <p>&copy; 2023 </p>-->
         <footer class="site-footer">
     <div class="wrapper">
         <div class="footer-col-wrapper">
diff --git a/content/releases/9.1.1/index.html b/content/releases/9.1.1/index.html
index fa9376a2..2a5f8ff0 100644
--- a/content/releases/9.1.1/index.html
+++ b/content/releases/9.1.1/index.html
@@ -124,7 +124,7 @@ configuration flags enabled.</p>
 
       <hr>
       <footer>
-        <!-- <p>&copy; 2022 </p>-->
+        <!-- <p>&copy; 2023 </p>-->
         <footer class="site-footer">
     <div class="wrapper">
         <div class="footer-col-wrapper">