Auto-generate per-file function lists

This commit is contained in:
Elliot Nunn 2018-06-30 16:00:35 +08:00
parent 9fd3316452
commit 933bd48f01
26 changed files with 903 additions and 0 deletions

136
AsmSymScanner.py Executable file
View File

@ -0,0 +1,136 @@
#!/usr/bin/env python3
import sys
import re
import os.path
HEADER = 'AUTO-GENERATED SYMBOL LIST'
ENC = 'macroman'
RECORD = re.compile(r'^[^;\s]*\s+record', re.I)
ENDR = re.compile(r'^\s+endr', re.I)
SETEQU = re.compile(r'^\S+\s+(dc\.|ds\.|set|equ|record)', flags=re.I)
def neaten_name(x):
bn = os.path.basename(x)
bn = os.path.splitext(bn)[0]
return bn
all_args = list(sys.argv[1:])
opts = []
while all_args and all_args[0].startswith('-'):
opts.append(all_args.pop(0))
fnames = all_args
fnames = [fn for fn in fnames if HEADER in open(fn, encoding=ENC).read(2048)]
fexports = []
for name in fnames:
exports = set()
can_keep = False
with open(name, encoding=ENC) as f:
forbid = False
for l in f:
if not forbid and RECORD.match(l):
forbid=True
elif forbid and ENDR.match(l):
forbid=False
if not forbid:
m = re.match(r'^(\w+)', l)
if m and not SETEQU.match(l):
exports.add(m.group(1))
fexports.append(exports)
regex_cache = {}
for export_set in fexports:
for export in export_set:
if export not in regex_cache:
regex_cache[export] = re.compile(r'^[^;]+\b' + re.escape(export) + r'\b', flags=re.I)
export_matrix = set()
for expname, exports in zip(fnames, fexports):
for impname in fnames:
if impname == expname: continue
with open(impname, encoding=ENC) as f:
for l in f:
for e in exports:
er = regex_cache[e]
if er.match(l):
export_matrix.add((expname, impname, e))
for exp, imp, sym in sorted(export_matrix):
print(exp.rpartition('/')[2], imp.rpartition('/')[2], sym)
dict_exporter = {}
for exp, imp, sym in export_matrix:
dict_exporter[sym] = exp
dict_importers = {}
for exp, imp, sym in export_matrix:
if sym not in dict_importers:
dict_importers[sym] = set()
dict_importers[sym].add(imp)
dict_fileimports = {}
for exp, imp, sym in export_matrix:
if imp not in dict_fileimports:
dict_fileimports[imp] = set()
dict_fileimports[imp].add(sym)
dict_fileexports = {}
for exp, imp, sym in export_matrix:
if exp not in dict_fileexports:
dict_fileexports[exp] = set()
dict_fileexports[exp].add(sym)
for f in fnames:
if f not in dict_fileimports:
dict_fileimports[f] = set()
if f not in dict_fileexports:
dict_fileexports[f] = set()
for path in fnames:
with open(path, encoding=ENC) as i:
with open(path + '~', 'w', encoding=ENC) as o:
for l in i:
o.write(l)
if HEADER in l:
prefix, _, suffix = l.partition(HEADER)
imports = sorted(dict_fileimports[path])
exports = sorted(dict_fileexports[path])
if imports:
dict_exp_to_imp = {}
for imp in imports:
exporter = dict_exporter[imp]
if exporter not in dict_exp_to_imp:
dict_exp_to_imp[exporter] = set()
dict_exp_to_imp[exporter].add(imp)
o.write(prefix + 'IMPORTS:' + suffix)
for exp, imps in sorted(dict_exp_to_imp.items()):
o.write(prefix + ' ' + neaten_name(exp) + suffix)
for imp in sorted(imps):
o.write(prefix + ' ' + imp + suffix)
if exports:
o.write(prefix + 'EXPORTS:' + suffix)
for exp in exports:
importers = sorted(dict_importers[exp])
importers = [neaten_name(x) for x in importers]
impstring = ' (=> %s)' % (', '.join(importers))
o.write(prefix + ' ' + exp + impstring + suffix)
for l in i:
if not l.startswith(prefix):
o.write(l)
break
os.rename(path + '~', path)

View File

