diff mbox series

[v8,4/4] Add documentation about syscalls.h generator

Message ID 20241031-generate_syscalls-v8-4-8e35a9d6783b@suse.com
State New
Headers show
Series Automatically generate syscalls.h | expand

Commit Message

Andrea Cervesato Oct. 31, 2024, 4:01 p.m. UTC
From: Andrea Cervesato <andrea.cervesato@suse.com>

Signed-off-by: Andrea Cervesato <andrea.cervesato@suse.com>
---
 doc/developers/test_case_tutorial.rst | 27 ++++++++++++++-------------
 1 file changed, 14 insertions(+), 13 deletions(-)

Comments

Cyril Hrubis Oct. 31, 2024, 4:31 p.m. UTC | #1
Hi!
> Signed-off-by: Andrea Cervesato <andrea.cervesato@suse.com>
> ---
>  doc/developers/test_case_tutorial.rst | 27 ++++++++++++++-------------
>  1 file changed, 14 insertions(+), 13 deletions(-)
> 
> diff --git a/doc/developers/test_case_tutorial.rst b/doc/developers/test_case_tutorial.rst
> index be9a0ea8bac1d690b4ed4879d110f87c3f2a381a..b48ea4a7a3594266466fcca364f5d0ff1e42d235 100644
> --- a/doc/developers/test_case_tutorial.rst
> +++ b/doc/developers/test_case_tutorial.rst
> @@ -302,24 +302,25 @@ for a distribution's C library version to be older than its kernel or it may use
>  cut down C library in comparison to the GNU one. So we must call ``statx()``
>  using the general ``syscall()`` interface.
>  
> -The LTP contains a library for dealing with the ``syscall`` interface, which is
> +LTP contains a library for dealing with the ``syscall`` interface, which is
>  located in :master:`include/lapi`. System call numbers are listed against the relevant
>  call in the ``*.in`` files (e.g. ``x86_64.in``) which are used to generate
> -``syscalls.h``, which is the header you should include. On rare occasions you
> -may find the system call number is missing from the ``*.in`` files and will need
> -to add it (see :master:`include/lapi/syscalls/strip_syscall.awk`).
> +``syscalls.h``, the header you should include.
>  
> -System call numbers vary between architectures, hence there are multiple
> -``*.in`` files for each architecture.

I would keep this sentence in there, probably as a last sentence in the
upper paragraph.

> - You can find the various values for the
> -``statx`` system call across a number of ``unistd.h`` files in the Linux kernel.
> +On rare occasions, you may find that system call number is missing from ``*.in``
> +files. In these cases, they will need to be updated using
> +`include/lapi/syscalls/generate_arch.sh` script as following:
        ^
	Just `generate_arch.sh` here, we list the full path in the code
	block, no need to repeat it here as well.

> -Note that we don't use the system-call-identifier value available in
> -``/usr/include/linux/uinstd.h`` because the kernel might be much newer than the
> -user land development packages.
> +.. code-block:: bash
> +
> +    $ include/lapi/syscalls/generate_arch.sh /path/of/linux/sources
                                                      ^
						      to

> +The script will generate all the needed ``*.in`` files according to the Linux
                                                            ^
							  accordingly
> +source code which has been used. Make sure that your Linux source code has
> +been updated to the latest version.
>  
> -For ``statx`` we had to add ``statx 332`` to :master:`include/lapi/syscalls/x86_64.in`,
> -``statx 383`` to :master:`include/lapi/syscalls/powerpc.in`, etc.  Now lets look at
> -the code, which I will explain in more detail further down.
> +Once the new syscalls files have been updated, to rebuild our ``syscalls.h``
> +file, please use ``./configure`` command.
            ^                         ^
	 re-run			      script
diff mbox series

Patch

diff --git a/doc/developers/test_case_tutorial.rst b/doc/developers/test_case_tutorial.rst
index be9a0ea8bac1d690b4ed4879d110f87c3f2a381a..b48ea4a7a3594266466fcca364f5d0ff1e42d235 100644
--- a/doc/developers/test_case_tutorial.rst
+++ b/doc/developers/test_case_tutorial.rst
@@ -302,24 +302,25 @@  for a distribution's C library version to be older than its kernel or it may use
 cut down C library in comparison to the GNU one. So we must call ``statx()``
 using the general ``syscall()`` interface.
 
-The LTP contains a library for dealing with the ``syscall`` interface, which is
+LTP contains a library for dealing with the ``syscall`` interface, which is
 located in :master:`include/lapi`. System call numbers are listed against the relevant
 call in the ``*.in`` files (e.g. ``x86_64.in``) which are used to generate
-``syscalls.h``, which is the header you should include. On rare occasions you
-may find the system call number is missing from the ``*.in`` files and will need
-to add it (see :master:`include/lapi/syscalls/strip_syscall.awk`).
+``syscalls.h``, the header you should include.
 
-System call numbers vary between architectures, hence there are multiple
-``*.in`` files for each architecture. You can find the various values for the
-``statx`` system call across a number of ``unistd.h`` files in the Linux kernel.
+On rare occasions, you may find that system call number is missing from ``*.in``
+files. In these cases, they will need to be updated using
+`include/lapi/syscalls/generate_arch.sh` script as following:
 
-Note that we don't use the system-call-identifier value available in
-``/usr/include/linux/uinstd.h`` because the kernel might be much newer than the
-user land development packages.
+.. code-block:: bash
+
+    $ include/lapi/syscalls/generate_arch.sh /path/of/linux/sources
+
+The script will generate all the needed ``*.in`` files according to the Linux
+source code which has been used. Make sure that your Linux source code has
+been updated to the latest version.
 
-For ``statx`` we had to add ``statx 332`` to :master:`include/lapi/syscalls/x86_64.in`,
-``statx 383`` to :master:`include/lapi/syscalls/powerpc.in`, etc.  Now lets look at
-the code, which I will explain in more detail further down.
+Once the new syscalls files have been updated, to rebuild our ``syscalls.h``
+file, please use ``./configure`` command.
 
 .. code-block:: c