[lkml]   [2018]   [Dec]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [Qemu-devel] d_off field in struct dirent and 32-on-64 emulation
    On Sat, 29 Dec 2018 at 16:49, Andy Lutomirski <> wrote:
    > > Could you use a prctl to set whether you were running in 32 or 64 bit
    > > mode? Or do you change which kind of task you're emulating too often
    > > to make this a good idea?

    QEMU's linux-user mode always only runs the single process,
    which is a fixed guest architecture. But it also wants to
    make system calls on its own behalf, as well as the ones it
    is passing through from the guest, and I suspect it would
    confuse the host libc if we changed the semantics of those
    under its feet.

    > How would this work? We already have the separate
    > COMPAT_DEFINE_SYSCALL entries *and* in_compat_syscall(). Now we’d have
    > a third degree of freedom.
    > Either the arches people care about should add reasonable ways to
    > issue 32-bit syscalls from 64-bit mode or there should be an explicit
    > way to ask for the 32-bit directory offsets.

    The first of those is not sufficient for QEMU if done
    as a per-architecture thing, because there may not even be
    a 32-bit syscall interface on the host kernel. The second
    sounds better -- there's nothing conceptually architecture
    specific about what we want to do or which is tied to the
    idea of whether there's a 32-bit compat mode in the host
    architecture or not.

    -- PMM

     \ /
      Last update: 2018-12-30 15:01    [W:5.782 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site