On Wednesday 15 November 2006 18:49, Ingo Molnar wrote:
> * Eric Dumazet <[email protected]> wrote:
> > Machine boots but freeze when init starts. Any idea ?
>
> probably caused by this:
> > +# define GET_CPU_NUM(reg)
> >
> > #define FIXUP_ESPFIX_STACK \
> > /* since we are on a wrong stack, we cant make it a C code :( */ \
> > - movl %gs:PDA_cpu, %ebx; \
> > + GET_CPU_NUM(%ebx) \
> > PER_CPU(cpu_gdt_descr, %ebx); \
> > movl GDS_address(%ebx), %ebx; \
>
> %ebx very definitely wants to have a current CPU number loaded ;) Pick
> it up from the task struct.
Hum.... Are you sure ?
For UP we have this PER_CPU definition :
#define PER_CPU(var, cpu) \
movl $per_cpu__/**/var, cpu;
You can see 'cpu' is a pure output , not an input value.
So I basically deleted the fist instruction of this sequence :
movl %gs:PDA_cpu, %ebx
movl $per_cpu__cpu_gdt_descr, %ebx;
Did I miss something ?
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]