@ -1,3 +1,53 @@
; AUTO-GENERATED SYMBOL LIST
; IMPORTS:
; NKConsoleLog
; printw
; NKIndex
; DeleteID
; GetNextIDOfClass
; LookupID
; MakeID
; NKMPCalls
; CommonMPCallReturnPath
; ReleaseAndMPCallWasBad
; ReleaseAndReturnMPCall
; ReleaseAndReturnMPCallInvalidIDErr
; ReleaseAndReturnMPCallOOM
; ReleaseAndReturnMPCallPrivilegedErr
; ReleaseAndReturnParamErrFromMPCall
; ReleaseAndReturnZeroFromMPCall
; ReleaseAndScrambleMPCall
; ReturnMPCallInvalidIDErr
; ReturnMPCallOOM
; ReturnParamErrFromMPCall
; ReturnZeroFromMPCall
; major_0x0b0cc
; NKPoolAllocator
; PoolAllocClear
; PoolFree
; NKSync
; CauseNotification
; SetEvent
; NKThud
; panic
; EXPORTS:
; CreateArea (=> NKVMCalls)
; CreateAreasFromPageMap (=> NKInit)
; DeletePTE (=> NKVMCalls)
; FindAreaAbove (=> NKInterrupts, NKPaging, NKTasks, NKVMCalls)
; FreePageListPush (=> NKInit)
; GetPTEFromPLE (=> NKVMCalls)
; InitFreePageList (=> NKInit)
; InvalPTE (=> NKVMCalls)
; MPCall_95_0x254 (=> NKPaging)
; NKCreateAddressSpaceSub (=> NKInit)
; SetPTE (=> NKVMCalls)
; SpaceGetPagePLE (=> NKInterrupts, NKPaging, NKVMCalls)
; SpaceL2PIgnoringBATs (=> NKMPCalls)
; SpaceL2PUsingBATs (=> NKInterrupts, NKMPCalls)
##### ###### ###
# # ##### ## #### ###### # # ## # # # #### # #### # ## # # #####
# # # # # # # # # # # # ## # # # # # # # # # ## # # #

View File

@ -1,3 +1,23 @@
; AUTO-GENERATED SYMBOL LIST
; IMPORTS:
; NKConsoleLog
; printh
; NKInit
; FinishInitBuiltin
; InitIRP
; NKPrimaryIntHandlers
; LookupInterruptHandler
; NKProcInfoTbl
; OverrideProcessorInfo
; ProcessorInfoTable
; NKScreenConsole
; InitScreenConsole
; NKTranslation
; FDP
; EXPORTS:
; InitBuiltin (=> NKInit)
; When we receive control:
; r3 = ConfigInfo
; r4 = ProcessorInfo

View File

@ -39,6 +39,15 @@
; checked L1 but did not set 1
; checked L2 but did not set 2
; AUTO-GENERATED SYMBOL LIST
; IMPORTS:
; NKInterrupts
; IntReturn
; EXPORTS:
; FlushCaches (=> NKPowerCalls)
; FlushL1CacheUsingMSSCR0 (=> NKInterrupts)
; kcCacheDispatch (=> NKInit)
; DeclareMPCall 199, kcCacheDispatch ; DEBUG
kcCacheDispatch

View File

@ -1,3 +1,20 @@
; AUTO-GENERATED SYMBOL LIST
; IMPORTS:
; NKScreenConsole
; ScreenConsole_putchar
; ScreenConsole_redraw
; EXPORTS:
; getchar (=> NKThud, NKTimers)
; print_unknown (=> NKThud)
; printb (=> NKInit, NKMPCalls, NKTimers)
; printc (=> NKInit, NKPoolAllocator, NKThud)
; printd (=> NKInit, NKMPCalls, NKPoolAllocator, NKTimers)
; printh (=> NKBuiltinInit, NKMPCalls, NKReplacementInit, NKScheduler, NKThud, NKTimers)
; prints (=> NKMPCalls, NKThud)
; printw (=> NKAddressSpaces, NKInit, NKInterrupts, NKMPCalls, NKPaging, NKPoolAllocator, NKReplacementInit, NKScheduler, NKThud, NKTimers, NKVMCalls)
; prints
; _log null-terminated string with a few special escapes.

View File

