linux-man.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Michael Kerrisk <mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: "Eric W. Biederman" <ebiederm-aS9lmoZGLiVWk0Htik3J/w@public.gmane.org>
Cc: Andi Kleen <andi-Vw/NltI1exuRpAAqCnN02g@public.gmane.org>,
	linux-man-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Kexec Mailing List
	<kexec-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org>
Subject: Re: [PATCH] kexec_load manpage
Date: Sun, 31 Oct 2010 07:19:13 +0100	[thread overview]
Message-ID: <AANLkTimdXb0g0zVKGtCwwO0uBjzWidXAwSxPuxbcjyDP@mail.gmail.com> (raw)
In-Reply-To: <m1mxuqu8yr.fsf-+imSwln9KH6u2/kzUuoCbdi2O/JbrIOy@public.gmane.org>

Hello Eric,

On Sat, Jun 19, 2010 at 9:18 PM, Eric W. Biederman
<ebiederm-aS9lmoZGLiVWk0Htik3J/w@public.gmane.org> wrote:
> Andi Kleen <andi-Vw/NltI1exuRpAAqCnN02g@public.gmane.org> writes:
>
>> Here are the beginnings of a kexec_load manpage.
>>
>> Probably needs some more review from Eric and may need some additional
>> information.
>>
>> The syscall is actually only usable with a kernel patch to export
>> the header I just sent separately.
>
> The syscall has been used for years with a separate non-kernel header.
>
>
> Eric
>
>
>> Also added the kexec subcall to reboot(2)
>>
>> -Andi
>>
>> diff --git a/man2/kexec_load.2 b/man2/kexec_load.2
>> new file mode 100644
>> index 0000000..f486641
>> --- /dev/null
>> +++ b/man2/kexec_load.2
>> @@ -0,0 +1,94 @@
>> +.TH KEXEC_LOAD 2 2010-06-16 "Linux" "Linux Programmer's Manual"
>> +.SH NAME
>> +kexec_load \- Load a new kernel for later execution.
>> +.SH SYNOPSIS
>> +.b #include <linux/kexec.h>
>> +.br
>> +.BI "long kexec_load(unsigned long " entry ", unsigned long " nr_segments ","
>> +.br
>> +.BI       "struct kexec_segment *" segments ", unsigned long " flags ");"
>> +.SH DESCRIPTION
>> +.BR kexec_load
>> +loads a new kernel that can be executed later
>> +by
>> +.I reboot(2).
>> +An alternative approach is to specify
>> +.B KEXEC_ON_CRASH
>> +in the
>> +.I flags
>> +argument and then the new kernel will be automatically executed on a
>> +system crash.
>> +.\" XXX figure out how this is really used
>> +With
>> +.B KEXEC_PRESERVE_CONTEXT
>> +specified in
>> +.I flags
>> +kexec will preserve the system hard and
>> +software state before executing the kexec kernel. This
>> +could be used for system suspend.
>> +
>> +.I flags
>> +also contains the architecture of the executed kernel or
>> +be
>> +.I KEXEC_ARCH_DEFAULT
>> +for the current architecture.
>> +Valid architectures are
>> +.I KEXEC_ARCH_I386,
>> +.I KEXEC_ARCH_X86_64,
>> +.I KEXEC_ARCH_PPC,
>> +.I KEXEC_ARCH_PPC64,
>> +.I KEXEC_ARCH_IA_64,
>> +.I KEXEC_ARCH_ARM,
>> +.I KEXEC_ARCH_S390,
>> +.I KEXEC_ARCH_SH,
>> +.I KEXEC_ARCH_MIPS,
>> +.I KEXEC_ARCH_MIPS_LE.
>> +The architecture must be executable on the CPU of the system.
>> +
>> +.I entry
>> +is the virtual entry address in the kernel image.
>
> Physical.

Changed.

>> +.I nr_segments
>> +is the number of segments pointed to by the
>> +.I segments
>> +pointer.
>> +.I segments
>> +is an array of
>> +.I struct kexec_segment
>> +structures which define the kernel layout:
>> +.in +4n
>> +.nf
>> +
>> +struct kexec_segment {
>> +     void   *buf;    /* Buffer in user space */
>> +     size_t  bufsz;  /* Buffer length in user space */
>> +     void   *mem;    /* Virtual address of kernel */
>> +     size_t  memsz;  /* Virtual address length */
>
> There are again physical addresses.

Changed.

Thanks,

Michael

> There is an expectation that at hand off from sys_kexec that
> virtual and physical addresses will be identity mapped.  But
> this isn't the old Alpha booting convention where you have
> a virtual address and then you have to parse the page table
> to figure out where your kernel was actually loaded.

-- 
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Author of "The Linux Programming Interface"; http://man7.org/tlpi/
--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2010-10-31  6:19 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-06-19 13:26 [PATCH] kexec_load manpage Andi Kleen
     [not found] ` <20100619132633.GA24277-u0/ZJuX+froe6aEkudXLsA@public.gmane.org>
2010-06-19 19:18   ` Eric W. Biederman
     [not found]     ` <m1mxuqu8yr.fsf-+imSwln9KH6u2/kzUuoCbdi2O/JbrIOy@public.gmane.org>
2010-06-19 19:45       ` Andi Kleen
     [not found]         ` <20100619194532.GQ18946-u0/ZJuX+froe6aEkudXLsA@public.gmane.org>
2010-10-31  6:19           ` Michael Kerrisk
     [not found]             ` <AANLkTi=eT_6UjgLsrOtQt833xeTOkjDvHXvd=xbEZ34c-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-10-31  6:58               ` Simon Horman
2010-06-26 13:23       ` Michael Kerrisk
     [not found]         ` <AANLkTillNx5owgU4O71izNz9FEL06MiI-FquTZ3ofktP-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-09-11  4:46           ` Michael Kerrisk
     [not found]             ` <AANLkTi=HKMce2UojSRmqVdoLO3H4v+6Xtp-bgFuHwH+D-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-10-24 14:56               ` Michael Kerrisk
2010-10-24 21:38                 ` Andi Kleen
     [not found]                   ` <20101024213802.GB9922-u0/ZJuX+froe6aEkudXLsA@public.gmane.org>
2010-10-28 12:14                     ` Simon Horman
     [not found]                       ` <20101028121417.GD16206-/R6kz+dDXgpPR4JQBCEnsQ@public.gmane.org>
2010-10-28 12:25                         ` Andi Kleen
     [not found]                           ` <20101028122540.GA29759-u0/ZJuX+froe6aEkudXLsA@public.gmane.org>
2010-10-30  2:36                             ` Simon Horman
2010-10-31  6:40                             ` Michael Kerrisk
2010-10-31  6:19       ` Michael Kerrisk [this message]
2010-10-31  6:14   ` Michael Kerrisk

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=AANLkTimdXb0g0zVKGtCwwO0uBjzWidXAwSxPuxbcjyDP@mail.gmail.com \
    --to=mtk.manpages-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
    --cc=andi-Vw/NltI1exuRpAAqCnN02g@public.gmane.org \
    --cc=ebiederm-aS9lmoZGLiVWk0Htik3J/w@public.gmane.org \
    --cc=kexec-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=linux-man-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    /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;
as well as URLs for NNTP newsgroup(s).