From: Russell King - ARM Linux <linux@arm.linux.org.uk> To: "Pali Rohár" <pali.rohar@gmail.com> Cc: Rob Herring <robherring2@gmail.com>, Pavel Machek <pavel@ucw.cz>, Will Deacon <will.deacon@arm.com>, Ivaylo Dimitrov <ivo.g.dimitrov.75@gmail.com>, Sebastian Reichel <sre@debian.org>, "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, "linux-arm-kernel@lists.infradead.org" <linux-arm-kernel@lists.infradead.org>, Tony Lindgren <tony@atomide.com> Subject: Re: [PATCH] ARM: /proc/atags: Export also for DT Date: Tue, 27 Jan 2015 17:48:18 +0000 [thread overview] Message-ID: <20150127174818.GM26493@n2100.arm.linux.org.uk> (raw) In-Reply-To: <201501271532.25540@pali> On Tue, Jan 27, 2015 at 03:32:25PM +0100, Pali Rohár wrote: > On Tuesday 27 January 2015 15:16:45 Rob Herring wrote: > > What other devices? Where is bootreason in the list of ATAGS: > > > > #define ATAG_MEM 0x54410002 > > #define ATAG_VIDEOTEXT 0x54410003 > > #define ATAG_RAMDISK 0x54410004 > > #define ATAG_INITRD 0x54410005 > > #define ATAG_INITRD2 0x54420005 > > #define ATAG_SERIAL 0x54410006 > > #define ATAG_REVISION 0x54410007 > > #define ATAG_VIDEOLFB 0x54410008 > > #define ATAG_CMDLINE 0x54410009 > > #define ATAG_ACORN 0x41000101 > > #define ATAG_MEMCLK 0x41000402 > > > > Rob > > Each device is using own proprietary atag (or other information) > to pass bootreason from bootloader to kernel. No standard way :-( The reason that happens is because people refuse to discuss their requirements here - just like people refuse to report userspace API regressions to kernel people. This rather pisses me off, because it creates all sorts of horrid per-platform yuck. We _could_ (and have in the past) turned round and refused to support these kinds of hacks - which IMHO is quite a reasonable stance to take: the message we should be sending is "if you wish to design new methods without discussing it with us, we reserve the right not to support them in mainline kernels; please discuss with us your requirements." Each time that we accept one of these hacks, we're sending a message that says "it's okay to work in this crappy way". Yes, I realise that the N900 has little in the way of support, and we can't exert that kind of back pressure (since there's no one to direct that onto to effect any change) so I guess we just have to live with it. > I think this kind of information (how was board/computer started) > can be useful also for other architectures. E.g. on laptop you > would like to know if if was started by RTC, power button, > WakeOnLan, another ACPI event, rebooted machine, watchdog, etc... > And scripts can act depending on this event (when by RTC, you > need to run some planned job, when by watchdog reset you should > check what caused that reason...). There is a standard way to get the boot information already: look at the watchdog API: #define WDIOC_GETBOOTSTATUS _IOR(WATCHDOG_IOCTL_BASE, 2, int) which uses the WDIOF_* flags to indicate the last boot reason. It probably isn't as flexible as some may desire, but it should provide at least the "watchdog rebooted us" vs "over temperature" vs some other boot reason. The other thing to consider is whether we have a way to know what the boot reason was, and what we should do if we do not have a way of supporting some of the boot reasons. For example, if we have support for RTC alarm based booting, but no way to actually tell if the boot was caused by the RTC alarm triggering. -- FTTC broadband for 0.8mile line: currently at 10.5Mbps down 400kbps up according to speedtest.net.
WARNING: multiple messages have this Message-ID (diff)
From: linux@arm.linux.org.uk (Russell King - ARM Linux) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH] ARM: /proc/atags: Export also for DT Date: Tue, 27 Jan 2015 17:48:18 +0000 [thread overview] Message-ID: <20150127174818.GM26493@n2100.arm.linux.org.uk> (raw) In-Reply-To: <201501271532.25540@pali> On Tue, Jan 27, 2015 at 03:32:25PM +0100, Pali Roh?r wrote: > On Tuesday 27 January 2015 15:16:45 Rob Herring wrote: > > What other devices? Where is bootreason in the list of ATAGS: > > > > #define ATAG_MEM 0x54410002 > > #define ATAG_VIDEOTEXT 0x54410003 > > #define ATAG_RAMDISK 0x54410004 > > #define ATAG_INITRD 0x54410005 > > #define ATAG_INITRD2 0x54420005 > > #define ATAG_SERIAL 0x54410006 > > #define ATAG_REVISION 0x54410007 > > #define ATAG_VIDEOLFB 0x54410008 > > #define ATAG_CMDLINE 0x54410009 > > #define ATAG_ACORN 0x41000101 > > #define ATAG_MEMCLK 0x41000402 > > > > Rob > > Each device is using own proprietary atag (or other information) > to pass bootreason from bootloader to kernel. No standard way :-( The reason that happens is because people refuse to discuss their requirements here - just like people refuse to report userspace API regressions to kernel people. This rather pisses me off, because it creates all sorts of horrid per-platform yuck. We _could_ (and have in the past) turned round and refused to support these kinds of hacks - which IMHO is quite a reasonable stance to take: the message we should be sending is "if you wish to design new methods without discussing it with us, we reserve the right not to support them in mainline kernels; please discuss with us your requirements." Each time that we accept one of these hacks, we're sending a message that says "it's okay to work in this crappy way". Yes, I realise that the N900 has little in the way of support, and we can't exert that kind of back pressure (since there's no one to direct that onto to effect any change) so I guess we just have to live with it. > I think this kind of information (how was board/computer started) > can be useful also for other architectures. E.g. on laptop you > would like to know if if was started by RTC, power button, > WakeOnLan, another ACPI event, rebooted machine, watchdog, etc... > And scripts can act depending on this event (when by RTC, you > need to run some planned job, when by watchdog reset you should > check what caused that reason...). There is a standard way to get the boot information already: look at the watchdog API: #define WDIOC_GETBOOTSTATUS _IOR(WATCHDOG_IOCTL_BASE, 2, int) which uses the WDIOF_* flags to indicate the last boot reason. It probably isn't as flexible as some may desire, but it should provide at least the "watchdog rebooted us" vs "over temperature" vs some other boot reason. The other thing to consider is whether we have a way to know what the boot reason was, and what we should do if we do not have a way of supporting some of the boot reasons. For example, if we have support for RTC alarm based booting, but no way to actually tell if the boot was caused by the RTC alarm triggering. -- FTTC broadband for 0.8mile line: currently at 10.5Mbps down 400kbps up according to speedtest.net.
next prev parent reply other threads:[~2015-01-27 17:48 UTC|newest] Thread overview: 197+ messages / expand[flat|nested] mbox.gz Atom feed top 2014-06-18 16:54 [PATCH] ARM: /proc/cpuinfo: Use DT machine name when possible Pali Rohár 2014-06-18 16:54 ` Pali Rohár 2014-06-18 19:01 ` Russell King - ARM Linux 2014-06-18 19:01 ` Russell King - ARM Linux 2014-06-18 19:09 ` Pali Rohár 2014-06-18 19:09 ` Pali Rohár 2014-06-18 19:59 ` Russell King - ARM Linux 2014-06-18 19:59 ` Russell King - ARM Linux 2014-06-19 8:21 ` Pavel Machek 2014-06-19 8:21 ` Pavel Machek 2014-07-11 19:31 ` Pavel Machek 2014-07-11 19:31 ` Pavel Machek 2014-06-18 19:07 ` Rob Herring 2014-06-18 19:07 ` Rob Herring 2014-06-18 19:22 ` Pali Rohár 2014-06-18 19:22 ` Pali Rohár 2014-06-18 20:00 ` Russell King - ARM Linux 2014-06-18 20:00 ` Russell King - ARM Linux 2014-06-18 20:20 ` Pali Rohár 2014-06-18 20:20 ` Pali Rohár 2014-06-18 21:53 ` Fabio Estevam 2014-06-18 21:53 ` Fabio Estevam 2014-11-24 22:16 ` Pali Rohár 2014-11-24 22:16 ` Pali Rohár 2014-06-18 20:46 ` Rob Herring 2014-06-18 20:46 ` Rob Herring 2014-06-18 21:47 ` Russell King - ARM Linux 2014-06-18 21:47 ` Russell King - ARM Linux 2014-06-18 22:27 ` Rob Herring 2014-06-18 22:27 ` Rob Herring 2014-06-18 23:07 ` Russell King - ARM Linux 2014-06-18 23:07 ` Russell King - ARM Linux 2014-11-24 22:19 ` Pali Rohár 2014-11-24 22:19 ` Pali Rohár 2014-12-04 0:33 ` Rob Herring 2014-12-04 0:33 ` Rob Herring 2014-12-04 0:48 ` Pali Rohár 2014-12-04 0:48 ` Pali Rohár 2014-12-04 16:49 ` Rob Herring 2014-12-04 16:49 ` Rob Herring 2014-12-04 17:57 ` Pali Rohár 2014-12-04 17:57 ` Pali Rohár 2014-12-04 18:10 ` Rob Herring 2014-12-04 18:10 ` Rob Herring 2015-01-26 19:09 ` [PATCH] ARM: /proc/cpuinfo: DT: Add support for Revision Pali Rohár 2015-01-26 19:09 ` Pali Rohár 2015-01-26 20:22 ` Rob Herring 2015-01-26 20:22 ` Rob Herring 2015-01-30 14:14 ` Pali Rohár 2015-01-30 14:14 ` Pali Rohár 2015-01-30 21:03 ` Rob Herring 2015-01-30 21:03 ` Rob Herring 2015-02-27 15:45 ` Pali Rohár 2015-02-27 15:45 ` Pali Rohár 2015-02-27 15:55 ` [PATCH v2 0/2] " Pali Rohár 2015-02-27 15:55 ` Pali Rohár 2015-02-27 15:55 ` [PATCH v2 1/2] arm: devtree: Set system_rev from DT revision Pali Rohár 2015-02-27 15:55 ` Pali Rohár 2015-02-27 15:55 ` [PATCH v2 2/2] arm: boot: convert ATAG_REVISION to DT revision field Pali Rohár 2015-02-27 15:55 ` Pali Rohár 2015-03-02 11:28 ` [PATCH v2 0/2] ARM: /proc/cpuinfo: DT: Add support for Revision Pavel Machek 2015-03-02 11:28 ` Pavel Machek 2015-03-16 15:44 ` Tony Lindgren 2015-03-16 15:44 ` Tony Lindgren 2015-03-16 16:14 ` Russell King - ARM Linux 2015-03-16 16:14 ` Russell King - ARM Linux 2015-03-16 16:43 ` Nicolas Pitre 2015-03-16 16:43 ` Nicolas Pitre 2015-03-16 19:21 ` Russell King - ARM Linux 2015-03-16 19:21 ` Russell King - ARM Linux 2015-03-16 18:10 ` Tony Lindgren 2015-03-16 18:10 ` Tony Lindgren 2015-03-16 19:59 ` Russell King - ARM Linux 2015-03-16 19:59 ` Russell King - ARM Linux 2015-03-16 20:54 ` Pali Rohár 2015-03-16 20:54 ` Pali Rohár 2015-03-16 20:59 ` Tony Lindgren 2015-03-16 20:59 ` Tony Lindgren 2015-01-26 22:34 ` [PATCH] " Andreas Färber 2015-01-26 22:34 ` Andreas Färber 2015-02-27 15:56 ` Pali Rohár 2015-02-27 15:56 ` Pali Rohár 2015-01-26 19:16 ` [PATCH] ARM: /proc/atags: Export also for DT Pali Rohár 2015-01-26 19:16 ` Pali Rohár 2015-01-26 20:33 ` Rob Herring 2015-01-26 20:33 ` Rob Herring 2015-01-27 13:21 ` Pavel Machek 2015-01-27 13:21 ` Pavel Machek 2015-01-27 14:16 ` Rob Herring 2015-01-27 14:16 ` Rob Herring 2015-01-27 14:24 ` Pavel Machek 2015-01-27 14:24 ` Pavel Machek 2015-01-27 14:32 ` Pali Rohár 2015-01-27 14:32 ` Pali Rohár 2015-01-27 17:48 ` Russell King - ARM Linux [this message] 2015-01-27 17:48 ` Russell King - ARM Linux 2015-01-27 20:03 ` Nicolas Pitre 2015-01-27 20:03 ` Nicolas Pitre 2015-01-27 21:09 ` Russell King - ARM Linux 2015-01-27 21:09 ` Russell King - ARM Linux 2015-01-27 21:34 ` Nicolas Pitre 2015-01-27 21:34 ` Nicolas Pitre 2015-01-27 21:58 ` Nicolas Pitre 2015-01-27 21:58 ` Nicolas Pitre 2015-01-27 22:33 ` Russell King - ARM Linux 2015-01-27 22:33 ` Russell King - ARM Linux 2015-01-28 2:07 ` Nicolas Pitre 2015-01-28 2:07 ` Nicolas Pitre 2015-01-28 6:21 ` Jean-Christophe PLAGNIOL-VILLARD 2015-01-28 6:21 ` Jean-Christophe PLAGNIOL-VILLARD 2015-01-28 7:19 ` Pavel Machek 2015-01-28 7:19 ` Pavel Machek 2015-01-28 8:06 ` Jean-Christophe PLAGNIOL-VILLARD 2015-01-28 8:06 ` Jean-Christophe PLAGNIOL-VILLARD 2015-01-28 8:25 ` Pavel Machek 2015-01-28 8:25 ` Pavel Machek 2015-01-28 7:18 ` Pavel Machek 2015-01-28 7:18 ` Pavel Machek 2015-01-28 13:38 ` Pali Rohár 2015-01-28 13:38 ` Pali Rohár 2015-01-27 23:10 ` Pavel Machek 2015-01-27 23:10 ` Pavel Machek 2015-01-28 0:50 ` Tony Lindgren 2015-01-28 0:50 ` Tony Lindgren 2015-01-28 13:58 ` Pali Rohár 2015-01-28 13:58 ` Pali Rohár 2015-01-28 14:33 ` Nicolas Pitre 2015-01-28 15:39 ` Tony Lindgren 2015-01-28 15:39 ` Tony Lindgren 2015-01-28 15:47 ` Pali Rohár 2015-01-28 15:47 ` Pali Rohár 2015-01-28 15:48 ` Tony Lindgren 2015-01-28 15:48 ` Tony Lindgren 2015-01-28 16:31 ` Jason Cooper 2015-01-28 16:31 ` Jason Cooper 2015-01-28 15:57 ` Rob Herring 2015-01-28 15:57 ` Rob Herring 2015-01-28 16:13 ` Russell King - ARM Linux 2015-01-28 16:13 ` Russell King - ARM Linux 2015-01-28 16:19 ` Will Deacon 2015-01-28 16:19 ` Will Deacon 2015-01-28 17:01 ` Russell King - ARM Linux 2015-01-28 17:01 ` Russell King - ARM Linux 2015-01-28 17:29 ` Russell King - ARM Linux 2015-01-28 17:29 ` Russell King - ARM Linux 2015-01-28 17:18 ` Pali Rohár 2015-01-28 17:18 ` Pali Rohár 2015-01-28 18:00 ` Jean-Christophe PLAGNIOL-VILLARD 2015-01-28 18:00 ` Jean-Christophe PLAGNIOL-VILLARD 2015-01-28 19:33 ` Pali Rohár 2015-01-28 19:33 ` Pali Rohár 2015-01-28 18:03 ` Pavel Machek 2015-01-28 18:03 ` Pavel Machek 2015-01-28 19:27 ` Arnd Bergmann 2015-01-28 19:27 ` Arnd Bergmann 2015-01-28 14:46 ` Jean-Christophe PLAGNIOL-VILLARD 2015-01-28 14:46 ` Jean-Christophe PLAGNIOL-VILLARD 2015-01-27 19:40 ` Nicolas Pitre 2015-01-27 19:40 ` Nicolas Pitre 2015-01-26 20:37 ` Russell King - ARM Linux 2015-01-26 20:37 ` Russell King - ARM Linux 2015-01-26 20:44 ` Pali Rohár 2015-01-26 20:44 ` Pali Rohár 2014-12-04 19:00 ` [PATCH] ARM: /proc/cpuinfo: Use DT machine name when possible Pali Rohár 2014-12-04 19:00 ` Pali Rohár 2014-12-04 10:59 ` Russell King - ARM Linux 2014-12-04 10:59 ` Russell King - ARM Linux 2014-06-18 21:10 ` Aaro Koskinen 2014-06-18 21:10 ` Aaro Koskinen 2014-07-11 19:28 ` Pavel Machek 2014-07-11 19:28 ` Pavel Machek 2014-11-24 22:21 ` Pali Rohár 2014-11-24 22:21 ` Pali Rohár 2014-09-05 11:38 ` Pali Rohár 2014-09-05 11:38 ` Pali Rohár 2014-09-05 12:13 ` Russell King - ARM Linux 2014-09-05 12:13 ` Russell King - ARM Linux 2014-09-10 12:46 ` Pavel Machek 2014-09-10 12:46 ` Pavel Machek 2014-11-24 22:23 ` Pali Rohár 2014-11-24 22:23 ` Pali Rohár 2014-09-05 13:45 ` Mark Rutland 2014-09-05 13:45 ` Mark Rutland 2014-09-05 13:52 ` Pali Rohár 2014-09-05 13:52 ` Pali Rohár 2014-09-05 13:58 ` Mark Rutland 2014-09-05 13:58 ` Mark Rutland 2014-11-24 22:25 ` Pali Rohár 2014-11-24 22:25 ` Pali Rohár 2014-09-05 13:58 ` Fabio Estevam 2014-09-05 13:58 ` Fabio Estevam 2014-11-24 22:27 ` Pali Rohár 2014-11-24 22:27 ` Pali Rohár 2014-09-06 15:34 ` Andreas Färber 2014-09-06 15:34 ` Andreas Färber 2014-11-24 22:29 ` Pali Rohár 2014-11-24 22:29 ` Pali Rohár
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20150127174818.GM26493@n2100.arm.linux.org.uk \ --to=linux@arm.linux.org.uk \ --cc=ivo.g.dimitrov.75@gmail.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=pali.rohar@gmail.com \ --cc=pavel@ucw.cz \ --cc=robherring2@gmail.com \ --cc=sre@debian.org \ --cc=tony@atomide.com \ --cc=will.deacon@arm.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.