@ -15,6 +15,19 @@
; accessed by way of this ID. The kernel presently handles 65,000
; simultaneous IDs with a bit pattern reuse probability of 1 in 4
; billion.
;
; AUTO-GENERATED SYMBOL LIST
; IMPORTS:
; NKPoolAllocator
; PoolAllocClear
; NKThud
; panic
; EXPORTS:
; DeleteID (=> NKAddressSpaces, NKMPCalls, NKSync, NKTasks, NKTimers)
; GetNextIDOfClass (=> NKAddressSpaces, NKMPCalls, NKThud)
; InitIDIndex (=> NKInit)
; LookupID (=> NKAddressSpaces, NKInterrupts, NKMPCalls, NKPrimaryIntHandlers, NKSync, NKTasks, NKThud, NKTimers)
; MakeID (=> NKAddressSpaces, NKInit, NKMPCalls, NKSync, NKTasks)
;_______________________________________________________________________
Local_Panic set *

View File

@ -38,6 +38,101 @@
; r6 = PA_EDP or zero?
; r7 = ROMHeader.ROMRelease (e.g. 0x10B5 is 1.0ß5)
; AUTO-GENERATED SYMBOL LIST
; IMPORTS:
; NKAddressSpaces
; CreateAreasFromPageMap
; FreePageListPush
; InitFreePageList
; NKCreateAddressSpaceSub
; NKBuiltinInit
; InitBuiltin
; NKCache
; kcCacheDispatch
; NKConsoleLog
; printb
; printc
; printd
; printw
; NKIndex
; InitIDIndex
; MakeID
; NKInterrupts
; HandlePerfMonitorInt
; IgnoreSoftwareInt
; IntAlignment
; IntDSI
; IntDecrementer
; IntExternalAlternate
; IntExternalSystem
; IntFPUnavail
; IntISI
; IntMachineCheck
; IntPerfMonitor
; IntProgram
; IntSyscall
; IntThermalEvent
; IntTrace
; MemRetryDSI
; MemRetryMachineCheck
; PIHDSI
; kcPrioritizeInterrupts
; kcResetSystem
; kcReturnFromException
; kcRunAlternateContext
; kcThud
; major_0x046d0
; major_0x04a20
; wordfill
; NKMPCalls
; kcMPDispatch
; NKPaging
; PagingFlushTLB
; PagingFunc1
; PagingFunc2
; PagingL2PWithoutBATs
; NKPoolAllocator
; InitPool
; PoolAllocClear
; NKPowerCalls
; InitIdleVecTable
; kcPowerDispatch
; NKProcFlagsTbl
; ProcessorFlagsTable
; NKRTASCalls
; kcRTASDispatch
; NKReplacementInit
; InitReplacement
; NKScheduler
; CalculateTimeslice
; FlagSchEval
; SchIdleTask
; SchInit
; SchRdyTaskNow
; SchRestoreStartingAtR14
; SchSwitchSpace
; NKScreenConsole
; InitScreenConsole
; NKTasks
; CreateTask
; NKThud
; panic
; NKTimers
; InitTMRQs
; StartTimeslicing
; NKTranslation
; FDP_1c40
; ProbePerfMonitor
; NKVMCalls
; kcVMDispatch
; EXPORTS:
; CancelReplacement (=> NKReplacementInit)
; FinishInitBuiltin (=> NKBuiltinInit)
; InitHighLevel (=> NKReplacementInit)
; InitIRP (=> NKBuiltinInit, NKReplacementInit)
; ResetBuiltinKernel (=> NKInterrupts)
; First we need to avoid executing the data that follows:

View File

