Messages in this thread | | | From | (Eric W. Biederman) | Subject | Re: [PATCH][RFC] x86_64: Reload CS when startup_64 is used. | Date | Mon, 21 Aug 2006 15:02:58 -0600 |
| |
Magnus Damm <magnus@valinux.co.jp> writes:
> x86_64: Reload CS when startup_64 is used. > > The current x86_64 startup code never reloads CS during the early boot process > if the 64-bit function startup_64 is used as entry point. The 32-bit entry > point startup_32 does the right thing and reloads CS, and this is what most > people are using if they use bzImage. > > This patch fixes the case when the Linux kernel is booted into using kexec > under Xen. The Xen hypervisor is using large CS values which makes the x86_64 > kernel fail - but only if vmlinux is booted, bzImage works well because it > is using the 32-bit entry point. > > The main question is if we require that the boot loader should setup CS > to some certain offset to be able to boot the kernel. The sane solution IMO > should be that the kernel requires that the loaded descriptors are correct, > but that the exact offset within the GDT the boot loader is using should not > matter. This is the way the i386 boot works if I understand things correctly.
What extra reload of cs does Xen introduce?
I'm not really comfortable with a half virtualized case.
Eric - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |