mirror of https://gitee.com/openkylin/linux.git
bpf: Document BTF_KIND_FLOAT in btf.rst
Also document the expansion of the kind bitfield. Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com> Signed-off-by: Alexei Starovoitov <ast@kernel.org> Acked-by: Yonghong Song <yhs@fb.com> Link: https://lore.kernel.org/bpf/20210226202256.116518-11-iii@linux.ibm.com
This commit is contained in:
parent
7999cf7df8
commit
6be6a0baff
|
@ -84,6 +84,7 @@ sequentially and type id is assigned to each recognized type starting from id
|
||||||
#define BTF_KIND_FUNC_PROTO 13 /* Function Proto */
|
#define BTF_KIND_FUNC_PROTO 13 /* Function Proto */
|
||||||
#define BTF_KIND_VAR 14 /* Variable */
|
#define BTF_KIND_VAR 14 /* Variable */
|
||||||
#define BTF_KIND_DATASEC 15 /* Section */
|
#define BTF_KIND_DATASEC 15 /* Section */
|
||||||
|
#define BTF_KIND_FLOAT 16 /* Floating point */
|
||||||
|
|
||||||
Note that the type section encodes debug info, not just pure types.
|
Note that the type section encodes debug info, not just pure types.
|
||||||
``BTF_KIND_FUNC`` is not a type, and it represents a defined subprogram.
|
``BTF_KIND_FUNC`` is not a type, and it represents a defined subprogram.
|
||||||
|
@ -95,8 +96,8 @@ Each type contains the following common data::
|
||||||
/* "info" bits arrangement
|
/* "info" bits arrangement
|
||||||
* bits 0-15: vlen (e.g. # of struct's members)
|
* bits 0-15: vlen (e.g. # of struct's members)
|
||||||
* bits 16-23: unused
|
* bits 16-23: unused
|
||||||
* bits 24-27: kind (e.g. int, ptr, array...etc)
|
* bits 24-28: kind (e.g. int, ptr, array...etc)
|
||||||
* bits 28-30: unused
|
* bits 29-30: unused
|
||||||
* bit 31: kind_flag, currently used by
|
* bit 31: kind_flag, currently used by
|
||||||
* struct, union and fwd
|
* struct, union and fwd
|
||||||
*/
|
*/
|
||||||
|
@ -452,6 +453,18 @@ map definition.
|
||||||
* ``offset``: the in-section offset of the variable
|
* ``offset``: the in-section offset of the variable
|
||||||
* ``size``: the size of the variable in bytes
|
* ``size``: the size of the variable in bytes
|
||||||
|
|
||||||
|
2.2.16 BTF_KIND_FLOAT
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
``struct btf_type`` encoding requirement:
|
||||||
|
* ``name_off``: any valid offset
|
||||||
|
* ``info.kind_flag``: 0
|
||||||
|
* ``info.kind``: BTF_KIND_FLOAT
|
||||||
|
* ``info.vlen``: 0
|
||||||
|
* ``size``: the size of the float type in bytes: 2, 4, 8, 12 or 16.
|
||||||
|
|
||||||
|
No additional type data follow ``btf_type``.
|
||||||
|
|
||||||
3. BTF Kernel API
|
3. BTF Kernel API
|
||||||
*****************
|
*****************
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue