mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: "Magnus Damm" <magnus.damm@gmail.com>
To: "Andi Kleen" <ak@suse.de>
Cc: "Magnus Damm" <magnus@valinux.co.jp>,
	fastboot@lists.osdl.org, linux-kernel@vger.kernel.org,
	ebiederm@xmission.com
Subject: Re: [Fastboot] [PATCH][RFC] x86_64: Reload CS when startup_64 is used.
Date: Mon, 21 Aug 2006 22:29:36 +0900	[thread overview]
Message-ID: <aec7e5c30608210629r4f2cf5dlfb1ad7d6cc95745d@mail.gmail.com> (raw)
In-Reply-To: <200608211219.09042.ak@suse.de>

On 8/21/06, Andi Kleen <ak@suse.de> wrote:
>
> >
> > +     /* Reload CS with a value that is within our GDT. We need to do this
> > +      * if we were loaded by a 64 bit bootloader that happened to use a
> > +      * CS that is larger than the GDT limit. This is true if we came here
> > +      * from kexec running under Xen.
> > +      */
> > +     movq    %rsp, %rdx
> > +     movq    $__KERNEL_DS, %rax
> > +     pushq   %rax /* SS */
> > +     pushq   %rdx /* RSP */
> > +     movq    $__KERNEL_CS, %rax
> > +     movq    $cs_reloaded, %rdx
> > +     pushq   %rax /* CS */
> > +     pushq   %rdx /* RIP */
> > +     lretq
>
> Can't you just use a normal far jump? That might be simpler.

I couldn't find a far jump that took a 64-bit address to jump to. But
I guess that the kernel will be loaded in the lowest 4G regardless so
I guess 32-bit pointers are ok, right? That will make it simpler for
sure.

What do you think about reloading CS? Is it the right thing to do, or
is it correct as it is today where we depend on that CS == _KERNEL_CS?
I need to fix kexec-tools regardless, but maybe it is a good idea to
make the 64-bit kernel boot a bit robust too.

Thanks,

/ magnus

  reply	other threads:[~2006-08-21 13:29 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-08-21  9:54 Magnus Damm
2006-08-21 10:19 ` Andi Kleen
2006-08-21 13:29   ` Magnus Damm [this message]
2006-08-21 14:16     ` [Fastboot] " Andi Kleen
2006-08-22  0:47       ` Magnus Damm
2006-08-21 14:17     ` Vivek Goyal
2006-08-21 14:24       ` Andi Kleen
2006-08-21 14:46         ` Vivek Goyal
2006-08-21 15:04           ` Andi Kleen
2006-08-21 20:02             ` Eric W. Biederman
2006-08-21 20:10               ` Andi Kleen
2006-08-21 21:00                 ` Eric W. Biederman
2006-08-21 21:02 ` Eric W. Biederman
2006-08-22  0:58   ` Magnus Damm
2006-08-22  3:41     ` Eric W. Biederman
2006-08-22  4:10       ` Magnus Damm
2006-08-22  8:03       ` Andi Kleen
2006-08-22  8:37         ` [PATCH] " Eric W. Biederman
2006-08-22  8:53           ` [Fastboot] " Magnus Damm
2006-08-22  9:25             ` Eric W. Biederman
2006-08-23  3:10               ` Magnus Damm
2006-08-22  9:01           ` Andi Kleen
2006-08-22  9:20             ` Eric W. Biederman

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=aec7e5c30608210629r4f2cf5dlfb1ad7d6cc95745d@mail.gmail.com \
    --to=magnus.damm@gmail.com \
    --cc=ak@suse.de \
    --cc=ebiederm@xmission.com \
    --cc=fastboot@lists.osdl.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=magnus@valinux.co.jp \
    /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

all inboxes | Powered by JetHome®