Re: [RFC PATCH 11/35] Add support for Xen to entry.S.

Andi Kleen
2006-05-09T16:52:46Z

On Tuesday 09 May 2006 09:00, Chris Wright wrote:

> +#define sizeof_vcpu_shift 6

This should be generated in asm-offsets.c

> +
> +#ifdef CONFIG_SMP
> +#define GET_VCPU_INFO movl TI_cpu(%ebp),%esi ; \
> + shl $sizeof_vcpu_shift,%esi ; \
> + addl HYPERVISOR_shared_info,%esi

I think you need some comments on the register usage in the macros.
Otherwise people hacking on it later will go crazy.

> restore_all:
> +#ifndef CONFIG_XEN
> movl EFLAGS(%esp), %eax # mix EFLAGS, SS and CS
> # Warning: OLDSS(%esp) contains the wrong/random values if we
> # are returning to the kernel.
> @@ -258,12 +289,32 @@ restore_all:
> cmpl $((4 << 8) | 3), %eax
> je ldt_ss # returning to user-space with LDT SS
> restore_nocheck:
> +#else

Needs comment

> +restore_nocheck:
> + movl EFLAGS(%esp), %eax # mix EFLAGS and CS
> + movb CS(%esp), %al
> + andl $(VM_MASK | 3), %eax
> + cmpl $3, %eax
> + jne hypervisor_iret
> + ENABLE_INTERRUPTS
>

-Andi