From 5b2218485038b329377c6a83bd36bf5df1c43549 Mon Sep 17 00:00:00 2001 From: tcsadmin Date: Wed, 13 Oct 2010 16:47:42 +0000 Subject: Added memory manager system call git-svn-id: https://mindboards.svn.sourceforge.net/svnroot/mindboards/lms_nbcnxc_128/trunk@18 c9361245-7fe8-9947-84e8-057757c4e366 --- AT91SAM7S256/Source/c_cmd.c | 20 +++++++++++++++++++- AT91SAM7S256/Source/c_cmd.h | 1 + 2 files changed, 20 insertions(+), 1 deletion(-) (limited to 'AT91SAM7S256') diff --git a/AT91SAM7S256/Source/c_cmd.c b/AT91SAM7S256/Source/c_cmd.c index 41136b0..4b25362 100644 --- a/AT91SAM7S256/Source/c_cmd.c +++ b/AT91SAM7S256/Source/c_cmd.c @@ -255,7 +255,7 @@ static pSysCall SysCallFuncs[SYSCALL_COUNT] = cCmdWrapDrawPolygon, cCmdWrapDrawEllipse, cCmdWrapDrawFont, // 95 - cCmdWrapUndefinedSysCall, + cCmdWrapMemoryManager, cCmdWrapUndefinedSysCall, cCmdWrapUndefinedSysCall, cCmdWrapUndefinedSysCall // 99 --> 100 system call slots @@ -9521,6 +9521,24 @@ NXT_STATUS cCmdWrapFileResize(UBYTE * ArgV[]) return (NO_ERR); } +//cCmdWrapMemoryManager +//ArgV[0]: (return) Status byte, SBYTE +//ArgV[1]: Compact?, UBYTE (true or false) +//ArgV[2]: PoolSize, UWORD +//ArgV[3]: DataspaceSize, UWORD +NXT_STATUS cCmdWrapMemoryManager(UBYTE * ArgV[]) +{ + SBYTE * pReturnVal = (SBYTE*)(ArgV[0]); + *pReturnVal = NO_ERR; + if (*(ArgV[1])) { + *pReturnVal = cCmdDSCompact(); + } + *(UWORD*)(ArgV[2]) = (UWORD)VarsCmd.PoolSize; + *(UWORD*)(ArgV[3]) = VarsCmd.DataspaceSize; + + return (NO_ERR); +} + NXT_STATUS cCmdWrapUndefinedSysCall(UBYTE * ArgV[]) { return (NO_ERR); diff --git a/AT91SAM7S256/Source/c_cmd.h b/AT91SAM7S256/Source/c_cmd.h index 3af20cd..489e0cc 100644 --- a/AT91SAM7S256/Source/c_cmd.h +++ b/AT91SAM7S256/Source/c_cmd.h @@ -905,6 +905,7 @@ NXT_STATUS cCmdWrapDrawPictureArray(UBYTE * ArgV[]); NXT_STATUS cCmdWrapDrawPolygon(UBYTE * ArgV[]); NXT_STATUS cCmdWrapDrawEllipse(UBYTE * ArgV[]); NXT_STATUS cCmdWrapDrawFont(UBYTE * ArgV[]); +NXT_STATUS cCmdWrapMemoryManager(UBYTE * ArgV[]); NXT_STATUS cCmdWrapUndefinedSysCall(UBYTE * ArgV[]); -- cgit v1.2.3