lkml.org 
[lkml]   [2002]   [Dec]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    SubjectRe: [PATCH] compatibility syscall layer (lets try again)
    From
       From: "Martin Schwidefsky" <schwidefsky@de.ibm.com>
    Date: Mon, 9 Dec 2002 18:16:43 +0100

    >Architecture maintainers, can you comment on how easy/hard it is to do the
    >same thing on your architectures? I _assume_ it's trivial (akin to the
    >three-liner register state change in i386/kernel/signal.c).

    For s390/s390x this is actually quite tricky. The system call number is
    coded in the instruction, e.g. 0x0aa2 is svc 162 or sys_nanosleep. There
    is no register involved that contains the system call number I could
    simply change. I either have to change the instruction (no way) or I
    have to avoid going back to userspace in this case. This would require
    assembler magic in entry.S. Not nice.

    Put the magic restart_block syscall at some fixed place in every
    user process, change the PC to that. Or, alternatively, put the
    restart_block syscall insn on the stack and point the PC at that.

    This isn't rocket science :-)

    -
    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: 2005-03-22 13:31    [W:0.029 / U:29.496 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site