Kernel/armv7 - Debug changes, nothing more
[tpg/acess2.git] / Kernel / lib.c
index 472351c..6263dc8 100644 (file)
@@ -854,10 +854,14 @@ int CheckString(const char *String)
 
 /**
  * \brief Check if a sized memory region is valid memory
+ * \return Boolean success
  */
 int CheckMem(const void *Mem, int NumBytes)
 {
        tVAddr  addr = (tVAddr)Mem;
+
+       if( !MM_GetPhysAddr( addr ) )
+               return 0;
        
        if( MM_IsUser( addr ) )
        {
@@ -962,6 +966,10 @@ void *memmove(void *__dest, const void *__src, size_t len)
        if( (tVAddr)dest + len < (tVAddr)src )
                return memcpy(dest, src, len);
        
+       // NOTE: Assumes memcpy works forward
+       if( (tVAddr)dest < (tVAddr)src )
+               return memcpy(dest, src, len);
+
        if( (tVAddr)dest < (tVAddr)src )
                block_size = (tVAddr)src - (tVAddr)dest;
        else

UCC git Repository :: git.ucc.asn.au