On Wed, Mar 02, 2016 at 10:39:05AM -0800, H. Peter Anvin wrote: > Well, we definitely should use %rip-relative addressing if we can.
Right you are. > However, even so I believe this breaks if the kernel is loaded anywhere > but its default load address. I think we need to do something like: > > movq stack_start(%rip), %rax > leaq __START_KERNEL_map(%rip), %rdx > subq %rdx, %rax > movq %rax, %rsp > > The use of temporary registers avoids clobbering a valid stack pointer > for even a single instruction if we are given one. Yeah, we should be prudent and make this as sturdy as possible. I did this: CONFIG_PHYSICAL_START=0x100beef and it aligned startup_64 up to ffffffff82000000. It seems to boot fine in kvm. But better safe than sorry. Thanks. -- Regards/Gruss, Boris. ECO tip #101: Trim your mails when you reply.