Re: [PATCH v7 00/27] x86, boot, 64bit: Add support for loadingramdisk and bzImage above 4G

From: Yinghai Lu
Date: Tue Dec 25 2012 - 15:57:36 EST


On Mon, Dec 24, 2012 at 3:56 PM, H. Peter Anvin <hpa@xxxxxxxxx> wrote:
> On 12/23/2012 10:00 AM, Yinghai Lu wrote:
>> On Sun, Dec 23, 2012 at 6:33 AM, H. Peter Anvin <hpa@xxxxxxxxx> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/