lkml.org 
[lkml]   [2015]   [Feb]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] x86, boot: Allow 64bit EFI kernel to be loaded above 4G
On 02/17/15 at 11:22pm, Yinghai Lu wrote:
> On Tue, Feb 10, 2015 at 10:11 PM, Baoquan He <bhe@redhat.com> wrote:
> > Hi Yinghai,
> >
> > Could you please help to have a look at a problem which I encountered?
> >
> > I am trying to make kaslr randomize on both kernel physical and virtual
> > address separately. Now the separate randomization has been done,
> > kernel physical address can be randomized to [16M, 4G], and virtual
> > address can be randomzed to [16M, 1G]. Below is the post.
> > http://thread.gmane.org/gmane.linux.kernel/1870532
> >
> > Now I am trying to make kernel physical address randomize anywhere, not
> > limited to below 4G. As you know in arch/x86/boot/compressed/head_64.S a
> > identity mapping of 0~4G has been built, for address above 4G I added an
> > IDT and #PF handler. Then I hardcoded the output address of
> > choose_kernel_location as 5G, the #PF handler worked, however it will
> > reboot in arch/x86/kernel/head_64.S.
>
> For 64bit, I'd like to see bootloader could load kernel to random hw address.
>
> otherwise you will need to set another ident mapping for new range.

Hi Yinghai,

I am sorry I didn't get what you mean. I have tried to set another ident
mapping for new range and it is successful seeing from debug message
printing. However it always reboot because of GPF. That's why I made
that small debug patch which add another 4G ident mapping and hardcoded
to put kernel between 4G and 8G.

Could you say more of it? Or which direction should I go?

Thanks a lot for your help!

Thanks
Baoquan

>
> Thanks
>
> Yinghai


\
 
 \ /
  Last update: 2015-02-18 12:41    [W:0.094 / U:0.632 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site