Re: kernel_thread bogosity

2000-11-26 Thread Andrea Arcangeli
On Sun, Nov 26, 2000 at 11:29:32PM +0100, Pavel Machek wrote: > Is this different on x86-64 in long mode? Yes, in 64bit mode ss:rsp is restore unconditionally. In compatibility and legacy modes it's restored only if the CPL changes. kernel never runs in compatibility mode (and userspace never ru

Re: kernel_thread bogosity

2000-11-26 Thread Pavel Machek
Hi! > > How can that work? restore_args ends with iret, anyway, and iret does > > reload esp afaics... > > ... only if there's an IPL change during the iret. Page 3-321 of 24319102.pdf > from Intel: > > [..] If the return is to another privilege level, the IRET instruction > also po

Re: kernel_thread bogosity

2000-11-26 Thread Andrea Arcangeli
On Fri, Nov 24, 2000 at 08:52:47PM +0100, Pavel Machek wrote: > How can that work? restore_args ends with iret, anyway, and iret does > reload esp afaics... ... only if there's an IPL change during the iret. Page 3-321 of 24319102.pdf from Intel: [..] If the return is to another privileg

Re: kernel_thread bogosity

2000-11-26 Thread Pavel Machek
Hi! > > Plus, can someone explain me why it does not need to setup %%ecx with > > either zero or address of stack? > > Not necessary because a kernel thread never exit from kernel. How can that work? restore_args ends with iret, anyway, and iret does reload esp afaics...

Re: kernel_thread bogosity

2000-11-23 Thread Andrea Arcangeli
On Thu, Nov 23, 2000 at 11:23:33PM +0100, Pavel Machek wrote: > Hi! > > You see? Kernel_thread does not check is sys_clone() worked! Aha, "=&a" (retval) > caller is responsible for that, but init/main.c does not seem too > carefull. Maybe kernel_thread should at least print a warning? If clone