x86: ASM fast memset()
This commit is contained in:
@ -36,6 +36,10 @@ void *memset(void *s, int n, size_t l);
|
||||
#define fast_memcpy memcpy
|
||||
#endif
|
||||
|
||||
#ifdef ARCH_FAST_MEMSET
|
||||
#define memset __inline_memset
|
||||
#endif
|
||||
|
||||
extern int snprintf(char * buf, size_t size, const char *fmt, ...);
|
||||
extern int sprintf(char * buf, const char *fmt, ...);
|
||||
extern int sscanf(const char * buf, const char * fmt, ...);
|
||||
|
||||
@ -13,6 +13,7 @@
|
||||
#include <kmalloc.h>
|
||||
#include <string.h>
|
||||
#include <memory.h>
|
||||
#include <arch-string.h>
|
||||
|
||||
size_t strlen(const char *p)
|
||||
{
|
||||
@ -153,6 +154,7 @@ void *memcpy_long(void *dest, const void *src, size_t n)
|
||||
return dest;
|
||||
}
|
||||
|
||||
#ifndef ARCH_FAST_MEMSET
|
||||
void *memset(void *s, int c, size_t n)
|
||||
{
|
||||
char *s_aligned = (void *)(((unsigned long)s + 7) & ~7);
|
||||
@ -187,6 +189,7 @@ void *memset(void *s, int c, size_t n)
|
||||
|
||||
return s;
|
||||
}
|
||||
#endif
|
||||
|
||||
int memcmp(const void *s1, const void *s2, size_t n)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user