Whne I try to execute following code then get an erro message that "Invalid Argumemt" in msync. #include <stdio.h> #include <stdlib.h> #include <sys/mman.h> #include <sys/types.h> #include <sys/stat.h> #include <sys/errno.h> #include <sys/time.h> #include <fcntl.h> #include <stdio.h> #include <string.h> #include <stdlib.h> #include <errno.h> #include <unistd.h> #include <pthread.h> #include <linux/types.h> int main() { int fd; char data[20]; __u8 *start_addr,*end_addr; int PageSize; if ( (PageSize = sysconf(_SC_PAGE_SIZE)) < 0) { perror("sysconf() Error="); return -1; } printf("PageSize = %d\n",PageSize); if((fd = open("/dev/mem", O_RDWR | O_SYNC)) == -1) { printf("Error opening /dev/mem\n"); return -1; } start_addr = mmap(0, PageSize, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0); if(start_addr == MAP_FAILED) { printf("enc_status map failed %s\n", strerror(errno)); return -1; } end_addr = start_addr + (4096 - 1); strcpy(data, "Test Msg"); printf("\n%s:Writing NVRAM.......\n", __FUNCTION__); if(write(fd, data, strlen(data)) <= 0) { printf("%s: Not able to write on NVRAM. %s.\n", __FUNCTION__, strerror(errno)); return -1; } printf("\n%s:Synching NVRAM.......\n", __FUNCTION__); if(msync(start_addr, PageSize, MS_SYNC) <= 0) { printf("%s: Not able to sync to NVRAM. %s.\n", __FUNCTION__, strerror(errno)); return -1; } printf("\n%s:reading NVRAM.......\n", __FUNCTION__); strcpy(data, ""); if(read(fd, data, sizeof(data)) <= 0) { printf("%s: Not able to read on NVRAM. %s.\n", __FUNCTION__, strerror(errno)); return -1; } printf("%s: data %s.\n", __FUNCTION__, data); return 0; } -- This message was sent on behalf of darshan.ghumare@xxxxxxxxx at openSubscriber.com http://www.opensubscriber.com/messages/linux-c-programming@xxxxxxxxxxxxxxx/topic.html -- To unsubscribe from this list: send the line "unsubscribe linux-c-programming" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html