Lines Matching refs:area_index

142 static int rkss_verify_usedflags(unsigned int area_index)  in rkss_verify_usedflags()  argument
149 if (area_index >= RKSS_MAX_AREA_NUM) { in rkss_verify_usedflags()
150 printf("TEEC: Not support area_index 0x%x\n", area_index); in rkss_verify_usedflags()
154 flags = rkss_info[area_index].flags; in rkss_verify_usedflags()
201 static int rkss_storage_delete(uint32_t area_index) in rkss_storage_delete() argument
207 if (area_index >= RKSS_MAX_AREA_NUM) { in rkss_storage_delete()
208 printf("TEEC: Not support area_index 0x%x\n", area_index); in rkss_storage_delete()
212 printf("TEEC: delete area index 0x%x!\n", area_index); in rkss_storage_delete()
221 part_info.start + area_index * RKSS_SECTION_COUNT * RKSS_BACKUP_NUM, in rkss_storage_delete()
299 static int rkss_read_multi_sections(unsigned int area_index, in rkss_read_multi_sections() argument
302 if (area_index >= RKSS_MAX_AREA_NUM) { in rkss_read_multi_sections()
311 if (rkss_buffer[area_index] == NULL) { in rkss_read_multi_sections()
315 memcpy(data, rkss_buffer[area_index] + index * RKSS_DATA_LEN, num * RKSS_DATA_LEN); in rkss_read_multi_sections()
319 static int rkss_write_multi_sections(unsigned int area_index, in rkss_write_multi_sections() argument
325 if (area_index >= RKSS_MAX_AREA_NUM) { in rkss_write_multi_sections()
336 if (rkss_buffer[area_index] == NULL) { in rkss_write_multi_sections()
341 memcpy(rkss_buffer[area_index] + index * RKSS_DATA_LEN, data, num * RKSS_DATA_LEN); in rkss_write_multi_sections()
342 rkss_info[area_index].header->backup_dirty = 1; in rkss_write_multi_sections()
350 unsigned int area_index; in rkss_get_fileinfo_by_index() local
352 area_index = fd / (RKSS_TABLE_COUNT * RKSS_EACH_FILEFOLDER_COUNT); in rkss_get_fileinfo_by_index()
353 if (area_index >= RKSS_MAX_AREA_NUM) { in rkss_get_fileinfo_by_index()
358 p = rkss_info[area_index].table; in rkss_get_fileinfo_by_index()
372 *out_area_index = area_index; in rkss_get_fileinfo_by_index()
490 unsigned int area_index, int section_size) in rkss_get_empty_section_from_usedflags() argument
495 if (area_index >= RKSS_MAX_AREA_NUM) { in rkss_get_empty_section_from_usedflags()
499 if (rkss_info[area_index].flags == NULL) { in rkss_get_empty_section_from_usedflags()
504 uint8_t *flag = rkss_info[area_index].flags + (int)i/2; in rkss_get_empty_section_from_usedflags()
520 unsigned int area_index, unsigned int index, unsigned int num) in rkss_incref_multi_usedflags_sections() argument
525 if (area_index >= RKSS_MAX_AREA_NUM) { in rkss_incref_multi_usedflags_sections()
535 if (rkss_info[area_index].flags == NULL) { in rkss_incref_multi_usedflags_sections()
541 flag = rkss_info[area_index].flags + (int)index / 2; in rkss_incref_multi_usedflags_sections()
550 rkss_info[area_index].header->backup_dirty = 1; in rkss_incref_multi_usedflags_sections()
555 unsigned int area_index, unsigned int index, unsigned int num) in rkss_decref_multi_usedflags_sections() argument
560 if (area_index >= RKSS_MAX_AREA_NUM) { in rkss_decref_multi_usedflags_sections()
570 if (rkss_info[area_index].flags == NULL) { in rkss_decref_multi_usedflags_sections()
576 flag = rkss_info[area_index].flags + (int)index / 2; in rkss_decref_multi_usedflags_sections()
585 rkss_info[area_index].header->backup_dirty = 1; in rkss_decref_multi_usedflags_sections()
628 int area_index = -1; in rkss_get_larger_area() local
638 area_index = i; in rkss_get_larger_area()
641 return area_index; in rkss_get_larger_area()
645 unsigned int area_index, struct rkss_file_table *pfile_table) in rkss_write_area_empty_ptable() argument
650 if (rkss_info[area_index].table == NULL) { in rkss_write_area_empty_ptable()
656 p = rkss_info[area_index].table + i * RKSS_EACH_FILEFOLDER_COUNT + n; in rkss_write_area_empty_ptable()
662 rkss_info[area_index].header->backup_dirty = 1; in rkss_write_area_empty_ptable()
663 ret = area_index * RKSS_TABLE_COUNT * RKSS_EACH_FILEFOLDER_COUNT + in rkss_write_area_empty_ptable()
675 int area_index; in rkss_write_empty_ptable() local
677 area_index = rkss_get_larger_area(); in rkss_write_empty_ptable()
678 if (area_index < 0) { in rkss_write_empty_ptable()
683 return rkss_write_area_empty_ptable(area_index, pfile_table); in rkss_write_empty_ptable()
690 unsigned int area_index; in rkss_write_back_ptable() local
692 area_index = fd / (RKSS_TABLE_COUNT * RKSS_EACH_FILEFOLDER_COUNT); in rkss_write_back_ptable()
693 if (area_index >= RKSS_MAX_AREA_NUM) { in rkss_write_back_ptable()
698 p = rkss_info[area_index].table; in rkss_write_back_ptable()
710 rkss_info[area_index].header->backup_dirty = 1; in rkss_write_back_ptable()
767 static int rkss_storage_init(uint32_t area_index) in rkss_storage_init() argument
775 if (area_index >= RKSS_MAX_AREA_NUM) { in rkss_storage_init()
776 printf("TEEC: Not support index=0x%x\n", area_index); in rkss_storage_init()
786 if (rkss_buffer[area_index] == NULL) { in rkss_storage_init()
788 rkss_buffer[area_index] = (uint8_t *)memalign(CONFIG_SYS_CACHELINE_SIZE, size); in rkss_storage_init()
789 if (!(rkss_buffer[area_index])) { in rkss_storage_init()
795 rkss_info[area_index].header = (struct rkss_file_header *)(rkss_buffer[area_index]); in rkss_storage_init()
796 rkss_info[area_index].flags = (uint8_t *)(rkss_buffer[area_index] + flags_offset); in rkss_storage_init()
797 rkss_info[area_index].table = (struct rkss_file_table *)(rkss_buffer[area_index] + table_offset); in rkss_storage_init()
798 rkss_info[area_index].data = (uint8_t *)(rkss_buffer[area_index] + data_offset); in rkss_storage_init()
799 …rkss_info[area_index].footer = (struct rkss_file_footer *)(rkss_buffer[area_index] + footer_offset… in rkss_storage_init()
805 area_index * RKSS_SECTION_COUNT * RKSS_BACKUP_NUM + in rkss_storage_init()
807 RKSS_SECTION_COUNT, rkss_buffer[area_index]); in rkss_storage_init()
813 if ((rkss_info[area_index].header->tag == RKSS_TAG) && in rkss_storage_init()
814 (rkss_info[area_index].footer->backup_count == rkss_info[area_index].header->backup_count)) { in rkss_storage_init()
815 if (max_ver < rkss_info[area_index].header->backup_count) { in rkss_storage_init()
817 max_ver = rkss_info[area_index].header->backup_count; in rkss_storage_init()
829 area_index * RKSS_SECTION_COUNT * RKSS_BACKUP_NUM + in rkss_storage_init()
831 RKSS_SECTION_COUNT, rkss_buffer[area_index]); in rkss_storage_init()
838 if (rkss_info[area_index].header->version == RKSS_VERSION_V2) { in rkss_storage_init()
840 } else if (rkss_info[area_index].header->version < RKSS_VERSION_V2) { in rkss_storage_init()
843 free(rkss_buffer[area_index]); in rkss_storage_init()
844 rkss_buffer[area_index] = NULL; in rkss_storage_init()
849 free(rkss_buffer[area_index]); in rkss_storage_init()
850 rkss_buffer[area_index] = NULL; in rkss_storage_init()
854 printf("TEEC: Reset area[%d] info...\n", area_index); in rkss_storage_init()
855 memset(rkss_buffer[area_index], 0, size); in rkss_storage_init()
856 rkss_info[area_index].header->tag = RKSS_TAG; in rkss_storage_init()
857 rkss_info[area_index].header->version = RKSS_VERSION_V2; in rkss_storage_init()
858 rkss_info[area_index].header->backup_count = 1; in rkss_storage_init()
859 rkss_info[area_index].footer->backup_count = 1; in rkss_storage_init()
861 if (rkss_verify_usedflags(area_index) < 0) { in rkss_storage_init()
876 unsigned int area_index; in tee_fs_open() local
886 ret = rkss_get_fileinfo_by_name(filename, &p, &area_index); in tee_fs_open()
940 unsigned int area_index; in tee_fs_read() local
944 ret = rkss_get_fileinfo_by_index(fsrpc->fd, &p, &area_index); in tee_fs_read()
959 ret = rkss_read_multi_sections(area_index, temp_file_data, p.index, num); in tee_fs_read()
978 unsigned int area_index; in tee_fs_write() local
990 ret = rkss_get_fileinfo_by_index(fsrpc->fd, &p, &area_index); in tee_fs_write()
998 ret = rkss_decref_multi_usedflags_sections(area_index, p.index, num); in tee_fs_write()
1007 p.index = rkss_get_empty_section_from_usedflags(area_index, num); in tee_fs_write()
1011 ret = rkss_incref_multi_usedflags_sections(area_index, p.index, num); in tee_fs_write()
1030 rkss_write_multi_sections(area_index, temp_file_data, p.index, num); in tee_fs_write()
1041 unsigned int area_index; in tee_fs_seek() local
1052 ret = rkss_get_fileinfo_by_index(fsrpc->fd, &p, &area_index); in tee_fs_seek()
1072 unsigned int area_index; in tee_fs_unlink() local
1074 fd = rkss_get_fileinfo_by_name(filename, &p, &area_index); in tee_fs_unlink()
1085 ret = rkss_decref_multi_usedflags_sections(area_index, p.index, num); in tee_fs_unlink()
1151 unsigned int area_index; in tee_fs_rename() local
1155 ret = rkss_get_fileinfo_by_name(filenames, &p, &area_index); in tee_fs_rename()
1178 unsigned int area_index; in tee_fs_truncate() local
1187 ret = rkss_get_fileinfo_by_index(fsrpc->fd, &p, &area_index); in tee_fs_truncate()
1201 ret = rkss_decref_multi_usedflags_sections(area_index, free_index, free_section_num); in tee_fs_truncate()
1277 unsigned int area_index; in tee_fs_rmdir() local
1281 ret = rkss_get_fileinfo_by_name(dirname, &p, &area_index); in tee_fs_rmdir()
1298 unsigned int area_index; in tee_fs_access() local
1303 ret = rkss_get_fileinfo_by_name(filename, &p, &area_index); in tee_fs_access()