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 d0b63b741 Publishing web: 51627ec89e2b02358b2ac0c43bd479968bd14064 
docs: 9970e6a54ed5100599050ad63a6ae86456223c3a
d0b63b741 is described below

commit d0b63b741966a8b564cae873d7b0fc31f49633e4
Author: simbit18 <101105604+simbi...@users.noreply.github.com>
AuthorDate: Wed Aug 6 00:35:12 2025 +0000

    Publishing web: 51627ec89e2b02358b2ac0c43bd479968bd14064 docs: 
9970e6a54ed5100599050ad63a6ae86456223c3a
---
 content/docs/10.0.0/index.html                     |  2 +-
 content/docs/10.0.1/index.html                     |  2 +-
 content/docs/10.1.0/index.html                     |  2 +-
 content/docs/10.2.0/index.html                     |  2 +-
 content/docs/10.3.0/index.html                     |  2 +-
 content/docs/11.0.0/index.html                     |  2 +-
 content/docs/12.0.0/index.html                     |  2 +-
 content/docs/12.0.0/searchindex.js                 |  2 +-
 content/docs/12.1.0/index.html                     |  2 +-
 content/docs/12.1.0/searchindex.js                 |  2 +-
 content/docs/12.10.0/index.html                    |  2 +-
 content/docs/12.10.0/searchindex.js                |  2 +-
 content/docs/12.2.0/index.html                     |  2 +-
 .../xtensa/esp32/boards/esp32-audio-kit/index.html |  2 +-
 .../xtensa/esp32/boards/esp32-devkitc/index.html   |  2 +-
 content/docs/12.2.0/searchindex.js                 |  2 +-
 content/docs/12.2.1/index.html                     |  2 +-
 content/docs/12.2.1/searchindex.js                 |  2 +-
 content/docs/12.3.0/index.html                     |  2 +-
 content/docs/12.3.0/searchindex.js                 |  2 +-
 content/docs/12.4.0/index.html                     |  2 +-
 content/docs/12.4.0/searchindex.js                 |  2 +-
 content/docs/12.5.0/index.html                     |  2 +-
 content/docs/12.5.0/searchindex.js                 |  2 +-
 content/docs/12.5.1/index.html                     |  2 +-
 content/docs/12.5.1/searchindex.js                 |  2 +-
 content/docs/12.6.0/index.html                     |  2 +-
 content/docs/12.6.0/searchindex.js                 |  2 +-
 content/docs/12.7.0/index.html                     |  2 +-
 content/docs/12.7.0/searchindex.js                 |  2 +-
 content/docs/12.8.0/index.html                     |  2 +-
 content/docs/12.8.0/searchindex.js                 |  2 +-
 content/docs/12.9.0/index.html                     |  2 +-
 content/docs/12.9.0/searchindex.js                 |  2 +-
 content/docs/latest/_sources/guides/optee.rst.txt  | 83 +++++++++++++++++++---
 content/docs/latest/guides/fully_linked_elf.html   |  2 +-
 content/docs/latest/guides/optee.html              | 80 ++++++++++++++++++---
 .../docs/latest/guides/partially_linked_elf.html   |  2 +-
 content/docs/latest/index.html                     |  2 +-
 content/docs/latest/searchindex.js                 |  2 +-
 content/feed.xml                                   |  4 +-
 41 files changed, 183 insertions(+), 60 deletions(-)

diff --git a/content/docs/10.0.0/index.html b/content/docs/10.0.0/index.html
index 2dbbcca62..1e69a9ac5 100644
--- a/content/docs/10.0.0/index.html
+++ b/content/docs/10.0.0/index.html
@@ -207,7 +207,7 @@ by following these <a class="reference internal" 
href="contributing/documentatio
 <div class="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: 05 August 25 at 00:16</p>
+<p>Last Updated: 06 August 25 at 00:16</p>
 <div class="toctree-wrapper compound">
 <p class="caption"><span class="caption-text">Table of Contents</span></p>
 <ul class="current">
diff --git a/content/docs/10.0.1/index.html b/content/docs/10.0.1/index.html
index 489fc79ae..2a878338b 100644
--- a/content/docs/10.0.1/index.html
+++ b/content/docs/10.0.1/index.html
@@ -245,7 +245,7 @@ by following these <a class="reference internal" 
href="contributing/documentatio
 <div class="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: 05 August 25 at 00:16</p>
+<p>Last Updated: 06 August 25 at 00:17</p>
 <div class="toctree-wrapper compound">
 <p class="caption"><span class="caption-text">Table of Contents</span></p>
 <ul class="current">
diff --git a/content/docs/10.1.0/index.html b/content/docs/10.1.0/index.html
index 255487fdb..9588de13f 100644
--- a/content/docs/10.1.0/index.html
+++ b/content/docs/10.1.0/index.html
@@ -245,7 +245,7 @@ by following these <a class="reference internal" 
href="contributing/documentatio
 <div class="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: 05 August 25 at 00:17</p>
+<p>Last Updated: 06 August 25 at 00:17</p>
 <div class="toctree-wrapper compound">
 <p class="caption"><span class="caption-text">Table of Contents</span></p>
 <ul class="current">
diff --git a/content/docs/10.2.0/index.html b/content/docs/10.2.0/index.html
index daee61ce6..6a70d07dd 100644
--- a/content/docs/10.2.0/index.html
+++ b/content/docs/10.2.0/index.html
@@ -246,7 +246,7 @@ by following these <a class="reference internal" 
href="contributing/documentatio
 <div class="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: 05 August 25 at 00:17</p>
+<p>Last Updated: 06 August 25 at 00:17</p>
 <div class="toctree-wrapper compound">
 <p class="caption"><span class="caption-text">Table of Contents</span></p>
 <ul class="current">
diff --git a/content/docs/10.3.0/index.html b/content/docs/10.3.0/index.html
index daee61ce6..ffa827fcf 100644
--- a/content/docs/10.3.0/index.html
+++ b/content/docs/10.3.0/index.html
@@ -246,7 +246,7 @@ by following these <a class="reference internal" 
href="contributing/documentatio
 <div class="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: 05 August 25 at 00:17</p>
