Add the current OS source tree, build scripts, system image layout, and development notes covering DMA page allocation, e1000 bring-up, net API dispatch, and DHCP work in progress.
38 lines
751 B
C
38 lines
751 B
C
#include <utsm/types.h>
|
|
|
|
void *memset(void *dst, int value, usize len) {
|
|
u8 *d = (u8 *)dst;
|
|
for (usize i = 0; i < len; i++) {
|
|
d[i] = (u8)value;
|
|
}
|
|
return dst;
|
|
}
|
|
|
|
void *memcpy(void *dst, const void *src, usize len) {
|
|
u8 *d = (u8 *)dst;
|
|
const u8 *s = (const u8 *)src;
|
|
for (usize i = 0; i < len; i++) {
|
|
d[i] = s[i];
|
|
}
|
|
return dst;
|
|
}
|
|
|
|
int memcmp(const void *a, const void *b, usize len) {
|
|
const u8 *x = (const u8 *)a;
|
|
const u8 *y = (const u8 *)b;
|
|
for (usize i = 0; i < len; i++) {
|
|
if (x[i] != y[i]) {
|
|
return (int)x[i] - (int)y[i];
|
|
}
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
usize strlen(const char *s) {
|
|
usize len = 0;
|
|
while (s[len]) {
|
|
len++;
|
|
}
|
|
return len;
|
|
}
|