For #1, one possible fix would be to extend pr_cont() such as pr_cont_info() to pass a new corresponding printk level (e.g. '8'..'F'). And check the printk level of the previous ringbuffer, and if it's different, treat as a new line message. A fairly untested PoC patch is like below. But maybe better to wait for the response from Petr. There might be already more clever way.