@ -23,6 +23,97 @@ ecUnknown24 equ 24 ; ExceptionMemRetried
; AUTO-GENERATED SYMBOL LIST
; IMPORTS:
; NKAddressSpaces
; FindAreaAbove
; SpaceGetPagePLE
; SpaceL2PUsingBATs
; NKCache
; FlushL1CacheUsingMSSCR0
; NKConsoleLog
; printw
; NKIndex
; LookupID
; NKInit
; ResetBuiltinKernel
; NKMPCalls
; BlockMPCall
; kcMPDispatch
; NKPaging
; PagingFunc1
; PagingL2PWithBATs
; NKPoolAllocator
; PoolAlloc
; NKScheduler
; FlagSchEval
; Restore_v0_v31
; Save_v0_v31
; SchEval
; SchExitInterrupt
; SchFiddlePriorityShifty
; SchRdyTaskNow
; SchRestoreStartingAtR14
; SchReturn
; SchSaveStartingAtR14
; SchSwitchSpace
; SchTaskUnrdy
; NKSync
; CauseNotification
; EnqueueMessage
; UnblockBlueIfCouldBePolling
; NKTasks
; ThrowTaskToDebugger
; NKThud
; panic
; NKTimers
; TimerDispatch
; NKTranslation
; FDPEmulateInstruction
; FDP_003c
; FDP_011c
; FDP_0DA0
; EXPORTS:
; Exception (=> NKThud, NKTranslation)
; ExceptionMemRetried (=> NKTranslation)
; FloatLoadJumpTable (=> NKTranslation)
; FloatSaveJumpTable (=> NKTranslation)
; HandlePerfMonitorInt (=> NKInit)
; IgnoreSoftwareInt (=> NKInit, NKTranslation)
; IntAlignment (=> NKInit)
; IntDSI (=> NKInit)
; IntDecrementer (=> NKInit)
; IntExternalAlternate (=> NKInit)
; IntExternalSystem (=> NKInit)
; IntFPUnavail (=> NKInit)
; IntHandleSpecialFPException (=> NKRTASCalls)
; IntISI (=> NKInit)
; IntMachineCheck (=> NKInit)
; IntPerfMonitor (=> NKInit)
; IntProgram (=> NKInit)
; IntReturn (=> NKCache, NKMPCalls, NKPowerCalls, NKPrimaryIntHandlers, NKRTASCalls, NKVMCalls)
; IntSyscall (=> NKInit)
; IntThermalEvent (=> NKInit)
; IntTrace (=> NKInit)
; LoadInterruptRegisters (=> NKTranslation)
; MemRetryDSI (=> NKInit)
; MemRetryMachineCheck (=> NKInit)
; PIHDSI (=> NKInit)
; SIGP (=> NKMPCalls, NKScheduler, NKSleep)
; bugger_around_with_floats (=> NKRTASCalls)
; kcPrioritizeInterrupts (=> NKInit)
; kcResetSystem (=> NKInit)
; kcReturnFromException (=> NKInit)
; kcRunAlternateContext (=> NKInit)
; kcThud (=> NKInit)
; major_0x03324 (=> NKTranslation)
; major_0x03548 (=> NKTranslation)
; major_0x046d0 (=> NKInit)
; major_0x04a20 (=> NKInit)
; wordfill (=> NKInit, NKPowerCalls)
IntPanicIsland
b panic

View File

@ -9,6 +9,85 @@
; AUTO-GENERATED SYMBOL LIST
; IMPORTS:
; NKAddressSpaces
; SpaceL2PIgnoringBATs
; SpaceL2PUsingBATs
; NKConsoleLog
; printb
; printd
; printh
; prints
; printw
; NKIndex
; DeleteID
; GetNextIDOfClass
; LookupID
; MakeID
; NKInterrupts
; IntReturn
; SIGP
; NKPaging
; PagingL2PWithBATs
; NKPoolAllocator
; ExtendPool
; PoolAllocClear
; PoolFree
; NKScheduler
; CalculateTimeslice
; FlagSchEval
; FlagSchEvaluationIfTaskRequires
; NewCpuEntryPoint
; Save_v0_v31
; SchEval
; SchIdleTask
; SchIdleTaskStopper
; SchRdyTaskLater
; SchRdyTaskNow
; SchRestoreStartingAtR14
; SchSaveStartingAtR14
; SchTaskUnrdy
; NKScreenConsole
; ScreenConsole_redraw
; NKTasks
; CreateTask
; NKThud
; panic
; NKTimers
; DequeueTimer
; EnqueueTimer
; GetTime
; NKVMCalls
; EditPTEInHTAB
; GetPARPageInfo
; RemovePageFromTLB
; VMSecondLastExportedFunc
; EXPORTS:
; BlockMPCall (=> NKInterrupts, NKSync)
; CommonMPCallReturnPath (=> NKAddressSpaces, NKSleep, NKTasks)
; MPCall_6_0x78 (=> NKTasks)
; ReleaseAndMPCallWasBad (=> NKAddressSpaces)
; ReleaseAndReturnMPCall (=> NKAddressSpaces, NKSync, NKTasks)
; ReleaseAndReturnMPCallBlueBlocking (=> NKSync)
; ReleaseAndReturnMPCallInvalidIDErr (=> NKAddressSpaces, NKSync, NKTasks)
; ReleaseAndReturnMPCallOOM (=> NKAddressSpaces, NKSync, NKTasks)
; ReleaseAndReturnMPCallPrivilegedErr (=> NKAddressSpaces)
; ReleaseAndReturnMPCallTaskAborted (=> NKSync)
; ReleaseAndReturnParamErrFromMPCall (=> NKAddressSpaces, NKSync)
; ReleaseAndReturnZeroFromMPCall (=> NKAddressSpaces, NKSync, NKTasks)
; ReleaseAndScrambleMPCall (=> NKAddressSpaces, NKSync, NKTasks)
; ReleaseAndTimeoutMPCall (=> NKSync)
; ReturnMPCallInvalidIDErr (=> NKAddressSpaces, NKTasks)
; ReturnMPCallOOM (=> NKAddressSpaces, NKPrimaryIntHandlers, NKSleep, NKSync, NKTasks)
; ReturnParamErrFromMPCall (=> NKAddressSpaces, NKPrimaryIntHandlers, NKSleep)
; ReturnZeroFromMPCall (=> NKAddressSpaces, NKSleep, NKSync)
; ScrambleMPCall (=> NKSync)
; kcMPDispatch (=> NKInit, NKInterrupts)
; major_0x0b0cc (=> NKAddressSpaces)
;MPCall_Panic set MPCall_Panic

View File

@ -3,6 +3,26 @@ Local_Panic set *
; AUTO-GENERATED SYMBOL LIST
; IMPORTS:
; NKAddressSpaces
; FindAreaAbove
; MPCall_95_0x254
; SpaceGetPagePLE
; NKConsoleLog
; printw
; NKThud
; panic
; EXPORTS:
; PagingFlushTLB (=> NKInit, NKScheduler, NKSleep)
; PagingFunc1 (=> NKInit, NKInterrupts, NKThud, NKVMCalls)
; PagingFunc2 (=> NKInit)
; PagingFunc2AndAHalf (=> NKSleep)
; PagingL2PWithBATs (=> NKInterrupts, NKMPCalls, NKRTASCalls, NKSleep)
; PagingL2PWithoutBATs (=> NKInit, NKScreenConsole, NKThud)
align 5
PagingFunc1 ; OUTSIDE REFERER

View File

@ -34,6 +34,23 @@
; AUTO-GENERATED SYMBOL LIST
; IMPORTS:
; NKConsoleLog
; printc
; printd
; printw
; NKThud
; panic
; EXPORTS:
; ExtendPool (=> NKMPCalls)
; InitPool (=> NKInit)
; PoolAlloc (=> NKInterrupts, NKSync, NKTasks)
; PoolAllocClear (=> NKAddressSpaces, NKIndex, NKInit, NKMPCalls, NKSync, NKTasks, NKTimers, NKVMCalls)
; PoolFree (=> NKAddressSpaces, NKMPCalls, NKSync, NKTasks, NKTimers)
Block record
kBeginSize equ 8

View File

@ -1,3 +1,17 @@
; AUTO-GENERATED SYMBOL LIST
; IMPORTS:
; NKCache
; FlushCaches
; NKInterrupts
; IntReturn
; wordfill
; NKThud
; panic
; EXPORTS:
; InitIdleVecTable (=> NKInit)
; kcPowerDispatch (=> NKInit)
#### ## ## #### ######## ## ## ######## ###### ######## ######## ##
## ### ## ## ## ## ## ## ## ## ## ## ## ##
## #### ## ## ## ## ## ## ## ## ## ## ##

View File

@ -1,3 +1,29 @@
; AUTO-GENERATED SYMBOL LIST
; IMPORTS:
; NKIndex
; LookupID
; NKInterrupts
; IntReturn
; NKMPCalls
; ReturnMPCallOOM
; ReturnParamErrFromMPCall
; NKScheduler
; CalculateTimeslice
; FlagSchEvaluationIfTaskRequires
; SchRdyTaskLater
; SchRestoreStartingAtR14
; SchRestoreStartingAtR20
; SchSaveStartingAtR20
; SchTaskUnrdy
; NKSync
; CauseNotification
; NKTimers
; DequeueTimer
; EXPORTS:
; LookupInterruptHandler (=> NKBuiltinInit, NKReplacementInit)
; LookupInterruptHandler
; Called at init time to get the (64b-aligned) physical address

View File

@ -1,3 +1,7 @@
; AUTO-GENERATED SYMBOL LIST
; EXPORTS:
; ProcessorFlagsTable (=> NKInit)
; Contains the table used by Init.s:SetProcessorFlags, and a label to find it with.
;
; Using this table, three fields in KDP are set:

View File

@ -1,3 +1,8 @@
; AUTO-GENERATED SYMBOL LIST
; EXPORTS:
; OverrideProcessorInfo (=> NKBuiltinInit)
; ProcessorInfoTable (=> NKBuiltinInit)
; Contains the table used by InitBuiltin.s:OverrideProcessorInfo
;
; If the Trampoline fails to pass in a signed HardwareInfo struct,

View File

@ -1,3 +1,17 @@
; AUTO-GENERATED SYMBOL LIST
; IMPORTS:
; NKInterrupts
; IntHandleSpecialFPException
; IntReturn
; bugger_around_with_floats
; NKPaging
; PagingL2PWithBATs
; NKThud
; panic
; EXPORTS:
; kcRTASDispatch (=> NKInit)
Local_Panic set *
b panic

View File

@ -1,3 +1,22 @@
; AUTO-GENERATED SYMBOL LIST
; IMPORTS:
; NKConsoleLog
; printh
; printw
; NKInit
; CancelReplacement
; InitHighLevel
; InitIRP
; NKPrimaryIntHandlers
; LookupInterruptHandler
; NKScreenConsole
; InitScreenConsole
; NKTranslation
; FDP
; EXPORTS:
; InitReplacement (=> NKInit)
; sprg0 = old KDP/EWA/r1 ptr
; r3 = PA_NanoKernelCode
; r4 = physical base of our global area

View File

@ -1,3 +1,47 @@
; AUTO-GENERATED SYMBOL LIST
; IMPORTS:
; NKConsoleLog
; printh
; printw
; NKInterrupts
; SIGP
; NKPaging
; PagingFlushTLB
; NKTasks
; TasksFuncThatIsNotAMPCall
; NKThud
; panic
; NKTimers
; GetTime
; SetTimesliceFromCurTime
; TimebaseTicksPerPeriod
; EXPORTS:
; CalculateTimeslice (=> NKInit, NKMPCalls, NKPrimaryIntHandlers, NKSync, NKTasks, NKTimers)
; FlagSchEval (=> NKInit, NKInterrupts, NKMPCalls, NKTasks)
; FlagSchEvaluationIfTaskRequires (=> NKMPCalls, NKPrimaryIntHandlers, NKSync, NKTasks, NKTimers)
; NewCpuEntryPoint (=> NKMPCalls)
; Restore_v0_v31 (=> NKInterrupts)
; Save_f0_f31 (=> NKSleep)
; Save_v0_v31 (=> NKInterrupts, NKMPCalls, NKSleep)
; SchEval (=> NKInterrupts, NKMPCalls)
; SchExitInterrupt (=> NKInterrupts)
; SchFiddlePriorityShifty (=> NKInterrupts)
; SchIdleTask (=> NKInit, NKMPCalls)
; SchIdleTaskStopper (=> NKMPCalls)
; SchInit (=> NKInit)
; SchRdyTaskLater (=> NKMPCalls, NKPrimaryIntHandlers, NKSync)
; SchRdyTaskNow (=> NKInit, NKInterrupts, NKMPCalls, NKSync, NKTasks, NKTimers)
; SchRestoreStartingAtR14 (=> NKInit, NKInterrupts, NKMPCalls, NKPrimaryIntHandlers, NKVMCalls)
; SchRestoreStartingAtR20 (=> NKPrimaryIntHandlers)
; SchReturn (=> NKInterrupts)
; SchSaveStartingAtR14 (=> NKInterrupts, NKMPCalls, NKVMCalls)
; SchSaveStartingAtR20 (=> NKPrimaryIntHandlers)
; SchSwitchSpace (=> NKInit, NKInterrupts, NKSleep)
; SchTaskUnrdy (=> NKInterrupts, NKMPCalls, NKPrimaryIntHandlers, NKSync, NKTasks, NKTimers)
; clear_cr0_lt (=> NKTimers)
; major_0x149d4 (=> NKTimers)
Local_Panic set *
b panic

