memcpy 复现

This commit is contained in:
KAAAsS 2022-04-21 22:26:27 +08:00
parent 50da90a75f
commit 54f32e597f
Signed by: KAAAsS
GPG Key ID: D22F53AF662411FE
3 changed files with 21 additions and 2 deletions

View File

@ -418,6 +418,14 @@ int fs_read(char *path, off_t offset, ssize_t count) {
return ret; return ret;
} }
void memcpy2(void *dst, const void *src, u64 len)
{
u64 i = 0;
for (; i < len; i += 1) {
((u8 *) dst)[i] = ((u8 *) src)[i];
}
}
/** /**
* *
*/ */
@ -454,8 +462,16 @@ int fs_read_all(char *path, void **ret_buf)
return cur; return cur;
} }
// FIXME: 此处在 Release 模式下第一次读取前 16 字节为空 // FIXME: 此处在 Release 模式下第一次读取前 16 字节为空
memcpy(buf, (const void *) TMPFS_READ_BUF_VADDR, cur); // memcpy(buf, (const void *) TMPFS_READ_BUF_VADDR, cur);
memcpy(buf, (const void *) TMPFS_READ_BUF_VADDR, cur); printf("first bytes: %c %c\n", ((u8*) TMPFS_READ_BUF_VADDR)[0],
((u8*) TMPFS_READ_BUF_VADDR)[1]);
printf("memcpy %x %x %d\n", buf, (const void *) TMPFS_READ_BUF_VADDR, cur);
memcpy2(buf, (const void *) TMPFS_READ_BUF_VADDR, cur);
// u64 i = 0;
// for (; i < cur; i += 1) {
// ((u8 *) buf)[i] = ((u8 *) TMPFS_READ_BUF_VADDR)[i];
// }
pos += cur; pos += cur;
buf += cur; buf += cur;
} }

View File

@ -43,6 +43,8 @@ int main()
usys_fs_load_cpio(CPIO_BIN); usys_fs_load_cpio(CPIO_BIN);
boot_fs(); boot_fs();
builtin_cmd("cat tar/cat_test.txt");
return 0;
test_readline(); test_readline();
test_echo(); test_echo();

View File

@ -1,4 +1,5 @@
#include <lib/type.h> #include <lib/type.h>
#include "print.h"
/* /*
* A very shabby implementation, optimize it if you like. * A very shabby implementation, optimize it if you like.