+<p>Last Updated: 06 August 25 at 00:18</p>
 <div class="toctree-wrapper compound">
 <p class="caption"><span class="caption-text">Table of Contents</span></p>
 <ul class="current">
diff --git a/content/docs/11.0.0/index.html b/content/docs/11.0.0/index.html
index 85f8bee71..ffa827fcf 100644
--- a/content/docs/11.0.0/index.html
+++ b/content/docs/11.0.0/index.html
@@ -246,7 +246,7 @@ by following these <a class="reference internal" 
href="contributing/documentatio
 <div class="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: 05 August 25 at 00:18</p>
+<p>Last Updated: 06 August 25 at 00:18</p>
 <div class="toctree-wrapper compound">
 <p class="caption"><span class="caption-text">Table of Contents</span></p>
 <ul class="current">
diff --git a/content/docs/12.0.0/index.html b/content/docs/12.0.0/index.html
index 798e5bee0..53996740e 100644
--- a/content/docs/12.0.0/index.html
+++ b/content/docs/12.0.0/index.html
@@ -171,7 +171,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: 05 August 25 at 00:18</p>
+<p>Last Updated: 06 August 25 at 00:18</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/12.0.0/searchindex.js 
b/content/docs/12.0.0/searchindex.js
index 23451c78c..24c78db84 100644
--- a/content/docs/12.0.0/searchindex.js
+++ b/content/docs/12.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/12.1.0/index.html b/content/docs/12.1.0/index.html
index e8cb17c89..b2448265f 100644
--- a/content/docs/12.1.0/index.html
+++ b/content/docs/12.1.0/index.html
@@ -171,7 +171,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: 05 August 25 at 00:18</p>
+<p>Last Updated: 06 August 25 at 00:18</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/12.1.0/searchindex.js 
b/content/docs/12.1.0/searchindex.js
index 00d3f6394..461025107 100644
--- a/content/docs/12.1.0/searchindex.js
+++ b/content/docs/12.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/12.10.0/index.html b/content/docs/12.10.0/index.html
index a60ad5b15..b961d9c92 100644
--- a/content/docs/12.10.0/index.html
+++ b/content/docs/12.10.0/index.html
@@ -183,7 +183,7 @@ 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: 05 August 25 at 00:30</p>
+<p>Last Updated: 06 August 25 at 00:31</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/12.10.0/searchindex.js 
b/content/docs/12.10.0/searchindex.js
index e82ec5217..faaf5c818 100644
--- a/content/docs/12.10.0/searchindex.js
+++ b/content/docs/12.10.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["_tags/arch-arm64", "_tags/arch-avr", 
"_tags/arch-example", "_tags/chip-a527", "_tags/chip-a64", 
"_tags/chip-at90usb", "_tags/chip-atmega", "_tags/chip-atmega2560", 
"_tags/chip-bcm2711", "_tags/chip-esp32", "_tags/chip-esp32a1s", 
"_tags/chip-esp32picod4", "_tags/chip-esp32s2", "_tags/chip-esp32s3", 
"_tags/chip-esp32wroom32", "_tags/chip-esp32wrover32", "_tags/chip-example", 
"_tags/chip-fpga", "_tags/chip-imx8", "_tags/chip-imx93", "_tags/chip-nrf52", 
"_tags/ [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["_tags/arch-arm64", "_tags/arch-avr", 
"_tags/arch-example", "_tags/chip-a527", "_tags/chip-a64", 
"_tags/chip-at90usb", "_tags/chip-atmega", "_tags/chip-atmega2560", 
"_tags/chip-bcm2711", "_tags/chip-esp32", "_tags/chip-esp32a1s", 
"_tags/chip-esp32picod4", "_tags/chip-esp32s2", "_tags/chip-esp32s3", 
"_tags/chip-esp32wroom32", "_tags/chip-esp32wrover32", "_tags/chip-example", 
"_tags/chip-fpga", "_tags/chip-imx8", "_tags/chip-imx93", "_tags/chip-nrf52", 
"_tags/ [...]
\ No newline at end of file
diff --git a/content/docs/12.2.0/index.html b/content/docs/12.2.0/index.html
index 3314ebaff..5fc9245f6 100644
--- a/content/docs/12.2.0/index.html
+++ b/content/docs/12.2.0/index.html
@@ -172,7 +172,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 heading"></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: 05 August 25 at 00:19</p>
+<p>Last Updated: 06 August 25 at 00:19</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/12.2.0/platforms/xtensa/esp32/boards/esp32-audio-kit/index.html 
b/content/docs/12.2.0/platforms/xtensa/esp32/boards/esp32-audio-kit/index.html
index 3585a9a35..b15c31a89 100644
--- 
a/content/docs/12.2.0/platforms/xtensa/esp32/boards/esp32-audio-kit/index.html
+++ 
b/content/docs/12.2.0/platforms/xtensa/esp32/boards/esp32-audio-kit/index.html
@@ -353,7 +353,7 @@ Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/)
 <p>Look for your PC IP address and test playing the prepared audio on your
 browser:</p>
 <figure class="align-center">
-<img alt="../../../../../_images/esp32-audio-config-file1.png" 
src="../../../../../_images/esp32-audio-config-file1.png" />
+<img alt="../../../../../_images/esp32-audio-config-file.png" 
src="../../../../../_images/esp32-audio-config-file.png" />
 </figure>
 <p>After successfully built and flashed, connect the board to the Wi-Fi 
network:</p>
 <div class="highlight-none notranslate"><div 
class="highlight"><pre><span></span>$ nsh&gt; wapi psk wlan0 mypasswd 3
diff --git 
a/content/docs/12.2.0/platforms/xtensa/esp32/boards/esp32-devkitc/index.html 
b/content/docs/12.2.0/platforms/xtensa/esp32/boards/esp32-devkitc/index.html
index 8dbcc283f..b38a9985a 100644
--- a/content/docs/12.2.0/platforms/xtensa/esp32/boards/esp32-devkitc/index.html
+++ b/content/docs/12.2.0/platforms/xtensa/esp32/boards/esp32-devkitc/index.html
@@ -450,7 +450,7 @@ Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/)
 <p>Look for your PC IP address and test playing the prepared audio on your
 browser:</p>
 <figure class="align-center">