View File

@ -1,3 +1,13 @@
; AUTO-GENERATED SYMBOL LIST
; IMPORTS:
; NKPaging
; PagingL2PWithoutBATs
; EXPORTS:
; InitScreenConsole (=> NKBuiltinInit, NKInit, NKReplacementInit)
; ScreenConsole_putchar (=> NKConsoleLog)
; ScreenConsole_redraw (=> NKConsoleLog, NKMPCalls)
ScreenConsoleX equ 24
ScreenConsoleY equ 22

View File

@ -1,3 +1,24 @@
; AUTO-GENERATED SYMBOL LIST
; IMPORTS:
; NKInterrupts
; SIGP
; NKMPCalls
; CommonMPCallReturnPath
; ReturnMPCallOOM
; ReturnParamErrFromMPCall
; ReturnZeroFromMPCall
; NKPaging
; PagingFlushTLB
; PagingFunc2AndAHalf
; PagingL2PWithBATs
; NKScheduler
; Save_f0_f31
; Save_v0_v31
; SchSwitchSpace
; NKThud
; panic
; Implements two MPCalls that seem to have something to do with COHGs

View File

@ -1,3 +1,48 @@
; AUTO-GENERATED SYMBOL LIST
; IMPORTS:
; NKIndex
; DeleteID
; LookupID
; MakeID
; NKMPCalls
; BlockMPCall
; ReleaseAndReturnMPCall
; ReleaseAndReturnMPCallBlueBlocking
; ReleaseAndReturnMPCallInvalidIDErr
; ReleaseAndReturnMPCallOOM
; ReleaseAndReturnMPCallTaskAborted
; ReleaseAndReturnParamErrFromMPCall
; ReleaseAndReturnZeroFromMPCall
; ReleaseAndScrambleMPCall
; ReleaseAndTimeoutMPCall
; ReturnMPCallOOM
; ReturnZeroFromMPCall
; ScrambleMPCall
; NKPoolAllocator
; PoolAlloc
; PoolAllocClear
; PoolFree
; NKScheduler
; CalculateTimeslice
; FlagSchEvaluationIfTaskRequires
; SchRdyTaskLater
; SchRdyTaskNow
; SchTaskUnrdy
; NKThud
; panic
; NKTimers
; DequeueTimer
; EnqueueTimer
; GetTime
; TimebaseTicksPerPeriod
; EXPORTS:
; CauseNotification (=> NKAddressSpaces, NKInterrupts, NKPrimaryIntHandlers)
; EnqueueMessage (=> NKInterrupts, NKTasks, NKTimers)
; SetEvent (=> NKAddressSpaces, NKTimers)
; SignalSemaphore (=> NKTimers)
; UnblockBlueIfCouldBePolling (=> NKInterrupts)
####### ## ## ######## ## ## ######## ######
## ## ## ## ## ## ## ## ## ##
## ## ## ## ## ## ## ## ##

View File

@ -1,3 +1,44 @@
; AUTO-GENERATED SYMBOL LIST
; IMPORTS:
; NKAddressSpaces
; FindAreaAbove
; NKIndex
; DeleteID
; LookupID
; MakeID
; NKMPCalls
; CommonMPCallReturnPath
; MPCall_6_0x78
; ReleaseAndReturnMPCall
; ReleaseAndReturnMPCallInvalidIDErr
; ReleaseAndReturnMPCallOOM
; ReleaseAndReturnZeroFromMPCall
; ReleaseAndScrambleMPCall
; ReturnMPCallInvalidIDErr
; ReturnMPCallOOM
; NKPoolAllocator
; PoolAlloc
; PoolAllocClear
; PoolFree
; NKScheduler
; CalculateTimeslice
; FlagSchEval
; FlagSchEvaluationIfTaskRequires
; SchRdyTaskNow
; SchTaskUnrdy
; NKSync
; EnqueueMessage
; NKThud
; panic
; NKTimers
; DequeueTimer
; GetTime
; EXPORTS:
; CreateTask (=> NKInit, NKMPCalls)
; TasksFuncThatIsNotAMPCall (=> NKScheduler)
; ThrowTaskToDebugger (=> NKInterrupts)
; This file mostly provides MPCall implementations related to multitasking.
; We won't understand this very well until someone disassembles MPLibrary.

