From: ebiederm@xmission.com (Eric W. Biederman)
To: Yinghai Lu <yinghai@kernel.org>
Cc: Haren Myneni <hbabu@us.ibm.com>,
Simon Horman <horms@verge.net.au>,
kexec@lists.infradead.org, Vivek Goyal <vgoyal@redhat.com>,
"H. Peter Anvin" <hpa@zytor.com>
Subject: Re: [PATCH 8/8] x86: put 64bit bzImage high
Date: Sat, 17 Nov 2012 00:43:51 -0800 [thread overview]
Message-ID: <876254zkjc.fsf@xmission.com> (raw)
In-Reply-To: <CAE9FiQWJaT9yfdV0rgV-5rM=BR4eX8sr+a99g8Ggf-+YkD8qgQ@mail.gmail.com> (Yinghai Lu's message of "Sat, 17 Nov 2012 00:24:03 -0800")
Yinghai Lu <yinghai@kernel.org> writes:
> On Fri, Nov 16, 2012 at 10:33 PM, Eric W. Biederman
> <ebiederm@xmission.com> wrote:
>> Yinghai Lu <yinghai@kernel.org> writes:
>>
>>> also need to make sure pass right 64bit start address to go there
>>> directly later.
>>
>> There are some silly things here but I think the clean way to handle
>> this is to create a kexec/arch/i386/kexec-bzImage64.c that handles
>> loading a bzImage with a 64bit entry point.
>>
>> That should keep the code simpler and easier to read. Although it will
>> probably introduce a bit more code.
>
> please check attached one with kexec-bzImage64.c
Yes that looks better.
So far I have just skimmed the code but this in particular is not
needed. We are going in via the 64bit entry point so there is no
point in ever allocating the real mode buffer in the low 640k.
+ if (info->kexec_flags & (KEXEC_ON_CRASH | KEXEC_PRESERVE_CONTEXT)) {
+ /* If using bzImage for capture kernel, then we will not be
+ * executing real mode code. setup segment can be loaded
+ * anywhere as we will be just reading command line.
+ */
+ setup_base = add_buffer(info, real_mode, setup_size, setup_size,
+ 16, 0x3000, -1, -1);
+ } else {
+ /* Careful setup_base must be greater than 8K */
+ setup_base = add_buffer(info, real_mode, setup_size, setup_size,
+ 16, 0x3000, 640*1024, 1);
+ }
That should be just;
+ /* No real mode code will be executing. setup segment can be loaded
+ * anywhere as we will be just reading the command line.
+ */
+ setup_base = add_buffer(info, real_mode, setup_size, setup_size,
+ 16, 0x3000, -1, -1);
Eric
_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec
next prev parent reply other threads:[~2012-11-17 8:44 UTC|newest]
Thread overview: 60+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-11-16 23:04 [PATCH 0/8] kexec: put bzImage and ramdisk above 4G for x86 64bit Yinghai Lu
2012-11-16 23:04 ` [PATCH 1/8] Add min/max macro Yinghai Lu
2012-11-16 23:04 ` [PATCH 2/8] x86: add boot header member for version 2.12 Yinghai Lu
2012-11-16 23:04 ` [PATCH 3/8] add mem64_min/max control Yinghai Lu
2012-11-17 6:18 ` Eric W. Biederman
2012-11-17 7:06 ` Yinghai Lu
2012-11-17 8:25 ` Eric W. Biederman
2012-11-17 20:04 ` Yinghai Lu
2012-11-17 20:41 ` H. Peter Anvin
2012-11-17 20:51 ` Yinghai Lu
2012-11-17 20:54 ` H. Peter Anvin
2012-11-18 0:44 ` Yinghai Lu
2012-11-18 4:34 ` H. Peter Anvin
2012-11-18 4:47 ` Eric W. Biederman
2012-11-18 4:55 ` H. Peter Anvin
2012-11-18 5:00 ` Eric W. Biederman
2012-11-18 5:14 ` H. Peter Anvin
2012-11-18 4:56 ` Yinghai Lu
2012-11-18 5:20 ` Eric W. Biederman
2012-11-18 5:35 ` Yinghai Lu
2012-11-18 5:39 ` Yinghai Lu
2012-11-18 5:58 ` Yinghai Lu
2012-11-18 6:11 ` Eric W. Biederman
2012-11-18 6:32 ` Yinghai Lu
2012-11-18 6:38 ` Yinghai Lu
2012-11-18 6:50 ` Eric W. Biederman
2012-11-18 6:53 ` Yinghai Lu
2012-11-18 7:18 ` Yinghai Lu
2012-11-18 10:38 ` Eric W. Biederman
2012-11-19 3:02 ` [PATCH 0/6] kexec: put bzImage and ramdisk above 4G for x86 64bit Yinghai Lu
2012-11-19 3:02 ` [PATCH 1/6] kexec, x86: add boot header member for version 2.12 Yinghai Lu
2012-11-19 3:02 ` [PATCH 2/6] kexec: don't die during buffer finding Yinghai Lu
2012-11-19 3:02 ` [PATCH 3/6] kexec, x86: put ramdisk high for 64bit bzImage Yinghai Lu
2012-11-19 3:02 ` [PATCH 4/6] kexec, x86: set ext_cmd_line_ptr when boot_param is put high Yinghai Lu
2012-11-19 3:02 ` [PATCH 5/6] kexec, x86: Make x64_64 purgatory relocatable above 4G Yinghai Lu
2012-11-19 3:02 ` [PATCH 6/6] kexec, x86_64: put 64bit bzImage high Yinghai Lu
2012-11-19 3:04 ` [PATCH v2 0/6] kexec: put bzImage and ramdisk above 4G for x86 64bit Yinghai Lu
2012-11-19 3:04 ` [PATCH v2 1/6] kexec, x86: add boot header member for version 2.12 Yinghai Lu
2012-11-19 3:04 ` [PATCH v2 2/6] kexec: don't die during buffer finding Yinghai Lu
2012-11-19 17:05 ` Eric W. Biederman
2012-11-19 3:04 ` [PATCH v2 3/6] kexec, x86: put ramdisk high for 64bit bzImage Yinghai Lu
2012-11-19 17:20 ` Eric W. Biederman
2012-11-19 3:04 ` [PATCH v2 4/6] kexec, x86: set ext_cmd_line_ptr when boot_param is put high Yinghai Lu
2012-11-19 17:22 ` Eric W. Biederman
2012-11-19 3:04 ` [PATCH v2 5/6] kexec, x86: Make x64_64 purgatory relocatable above 4G Yinghai Lu
2012-11-19 3:04 ` [PATCH v2 6/6] kexec, x86_64: put 64bit bzImage high Yinghai Lu
2012-11-19 17:28 ` Eric W. Biederman
2012-11-19 17:04 ` [PATCH v2 0/6] kexec: put bzImage and ramdisk above 4G for x86 64bit Eric W. Biederman
2012-11-18 6:24 ` [PATCH 3/8] add mem64_min/max control H. Peter Anvin
2012-11-18 6:23 ` H. Peter Anvin
2012-11-18 6:44 ` Eric W. Biederman
2012-11-16 23:04 ` [PATCH 4/8] Move out mem_min/max checking in locate_hole Yinghai Lu
2012-11-16 23:04 ` [PATCH 5/8] seperate checking 64bit mem range Yinghai Lu
2012-11-16 23:04 ` [PATCH 6/8] debug print out for add_buf Yinghai Lu
2012-11-16 23:04 ` [PATCH 7/8] x86: put ramdisk high for 64bit bzImage Yinghai Lu
2012-11-16 23:04 ` [PATCH 8/8] x86: put 64bit bzImage high Yinghai Lu
2012-11-17 6:33 ` Eric W. Biederman
[not found] ` <CAE9FiQWJaT9yfdV0rgV-5rM=BR4eX8sr+a99g8Ggf-+YkD8qgQ@mail.gmail.com>
2012-11-17 8:43 ` Eric W. Biederman [this message]
2012-11-19 21:00 ` [PATCH 0/8] kexec: put bzImage and ramdisk above 4G for x86 64bit Vivek Goyal
2012-11-19 22:34 ` Yinghai Lu
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=876254zkjc.fsf@xmission.com \
--to=ebiederm@xmission.com \
--cc=hbabu@us.ibm.com \
--cc=horms@verge.net.au \
--cc=hpa@zytor.com \
--cc=kexec@lists.infradead.org \
--cc=vgoyal@redhat.com \
--cc=yinghai@kernel.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