lkml.org 
[lkml]   [2012]   [Dec]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH v7 00/27] x86, boot, 64bit: Add support for loading ramdisk and bzImage above 4G
From
On Mon, Dec 24, 2012 at 3:56 PM, H. Peter Anvin <hpa@zytor.com> wrote:
> On 12/23/2012 10:00 AM, Yinghai Lu wrote:
>> On Sun, Dec 23, 2012 at 6:33 AM, H. Peter Anvin <hpa@zytor.com> wrote:
>>> Explanation please?
>>>
>>
>> you have following change in the patch
>>
>> /* Finally jump to run C code and to be on real kernel address
>> * Since we are running on identity-mapped space we have to jump
>> * to the full 64bit address, this is only possible as indirect
>> * jump. In addition we need to ensure %cs is set so we make this
>> - * a far return.
>> + * a far jump.
>> */
>> - movq initial_code(%rip),%rax
>> pushq $0 # fake return address to stop unwinder
>> - pushq $__KERNEL_CS # set correct cs
>> - pushq %rax # target address in negative space
>> - lretq
>> + /* gas 2.22 is buggy and mis-assembles ljmpq */
>> + rex64 ljmp *initial_code(%rip)
>>
>> #ifdef CONFIG_HOTPLUG_CPU
>> /*
>>
>> remove that change, AMD systems works again.
>>
>
> That is not an explanation.

what do you mean?

Konrad reported the problem, and I dig out one AMD system and
duplicated the problem.
and found the patch cause the problem, then add serial out in the
file, and turns out
that reset happen just after those lines, so I revert those lines, and
it boots well again.

Yinghai


\
 
 \ /
  Last update: 2012-12-25 22:41    [W:1.873 / U:0.008 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site