Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
docs/about/emulation.rst | 13 ++++++++++---
1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/docs/about/emulation.rst b/docs/about/emulation.rst
index e8793b0f9ce..f547e118eef 100644
--- a/docs/about/emulation.rst
+++ b/docs/about/emulation.rst
@@ -849,7 +849,7 @@ Symbols must be present in ELF binaries.
It tracks the call stack (based on frame pointer analysis). Thus, your program
and its dependencies must be compiled using ``-fno-omit-frame-pointer
-mno-omit-leaf-frame-pointer``. In 2024, `Ubuntu and Fedora enabled it by
-default again on x64
+default again on 64-bit platforms
<https://www.brendangregg.com/blog/2024-03-17/the-return-of-the-frame-pointers.html>`_.
On aarch64, this is less of a problem, as they are usually part of the ABI,
except for leaf functions. That's true for user space applications, but not
@@ -976,7 +976,7 @@ You can follow the exact same instructions for a x64 system, combining edk2,
Linux, and Ubuntu, simply by switching to
`x86_64 <https://github.com/pbo-linaro/qemu-linux-stack/tree/x86_64>`_ branch.
-To build the system::
+To build and run the system::
# Install dependencies
$ sudo apt install -y podman qemu-user-static
@@ -988,7 +988,14 @@ To build the system::
# system can be started using:
$ ./run.sh /path/to/qemu-system-aarch64
-To generate a uftrace for a system boot from that::
+ # generate a uftrace for execution (collect symbols automatically)
+ $ ./trace.sh /path/to/qemu-system-aarch64
+ # show output log to read timestamps
+ $ cat uftrace.data/exec.log
+ # generate final trace (compressed) for perfetto
+ $ ./perfetto.sh <start_timestamp> <end_timestamp> ~/trace.gz
+
+To generate manually the same trace::
# run true and poweroff the system
$ env INIT=true ./run.sh path/to/qemu-system-aarch64 \
--
2.47.3