File:  [MW Coherent from dump] / coherent / b / kernel / ldrv / defer.s
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Wed May 29 04:56:37 2019 UTC (7 years ago) by root
Branches: MarkWilliams, MAIN
CVS tags: relic, HEAD
coherent

/ $Header: /var/lib/cvsd/repos/coherent/coherent/b/kernel/ldrv/defer.s,v 1.1.1.1 2019/05/29 04:56:37 root Exp $
/
/	The  information  contained herein  is a trade secret  of INETCO
/	Systems, and is confidential information.   It is provided under
/	a license agreement,  and may be copied or disclosed  only under
/	the terms of that agreement.   Any reproduction or disclosure of
/	this  material  without  the express  written  authorization  of
/	INETCO Systems or persuant to the license agreement is unlawful.
/
/	Copyright (c) 1988
/	An unpublished work by INETCO Systems, Ltd.
/	All rights reserved.
/
/ $Log: defer.s,v $
/ Revision 1.1.1.1  2019/05/29 04:56:37  root
/ coherent
/
/ Revision 1.1  92/07/17  15:27:49  bin
/ Initial revision

/ Revision 1.1	88/04/04  16:40:21	src
/ Initial revision
/ 
/
////////

////////
/
/ void
/ defer( f, a )		- defer local function from loadable driver.
/ void (*f)();
/ int a;
/
/	Input:	f = pointer to function to be deferred.
/		a = argument to be passed to function.
/
/	Action:	Schedule local function 'f' to be invoked with argument 'a'
/		at next transition from kernel to user mode.
/
/	Return:	None.
/
////////

	.globl	defer_

defer_:	push	bp			/ defer( f, a )
	mov	bp, sp			/ void (*f)();
	push	6(bp)			/ int a;
	push	cs			/ {
	push	4(bp)			/	kcall( Kldefer, f, cs, a );
	mov	ax, $Kldefer		/
	push	ax			/
	call	kcall_			/
	mov	sp, bp			/
	pop	bp			/ }
	ret

unix.superglobalmegacorp.com

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