mirror of
https://github.com/fail0verflow/switch-coreboot.git
synced 2025-05-04 01:39:18 -04:00
Add Doxygen-comments to all functions in lib/mem.c.
Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de> Acked-by: Stefan Reinauer <stepan@coresystems.de> git-svn-id: svn://coreboot.org/repository/LinuxBIOSv3@239 f3766cd6-281f-0410-b1cd-43a5c92072e9
This commit is contained in:
parent
f2db8b407e
commit
b22be2d54a
1 changed files with 40 additions and 9 deletions
47
lib/mem.c
47
lib/mem.c
|
@ -3,6 +3,7 @@
|
||||||
*
|
*
|
||||||
* Copyright (C) 2007 Ronald G. Minnich <rminnich@gmail.com>
|
* Copyright (C) 2007 Ronald G. Minnich <rminnich@gmail.com>
|
||||||
* Copyright (C) 2007 Peter Stuge <peter@stuge.se>
|
* Copyright (C) 2007 Peter Stuge <peter@stuge.se>
|
||||||
|
* Copyright (C) 2007 Uwe Hermann <uwe@hermann-uwe.de>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -18,7 +19,9 @@
|
||||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA, 02110-1301 USA
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA, 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Memory routines with some optimizations. */
|
/* Memory routines with some optimizations. Please don't be silly and inline
|
||||||
|
* these. Inlines are not as wonderful as people think.
|
||||||
|
*/
|
||||||
|
|
||||||
#include <arch/types.h>
|
#include <arch/types.h>
|
||||||
|
|
||||||
|
@ -96,20 +99,41 @@ static void memcpy_helper(void *dest, const void *src, int len, int backwards)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Won't handle overlaps. */
|
/**
|
||||||
/* Please don't be silly and inline these. Inlines are not as wonderful as people think */
|
* Copy 'len' bytes from one memory area to another.
|
||||||
|
*
|
||||||
|
* The memory areas may _not_ overlap.
|
||||||
|
*
|
||||||
|
* @param dest Pointer to the destination memory area.
|
||||||
|
* @param src Pointer to the source memory area.
|
||||||
|
* @param len Number of bytes to copy.
|
||||||
|
*/
|
||||||
void memcpy(void *dest, const void *src, int len)
|
void memcpy(void *dest, const void *src, int len)
|
||||||
{
|
{
|
||||||
memcpy_helper(dest, src, len, 0);
|
memcpy_helper(dest, src, len, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Handles overlapping memory. */
|
/**
|
||||||
/* seperate function in case we decide to use the built-in -- not sure yet. */
|
* Copy 'len' bytes from one memory area to another.
|
||||||
|
*
|
||||||
|
* The memory areas may overlap.
|
||||||
|
*
|
||||||
|
* @param dest Pointer to the destination memory area.
|
||||||
|
* @param src Pointer to the source memory area.
|
||||||
|
* @param len Number of bytes to copy.
|
||||||
|
*/
|
||||||
void memmove(void *dest, const void *src, int len)
|
void memmove(void *dest, const void *src, int len)
|
||||||
{
|
{
|
||||||
memcpy_helper(dest, src, len, dest > src && dest < (src + len));
|
memcpy_helper(dest, src, len, dest > src && dest < (src + len));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fill a memory area with the specified byte.
|
||||||
|
*
|
||||||
|
* @param v Pointer to the beginning of the memory area.
|
||||||
|
* @param a The byte which is used for filling the memory area.
|
||||||
|
* @param len The number of bytes to write.
|
||||||
|
*/
|
||||||
void memset(void *v, unsigned char a, int len)
|
void memset(void *v, unsigned char a, int len)
|
||||||
{
|
{
|
||||||
unsigned char *cp = v;
|
unsigned char *cp = v;
|
||||||
|
@ -117,8 +141,16 @@ void memset(void *v, unsigned char a, int len)
|
||||||
*cp++ = a;
|
*cp++ = a;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* did you ever notice that the memcmp web page does not specify
|
/**
|
||||||
* a signed or unsigned compare? It matters ... oh well, we assumed unsigned
|
* Compare the first 'len' bytes of two memory areas.
|
||||||
|
*
|
||||||
|
* We assume unsigned characters here.
|
||||||
|
*
|
||||||
|
* @param s1 Pointer to the first memory area.
|
||||||
|
* @param s2 Pointer to the second memory area.
|
||||||
|
* @param len Number of bytes to compare.
|
||||||
|
* @return Returns a negative number if s1 is shorter than s2. Returns zero if
|
||||||
|
* s1 matches s2. Returns a positive number if s1 is longer than s2.
|
||||||
*/
|
*/
|
||||||
int memcmp(const void *s1, const void *s2, int len)
|
int memcmp(const void *s1, const void *s2, int len)
|
||||||
{
|
{
|
||||||
|
@ -132,5 +164,4 @@ int memcmp(const void *s1, const void *s2, int len)
|
||||||
d++, s++;
|
d++, s++;
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue