1,324
社区成员




void simple_test(char *filename, int dma_fd)
{
int file_fd
void *user_mem = NULL;
int pagesize = 0;
int rc;
file_fd = open(filename, O_RDWR | O_CREAT | O_TRUNC | O_DIRECT, 0666);
pagesize = getpagesize();
user_mem = mmap(0, pagesize, PROT_READ | PROT_WRITE, MAP_SHARED, dma_fd, 0);
if (user_mem == (void*) -1)
{
fprintf(stderr, "mmap: %s\n", strerror(errno));
exit(-1);
}
printf("user_mem %p\n", user_mem);
rc = write(file_fd, user_mem, pagesize);
if (rc < 0)
{
perror("write file");
}
else if(rc != pagesize)
{
printf("Write file fail 0x%lx != 0x%lx.\n", rc, pagesize);
}
rc = munmap(user_mem, pagesize);
if (rc)
{
perror("munmap");
}
}