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

1.1     ! root        1: / $Header: /kernel/kersrc/ldrv/RCS/kcall.s,v 1.1 92/07/17 15:27:52 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:        kcall.s,v $
        !            15: / Revision 1.1  92/07/17  15:27:52  bin
        !            16: / Initial revision
        !            17: /
        !            18: / Revision 1.1 88/03/24  16:30:41      src
        !            19: / Initial revision
        !            20: / 
        !            21: /
        !            22: ////////
        !            23: 
        !            24: ////////
        !            25: /
        !            26: / kcall( func, arg, ... )
        !            27: /
        !            28: /      Input:  func = kernel function to be invoked.
        !            29: /              arg  = optional argument(s) to be passed to kernel function.
        !            30: /
        !            31: /      Action: Invoke kernel function.
        !            32: /
        !            33: ////////
        !            34:        .globl  kcall_
        !            35: 
        !            36: kcall_:
        !            37:        pop     bx              / Convert stack from (retIP dstIP arg ...)
        !            38:        pop     ax              /                 to (      retIP arg ...)
        !            39:        push    bx              / Leaving dstIP in AX register.
        !            40:                                /
        !            41:        .byte 0x9A              / Request kernel to perform far call.
        !            42:        .word xcalled           /
        !            43:        .word 0x0060            /
        !            44:                                /
        !            45:        pop     bx              / Convert stack from (      retIP arg ...)
        !            46:        push    bx              /                 to (retIP retIP arg ...)
        !            47:        push    bx              / This allows caller to cleanup normally.
        !            48:                                / NOTE: DO NOT MODIFY DX:AX RETURN VALUE.
        !            49:                                /
        !            50:        ret                     / Return to caller.

unix.superglobalmegacorp.com

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