-
Notifications
You must be signed in to change notification settings - Fork 7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
logging: syst: add support for catalog messages #42500
logging: syst: add support for catalog messages #42500
Conversation
The following west manifest projects have been modified in this Pull Request:
Note: This message is automatically posted and updated by the Manifest GitHub Action. |
3236e84
to
b1a468b
Compare
9331a2e
to
d7b00d3
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One nitpick on the linkage stuff. Everything else looks great to me, but then I'm not a logging expert so apply salt.
d5ad69f
to
126b98a
Compare
683e4f9
to
1148f44
Compare
5324d7b
to
fa3dc46
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, generally good looking.
A couple of minor nits.
fa3dc46
to
d8e7d9a
Compare
d8e7d9a
to
829c440
Compare
829c440
to
95e78fb
Compare
This adds a field to z_log_msg2_runtime_create() to pass through packaging flags to cbprintf_package(). Signed-off-by: Daniel Leung <[email protected]>
95e78fb
to
de77d8a
Compare
This adds some bits to support tagged arguments to be used for packaging. If enabled, the packaging function no longer looks at the format strings to determine the types of arguments, but instead, each argument is tagged with a type by preceding it with another argument as type (integer). This allows the format strings to be removed from the final binary to conserve space. Signed-off-by: Daniel Leung <[email protected]>
The test test_mode_size_str_with_strings() is defined but was not added to the test suite, so it never ran before. Add this to the suite so this can be tested. Signed-off-by: Daniel Leung <[email protected]>
This adds support for runtime packaging with tagged arguments so that cbvprintf_package() can function without the format strings in memory. This allows the format strings to be removed from final binary to converse space. Signed-off-by: Daniel Leung <[email protected]>
This adds a few bits to support testing for runtime tagged arguments when CONFIG_LOG2_RUNTIME_USE_TAGGED_ARGUMENTS is enabled. Signed-off-by: Daniel Leung <[email protected]>
This adds a few bits to support testing for runtime tagged arguments when CONFIG_LOG2_RUNTIME_USE_TAGGED_ARGUMENTS is enabled. Signed-off-by: Daniel Leung <[email protected]>
The MIPI Sys-T library can now take a format string with a variable argument list so there is no need for the temporary buffer anymore. This saves some stack space in v1 immediate mode. Signed-off-by: Daniel Leung <[email protected]>
Fixes some easy pylint warnings. Signed-off-by: Daniel Leung <[email protected]>
This changes the database generation to actually extracting individual strings instead of stuffing the whole binary sections into the database. This allows the generation script to be extended to accommodate more output formats. Note that if CONFIG_LOG2_FMT_SECTION is enabled, the format strings are in log_strings_sections, and also have associated debug symbols in DWARF. So there is no need to manually extract them. Signed-off-by: Daniel Leung <[email protected]>
This changes the script to allow output format to be specified. Currently, only JSON is support. This will allow supporting other formats in the future. Signed-off-by: Daniel Leung <[email protected]>
Compilers often combine strings to conserve space, if one string is a perfect substring of another one towards the end. So add another string in the test to make sure dictionary logging is still working correctly under this scenario. Signed-off-by: Daniel Leung <[email protected]>
This adds the ability to the dictionary logging database generation script to output MIPI Sys-T collateral in XML. This will allow usage of catalog logging under Sys-T, which is similar to dictionary logging. Signed-off-by: Daniel Leung <[email protected]>
This updates the mipi-sys-t module to support prepared argument list for catalog messages. Signed-off-by: Daniel Leung <[email protected]>
MIPI Sys-T catalog messages are similar to dictionary logging where an ID is emitted instead of the whole format string to minimize log data. This adds the necessary bits to determine when to emit catalog messages. Signed-off-by: Daniel Leung <[email protected]>
Compilers often combine strings to conserve space, if one string is a perfect substring of another one towards the end. So add another string in the test to make sure sys-t with catalog messages is still working correctly under this scenario. Signed-off-by: Daniel Leung <[email protected]>
This adds qemu_x86_64 and qemu_cortex_a53 to make sure 64-bit support for Sys-T is not broken in the future. Signed-off-by: Daniel Leung <[email protected]>
This adds to sample.yaml to build for MIPI Sys-T catalog message support. Signed-off-by: Daniel Leung <[email protected]>
de77d8a
to
e4930a5
Compare
This won't work in C++... so need to start over. |
MIPI Sys-T catalog messages are similar to dictionary logging where an ID is emitted instead of the whole format string to minimize log data. This adds the necessary bits to determine when to emit catalog messages.
This also changes how the collateral file for dictionary logging is created.
See individual commits for details.