lkml.org 
[lkml]   [2010]   [Jan]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    SubjectRe: 2.6.33-rc2: Xen/Guest switching to user mode with no user page tables
    From
    On Fri, Jan 8, 2010 at 4:50 PM, Cyrill Gorcunov <gorcunov@gmail.com> wrote:
    > On Thu, Jan 07, 2010 at 11:30:46AM -0800, Christian Kujau wrote:
    >> On Thu, 7 Jan 2010 at 11:19, H. Peter Anvin wrote:
    >> > The big difference between the code before and after this commit is that
    >> > before, kernel_thread() would initialize the pt_regs structure with
    >> > whatever state happened to be passed into it by the caller, whereas
    >> > afterwards it is initialized to zero.
    >>
    >> To be honest, bisection was kinda hazy in the last step (see my previous
    >> mails), but from looking at the bisection log, it's definitely one of
    >> your/Brians commit (sorry!), so it may be 3bd95dfb in combination with the
    >> other 4 changes. However, only with 3bd95dfb applied, the DomU wouldn't
    >> start at all. With the only other patches applied, the DomU would start,
    >> and then die with a GPF.
    >>
    >> Christian.
    >> --
    >> BOFH excuse #191:
    >>
    >> Just type 'mv * /dev/null'.
    >>
    >
    > OK, perhaps the patch below is not _that_ stupid so I
    > would like to get it reviewed and tested if possible.
    > Just a thought. Wonder if it help but definitely it will
    > not harm anyway :)
    >
    >        -- Cyrill
    > ---
    > x86: kernel_thread -- initialize SS to a known state
    >
    > Before the kernel_thread was converted into "C" we had
    > pt_regs::ss set to __KERNEL_DS (by SAVE_ALL asm macro).
    >
    > Though I must admit I didn't find any *explicit* load of
    > %ss from this structure the better to be on a safe side
    > and set it to a known value.

    It shouldn't make any difference, but maybe Xen is doing something
    subtle. In 64-bit mode the %ss segment register is supposed to be
    ignored, which is why it is left set to zero. It works properly on
    real hardware. It can't hurt anything to put __KERNEL_DS back in, but
    I'd just like to know why Xen requires it if this does fix it.

    --
    Brian Gerst
    --
    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/

    \
     
     \ /
      Last update: 2010-01-10 02:53    [W:0.031 / U:1.808 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site