-<img alt="../../../../../_images/esp32-audio-config-file.png" 
src="../../../../../_images/esp32-audio-config-file.png" />
+<img alt="../../../../../_images/esp32-audio-config-file1.png" 
src="../../../../../_images/esp32-audio-config-file1.png" />
 </figure>
 <p>After successfully built and flashed, connect the board to the Wi-Fi 
network:</p>
 <div class="highlight-none notranslate"><div 
class="highlight"><pre><span></span>nsh&gt; wapi psk wlan0 mypasswd 3
diff --git a/content/docs/12.2.0/searchindex.js 
b/content/docs/12.2.0/searchindex.js
index 41be1fb8a..eb081f7bb 100644
--- a/content/docs/12.2.0/searchindex.js
+++ b/content/docs/12.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", "applications/nxdiag/config", 
"applications/nxdiag/index", "applications/wapi/commands", 
"applications/wapi/index", "applications/wapi/wireless", "components/binfmt", 
"components/drivers/block/index", "components/dr [...]
\ 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", "applications/nxdiag/config", 
"applications/nxdiag/index", "applications/wapi/commands", 
"applications/wapi/index", "applications/wapi/wireless", "components/binfmt", 
"components/drivers/block/index", "components/dr [...]
\ No newline at end of file
diff --git a/content/docs/12.2.1/index.html b/content/docs/12.2.1/index.html
index 3314ebaff..5fc9245f6 100644
--- a/content/docs/12.2.1/index.html
+++ b/content/docs/12.2.1/index.html
@@ -172,7 +172,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 heading"></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: 05 August 25 at 00:19</p>
+<p>Last Updated: 06 August 25 at 00:19</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/12.2.1/searchindex.js 
b/content/docs/12.2.1/searchindex.js
index beb8c3f8a..23077efba 100644
--- a/content/docs/12.2.1/searchindex.js
+++ b/content/docs/12.2.1/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", "applications/nxdiag/config", 
"applications/nxdiag/index", "applications/wapi/commands", 
"applications/wapi/index", "applications/wapi/wireless", "components/binfmt", 
"components/drivers/block/index", "components/dr [...]
\ 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", "applications/nxdiag/config", 
"applications/nxdiag/index", "applications/wapi/commands", 
"applications/wapi/index", "applications/wapi/wireless", "components/binfmt", 
"components/drivers/block/index", "components/dr [...]
\ No newline at end of file
diff --git a/content/docs/12.3.0/index.html b/content/docs/12.3.0/index.html
index c1738581a..d4ef9de1e 100644
--- a/content/docs/12.3.0/index.html
+++ b/content/docs/12.3.0/index.html
@@ -172,7 +172,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 heading"></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: 05 August 25 at 00:19</p>
+<p>Last Updated: 06 August 25 at 00:20</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/12.3.0/searchindex.js 
b/content/docs/12.3.0/searchindex.js
index 2a6164082..12acc4ae1 100644
--- a/content/docs/12.3.0/searchindex.js
+++ b/content/docs/12.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", "applications/nxdiag/config", 
"applications/nxdiag/index", "applications/wapi/commands", 
"applications/wapi/index", "applications/wapi/wireless", "components/binfmt", 
"components/drivers/block/index", "components/dr [...]
\ 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", "applications/nxdiag/config", 
"applications/nxdiag/index", "applications/wapi/commands", 
"applications/wapi/index", "applications/wapi/wireless", "components/binfmt", 
"components/drivers/block/index", "components/dr [...]
\ No newline at end of file
diff --git a/content/docs/12.4.0/index.html b/content/docs/12.4.0/index.html
index 5339b9955..4c5645f91 100644
--- a/content/docs/12.4.0/index.html
+++ b/content/docs/12.4.0/index.html
@@ -179,7 +179,7 @@ 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: 05 August 25 at 00:20</p>
+<p>Last Updated: 06 August 25 at 00:20</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/12.4.0/searchindex.js 
b/content/docs/12.4.0/searchindex.js
index 7235e6985..dcfd2fe80 100644
--- a/content/docs/12.4.0/searchindex.js
+++ b/content/docs/12.4.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["applications/audioutils/fmsynt/index", 
"applications/audioutils/index", "applications/audioutils/mml_parser/index", 
"applications/audioutils/nxaudio/index", 
"applications/benchmarks/coremark/index", "applications/benchmarks/index", 
"applications/boot/index", "applications/boot/mcuboot/index", 
"applications/boot/miniboot/index", "applications/canutils/candump/index", 
"applications/canutils/canlib/index", "applications/canutils/cansend/index", 
"applications/c [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["applications/audioutils/fmsynt/index", 
"applications/audioutils/index", "applications/audioutils/mml_parser/index", 
"applications/audioutils/nxaudio/index", 
"applications/benchmarks/coremark/index", "applications/benchmarks/index", 
"applications/boot/index", "applications/boot/mcuboot/index", 
"applications/boot/miniboot/index", "applications/canutils/candump/index", 
"applications/canutils/canlib/index", "applications/canutils/cansend/index", 
"applications/c [...]
\ No newline at end of file
diff --git a/content/docs/12.5.0/index.html b/content/docs/12.5.0/index.html
index 281c0b7ac..a36855bc5 100644
--- a/content/docs/12.5.0/index.html
+++ b/content/docs/12.5.0/index.html
@@ -179,7 +179,7 @@ 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: 05 August 25 at 00:21</p>
+<p>Last Updated: 06 August 25 at 00:22</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/12.5.0/searchindex.js 
b/content/docs/12.5.0/searchindex.js
index b17006085..448307a02 100644
--- a/content/docs/12.5.0/searchindex.js
+++ b/content/docs/12.5.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["applications/audioutils/fmsynt/index", 
"applications/audioutils/index", "applications/audioutils/mml_parser/index", 
"applications/audioutils/nxaudio/index", 
"applications/benchmarks/coremark/index", "applications/benchmarks/index", 
"applications/boot/index", "applications/boot/mcuboot/index", 
"applications/boot/miniboot/index", "applications/canutils/candump/index", 
"applications/canutils/canlib/index", "applications/canutils/cansend/index", 
"applications/c [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["applications/audioutils/fmsynt/index", 
"applications/audioutils/index", "applications/audioutils/mml_parser/index", 
"applications/audioutils/nxaudio/index", 
"applications/benchmarks/coremark/index", "applications/benchmarks/index", 
"applications/boot/index", "applications/boot/mcuboot/index", 
"applications/boot/miniboot/index", "applications/canutils/candump/index", 
"applications/canutils/canlib/index", "applications/canutils/cansend/index", 
"applications/c [...]
\ No newline at end of file
diff --git a/content/docs/12.5.1/index.html b/content/docs/12.5.1/index.html
index cd4b3c354..9a48a295d 100644
--- a/content/docs/12.5.1/index.html
+++ b/content/docs/12.5.1/index.html
@@ -179,7 +179,7 @@ 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: 05 August 25 at 00:23</p>
+<p>Last Updated: 06 August 25 at 00:23</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/12.5.1/searchindex.js 
b/content/docs/12.5.1/searchindex.js
index 19d92b838..655f6ac9e 100644
--- a/content/docs/12.5.1/searchindex.js
+++ b/content/docs/12.5.1/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["applications/audioutils/fmsynt/index", 
"applications/audioutils/index", "applications/audioutils/mml_parser/index", 
"applications/audioutils/nxaudio/index", 
"applications/benchmarks/coremark/index", "applications/benchmarks/index", 
"applications/boot/index", "applications/boot/mcuboot/index", 
"applications/boot/miniboot/index", "applications/canutils/candump/index", 
"applications/canutils/canlib/index", "applications/canutils/cansend/index", 
"applications/c [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["applications/audioutils/fmsynt/index", 
"applications/audioutils/index", "applications/audioutils/mml_parser/index", 
"applications/audioutils/nxaudio/index", 
"applications/benchmarks/coremark/index", "applications/benchmarks/index", 
"applications/boot/index", "applications/boot/mcuboot/index", 
"applications/boot/miniboot/index", "applications/canutils/candump/index", 
"applications/canutils/canlib/index", "applications/canutils/cansend/index", 
"applications/c [...]
\ No newline at end of file
diff --git a/content/docs/12.6.0/index.html b/content/docs/12.6.0/index.html
index 8c29dc7f9..cd8d36e62 100644
--- a/content/docs/12.6.0/index.html
+++ b/content/docs/12.6.0/index.html
@@ -180,7 +180,7 @@ 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: 05 August 25 at 00:24</p>
+<p>Last Updated: 06 August 25 at 00:24</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/12.6.0/searchindex.js 
b/content/docs/12.6.0/searchindex.js
index e87744afd..c2b35a08a 100644
--- a/content/docs/12.6.0/searchindex.js
+++ b/content/docs/12.6.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["applications/audioutils/fmsynt/index", 
"applications/audioutils/index", "applications/audioutils/mml_parser/index", 
"applications/audioutils/nxaudio/index", 
"applications/benchmarks/cachespeed/index", 
"applications/benchmarks/coremark-pro/index", 
"applications/benchmarks/coremark/index", 
"applications/benchmarks/dhrystone/index", "applications/benchmarks/fio/index", 
"applications/benchmarks/index", "applications/benchmarks/iozone/index", 
"applications/bench [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["applications/audioutils/fmsynt/index", 
"applications/audioutils/index", "applications/audioutils/mml_parser/index", 
"applications/audioutils/nxaudio/index", 
"applications/benchmarks/cachespeed/index", 
"applications/benchmarks/coremark-pro/index", 
"applications/benchmarks/coremark/index", 
"applications/benchmarks/dhrystone/index", "applications/benchmarks/fio/index", 
"applications/benchmarks/index", "applications/benchmarks/iozone/index", 
"applications/bench [...]
\ No newline at end of file
diff --git a/content/docs/12.7.0/index.html b/content/docs/12.7.0/index.html
index 4adb3edfa..1d4d9540a 100644
--- a/content/docs/12.7.0/index.html
+++ b/content/docs/12.7.0/index.html
@@ -179,7 +179,7 @@ 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: 05 August 25 at 00:25</p>
+<p>Last Updated: 06 August 25 at 00:26</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/12.7.0/searchindex.js 
b/content/docs/12.7.0/searchindex.js
index 42b35bc37..218af7d73 100644
--- a/content/docs/12.7.0/searchindex.js
+++ b/content/docs/12.7.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["applications/audioutils/fmsynt/index", 
"applications/audioutils/index", "applications/audioutils/mml_parser/index", 
"applications/audioutils/nxaudio/index", 
"applications/benchmarks/cachespeed/index", 
"applications/benchmarks/coremark-pro/index", 
"applications/benchmarks/coremark/index", 
"applications/benchmarks/dhrystone/index", "applications/benchmarks/fio/index", 
"applications/benchmarks/index", "applications/benchmarks/iozone/index", 
"applications/bench [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["applications/audioutils/fmsynt/index", 
"applications/audioutils/index", "applications/audioutils/mml_parser/index", 
"applications/audioutils/nxaudio/index", 
"applications/benchmarks/cachespeed/index", 
"applications/benchmarks/coremark-pro/index", 
"applications/benchmarks/coremark/index", 
"applications/benchmarks/dhrystone/index", "applications/benchmarks/fio/index", 
"applications/benchmarks/index", "applications/benchmarks/iozone/index", 
"applications/bench [...]
\ No newline at end of file
diff --git a/content/docs/12.8.0/index.html b/content/docs/12.8.0/index.html
index 18bdd1d59..3378c8dbf 100644
--- a/content/docs/12.8.0/index.html
+++ b/content/docs/12.8.0/index.html
@@ -179,7 +179,7 @@ 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: 05 August 25 at 00:27</p>
+<p>Last Updated: 06 August 25 at 00:27</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/12.8.0/searchindex.js 
b/content/docs/12.8.0/searchindex.js
index a941533e1..3f67a84c6 100644
--- a/content/docs/12.8.0/searchindex.js
+++ b/content/docs/12.8.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["applications/audioutils/fmsynt/index", 
"applications/audioutils/index", "applications/audioutils/mml_parser/index", 
"applications/audioutils/nxaudio/index", 
"applications/benchmarks/cachespeed/index", 
"applications/benchmarks/coremark-pro/index", 
"applications/benchmarks/coremark/index", 
"applications/benchmarks/dhrystone/index", "applications/benchmarks/fio/index", 
"applications/benchmarks/index", "applications/benchmarks/iozone/index", 
"applications/bench [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["applications/audioutils/fmsynt/index", 
"applications/audioutils/index", "applications/audioutils/mml_parser/index", 
"applications/audioutils/nxaudio/index", 
"applications/benchmarks/cachespeed/index", 
"applications/benchmarks/coremark-pro/index", 
"applications/benchmarks/coremark/index", 
"applications/benchmarks/dhrystone/index", "applications/benchmarks/fio/index", 
"applications/benchmarks/index", "applications/benchmarks/iozone/index", 
"applications/bench [...]
\ No newline at end of file
diff --git a/content/docs/12.9.0/index.html b/content/docs/12.9.0/index.html
index f58244b31..1f5a4fb02 100644
--- a/content/docs/12.9.0/index.html
+++ b/content/docs/12.9.0/index.html
@@ -179,7 +179,7 @@ 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: 05 August 25 at 00:28</p>
+<p>Last Updated: 06 August 25 at 00:29</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/12.9.0/searchindex.js 
b/content/docs/12.9.0/searchindex.js
index cc8c17b52..f93de1cdd 100644
--- a/content/docs/12.9.0/searchindex.js
+++ b/content/docs/12.9.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["applications/audioutils/fmsynt/index", 
"applications/audioutils/index", "applications/audioutils/mml_parser/index", 
"applications/audioutils/nxaudio/index", 
"applications/benchmarks/cachespeed/index", 
"applications/benchmarks/coremark-pro/index", 
"applications/benchmarks/coremark/index", 
"applications/benchmarks/cyclictest/index", 
"applications/benchmarks/dhrystone/index", "applications/benchmarks/fio/index", 
"applications/benchmarks/index", "applications/b [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["applications/audioutils/fmsynt/index", 
"applications/audioutils/index", "applications/audioutils/mml_parser/index", 
"applications/audioutils/nxaudio/index", 
"applications/benchmarks/cachespeed/index", 
"applications/benchmarks/coremark-pro/index", 
"applications/benchmarks/coremark/index", 
"applications/benchmarks/cyclictest/index", 
"applications/benchmarks/dhrystone/index", "applications/benchmarks/fio/index", 
"applications/benchmarks/index", "applications/b [...]
\ No newline at end of file
diff --git a/content/docs/latest/_sources/guides/optee.rst.txt 
b/content/docs/latest/_sources/guides/optee.rst.txt
index ab1adac9b..4260506e0 100644
--- a/content/docs/latest/_sources/guides/optee.rst.txt
+++ b/content/docs/latest/_sources/guides/optee.rst.txt
@@ -14,8 +14,16 @@ not officially supported by NuttX, and is out of the scope 
of this guide.
 
 The driver supports opening and closing sessions, allocating and registering
 shared memory, and invoking functions on OP-TEE Trusted Applications (TAs).
-It does not (yet) support reverse direction commands (TA -> Normal World)
-to something like a TEE supplicant.
+The driver also supports, reverse direction commands called RPCs
+(TA -> Normal World). Some of the RPCs are handled completely by the kernel
+driver while others require the TEE supplicant userspace process to be running
+by having opened (``/dev/teepriv#``). Similarly to libteec, the supplicant
+is not officially supported.
+
+.. note::
+   ``/dev/teepriv#`` is reserved solely for the supplicant and shouldn't be
+   used by any other NuttX application.
+
 
 Enabling the OP-TEE Driver
 ==========================
@@ -27,16 +35,14 @@ The driver is enabled using one of:
 - ``CONFIG_DEV_OPTEE_SMC``
 
 All of the above require also ``CONFIG_ALLOW_BSD_COMPONENTS`` and
-``CONFIG_LIBC_MEMFD_SHMFS``, which in turn requires ``CONFIG_FS_SHMFS``. So,
-at a bare minimum, to enable the driver one would need something like the
-following:
+``CONFIG_FS_ANONMAP``. So, at a bare minimum, to enable the driver
+one would need something like the following:
 
 .. code-block::
 
   CONFIG_ALLOW_BSD_COMPONENTS=y
   CONFIG_DEV_OPTEE_SMC=y
-  CONFIG_FS_SHMFS=y
-  CONFIG_LIBC_MEMFD_SHMFS=y
+  CONFIG_FS_ANONMAP=y
 
 Each implementation (local, RPMsg, or SMC) may have further dependencies
 (e.g. RPMsg requires ``CONFIG_NET_RPMSG`` and more) and may have further
@@ -49,10 +55,13 @@ parameters to configure (e.g. RPMsg remote CPU name through
   encounter issues with shared memory depending on the state of the data
   cache in Secure World.
 
+If ``CONFIG_DEV_OPTEE_SMC`` is enabled we can also enable the kernel driver
+for the TEE supplicant by using ``CONFIG_DEV_OPTEE_SUPPLICANT``.
+
 Successful registration of the driver can be verified by looking into
-``/dev/tee0``. For instance, incompatibility with the TEE OS running in the
-system, will prevent the ``/dev/tee0`` character device from being
-registered.
+``/dev/tee0`` and ``/dev/teepriv0`` (for the supplicant). For instance,
+incompatibility with the TEE OS running in the system, will prevent the
+``/dev/tee0`` character device from being registered.
 
 IOCTLs supported
 ================
@@ -130,6 +139,26 @@ on success unless otherwise specified (see 
``TEE_IOC_SHM_ALLOC``).
     returned ``.id`` field when specifying shared memory references
     (``tee_ioctl_param.c`` field).
 
+- ``TEE_IOC_SUPPL_RECV`` : Receive an RPC request from the OP-TEE that needs 
userspace interaction from the supplicant.
+
+  - Expects a pointer to a ``struct tee_ioctl_buf_data`` instance where the
+    ``.buf_ptr`` field points to a user allocated buffer that must hold a
+    ``struct tee_iocl_supp_send/recv_arg`` followed by a number of
+    ``struct tee_ioctl_param`` parameters.  The ``.buf_len`` field communicates
+    to the kernel the length of that buffer.  If the user passes a bigger 
number
+    of parameters than ``OPTEE_MAX_PARAM_NUM`` or smaller number of parameters 
than
+    the number sent by OP-TEE, the ioctl will fail. The TEE supplicant by 
default
+    uses 5 ``struct tee_ioctl_param`` parameters.
+
+- ``TEE_IOC_SUPPL_SEND`` : Respond to an RPC request from the OP-TEE that 
needed userspace interaction from the supplicant.
+
+  - Expects a pointer to a ``struct tee_ioctl_buf_data`` instance where the
+    ``.buf_ptr`` field points to a user allocated buffer that must hold a
+    ``struct tee_iocl_supp_send/recv_arg`` followed by a number of
+    ``struct tee_ioctl_param`` parameters.  The ``.buf_len`` field communicates
+    to the kernel the length of that buffer. The number of parameters depends 
on
+    the size of expected RPC response by the OP-TEE.
+
 Typical usage
 =============
 
@@ -307,3 +336,37 @@ Typical usage
        }
 
      /* use result (if any) in ioc_args->params */
+
+#. OP-TEE secure storage support through TEE supplicant
+
+   .. code-block:: shell
+
+     optee_supplicant -f /data/tee > /dev/null &
+
+This runs the OP-TEE supplicant in the background, using ``/data/tee`` as the
+directory for the TEE file system. Output is redirected to ``/dev/null`` to
+suppress standard output. Make sure that the userspace support for the
+supplicant is enabled and that ``/data`` is mounted as read/write.
+
+With the supplicant running, secure storage objects can be created, retrieved,
+and managed by Trusted Applications (TAs). In a typical workflow, a Client
+Application (CA) running on NuttX invokes a command in a TA that may need to
+read from or create persistent objects. In such cases, certain RPCs generated
+by OP-TEE are routed from the CA to the TEE supplicant for handling (provided
+the supplicant is running in the background). Once the supplicant has processed
+the request, it responds using ``TEE_IOC_SUPPL_SEND``, and the kernel driver
+delivers this response back to the CA in its context.
+
+#. OP-TEE REE time request
+
+In this scenario, the userspace supplicant isn't needed, as the response can be
+handled directly by the kernel driver.
+
+An OP-TEE application can request the current time from the NuttX clock using:
+
+   .. code-block:: c
+
+     TEE_GetREETime(&t);
+
+The NuttX kernel driver will respond to the TA with the ``CLOCK_REALTIME``
+which represents the machine's best-guess as to the current wall-clock.
diff --git a/content/docs/latest/guides/fully_linked_elf.html 
b/content/docs/latest/guides/fully_linked_elf.html
index 5db4da4fd..313679c5a 100644
--- a/content/docs/latest/guides/fully_linked_elf.html
+++ b/content/docs/latest/guides/fully_linked_elf.html
@@ -475,7 +475,7 @@ NuttX package: <code class="docutils literal 
notranslate"><span class="pre">nutt
 <div 
class="admonition-here-is-an-alternative-minimal-and-possibly-outdated-version 
admonition">
 <p class="admonition-title">Here is an alternative minimal (and possibly 
outdated) version</p>
 <div class="sphinx_collapse docutils">
-<input class="sphinx_collapse__input" 
id="ac771177-a734-47f2-92e0-213c3b776bee" 
name="ac771177-a734-47f2-92e0-213c3b776bee" type="checkbox"><label 
class="sphinx_collapse__label" for="ac771177-a734-47f2-92e0-213c3b776bee"><i 
class="sphinx_collapse__icon"></i>Show content:</label><div 
class="sphinx_collapse__content docutils">
+<input class="sphinx_collapse__input" 
id="425d4cee-6c19-4c08-b09a-149f90e8d6f1" 
name="425d4cee-6c19-4c08-b09a-149f90e8d6f1" type="checkbox"><label 
class="sphinx_collapse__label" for="425d4cee-6c19-4c08-b09a-149f90e8d6f1"><i 
class="sphinx_collapse__icon"></i>Show content:</label><div 
class="sphinx_collapse__content docutils">
 <div class="highlight-text notranslate"><div 
class="highlight"><pre><span></span>SECTIONS
 {
 .text 0x00000000 :
diff --git a/content/docs/latest/guides/optee.html 
b/content/docs/latest/guides/optee.html
index 53571e643..b9d3b21f5 100644
--- a/content/docs/latest/guides/optee.html
+++ b/content/docs/latest/guides/optee.html
@@ -241,8 +241,16 @@ interface should allow use-of/integration-with libteec, 
although this is
 not officially supported by NuttX, and is out of the scope of this guide.</p>
 <p>The driver supports opening and closing sessions, allocating and registering
 shared memory, and invoking functions on OP-TEE Trusted Applications (TAs).
-It does not (yet) support reverse direction commands (TA -&gt; Normal World)
-to something like a TEE supplicant.</p>
+The driver also supports, reverse direction commands called RPCs
+(TA -&gt; Normal World). Some of the RPCs are handled completely by the kernel
+driver while others require the TEE supplicant userspace process to be running
+by having opened (<code class="docutils literal notranslate"><span 
class="pre">/dev/teepriv#</span></code>). Similarly to libteec, the supplicant
+is not officially supported.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p><code class="docutils literal notranslate"><span 
class="pre">/dev/teepriv#</span></code> is reserved solely for the supplicant 
and shouldn’t be
+used by any other NuttX application.</p>
+</div>
 </section>
 <section id="enabling-the-op-tee-driver">
 <h2>Enabling the OP-TEE Driver<a class="headerlink" 
href="#enabling-the-op-tee-driver" title="Permalink to this heading"></a></h2>
@@ -253,13 +261,11 @@ to something like a TEE supplicant.</p>
 <li><p><code class="docutils literal notranslate"><span 
class="pre">CONFIG_DEV_OPTEE_SMC</span></code></p></li>
 </ul>
 <p>All of the above require also <code class="docutils literal 
notranslate"><span class="pre">CONFIG_ALLOW_BSD_COMPONENTS</span></code> and
-<code class="docutils literal notranslate"><span 
class="pre">CONFIG_LIBC_MEMFD_SHMFS</span></code>, which in turn requires <code 
class="docutils literal notranslate"><span 
class="pre">CONFIG_FS_SHMFS</span></code>. So,
-at a bare minimum, to enable the driver one would need something like the
-following:</p>
+<code class="docutils literal notranslate"><span 
class="pre">CONFIG_FS_ANONMAP</span></code>. So, at a bare minimum, to enable 
the driver
+one would need something like the following:</p>
 <div class="highlight-none notranslate"><div 
class="highlight"><pre><span></span>CONFIG_ALLOW_BSD_COMPONENTS=y
 CONFIG_DEV_OPTEE_SMC=y
-CONFIG_FS_SHMFS=y
-CONFIG_LIBC_MEMFD_SHMFS=y
+CONFIG_FS_ANONMAP=y
 </pre></div>
 </div>
 <p>Each implementation (local, RPMsg, or SMC) may have further dependencies
@@ -273,10 +279,12 @@ that in configurations with <code class="docutils literal 
notranslate"><span cla
 encounter issues with shared memory depending on the state of the data
 cache in Secure World.</p>
 </div>
+<p>If <code class="docutils literal notranslate"><span 
class="pre">CONFIG_DEV_OPTEE_SMC</span></code> is enabled we can also enable 
the kernel driver
+for the TEE supplicant by using <code class="docutils literal 
notranslate"><span class="pre">CONFIG_DEV_OPTEE_SUPPLICANT</span></code>.</p>
 <p>Successful registration of the driver can be verified by looking into
-<code class="docutils literal notranslate"><span 
class="pre">/dev/tee0</span></code>. For instance, incompatibility with the TEE 
OS running in the
-system, will prevent the <code class="docutils literal notranslate"><span 
class="pre">/dev/tee0</span></code> character device from being
-registered.</p>
+<code class="docutils literal notranslate"><span 
class="pre">/dev/tee0</span></code> and <code class="docutils literal 
notranslate"><span class="pre">/dev/teepriv0</span></code> (for the 
supplicant). For instance,
+incompatibility with the TEE OS running in the system, will prevent the
+<code class="docutils literal notranslate"><span 
class="pre">/dev/tee0</span></code> character device from being registered.</p>
 </section>
 <section id="ioctls-supported">
 <h2>IOCTLs supported<a class="headerlink" href="#ioctls-supported" 
title="Permalink to this heading"></a></h2>
@@ -360,6 +368,28 @@ returned <code class="docutils literal notranslate"><span 
class="pre">.id</span>
 (<code class="docutils literal notranslate"><span 
class="pre">tee_ioctl_param.c</span></code> field).</p></li>
 </ul>
 </li>
+<li><p><code class="docutils literal notranslate"><span 
class="pre">TEE_IOC_SUPPL_RECV</span></code> : Receive an RPC request from the 
OP-TEE that needs userspace interaction from the supplicant.</p>
+<ul>
+<li><p>Expects a pointer to a <code class="docutils literal notranslate"><span 
class="pre">struct</span> <span class="pre">tee_ioctl_buf_data</span></code> 
instance where the
+<code class="docutils literal notranslate"><span 
class="pre">.buf_ptr</span></code> field points to a user allocated buffer that 
must hold a
+<code class="docutils literal notranslate"><span class="pre">struct</span> 
<span class="pre">tee_iocl_supp_send/recv_arg</span></code> followed by a 
number of
+<code class="docutils literal notranslate"><span class="pre">struct</span> 
<span class="pre">tee_ioctl_param</span></code> parameters.  The <code 
class="docutils literal notranslate"><span class="pre">.buf_len</span></code> 
field communicates
+to the kernel the length of that buffer.  If the user passes a bigger number
+of parameters than <code class="docutils literal notranslate"><span 
class="pre">OPTEE_MAX_PARAM_NUM</span></code> or smaller number of parameters 
than
+the number sent by OP-TEE, the ioctl will fail. The TEE supplicant by default
+uses 5 <code class="docutils literal notranslate"><span 
class="pre">struct</span> <span class="pre">tee_ioctl_param</span></code> 
parameters.</p></li>
+</ul>
+</li>
+<li><p><code class="docutils literal notranslate"><span 
class="pre">TEE_IOC_SUPPL_SEND</span></code> : Respond to an RPC request from 
the OP-TEE that needed userspace interaction from the supplicant.</p>
+<ul>
+<li><p>Expects a pointer to a <code class="docutils literal notranslate"><span 
class="pre">struct</span> <span class="pre">tee_ioctl_buf_data</span></code> 
instance where the
+<code class="docutils literal notranslate"><span 
class="pre">.buf_ptr</span></code> field points to a user allocated buffer that 
must hold a
+<code class="docutils literal notranslate"><span class="pre">struct</span> 
<span class="pre">tee_iocl_supp_send/recv_arg</span></code> followed by a 
number of
+<code class="docutils literal notranslate"><span class="pre">struct</span> 
<span class="pre">tee_ioctl_param</span></code> parameters.  The <code 
class="docutils literal notranslate"><span class="pre">.buf_len</span></code> 
field communicates
+to the kernel the length of that buffer. The number of parameters depends on
+the size of expected RPC response by the OP-TEE.</p></li>
+</ul>
+</li>
 </ul>
 </section>
 <section id="typical-usage">
@@ -532,7 +562,37 @@ returned <code class="docutils literal notranslate"><span 
class="pre">.id</span>
 </pre></div>
 </div>
 </li>
+<li><p>OP-TEE secure storage support through TEE supplicant</p>
+<div class="highlight-shell notranslate"><div 
class="highlight"><pre><span></span>optee_supplicant<span class="w"> 
</span>-f<span class="w"> </span>/data/tee<span class="w"> </span>&gt;<span 
class="w"> </span>/dev/null<span class="w"> </span><span class="p">&amp;</span>
+</pre></div>
+</div>
+</li>
 </ol>
+<p>This runs the OP-TEE supplicant in the background, using <code 
class="docutils literal notranslate"><span class="pre">/data/tee</span></code> 
as the
+directory for the TEE file system. Output is redirected to <code 
class="docutils literal notranslate"><span class="pre">/dev/null</span></code> 
to
+suppress standard output. Make sure that the userspace support for the
+supplicant is enabled and that <code class="docutils literal 
notranslate"><span class="pre">/data</span></code> is mounted as read/write.</p>
+<p>With the supplicant running, secure storage objects can be created, 
retrieved,
+and managed by Trusted Applications (TAs). In a typical workflow, a Client
+Application (CA) running on NuttX invokes a command in a TA that may need to
+read from or create persistent objects. In such cases, certain RPCs generated
+by OP-TEE are routed from the CA to the TEE supplicant for handling (provided
+the supplicant is running in the background). Once the supplicant has processed
+the request, it responds using <code class="docutils literal 
notranslate"><span class="pre">TEE_IOC_SUPPL_SEND</span></code>, and the kernel 
driver
+delivers this response back to the CA in its context.</p>
+<ol class="arabic simple">
+<li><p>OP-TEE REE time request</p></li>
+</ol>
+<p>In this scenario, the userspace supplicant isn’t needed, as the response 
can be
+handled directly by the kernel driver.</p>
+<p>An OP-TEE application can request the current time from the NuttX clock 
using:</p>
+<blockquote>
+<div><div class="highlight-c notranslate"><div 
class="highlight"><pre><span></span><span class="n">TEE_GetREETime</span><span 
class="p">(</span><span class="o">&amp;</span><span class="n">t</span><span 
class="p">);</span>
+</pre></div>
+</div>
+</div></blockquote>
+<p>The NuttX kernel driver will respond to the TA with the <code 
class="docutils literal notranslate"><span 
class="pre">CLOCK_REALTIME</span></code>
+which represents the machine’s best-guess as to the current wall-clock.</p>
 </section>
 </section>
 
diff --git a/content/docs/latest/guides/partially_linked_elf.html 
b/content/docs/latest/guides/partially_linked_elf.html
index 5791a2d75..32b56b032 100644
--- a/content/docs/latest/guides/partially_linked_elf.html
+++ b/content/docs/latest/guides/partially_linked_elf.html
@@ -501,7 +501,7 @@ NuttX package: <code class="docutils literal 
notranslate"><span class="pre">nutt
 <div 
class="admonition-here-is-an-alternative-minimal-and-possibly-outdated-version 
admonition">
 <p class="admonition-title">Here is an alternative minimal (and possibly 
outdated) version</p>
 <div class="sphinx_collapse docutils">
-<input class="sphinx_collapse__input" 
id="0717a265-892e-4bc2-8070-1e2f2e288deb" 
name="0717a265-892e-4bc2-8070-1e2f2e288deb" type="checkbox"><label 
class="sphinx_collapse__label" for="0717a265-892e-4bc2-8070-1e2f2e288deb"><i 
class="sphinx_collapse__icon"></i>Show content:</label><div 
class="sphinx_collapse__content docutils">
+<input class="sphinx_collapse__input" 
id="b2b1d03d-e773-453e-80ed-5179a8d86b81" 
name="b2b1d03d-e773-453e-80ed-5179a8d86b81" type="checkbox"><label 
class="sphinx_collapse__label" for="b2b1d03d-e773-453e-80ed-5179a8d86b81"><i 
class="sphinx_collapse__icon"></i>Show content:</label><div 
class="sphinx_collapse__content docutils">
 <div class="highlight-text notranslate"><div 
class="highlight"><pre><span></span>SECTIONS
 {
 .text 0x00000000 :
diff --git a/content/docs/latest/index.html b/content/docs/latest/index.html
index 6d45c1be5..91c23ea96 100644
--- a/content/docs/latest/index.html
+++ b/content/docs/latest/index.html
@@ -185,7 +185,7 @@ 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: 05 August 25 at 00:32</p>
+<p>Last Updated: 06 August 25 at 00:32</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/searchindex.js 
b/content/docs/latest/searchindex.js
index 92f9290d7..da6df6cff 100644
--- a/content/docs/latest/searchindex.js
+++ b/content/docs/latest/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["_tags/arch-arm64", "_tags/arch-avr", 
"_tags/arch-example", "_tags/chip-a527", "_tags/chip-a64", 
"_tags/chip-at90usb", "_tags/chip-atmega", "_tags/chip-atmega2560", 
"_tags/chip-bcm2711", "_tags/chip-esp32", "_tags/chip-esp32a1s", 
"_tags/chip-esp32picod4", "_tags/chip-esp32s2", "_tags/chip-esp32s3", 
"_tags/chip-esp32wroom32", "_tags/chip-esp32wrover32", "_tags/chip-example", 
"_tags/chip-fpga", "_tags/chip-imx8", "_tags/chip-imx93", "_tags/chip-imx95", 
"_tags/ [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["_tags/arch-arm64", "_tags/arch-avr", 
"_tags/arch-example", "_tags/chip-a527", "_tags/chip-a64", 
"_tags/chip-at90usb", "_tags/chip-atmega", "_tags/chip-atmega2560", 
"_tags/chip-bcm2711", "_tags/chip-esp32", "_tags/chip-esp32a1s", 
"_tags/chip-esp32picod4", "_tags/chip-esp32s2", "_tags/chip-esp32s3", 
"_tags/chip-esp32wroom32", "_tags/chip-esp32wrover32", "_tags/chip-example", 
"_tags/chip-fpga", "_tags/chip-imx8", "_tags/chip-imx93", "_tags/chip-imx95", 
"_tags/ [...]
\ No newline at end of file
diff --git a/content/feed.xml b/content/feed.xml
index 6ad739831..711194dfd 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>Tue, 05 Aug 2025 00:34:32 +0000</pubDate>
-    <lastBuildDate>Tue, 05 Aug 2025 00:34:32 +0000</lastBuildDate>
+    <pubDate>Wed, 06 Aug 2025 00:34:54 +0000</pubDate>
+    <lastBuildDate>Wed, 06 Aug 2025 00:34:54 +0000</lastBuildDate>
     <generator>Jekyll v4.3.2</generator>
     
       <item>

Reply via email to