• Home
  • Raw
  • Download

Lines Matching +full:mc +full:- +full:sid

2 IPF Machine Check (MC) error inject tool
5 IPF Machine Check (MC) error inject tool is used to inject MC
6 errors from Linux. The tool is a test bed for IPF MC work flow including
7 hardware correctable error handling, OS recoverable error handling, MC
17 The tool can be used to test Intel IPF machine MC handling capabilities.
18 It's especially useful for people who can not access hardware MC injection
50 #corrected, data cache, hier-2, physical addr(assigned by tool code).
55 #corrected, data cache, hier-2, physical addr(assigned by tool code).
60 #recoverable, DTR0, hier-2.
111 #define ERR_DATA_BUFFER_SIZE 3 // Three 8-byte.
132 return -1;
152 u64 mode : 3, /* 0-2 */
153 err_inj : 3, /* 3-5 */
154 err_sev : 2, /* 6-7 */
155 err_struct : 5, /* 8-12 */
156 struct_hier : 3, /* 13-15 */
157 reserved : 48; /* 16-63 */
165 c_t : 2, /* 1-2 */
166 cl_p : 3, /* 3-5 */
167 cl_id : 3, /* 6-8 */
169 reserved1 : 22, /* 10-31 */
171 trigger : 4, /* 33-36 */
172 trigger_pl : 3, /* 37-39 */
173 reserved2 : 24; /* 40-63 */
177 tt : 2, /* 1-2 */
178 tc_tr : 2, /* 3-4 */
179 tr_slot : 8, /* 5-12 */
180 reserved1 : 19, /* 13-31 */
182 trigger : 4, /* 33-36 */
183 trigger_pl : 3, /* 37-39 */
184 reserved2 : 24; /* 40-63 */
188 regfile_id : 4, /* 1-4 */
189 reg_num : 7, /* 5-11 */
190 reserved1 : 20, /* 12-31 */
192 trigger : 4, /* 33-36 */
193 trigger_pl : 3, /* 37-39 */
194 reserved2 : 24; /* 40-63 */
204 u64 trigger_addr; /* 0-63 */
205 u64 inj_addr; /* 64-127 */
206 u64 way : 5, /* 128-132 */
207 index : 20, /* 133-152 */
208 : 39; /* 153-191 */
211 u64 trigger_addr; /* 0-63 */
212 u64 inj_addr; /* 64-127 */
213 u64 way : 5, /* 128-132 */
214 index : 20, /* 133-152 */
215 reserved : 39; /* 153-191 */
218 u64 trigger_addr; /* 0-63 */
221 u64 reserved; /* 0-63 */
300 #define PAGE_SIZE (get_page_size()==-1?0x4000:get_page_size())
314 if ((key = ftok(fn, 's')) == -1) {
316 return -1;
320 if (shmid == -1) {
323 if (shmid == -1) {
325 return -1;
330 return -1;
337 if (shmaddr == (void*)-1) {
339 return -1;
376 int sid;
380 if ((key[cpu] = ftok(fn, 'e')) == -1) {
382 return -1;
389 if ((sid = semget(key[cpu], 1, 0)) != -1)
390 semctl(sid, 0, IPC_RMID);
393 if ((semid[cpu] = semget(key[cpu], 1, IPC_CREAT | IPC_EXCL)) == -1) {
397 return -1;
404 if (semctl(semid[cpu], 0, SETVAL, arg) == -1) {
406 return -1;
428 unlock.sem_op = -1;
451 return -1;
457 return -1;
477 return -1;
491 return -1;
503 return -1;
519 return -1;
526 return -1;
533 return -1;
540 return -1;
547 return -1;
554 return -1;
569 memset(err_data_buffer.err_data_buffer, -1, ERR_DATA_BUFFER_SIZE*8);
583 return -1;
607 status=-1;
661 return -100;
681 memset(&err_data_buffer->err_data_buffer_cache, 0, ERR_DATA_BUFFER_SIZE*8);
687 err_data_buffer->err_data_buffer_cache.inj_addr=(u64)va1;
693 return -1;
695 err_data_buffer->err_data_buffer_cache.inj_addr=phys_addr;
733 if (err_data_buffer[i]!=-1)
760 return -1;
775 err_data_buffer_conf[0]=-1;
776 err_data_buffer_conf[1]=-1;
777 err_data_buffer_conf[2]=-1;
817 return -1;
825 return -1;
831 if (create_shm()==-1) {
833 return -1;
887 if (sched_setaffinity(0, MASK_SIZE*8, mask)==-1) {
889 return -1;
929 if (j < parameters[i].loop-1)
959 printf("\t-q: query all capabilities. default: off\n");
960 printf("\t-m: procedure mode. 1: physical 2: virtual. default: 1\n");
961 printf("\t-i: inject errors. default: off\n");
962 printf("\t-l: one lock per cpu. default: one lock for all\n");
963 printf("\t-e: error parameters:\n");
975 printf("\t-v: verbose. default: off\n");
976 printf("\t-h: help\n\n");
999 return -1;
1032 line_para.err_data_buffer[0]=-1,
1033 line_para.err_data_buffer[1]=-1,
1034 line_para.err_data_buffer[2]=-1;
1044 return -1;