Annotation of coherent/b/kernel/ldrv/defer.s, revision 1.1

1.1     ! root        1: / $Header: /kernel/kersrc/ldrv/RCS/defer.s,v 1.1 92/07/17 15:27:49 bin Exp Locker: bin $
        !             2: /
        !             3: /      The  information  contained herein  is a trade secret  of INETCO
        !             4: /      Systems, and is confidential information.   It is provided under
        !             5: /      a license agreement,  and may be copied or disclosed  only under
        !             6: /      the terms of that agreement.   Any reproduction or disclosure of
        !             7: /      this  material  without  the express  written  authorization  of
        !             8: /      INETCO Systems or persuant to the license agreement is unlawful.
        !             9: /
        !            10: /      Copyright (c) 1988
        !            11: /      An unpublished work by INETCO Systems, Ltd.
        !            12: /      All rights reserved.
        !            13: /
        !            14: / $Log:        defer.s,v $
        !            15: / Revision 1.1  92/07/17  15:27:49  bin
        !            16: / Initial revision
        !            17: 
        !            18: / Revision 1.1 88/04/04  16:40:21      src
        !            19: / Initial revision
        !            20: / 
        !            21: /
        !            22: ////////
        !            23: 
        !            24: ////////
        !            25: /
        !            26: / void
        !            27: / defer( f, a )                - defer local function from loadable driver.
        !            28: / void (*f)();
        !            29: / int a;
        !            30: /
        !            31: /      Input:  f = pointer to function to be deferred.
        !            32: /              a = argument to be passed to function.
        !            33: /
        !            34: /      Action: Schedule local function 'f' to be invoked with argument 'a'
        !            35: /              at next transition from kernel to user mode.
        !            36: /
        !            37: /      Return: None.
        !            38: /
        !            39: ////////
        !            40: 
        !            41:        .globl  defer_
        !            42: 
        !            43: defer_:        push    bp                      / defer( f, a )
        !            44:        mov     bp, sp                  / void (*f)();
        !            45:        push    6(bp)                   / int a;
        !            46:        push    cs                      / {
        !            47:        push    4(bp)                   /       kcall( Kldefer, f, cs, a );
        !            48:        mov     ax, $Kldefer            /
        !            49:        push    ax                      /
        !            50:        call    kcall_                  /
        !            51:        mov     sp, bp                  /
        !            52:        pop     bp                      / }
        !            53:        ret

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.