Jump to content

User:Faveoled2/ramoops for Samsung downstream

From postmarketOS Wiki

How to check whether you need the info on this page: go to fs/pstore/ram.c kernel source file and check for "memory-region" occurrences. If present, go ahead.

This is what a working ramoops setup looked like for such a kernel (Galaxy A30 downstream):

	reserved-memory {
		#address-cells = <2>;
		#size-cells = <1>;
		ranges;

		ramoops_mem: ramoops@880020000 {
			compatible = "shared-dma-pool";
			reg = <0x08 0x80020000 0x100000>;
			no-map;
		};

	};

	ramoops {
		compatible = "ramoops";
		memory-region = <&ramoops_mem>;
            
		record-size = <0x0 0x1000>;
		console-size = <0x0 0x1000>;
		pmsg-size = <0x0 0x1000>;
		ftrace-size  = <0x0 0x1000>;
	};

Note that address-cells and size-cells define layout of 0x values and these values may be different for your device.

With this setup you should expect these lines in dmesg:

# dmesg | grep ramoops
[    0.000000]  [0:        swapper:    0] Reserved memory: initialized node ramoops@880020000, compatible id shared-dma-pool
[    0.106970]  [7:      swapper/0:    1] pstore: Registered ramoops as persistent store backend
[    0.106980]  [7:      swapper/0:    1] ramoops: attached 0x100000@0x880020000, ecc: 0/0
[    0.945756]  [7:      swapper/0:    1] ramoops: probe of ramoops.0 failed with error -22

Not sure about the -22 error but worked with it present.