Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp12211347imu; Tue, 1 Jan 2019 17:42:33 -0800 (PST) X-Google-Smtp-Source: AFSGD/Xp6eleCEi/yEOq4JNhnB+uYs/6MZKX8kXuILVEpaSL5unrG21qb3q6Oh/5kVsJMHzgGcsZ X-Received: by 2002:a62:345:: with SMTP id 66mr42732189pfd.189.1546393353096; Tue, 01 Jan 2019 17:42:33 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1546393353; cv=none; d=google.com; s=arc-20160816; b=SusstJB/6ECgVwyHfomHlPjkezeVOx0Aw5nYk8g0OUzc0XMWbN8f0xizatJv3Wk108 W5q5bxXxs/LX9J/m0P66dBRWczZM81a8HKI0oAg5M590ycmEf28z5N5YHxw6pIjb590Y YLDdckda0c4Yz9VcGBBrx/HJpg8TrT8V77Ryffkp675LW4/+IcDDZovELvDxtNiu258k BREWKiYD0kjLa+EIgaNMRqHAgCw/3zZI42hZCPLH6tmX8aDkCfK86ofgnMFvuucgVkLi /lCdM9V5P283A88DeJMo7XuYqnDsJaj1CrHGVIDW3huED+F7mk66AFvZokQUKgON7IIv exaw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from; bh=r1i2fkU7yO6iN1lUVkQlAI/8K7ztdA+P3d5ImwC+Cv0=; b=QeWNSEOi35tgZW10HI/QpJzPqteYjocecbXABJsynlURE3CcQ0JcDzCx9QoCuw2Goh 0elT3wmfNz/9SLtgrcPNFhFC60GnGsnMHqwEj/mLgNqhvnMgkCZNcVRRpVYyJ6WNswfg 0dimyJP63yc6DyFlpOEuZibJZzvgwaeRYG984wUVPlz/EqlYuNVINWqniy6cAWq3xc2N kgKxAv0AWQPjlO8hMClH7OB164UqXDQsiT8RV1pHjlq2mFNwCFT7kOLp22ouzmNziV8t rlRjqHH9jndSaaHeDVqNMWmyVX/HWmxj3kGHyLlhFWSY3SN3+qOmIvFiRLiwfyi6Y2Z8 ADcg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id t3si17332766pgg.403.2019.01.01.17.42.15; Tue, 01 Jan 2019 17:42:33 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728081AbfABBEY (ORCPT + 99 others); Tue, 1 Jan 2019 20:04:24 -0500 Received: from smtp2207-205.mail.aliyun.com ([121.197.207.205]:57084 "EHLO smtp2207-205.mail.aliyun.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726277AbfABBEX (ORCPT ); Tue, 1 Jan 2019 20:04:23 -0500 X-Alimail-AntiSpam: AC=CONTINUE;BC=0.07561604|-1;CH=green;FP=17056299853541838585|1|1|5|0|-1|-1|-1;HT=e02c03309;MF=liaoweixiong@allwinnertech.com;NM=1;PH=DS;RN=6;RT=6;SR=0;TI=SMTPD_---.DgGqrkE_1546391044; Received: from PC-liaoweixiong.allwinnertech.com(mailfrom:liaoweixiong@allwinnertech.com fp:SMTPD_---.DgGqrkE_1546391044) by smtp.aliyun-inc.com(10.147.42.253); Wed, 02 Jan 2019 09:04:20 +0800 From: liaoweixiong To: Kees Cook , Anton Vorontsov , Colin Cross , Tony Luck Cc: linux-kernel@vger.kernel.org, liaoweixiong Subject: [RFC v2 2/2] pstore/rom: add sample for pstore_rom Date: Wed, 2 Jan 2019 09:03:58 +0800 Message-Id: <1546391038-31967-3-git-send-email-liaoweixiong@allwinnertech.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1546391038-31967-1-git-send-email-liaoweixiong@allwinnertech.com> References: <1546391038-31967-1-git-send-email-liaoweixiong@allwinnertech.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org It is a sample for pstore_rom, using general ram rather than block device. According to pstore_rom, the data will be saved to ram buffer if not register device path and apis for panic. So, it can only used to dump Oops and some things will not reboot. Signed-off-by: liaoweixiong --- fs/pstore/Kconfig | 9 +++++++++ fs/pstore/Makefile | 2 ++ fs/pstore/rombuf.c | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 57 insertions(+) create mode 100644 fs/pstore/rombuf.c diff --git a/fs/pstore/Kconfig b/fs/pstore/Kconfig index abf0453..426b5ea 100644 --- a/fs/pstore/Kconfig +++ b/fs/pstore/Kconfig @@ -159,3 +159,12 @@ config PSTORE_ROM help This enables panic and oops message to be logged to a block dev where it can be read back at some later point. + +config PSTORE_ROMBUF + tristate "romoop buffer sample" + depends on PSTORE_ROM + help + This is a sample for pstore rom, but do NOT have a block dev. + According to pstore_rom, the data will be saved to ram buffer and + dropped when reboot. So, it can only used to dump Oops and some + things will not reboot. diff --git a/fs/pstore/Makefile b/fs/pstore/Makefile index ea38d6e..21c1226 100644 --- a/fs/pstore/Makefile +++ b/fs/pstore/Makefile @@ -15,3 +15,5 @@ obj-$(CONFIG_PSTORE_RAM) += ramoops.o obj-$(CONFIG_PSTORE_ROM) += romoops.o romoops-y += romzone.o + +obj-$(CONFIG_PSTORE_ROMBUF) += rombuf.o diff --git a/fs/pstore/rombuf.c b/fs/pstore/rombuf.c new file mode 100644 index 0000000..bb21a85 --- /dev/null +++ b/fs/pstore/rombuf.c @@ -0,0 +1,46 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * + * rombuf.c: ROM Oops/Panic logger + * + * Copyright (C) 2019 liaoweixiong + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + */ +#define pr_fmt(fmt) "rombuf: " fmt + +#include +#include +#include + +struct romz_info rombuf_info = { + .owner = THIS_MODULE, + .name = "rombuf", + .part_size = 512 * 1024, + .dmesg_size = 64 * 1024, + .dump_oops = true, +}; + +static int __init rombuf_init(void) +{ + return romz_register(&rombuf_info); +} +module_init(rombuf_init); + +static void __exit rombuf_exit(void) +{ + romz_unregister(&rombuf_info); +} +module_exit(rombuf_exit); + +MODULE_LICENSE("GPL"); +MODULE_AUTHOR("liaoweixiong "); +MODULE_DESCRIPTION("Sample for Pstore ROM with Oops logger"); -- 1.9.1