Annotation of coherent/d/PS2_KERNEL/ldrv/defer.s, revision 1.1.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.