late_init option

This commit is contained in:
Andreas Abel
2020-12-08 20:34:21 +01:00
parent a3def89d67
commit 6d9e1f9e85
8 changed files with 72 additions and 7 deletions

View File

@@ -142,6 +142,7 @@ def resetNanoBench():
# code, codeObjFile, codeBinFile cannot be specified at the same time (same for init, initObjFile and initBinFile)
def runNanoBench(code='', codeObjFile=None, codeBinFile=None,
init='', initObjFile=None, initBinFile=None,
lateInit='', lateInitObjFile=None, lateInitBinFile=None,
oneTimeInit='', oneTimeInitObjFile=None, oneTimeInitBinFile=None):
if not ramdiskCreated: createRamdisk()
with open('/sys/nb/clear') as clearFile: clearFile.read()
@@ -164,6 +165,15 @@ def runNanoBench(code='', codeObjFile=None, codeBinFile=None,
elif initBinFile is not None:
writeFile('/sys/nb/init', initBinFile)
if lateInit:
lateInitObjFile = '/tmp/ramdisk/late_init.o'
assemble(lateInit, lateInitObjFile)
if lateInitObjFile is not None:
objcopy(lateInitObjFile, '/tmp/ramdisk/late_init.bin')
writeFile('/sys/nb/late_init', '/tmp/ramdisk/late_init.bin')
elif lateInitBinFile is not None:
writeFile('/sys/nb/late_init', lateInitBinFile)
if oneTimeInit:
oneTimeInitObjFile = '/tmp/ramdisk/one_time_init.o'
assemble(oneTimeInit, oneTimeInitObjFile)