View File

@ -1,3 +1,24 @@
; AUTO-GENERATED SYMBOL LIST
; IMPORTS:
; NKConsoleLog
; getchar
; print_unknown
; printc
; printh
; prints
; printw
; NKIndex
; GetNextIDOfClass
; LookupID
; NKInterrupts
; Exception
; NKPaging
; PagingFunc1
; PagingL2PWithoutBATs
; EXPORTS:
; panic (=> NKAddressSpaces, NKIndex, NKInit, NKInterrupts, NKMPCalls, NKPaging, NKPoolAllocator, NKPowerCalls, NKRTASCalls, NKScheduler, NKSleep, NKSync, NKTasks, NKTimers, NKTranslation, NKVMCalls)
; panic_non_interactive (=> NKTimers)
align 5

View File

@ -1,3 +1,42 @@
; AUTO-GENERATED SYMBOL LIST
; IMPORTS:
; NKConsoleLog
; getchar
; printb
; printd
; printh
; printw
; NKIndex
; DeleteID
; LookupID
; NKPoolAllocator
; PoolAllocClear
; PoolFree
; NKScheduler
; CalculateTimeslice
; FlagSchEvaluationIfTaskRequires
; SchRdyTaskNow
; SchTaskUnrdy
; clear_cr0_lt
; major_0x149d4
; NKSync
; EnqueueMessage
; SetEvent
; SignalSemaphore
; NKThud
; panic
; panic_non_interactive
; EXPORTS:
; DequeueTimer (=> NKMPCalls, NKPrimaryIntHandlers, NKSync, NKTasks)
; EnqueueTimer (=> NKMPCalls, NKSync)
; GetTime (=> NKMPCalls, NKScheduler, NKSync, NKTasks)
; InitTMRQs (=> NKInit)
; SetTimesliceFromCurTime (=> NKScheduler)
; StartTimeslicing (=> NKInit)
; TimebaseTicksPerPeriod (=> NKScheduler, NKSync)
; TimerDispatch (=> NKInterrupts)
Local_Panic set *
b panic

View File

@ -14,6 +14,28 @@
; magic. The tables here contain relative references to other tables
; in Interrupts.s. What a mess.
; AUTO-GENERATED SYMBOL LIST
; IMPORTS:
; NKInterrupts
; Exception
; ExceptionMemRetried
; FloatLoadJumpTable
; FloatSaveJumpTable
; IgnoreSoftwareInt
; LoadInterruptRegisters
; major_0x03324
; major_0x03548
; NKThud
; panic
; EXPORTS:
; FDP (=> NKBuiltinInit, NKReplacementInit)
; FDPEmulateInstruction (=> NKInterrupts)
; FDP_003c (=> NKInterrupts)
; FDP_011c (=> NKInterrupts)
; FDP_0DA0 (=> NKInterrupts)
; FDP_1c40 (=> NKInit)
; ProbePerfMonitor (=> NKInit)
align 11

View File

@ -1,3 +1,34 @@
; AUTO-GENERATED SYMBOL LIST
; IMPORTS:
; NKAddressSpaces
; CreateArea
; DeletePTE
; FindAreaAbove
; GetPTEFromPLE
; InvalPTE
; SetPTE
; SpaceGetPagePLE
; NKConsoleLog
; printw
; NKInterrupts
; IntReturn
; NKPaging
; PagingFunc1
; NKPoolAllocator
; PoolAllocClear
; NKScheduler
; SchRestoreStartingAtR14
; SchSaveStartingAtR14
; NKThud
; panic
; EXPORTS:
; EditPTEInHTAB (=> NKMPCalls)
; GetPARPageInfo (=> NKMPCalls)
; RemovePageFromTLB (=> NKMPCalls)
; VMSecondLastExportedFunc (=> NKMPCalls)
; kcVMDispatch (=> NKInit)
Local_Panic set *
b panic