On 9/24/26 12:34 AM, Jim Cromie wrote:
> recompose struct _ddebug_info, inserting proper sub-structs.
> 
> The struct _ddebug_info has 2 pairs of _vec, num_##_vec fields, for
> descs and classes respectively.  for_subvec() makes walking these
> vectors less cumbersome, now lets move those field pairs into their
> own "vec" structs: _ddebug_descs & _ddebug_class_maps, and re-compose
> struct _ddebug_info to contain them cleanly.  This also lets us get
> rid of for_subvec()'s num_##_vec paste-up.
> 
> Also recompose struct ddebug_table to contain a _ddebug_info.  This
> reinforces _ddebug_info's use as a cursor into relevant data for a
> builtin module, and access to the full _ddebug state for modules.
> 
> NOTES:
> 
> rename section:__dyndbg_classes to _class_maps, to better align with
> struct _ddebug_class_maps.
> 
> names together, for more obvious name pairing.
> 
> Invariant: These vectors ref a contiguous subrange of __section memory
> in builtin/DATA or in loadable modules via mod->dyndbg_info; with
> guaranteed life-time for us.
> 
> struct module contains a _ddebug_info field and module/main.c sets it
> up, so that gets adjusted rather obviously.
> 
> Signed-off-by: Jim Cromie <[email protected]>
> Reviewed-by: Louis Chauvet <[email protected]>
> ---
> v8: set maps.len = nc unconditionally
> v3: squash in section name changes.
> 
> v2:
> 
> Move RvB after SoB
> In structs _ddebug_descs & _ddebug_class_maps, change int length to unsigned 
> int
> No use of <0 vals is contemplated.
> 
> dyndbg: improve section names
> 
> change __dyndbg to __dyndbg_descs
> change __dyndbg_classes to __dyndbg_class_maps
> 
> this sets up for adding __dyndbg_class_users
> 
> fixup-drmprint
> ---
>  include/asm-generic/dyndbg.lds.h |  14 +++---
>  include/linux/dynamic_debug.h    |  34 ++++++++-----
>  kernel/module/main.c             |  12 ++---
>  lib/dynamic_debug.c              | 101 
> +++++++++++++++++++--------------------
>  4 files changed, 86 insertions(+), 75 deletions(-)

Acked-by: Petr Pavlu <[email protected]> # modules

-- Petr

Reply via email to