Annotation of coherent/b/kernel/ldrv/kcall.s, revision 1.1.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.