73 lines
2.0 KiB
Plaintext
73 lines
2.0 KiB
Plaintext
8 // This is the number of in register arguments
|
|
//++
|
|
//
|
|
// Copyright (c) 1993 IBM Corporation and Microsoft Corporation
|
|
//
|
|
// Module Name:
|
|
//
|
|
// systable.s
|
|
//
|
|
// Abstract:
|
|
//
|
|
// This module implements the system service dispatch table.
|
|
//
|
|
// Author:
|
|
//
|
|
// Rick Simpson 16-Sep-1993
|
|
//
|
|
// based on MIPS version by David N. Cutler (davec) 29-Apr-1989
|
|
//
|
|
// Environment:
|
|
//
|
|
// Kernel mode only.
|
|
//
|
|
// Revision History:
|
|
//
|
|
//--
|
|
|
|
//
|
|
// To add a system service simply add the name of the service to the below
|
|
// table. If the system service has in memory arguments, then immediately
|
|
// follow the name of the serice with a comma and following that the number
|
|
// of bytes of in memory arguments, e.g. CreateObject,40.
|
|
//
|
|
|
|
#define TABLE_BEGIN1( t ) .rdata
|
|
#define TABLE_BEGIN2( t ) .align 4
|
|
#define TABLE_BEGIN3( t ) .globl KiServiceTable
|
|
#define TABLE_BEGIN4( t ) .long .toc
|
|
#define TABLE_BEGIN5( t ) KiServiceTable:
|
|
#define TABLE_BEGIN6( t )
|
|
#define TABLE_BEGIN7( t )
|
|
#define TABLE_BEGIN8( t )
|
|
|
|
#define TABLE_ENTRY(l,bias,numargs) \
|
|
.extern ..Nt##l ;\
|
|
.word ..Nt##l+bias
|
|
|
|
#define TABLE_END( n ) \
|
|
.data ;\
|
|
.globl KiServiceLimit ;\
|
|
KiServiceLimit: ;\
|
|
.word n + 1
|
|
|
|
#define ARGTBL_BEGIN \
|
|
.rdata ;\
|
|
.align 4 ;\
|
|
.globl KiArgumentTable ;\
|
|
KiArgumentTable:
|
|
|
|
#define ARGTBL_ENTRY(e0,e1,e2,e3,e4,e5,e6,e7) .byte e0,e1,e2,e3,e4,e5,e6,e7
|
|
|
|
#define ARGTBL_END
|
|
|
|
|
|
TABLE_BEGIN1( "System Service Dispatch Table" )
|
|
TABLE_BEGIN2( "System Service Dispatch Table" )
|
|
TABLE_BEGIN3( "System Service Dispatch Table" )
|
|
TABLE_BEGIN4( "System Service Dispatch Table" )
|
|
TABLE_BEGIN5( "System Service Dispatch Table" )
|
|
TABLE_BEGIN6( "System Service Dispatch Table" )
|
|
TABLE_BEGIN7( "System Service Dispatch Table" )
|
|
TABLE_BEGIN8( "System Service Dispatch Table" )
|