int key_manage_init(const char* seednum, const char* dtbaddr) { int ret = key_unify_init(seednum, dtbaddr); return ret; }
int do_keyunify(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[]) { int err; char *cmd,*name; unsigned int addr,len,reallen; unsigned int keystate,keypermit; if (argc < 2) goto usage; cmd = argv[1]; if(!strcmp(cmd,"init")){ if(argc > 3){ addr = simple_strtoul(argv[2], NULL, 16); len = simple_strtoul(argv[3], NULL, 16); } else{ char initvalue[]={1,2,3,4}; addr = (unsigned int)&initvalue[0]; len = sizeof(initvalue); } err = key_unify_init((char *)addr,len); return err; } if(!strcmp(cmd,"write")){ if(argc < 5) goto usage; name = argv[2]; addr = simple_strtoul(argv[3], NULL, 16); len = simple_strtoul(argv[4], NULL, 16); err = key_unify_write(name,(unsigned char *)addr,len); if(err < 0){ printf("%s:%d,%s key write fail\n",__func__,__LINE__,name); } return err; } if(!strcmp(cmd,"read")){ if(argc < 6) goto usage; name = argv[2]; addr = simple_strtoul(argv[3], NULL, 16); len = simple_strtoul(argv[4], NULL, 16); reallen = simple_strtoul(argv[5], NULL, 16); err = key_unify_read(name,(unsigned char *)addr,len,(unsigned int*)reallen); if(err < 0){ printf("%s:%d,%s key read fail\n",__func__,__LINE__,name); } return err; } if(!strcmp(cmd,"query")){ if(argc < 5) goto usage; name = argv[2]; keystate = simple_strtoul(argv[3], NULL, 16); keypermit = simple_strtoul(argv[4], NULL, 16); err = key_unify_query(name,(unsigned int *)keystate,(unsigned int *)keypermit); if(err < 0){ printf("%s:%d,%s key query fail\n",__func__,__LINE__,name); } if(err >=0){ if(*(unsigned int*)keystate == KEY_BURNED){ printf("%s key exist\n",name); } else{ printf("%s key not exist\n",name); } } return err; } if(!strcmp(cmd,"secure")){ addr = simple_strtoul(argv[3], NULL, 16); len = simple_strtoul(argv[4], NULL, 16); err= key_unify_secure_boot_key(argv[2],(unsigned char *)addr,len); if(err < 0){ printf("fail\n"); } else if(err > 0){ printf("exist\n"); } else{ printf("ok\n"); } return err; } if(!strcmp(cmd,"uninit")){ key_unify_uninit(); return 0; } usage: cmd_usage(cmdtp); return 1; }