public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Paul Menzel <paulepanter@users.sourceforge.net>
To: Kay Sievers <kay@vrfy.org>
Cc: Umut Tezduyar Lindskog <umut@tezduyar.com>,
	systemd-devel@lists.freedesktop.org, coreboot@coreboot.org,
	grub-devel@gnu.org, seabios@seabios.org, syslinux@zytor.com,
	linux-kernel@vger.kernel.org
Subject: Read and publish firmware time stamps and boot time (was: [systemd-devel] bootloader time on a non-EFI bootloader)
Date: Mon, 06 Apr 2015 23:13:15 +0200	[thread overview]
Message-ID: <1428354795.3395.421.camel@users.sourceforge.net> (raw)
In-Reply-To: <CAPXgP13ppfQ2CoO0PchDCN6JttUUJ5eqSEHuShw+JTr+mFR17w@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 2457 bytes --]

[CC’ing coreboot, GRUB, SeaBIOS, Syslinux project and Linux kernel]

Am Montag, den 16.03.2015, 11:38 +0100 schrieb Kay Sievers:
> On Mon, Mar 16, 2015 at 11:29 AM, Umut Tezduyar Lindskog wrote:
> > I would like to pass the time it was spent in bootloader to systemd.
> > Is there a kernel command line to pass this information on non EFI
> > bootloader? Or is there an another way?
> 
> No, there isn't anything I know of.
> 
> The kernel boot protocol should probably be extended to accept a block
> of values to be passed from the loader to the OS, and be exported
> somewhere by the kernel itself to userspace.
> 
> Overloading the kernel command line with that does not sound like the
> right approach. We should not support anything like that from systemd.

Could that approach please be discussed with all firmware, payload and
firmware projects? For example, coreboot (and the depthcharge payload
used on Chromebooks and Chromeboxes) already store the time stamps in
its CBMEM, which can be read with the utility `cbmem` with `cbmem -t`
[1] or with GRUB’s `coreboot_boottime` command.

        10 entries total:

          10:start of ramstage             9
          30:device enumeration            441 (432)
          40:device configuration          95,357 (94,915)
          50:device enable                 99,275 (3,918)
          60:device initialization         109,246 (9,971)
          70:device setup done             181,906 (72,659)
          75:cbmem post                    182,274 (368)
          80:write tables                  182,276 (2)
          90:load payload                  183,873 (1,597)
          99:selfboot jump                 283,779 (99,905)

GRUB also has a `boottime` command outputting times like how long a
module needed to load.

One approach would be, that the Linux kernel has drivers to read the
different implementations on how to store the boot time and then exports
those to userspace.

The other approach, and probably more feasible one, is that all firmware
projects use the same standard/specification.

What is actually needed? Are pairs of

        project, stage name, time in milliseconds since start of program

where each project gets assigned a unique ID. Do you need more data?


Thanks,

Paul


[1] http://review.coreboot.org/gitweb?p=coreboot.git;a=blob;f=util/cbmem/cbmem.c;h=4314d3077f2f657190d9afd63234d9621c59eb91;hb=HEAD

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

       reply	other threads:[~2015-04-06 21:52 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CAFKnvs4Wd3jT0Pd2kHaBv+2QdSPGKwBCPQ1p9zaw_fXhQ16kKw@mail.gmail.com>
     [not found] ` <CAPXgP13ppfQ2CoO0PchDCN6JttUUJ5eqSEHuShw+JTr+mFR17w@mail.gmail.com>
2015-04-06 21:13   ` Paul Menzel [this message]
2015-04-07 22:59     ` [syslinux] Read and publish firmware time stamps and boot time H. Peter Anvin

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=1428354795.3395.421.camel@users.sourceforge.net \
    --to=paulepanter@users.sourceforge.net \
    --cc=coreboot@coreboot.org \
    --cc=grub-devel@gnu.org \
    --cc=kay@vrfy.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=seabios@seabios.org \
    --cc=syslinux@zytor.com \
    --cc=systemd-devel@lists.freedesktop.org \
    --cc=umut@tezduyar.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: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox