The following series implements multiple pmsg. This feature allows userspace program to control individual content aging or priority.
If a pstore backend module(e.g. ramoops) requires the multiple pmsg instances when registering itself to pstore, multiple /dev/pmsg[ID] are created. Writes to each /dev/pmsg[ID] are isolated each other. After reboot, the contents are available in /sys/fs/pstore/pmsg-[backend]-[ID]. In addition, we add multiple pmsg support for ramoops. We can specify multiple pmsg area size by its module parameter as follows. pmsg_size=0x1000,0x2000,... I did check the operation of this feature on CycloneV (socfpga) Helio board. v5: Add commit: "pstore: Change parameter of ramoops_free_przs()" - I forgot addition to previous patch series. Update commit: "pstore: support multiple pmsg instances" - Fix comment. - Fix initialization of num_pmsg. v4: Rebase to 4.10-rc5 The following patches have been removed from this series as similar functions were modified by other commit. - pstore: Replace four kzalloc() calls by kcalloc() in ramoops_init_przs() - pstore: Change parameter of ramoops_free_przs() - pstore: Rename 'przs' to 'dprzs' in struct ramoops_context - ramoops: Rename ramoops_init_prz() to ramoops_init_dprzs() v3: Rebase to v4.8. Split patch. merged device_create(). Remove Blank lines. Update documentiation of DT binding. Update parsing function of ramoops_pmsg_size, add NULL termination. Update module parameters for pmsg_size list. Hiraku Toyooka (2): pstore: support multiple pmsg instances selftests/pstore: add testcases for multiple pmsg instances Nobuhiro Iwamatsu (3): pstore: Change parameter of ramoops_free_przs() ramoops: Add __ramoops_init_prz() as generic function ramoops: support multiple pmsg instances Documentation/admin-guide/ramoops.rst | 22 ++ .../bindings/reserved-memory/ramoops.txt | 6 +- fs/pstore/pmsg.c | 23 +- fs/pstore/ram.c | 317 ++++++++++++++++----- include/linux/pstore.h | 1 + include/linux/pstore_ram.h | 8 +- tools/testing/selftests/pstore/common_tests | 21 +- .../selftests/pstore/pstore_post_reboot_tests | 27 +- tools/testing/selftests/pstore/pstore_tests | 14 +- 9 files changed, 342 insertions(+), 97 deletions(-) -- 2.11.0