1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
|
config.c:48: cprint(POP_Y+3+v->cache_flag, POP_X+5, ">");
config.c:54: v->cache_flag = 0;
config.c:55: set_cache(tseq[v->test].cache);
config.c:61: v->cache_flag = 1;
config.c:62: if (tseq[v->test].cache == 0) {
config.c:71: v->cache_flag = 2;
config.c:72: if (tseq[v->test].cache == 1) {
config.c:97: if (v->testsel < 0) {
config.c:98: cprint(POP_Y+3+v->xtst_flag, POP_X+5, ">");
config.c:107: v->xtst_flag = 0;
config.c:108: if (v->test > DEFTESTS) {
config.c:111: v->testsel = -1;
config.c:118: v->xtst_flag = 1;
config.c:119: if (v->test <= DEFTESTS) {
config.c:122: v->testsel = -1;
config.c:129: v->xtst_flag = 2;
config.c:130: v->testsel = -1;
config.c:149: v->testsel = i;
config.c:183: aprint(POP_Y+4, POP_X+13, v->plim_lower);
config.c:187: if (page + 1 <= v->plim_upper) {
config.c:188: v->plim_lower = page;
config.c:202: aprint(POP_Y+4, POP_X+13, v->plim_upper);
config.c:206: if (page - 1 >= v->plim_lower) {
config.c:207: v->plim_upper = page;
config.c:216: v->plim_lower = 0;
config.c:217: v->plim_upper = v->pmap[v->msegs - 1].end;
config.c:237: if (v->e820_nr) {
config.c:241: cprint(POP_Y+2+v->memsz_mode, POP_X+5, ">");
config.c:245: if (v->memsz_mode == SZ_MODE_BIOS) {
config.c:255: v->memsz_mode = SZ_MODE_BIOS;
config.c:258: v->test = 0;
config.c:259: v->pass = 0;
config.c:260: v->total_ticks = 0;
config.c:265: v->memsz_mode = SZ_MODE_BIOS_RES;
config.c:268: v->test = 0;
config.c:269: v->pass = 0;
config.c:270: v->total_ticks = 0;
config.c:275: v->memsz_mode = SZ_MODE_PROBE;
config.c:278: v->test = 0;
config.c:279: v->pass = 0;
config.c:280: v->total_ticks = 0;
config.c:315: cprint(POP_Y+3+v->printmode, POP_X+5, ">");
config.c:321: v->printmode=PRINTMODE_ADDRESSES;
config.c:322: v->eadr = 0;
config.c:327: v->printmode=PRINTMODE_PATTERNS;
config.c:333: v->printmode=PRINTMODE_NONE;
config.c:437: v->selected_pages = 0;
config.c:438: for (i=0; i< v->msegs; i++) {
config.c:440: if (v->pmap[i].start >= v->plim_lower &&
config.c:441: v->pmap[i].end <= v->plim_upper) {
config.c:442: v->selected_pages += (v->pmap[i].end - v->pmap[i].start);
config.c:446: if (v->pmap[i].start < v->plim_lower) {
config.c:448: if (v->pmap[i].end < v->plim_lower) {
config.c:453: if (v->pmap[i].end > v->plim_upper) {
config.c:454: v->selected_pages +=
config.c:455: v->plim_upper - v->plim_lower;
config.c:458: v->selected_pages +=
config.c:459: (v->pmap[i].end - v->plim_lower);
config.c:464: if (v->pmap[i].end > v->plim_upper) {
config.c:466: if (v->pmap[i].start > v->plim_upper) {
config.c:470: v->selected_pages +=
config.c:471: (v->plim_upper - v->pmap[i].start);
controller.c~:112: v->pmap[i].start = (START_ADR + (1 << 12) - 1) >> 12;
controller.c~:113: p = (unsigned long *)(v->pmap[i].start << 12);
controller.c~:123: v->pmap[i].end = SKIP_START >> 12;
controller.c~:126: v->pmap[i].start = 0;
controller.c~:132: v->pmap[i].end = ((unsigned long)p) >> 12;
controller.c~:150: v->pmap[i].start = ((unsigned long)p) >> 12;
controller.c~:168: if (v->pmap[i].start) {
controller.c~:169: v->pmap[i].end = ((unsigned long)m_lim) >> 12;
controller.c~:171: v->pmap[i].start = 0;
controller.c~:173: v->msegs = i;
controller.c~:174: v->ecc_cap = ECC_UNKNOWN;
controller.c~:175: v->ecc_mode = ECC_UNKNOWN;
controller.c~:182: v->ecc_cap = ECC_NONE;
controller.c~:183: v->ecc_mode = ECC_NONE;
controller.c~:204: v->ecc_cap = ECC_CORRECT;
controller.c~:205: v->ecc_mode = (dram_status & (1 << 2))?ECC_CORRECT: ECC_NONE;
controller.c~:255: v->ecc_cap = ECC_CORRECT;
controller.c~:256: v->ecc_mode = ddim[(ecc_mode_status >> 10)&3];
controller.c~:311: v->pmap[0].start = 0x000000;
controller.c~:312: v->pmap[0].end = 0x0000a0;
controller.c~:313: v->pmap[1].start = 0x000100;
controller.c~:314: v->pmap[1].end = 0x0fc000;
controller.c~:315: v->pmap[2].start = 0x100000;
controller.c~:316: v->pmap[2].end = 0x180000;
controller.c~:317: v->msegs = 3;
controller.c~:320: v->ecc_cap = ECC_CORRECT;
controller.c~:338: v->ecc_cap = ECC_CORRECT;
controller.c~:339: v->ecc_mode = ddim[(nbxcfg >> 7)&3];
controller.c~:382: v->ecc_cap = ECC_CORRECT;
controller.c~:383: v->ecc_mode = ddim[(mchcfg >> 7)&3];
controller.c~:427: v->ecc_cap = ECC_CORRECT;
controller.c~:428: v->ecc_mode = ddim[(drc >> 20)&3];
controller.c~:469: v->ecc_cap = ECC_CORRECT;
controller.c~:470: v->ecc_mode = ddim[(mchcfg >> 7)&3];
controller.c~:509: v->ecc_cap = ECC_CORRECT;
controller.c~:510: v->ecc_mode = ddim[(mchcfg >> 7)&3];
controller.c~:553: v->ecc_cap = ECC_CORRECT;
controller.c~:554: v->ecc_mode = ddim[(drc >> 7)&3];
controller.c~:683: for(i = 0; i < sizeof(v->controller_name); i++) {
controller.c~:686: v->controller_name[i] = ch;
controller.c~:690: v->controller_name[sizeof(v->controller_name) -1] = '\0';
init.c:74: v->memsz_mode = SZ_MODE_BIOS;
init.c:76: v->firmware = FIRMWARE_UNKNOWN;
init.c:77: if ((v->firmware == FIRMWARE_UNKNOWN) &&
init.c:78: (v->memsz_mode != SZ_MODE_PROBE)) {
init.c:80: v->firmware = FIRMWARE_LINUXBIOS;
init.c:83: v->firmware = FIRMWARE_PCBIOS;
init.c:95: v->test = 0;
init.c:96: v->testsel = -1;
init.c:97: v->msg_line = LINE_SCROLL-1;
init.c:98: v->scroll_start = v->msg_line * 160;
init.c:103: aprint(LINE_CPU+3, 10, v->test_pages);
init.c:108: if (v->rdtsc) {
init.c:128: v->printmode=PRINTMODE_ADDRESSES;
init.c:129: v->numpatn=0;
init.c:138: if (!v->pae)
init.c:157: if (!v->pae)
init.c:192: if (!v->pae || (window >= 32)) {
init.c:266: v->rdtsc = 0;
init.c:267: v->pae = 0;
init.c:323: v->pae = 1;
init.c:652: if ((1 + (i * 2)) > (v->plim_upper << 2)) {
init.c:653: i = ((v->plim_upper <<2) - 1) / 2;
init.c:661: asm __volatile__ ("rdtsc":"=a" (v->startl),"=d" (v->starth));
init.c:662: v->snapl = v->startl;
init.c:663: v->snaph = v->starth;
init.c:664: v->rdtsc = 1;
init.c:673: mem_top = v->pmap[v->msegs -1].end;
init.c:722: v->clks_msec = end_low/48;
init.c:723: return(v->clks_msec);
init.c:824: return((v->clks_msec)/end_low);
init.c~:61: v->memsz_mode = SZ_MODE_BIOS;
init.c~:63: v->firmware = FIRMWARE_UNKNOWN;
init.c~:64: if ((v->firmware == FIRMWARE_UNKNOWN) &&
init.c~:65: (v->memsz_mode != SZ_MODE_PROBE)) {
init.c~:67: v->firmware = FIRMWARE_LINUXBIOS;
init.c~:70: v->firmware = FIRMWARE_PCBIOS;
init.c~:76: v->test = 0;
init.c~:77: v->testsel = -1;
init.c~:78: v->msg_line = LINE_SCROLL-1;
init.c~:79: v->scroll_start = v->msg_line * 160;
init.c~:84: aprint(LINE_CPU+3, 10, v->test_pages);
init.c~:88: if (v->rdtsc) {
init.c~:109: v->printmode=PRINTMODE_ADDRESSES;
init.c~:110: v->numpatn=0;
init.c~:119: if (!v->pae)
init.c~:138: if (!v->pae)
init.c~:173: if (!v->pae || (window >= 32)) {
init.c~:247: v->rdtsc = 0;
init.c~:248: v->pae = 0;
init.c~:304: v->pae = 1;
init.c~:633: if ((1 + (i * 2)) > (v->plim_upper << 2)) {
init.c~:634: i = ((v->plim_upper <<2) - 1) / 2;
init.c~:642: asm __volatile__ ("rdtsc":"=a" (v->startl),"=d" (v->starth));
init.c~:643: v->snapl = v->startl;
init.c~:644: v->snaph = v->starth;
init.c~:645: v->rdtsc = 1;
init.c~:654: mem_top = v->pmap[v->msegs -1].end;
init.c~:703: v->clks_msec = end_low/48;
init.c~:704: return(v->clks_msec);
init.c~:805: return((v->clks_msec)/end_low);
lib.c:102: if (v->msg_line < 23) {
lib.c:103: v->msg_line++;
lib.c:401: if (v->cache_flag) {
lib.c:409: if (v->cache_flag) {
lib.c~:102: if (v->msg_line < 23) {
lib.c~:103: v->msg_line++;
lib.c~:421: if (v->cache_flag) {
lib.c~:429: if (v->cache_flag) {
main.c:143: if (v->firsttime == 0) {
main.c:150: v->firsttime = 1;
main.c:160: if (map_page(v->map[0].pbase_addr) < 0) {
main.c:165: lo = page_of(v->map[0].start);
main.c:166: hi = page_of(v->map[segs -1].end);
main.c:170: aprint(LINE_RANGE, COL_MID+23, v->selected_pages);
main.c:183: :"b" (v->snapl), "c" (v->snaph)
main.c:187: t = h * ((unsigned)0xffffffff / v->clks_msec) / 1000;
main.c:188: t += (l / v->clks_msec) / 1000;
main.c:199: asm __volatile__ ("rdtsc":"=a" (v->snapl),"=d" (v->snaph));
main.c:204: if (v->testsel < 0) {
main.c:205: switch(v->xtst_flag) {
main.c:207: if (v->test > DEFTESTS) {
main.c:212: if (v->test <= DEFTESTS) {
main.c:220: if ((v->cache_flag == 1 && tseq[v->test].cache == 0) ||
main.c:221: (v->cache_flag == 2 && tseq[v->test].cache == 1)) {
main.c:225: v->test = v->testsel;
main.c:227: dprint(LINE_TST, COL_MID+6, v->test, 2, 1);
main.c:228: cprint(LINE_TST, COL_MID+9, tseq[v->test].msg);
main.c:229: set_cache(tseq[v->test].cache);
main.c:235: len = v->map[i].end - v->map[i].start;
main.c:239: test_ticks = find_ticks_for_test(chunks, v->test);
main.c:241: v->tptr = 0;
main.c:243: switch(tseq[v->test].pat) {
main.c:249: movinv1(tseq[v->test].iter,p1,p2);
main.c:255: movinv1(tseq[v->test].iter,p1,p2);
main.c:263: movinv1(tseq[v->test].iter,p1,p2);
main.c:269: movinv1(tseq[v->test].iter,p1,p2);
main.c:276: movinv32(tseq[v->test].iter,p1, 1, 0x80000000, 0, i);
main.c:278: movinv32(tseq[v->test].iter,~p1, 0xfffffffe,
main.c:288: modtst(i, tseq[v->test].iter, p1, p2);
main.c:294: modtst(i, tseq[v->test].iter, p1,p2);
main.c:305: modtst(i, tseq[v->test].iter, p1, p2);
main.c:311: modtst(i, tseq[v->test].iter, p1, p2);
main.c:326: block_move(tseq[v->test].iter);
main.c:350: if (v->pmap[v->msegs-1].end >
main.c:370: v->test++;
main.c:381: if (tseq[v->test].msg == NULL || v->testsel >= 0) {
main.c:382: v->pass++;
main.c:383: dprint(LINE_INFO, COL_PASS, v->pass, 5, 0);
main.c:384: v->test = 0;
main.c:385: v->total_ticks = 0;
main.c:386: v->pptr = 0;
main.c:401: v->firsttime = 0;
main.c:415: v->pptr = 0;
main.c:423: len = v->map[i].end - v->map[i].start;
main.c:429: for (v->pass_ticks=0, i=0; tseq[i].msg != NULL; i++) {
main.c:432: if (v->testsel >= 0) {
main.c:433: if (i != v->testsel) {
main.c:437: if (v->xtst_flag == 0 && i > DEFTESTS) {
main.c:440: if (v->xtst_flag == 1 && i <= DEFTESTS) {
main.c:443: if ((v->cache_flag == 1 && tseq[i].cache == 0) ||
main.c:444: (v->cache_flag == 2 && tseq[i].cache == 1)) {
main.c:448: v->pass_ticks += find_ticks_for_test(chunks, i);
main.c:474: if (wstart < v->plim_lower) {
main.c:475: wstart = v->plim_lower;
main.c:477: if (wend > v->plim_upper) {
main.c:478: wend = v->plim_upper;
main.c:484: for (i=0; i< v->msegs; i++) {
main.c:486: start = v->pmap[i].start;
main.c:487: end = v->pmap[i].end;
main.c:508: hprint(LINE_SCROLL+(2*i), 46, v->plim_lower);
main.c:510: hprint(LINE_SCROLL+(2*i), 56, v->plim_upper);
main.c:520: hprint(LINE_SCROLL+(2*i+1), 24, v->pmap[i].start);
main.c:522: hprint(LINE_SCROLL+(2*i+1), 34, v->pmap[i].end);
main.c:536: v->map[segs].pbase_addr = start;
main.c:537: v->map[segs].start = mapping(start);
main.c:538: v->map[segs].end = emapping(end);
memsize.c:31: v->reserved_pages = 0;
memsize.c:32: v->test_pages = 0;
memsize.c:36: v->ext_mem_k = mem_info.e88_mem_k;
memsize.c:37: v->alt_mem_k = mem_info.e801_mem_k;
memsize.c:38: v->e820_nr = mem_info.e820_nr;
memsize.c:40: v->e820[i].addr = mem_info.e820[i].addr;
memsize.c:41: v->e820[i].size = mem_info.e820[i].size;
memsize.c:42: v->e820[i].type = mem_info.e820[i].type;
memsize.c:45: switch (v->memsz_mode) {
memsize.c:62: v->plim_lower = 0;
memsize.c:63: v->plim_upper = v->pmap[v->msegs-1].end;
memsize.c:66: aprint(LINE_INFO, COL_RESERVED, v->reserved_pages);
memsize.c:71: if (v->firmware == FIRMWARE_PCBIOS) {
memsize.c:74: else if (v->firmware == FIRMWARE_LINUXBIOS) {
memsize.c:85: for(i = 0; i < v->msegs; i++) {
memsize.c:88: if (v->pmap[i].start > v->pmap[j].start) {
memsize.c:96: temp = v->pmap[i];
memsize.c:97: memmove(&v->pmap[j], &v->pmap[j+1],
memsize.c:99: v->pmap[j] = temp;
memsize.c:108: for (i=0; i < v->e820_nr; i++) {
memsize.c:110: if (v->e820[i].type != E820_RAM) {
memsize.c:113: end = v->e820[i].addr;
memsize.c:114: end += v->e820[i].size;
memsize.c:115: v->pmap[n].start = (v->e820[i].addr + 4095) >> 12;
memsize.c:116: v->pmap[n].end = end >> 12;
memsize.c:117: v->test_pages += v->pmap[n].end - v->pmap[n].start;
memsize.c:120: v->msegs = n;
memsize.c:130: nr = sanitize_e820_map(v->e820, nm, v->e820_nr, res);
memsize.c:160: v->pmap[n].start = (start + 4095) >> 12;
memsize.c:161: v->pmap[n].end = end >> 12;
memsize.c:162: v->test_pages += v->pmap[n].end - v->pmap[n].start;
memsize.c:165: v->reserved_pages += nm[i].size >> 12;
memsize.c:168: v->msegs = n;
memsize.c:183: if (v->alt_mem_k < v->ext_mem_k) {
memsize.c:184: mem_size = v->ext_mem_k;
memsize.c:187: mem_size = v->alt_mem_k;
memsize.c:191: v->pmap[0].start = 0;
memsize.c:192: v->pmap[0].end = RES_START >> 12;
memsize.c:193: v->test_pages = RES_START >> 12;
memsize.c:196: v->pmap[1].start = (RES_END + 4095) >> 12;
memsize.c:197: v->pmap[1].end = (mem_size + 1024) >> 2;
memsize.c:198: v->test_pages += mem_size >> 2;
memsize.c:199: v->msegs = 2;
memsize.c:394: v->pmap[i].start = ((ulong)&_end + (1 << 12) - 1) >> 12;
memsize.c:395: p = (ulong *)(v->pmap[i].start << 12);
memsize.c:404: v->pmap[i].end = RES_START >> 12;
memsize.c:405: v->test_pages += (v->pmap[i].end - v->pmap[i].start);
memsize.c:408: v->pmap[i].start = 0;
memsize.c:414: v->pmap[i].end = ((ulong)p) >> 12;
memsize.c:415: v->test_pages += (v->pmap[i].end - v->pmap[i].start);
memsize.c:417: v->pmap[i].start = 0;
memsize.c:433: v->pmap[i].start = (ulong)p >> 12;
memsize.c:451: if (v->pmap[i].start) {
memsize.c:452: v->pmap[i].end = m_lim >> 12;
memsize.c:453: v->test_pages += (v->pmap[i].end - v->pmap[i].start);
memsize.c:456: v->msegs = i;
memsize.c~:31: v->reserved_pages = 0;
memsize.c~:32: v->test_pages = 0;
memsize.c~:36: v->ext_mem_k = mem_info.e88_mem_k;
memsize.c~:37: v->alt_mem_k = mem_info.e801_mem_k;
memsize.c~:38: v->e820_nr = mem_info.e820_nr;
memsize.c~:40: v->e820[i].addr = mem_info.e820[i].addr;
memsize.c~:41: v->e820[i].size = mem_info.e820[i].size;
memsize.c~:42: v->e820[i].type = mem_info.e820[i].type;
memsize.c~:45: switch (v->memsz_mode) {
memsize.c~:62: v->plim_lower = 0;
memsize.c~:63: v->plim_upper = v->pmap[v->msegs-1].end;
memsize.c~:66: dprint(LINE_INFO, 19, v->reserved_pages << 2, 7, 0);
memsize.c~:71: if (v->firmware == FIRMWARE_PCBIOS) {
memsize.c~:74: else if (v->firmware == FIRMWARE_LINUXBIOS) {
memsize.c~:85: for(i = 0; i < v->msegs; i++) {
memsize.c~:88: if (v->pmap[i].start > v->pmap[j].start) {
memsize.c~:96: temp = v->pmap[i];
memsize.c~:97: memmove(&v->pmap[j], &v->pmap[j+1],
memsize.c~:99: v->pmap[j] = temp;
memsize.c~:108: for (i=0; i < v->e820_nr; i++) {
memsize.c~:110: if (v->e820[i].type != E820_RAM) {
memsize.c~:113: end = v->e820[i].addr;
memsize.c~:114: end += v->e820[i].size;
memsize.c~:115: v->pmap[n].start = (v->e820[i].addr + 4095) >> 12;
memsize.c~:116: v->pmap[n].end = end >> 12;
memsize.c~:117: v->test_pages += v->pmap[n].end - v->pmap[n].start;
memsize.c~:120: v->msegs = n;
memsize.c~:130: nr = sanitize_e820_map(v->e820, nm, v->e820_nr, res);
memsize.c~:160: v->pmap[n].start = (start + 4095) >> 12;
memsize.c~:161: v->pmap[n].end = end >> 12;
memsize.c~:162: v->test_pages += v->pmap[n].end - v->pmap[n].start;
memsize.c~:165: v->reserved_pages += nm[i].size >> 12;
memsize.c~:168: v->msegs = n;
memsize.c~:183: if (v->alt_mem_k < v->ext_mem_k) {
memsize.c~:184: mem_size = v->ext_mem_k;
memsize.c~:187: mem_size = v->alt_mem_k;
memsize.c~:191: v->pmap[0].start = 0;
memsize.c~:192: v->pmap[0].end = RES_START >> 12;
memsize.c~:193: v->test_pages = RES_START >> 12;
memsize.c~:196: v->pmap[1].start = (RES_END + 4095) >> 12;
memsize.c~:197: v->pmap[1].end = (mem_size + 1024) >> 2;
memsize.c~:198: v->test_pages += mem_size >> 2;
memsize.c~:199: v->msegs = 2;
memsize.c~:394: v->pmap[i].start = ((ulong)&_end + (1 << 12) - 1) >> 12;
memsize.c~:395: p = (ulong *)(v->pmap[i].start << 12);
memsize.c~:404: v->pmap[i].end = RES_START >> 12;
memsize.c~:405: v->test_pages += (v->pmap[i].end - v->pmap[i].start);
memsize.c~:408: v->pmap[i].start = 0;
memsize.c~:414: v->pmap[i].end = ((ulong)p) >> 12;
memsize.c~:415: v->test_pages += (v->pmap[i].end - v->pmap[i].start);
memsize.c~:417: v->pmap[i].start = 0;
memsize.c~:433: v->pmap[i].start = (ulong)p >> 12;
memsize.c~:451: if (v->pmap[i].start) {
memsize.c~:452: v->pmap[i].end = m_lim >> 12;
memsize.c~:453: v->test_pages += (v->pmap[i].end - v->pmap[i].start);
memsize.c~:456: v->msegs = i;
patn.c:70: int i=v->numpatn;
patn.c:73: ulong tmpcost=combicost(v->patn[i].adr, v->patn[i].mask, adr1, mask1);
patn.c:86: ulong adr =v->patn[idx].adr;
patn.c:87: ulong mask=v->patn[idx].mask;
patn.c:89: v->patn[idx].adr ^= ~0L; // Never select idx
patn.c:91: v->patn[idx].adr = adr;
patn.c:103: combine (v->patn [newidx].adr, v->patn[newidx].mask,
patn.c:104: v->patn [ idx].adr, v->patn[ idx].mask,
patn.c:106: v->patn[newidx].adr =cadr;
patn.c:107: v->patn[newidx].mask=cmask;
patn.c:108: if (idx < --v->numpatn) {
patn.c:109: v->patn[idx].adr =v->patn[v->numpatn].adr;
patn.c:110: v->patn[idx].mask=v->patn[v->numpatn].mask;
patn.c:123: if (v->numpatn < BADRAM_MAXPATNS) {
patn.c:124: v->patn[v->numpatn].adr =adr;
patn.c:125: v->patn[v->numpatn].mask=DEFAULT_MASK;
patn.c:126: v->numpatn++;
patn.c:127: relocateiffree (v->numpatn-1);
patn.c:131: combine (v->patn [idx].adr, v->patn[idx].mask,
patn.c:133: v->patn[idx].adr =cadr;
patn.c:134: v->patn[idx].mask=cmask;
test.c:40: p = (ulong *)roundup((ulong)v->map[0].start, 0x1ffff);
test.c:45: end = v->map[segs-1].end;
test.c:72: if (v->pmap[v->msegs - 1].end > (0x800000 >> 12)) {
test.c:81: p = v->map[j].start;
test.c:84: end = v->map[j].end;
test.c:136: start = v->map[j].start;
test.c:137: end = v->map[j].end;
test.c:180: start = v->map[j].start;
test.c:181: end = v->map[j].end;
test.c:257: start = v->map[j].start;
test.c:258: end = v->map[j].end;
test.c:298: start = v->map[j].start;
test.c:299: end = v->map[j].end;
test.c:364: start = v->map[j].start;
test.c:365: end = v->map[j].end;
test.c:448: start = v->map[j].start;
test.c:449: end = v->map[j].end;
test.c:516: start = v->map[j].start;
test.c:517: end = v->map[j].end;
test.c:623: start = v->map[j].start;
test.c:624: end = v->map[j].end;
test.c:735: start = v->map[j].start;
test.c:736: end = v->map[j].end;
test.c:779: start = v->map[j].start;
test.c:780: end = v->map[j].end;
test.c:838: start = v->map[j].start;
test.c:839: end = v->map[j].end;
test.c:916: start = (ulong)v->map[j].start;
test.c:925: end = (ulong)v->map[j].end;
test.c:985: start = (ulong)v->map[j].start;
test.c:994: end = (ulong)v->map[j].end;
test.c:1052: start = (ulong)v->map[j].start;
test.c:1061: end = (ulong)v->map[j].end;
test.c:1139: if (v->printmode == PRINTMODE_ADDRESSES) {
test.c:1142: if ((ulong)adr == (ulong)v->eadr && xor == v->exor) {
test.c:1144: dprint(v->msg_line, 62, ++ecount, 5, 0);
test.c:1149: } else if (v->printmode == PRINTMODE_PATTERNS) {
test.c:1168: if (v->printmode == PRINTMODE_NONE) {
test.c:1184: if (v->printmode == PRINTMODE_NONE) {
test.c:1204: if (v->printmode == PRINTMODE_ADDRESSES) {
test.c:1206: } else if (v->printmode == PRINTMODE_PATTERNS) {
test.c:1226: ++(v->ecount);
test.c:1227: tseq[v->test].errors++;
test.c:1232: dprint(LINE_INFO, COL_ERR, v->ecount, 6, 0);
test.c:1248: dprint(v->msg_line, 0, v->test, 3, 0);
test.c:1249: dprint(v->msg_line, 4, v->pass, 5, 0);
test.c:1250: hprint(v->msg_line, 11, page);
test.c:1251: hprint2(v->msg_line, 19, offset, 3);
test.c:1252: cprint(v->msg_line, 22, " - . MB");
test.c:1253: dprint(v->msg_line, 25, mb, 5, 0);
test.c:1254: dprint(v->msg_line, 31, ((page & 0xF)*10)/16, 1, 0);
test.c:1268: hprint(v->msg_line, 36, good);
test.c:1269: hprint(v->msg_line, 46, bad);
test.c:1270: hprint(v->msg_line, 56, xor);
test.c:1271: dprint(v->msg_line, 66, ecount, 5, 0);
test.c:1272: v->eadr = adr;
test.c:1273: v->exor = xor;
test.c:1283: if (v->printmode == PRINTMODE_NONE) {
test.c:1288: cprint(v->msg_line, 36, corrected?"corrected ":" ");
test.c:1289: cprint(v->msg_line, 46, " ");
test.c:1290: hprint2(v->msg_line, 56, syndrom, 2);
test.c:1291: cprint(v->msg_line, 66, "ECC");
test.c:1292: dprint(v->msg_line, 71, channel, 2, 0);
test.c:1303: if (v->test == 5) {
test.c:1309: if (v->printmode == PRINTMODE_NONE) {
test.c:1313: cprint(v->msg_line, 36, "Parity error detected ");
test.c:1329: if (v->numpatn == 0)
test.c:1334: cprint (v->msg_line, 0, "badram=");
test.c:1337: for (idx = 0; idx < v->numpatn; idx++) {
test.c:1343: cprint (v->msg_line, x, "0x");
test.c:1344: hprint (v->msg_line, x+2, v->patn[idx].adr );
test.c:1345: cprint (v->msg_line, x+10, ",0x");
test.c:1346: hprint (v->msg_line, x+13, v->patn[idx].mask);
test.c:1347: if (idx+1 < v->numpatn)
test.c:1348: cprint (v->msg_line, x+21, ",");
test.c:1365: v->total_ticks++;
test.c:1370: while (i > v->tptr) {
test.c:1371: if (v->tptr >= BAR_SIZE) {
test.c:1374: cprint(1, COL_MID+9+v->tptr, "#");
test.c:1375: v->tptr++;
test.c:1378: pct = 100*v->total_ticks/v->pass_ticks;
test.c:1381: while (i > v->pptr) {
test.c:1382: if (v->pptr >= BAR_SIZE) {
test.c:1385: cprint(0, COL_MID+9+v->pptr, "#");
test.c:1386: v->pptr++;
test.c:1392: if (v->rdtsc) {
test.c:1399: :"g" (v->startl), "g" (v->starth),
test.c:1401: t = h * ((unsigned)0xffffffff / v->clks_msec) / 1000;
test.c:1402: t += (l / v->clks_msec) / 1000;
test.c~:40: p = (ulong *)roundup((ulong)v->map[0].start, 0x1ffff);
test.c~:45: end = v->map[segs-1].end;
test.c~:72: if (v->pmap[v->msegs - 1].end > (0x800000 >> 12)) {
test.c~:81: p = v->map[j].start;
test.c~:84: end = v->map[j].end;
test.c~:136: start = v->map[j].start;
test.c~:137: end = v->map[j].end;
test.c~:180: start = v->map[j].start;
test.c~:181: end = v->map[j].end;
test.c~:257: start = v->map[j].start;
test.c~:258: end = v->map[j].end;
test.c~:298: start = v->map[j].start;
test.c~:299: end = v->map[j].end;
test.c~:364: start = v->map[j].start;
test.c~:365: end = v->map[j].end;
test.c~:448: start = v->map[j].start;
test.c~:449: end = v->map[j].end;
test.c~:516: start = v->map[j].start;
test.c~:517: end = v->map[j].end;
test.c~:623: start = v->map[j].start;
test.c~:624: end = v->map[j].end;
test.c~:735: start = v->map[j].start;
test.c~:736: end = v->map[j].end;
test.c~:779: start = v->map[j].start;
test.c~:780: end = v->map[j].end;
test.c~:838: start = v->map[j].start;
test.c~:839: end = v->map[j].end;
test.c~:916: start = (ulong)v->map[j].start;
test.c~:925: end = (ulong)v->map[j].end;
test.c~:985: start = (ulong)v->map[j].start;
test.c~:994: end = (ulong)v->map[j].end;
test.c~:1052: start = (ulong)v->map[j].start;
test.c~:1061: end = (ulong)v->map[j].end;
test.c~:1139: if (v->printmode == PRINTMODE_ADDRESSES) {
test.c~:1142: if ((ulong)adr == (ulong)v->eadr && xor == v->exor) {
test.c~:1144: dprint(v->msg_line, 62, ++ecount, 5, 0);
test.c~:1149: } else if (v->printmode == PRINTMODE_PATTERNS) {
test.c~:1168: if (v->printmode == PRINTMODE_NONE) {
test.c~:1184: if (v->printmode == PRINTMODE_NONE) {
test.c~:1204: if (v->printmode == PRINTMODE_ADDRESSES) {
test.c~:1206: } else if (v->printmode == PRINTMODE_PATTERNS) {
test.c~:1226: ++(v->ecount);
test.c~:1227: tseq[v->test].errors++;
test.c~:1232: dprint(LINE_INFO, COL_ERR, v->ecount, 6, 0);
test.c~:1248: dprint(v->msg_line, 0, v->test, 3, 0);
test.c~:1249: dprint(v->msg_line, 4, v->pass, 5, 0);
test.c~:1250: hprint(v->msg_line, 11, page);
test.c~:1251: hprint2(v->msg_line, 19, offset, 3);
test.c~:1252: cprint(v->msg_line, 22, " - . MB");
test.c~:1253: dprint(v->msg_line, 25, mb, 5, 0);
test.c~:1254: dprint(v->msg_line, 31, ((page & 0xF)*10)/16, 1, 0);
test.c~:1268: hprint(v->msg_line, 36, good);
test.c~:1269: hprint(v->msg_line, 46, bad);
test.c~:1270: hprint(v->msg_line, 56, xor);
test.c~:1271: dprint(v->msg_line, 66, ecount, 5, 0);
test.c~:1272: v->eadr = adr;
test.c~:1273: v->exor = xor;
test.c~:1285: if (v->test == 5) {
test.c~:1291: if (v->printmode == PRINTMODE_NONE) {
test.c~:1295: cprint(v->msg_line, 36, "Parity error detected ");
test.c~:1311: if (v->numpatn == 0)
test.c~:1316: cprint (v->msg_line, 0, "badram=");
test.c~:1319: for (idx = 0; idx < v->numpatn; idx++) {
test.c~:1325: cprint (v->msg_line, x, "0x");
test.c~:1326: hprint (v->msg_line, x+2, v->patn[idx].adr );
test.c~:1327: cprint (v->msg_line, x+10, ",0x");
test.c~:1328: hprint (v->msg_line, x+13, v->patn[idx].mask);
test.c~:1329: if (idx+1 < v->numpatn)
test.c~:1330: cprint (v->msg_line, x+21, ",");
test.c~:1347: v->total_ticks++;
test.c~:1352: while (i > v->tptr) {
test.c~:1353: if (v->tptr >= BAR_SIZE) {
test.c~:1356: cprint(1, COL_MID+9+v->tptr, "#");
test.c~:1357: v->tptr++;
test.c~:1360: pct = 100*v->total_ticks/v->pass_ticks;
test.c~:1363: while (i > v->pptr) {
test.c~:1364: if (v->pptr >= BAR_SIZE) {
test.c~:1367: cprint(0, COL_MID+9+v->pptr, "#");
test.c~:1368: v->pptr++;
test.c~:1374: if (v->rdtsc) {
test.c~:1381: :"g" (v->startl), "g" (v->starth),
test.c~:1383: t = h * ((unsigned)0xffffffff / v->clks_msec) / 1000;
test.c~:1384: t += (l / v->clks_msec) / 1000;
|