4 ; This is the number of in register arguments
;++
;
; Copyright (c) Microsoft Corporation. All rights reserved. 
;
; You may only use this code if you agree to the terms of the Windows Research Kernel Source Code License agreement (see License.txt).
; If you do not agree to the terms, do not use the code.
;
;
; Module Name:
;
;   systable.asm
;
; Abstract:
;
;   This module implements the system service dispatch table.
;
;--

include ksamd64.inc

TABLE_ERROR macro t
.err    ; Maximum number of in-memory system service arguments exceeded.
        endm

TABLE_BEGIN1 macro t
        title   t
        endm

TABLE_BEGIN2 macro t
_TEXT$00 segment page 'code'
        endm

TABLE_BEGIN3 macro t
        endm

TABLE_BEGIN4 macro t
        public  KiServiceTable
KiServiceTable label qword
        endm

TABLE_BEGIN5 macro t
        endm

TABLE_BEGIN6 macro t
        endm

TABLE_BEGIN7 macro t
        endm

TABLE_BEGIN8 macro t
        endm


TABLE_ENTRY macro l,bias,numargs
.erre   numargs le 14
        extrn   Nt&l:proc
        dq      offset Nt&l+numargs
        endm

TABLE_END macro n
        public  KiServiceLimit
KiServiceLimit label dword
        dd     n + 1
        endm

ARGTBL_BEGIN macro
        endm

ARGTBL_ENTRY macro e0, e1, e2, e3, e4, e5, e6, e7
        endm

ARGTBL_END macro
_TEXT$00 ends
        end
        endm

        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">

