注意;以下的陣列可能因版本不同會有修改;此處版本是memtest86 + 4.00
const struct tseq tseq[] = {
{1, 5, 4, 0, "[Address test, walking ones] "}, //pattern0
{1, 6, 4, 0, "[Address test, own address] "}, //pattern1
{1, 0, 4, 0, "[Moving inversions, ones & zeros] "}, //pattern2
{1, 1, 2, 0, "[Moving inversions, 8 bit pattern] "}, //pattern3
{1, 10, 50, 0, "[Moving inversions, random pattern] "}, //pattern4
{1, 7, 80, 0, "[Block move, 80 moves] "}, //pattern5
{1, 2, 2, 0, "[Moving inversions, 32 bit pattern] "}, //pattern6
{1, 9, 30, 0, "[Random number sequence] "}, //pattern7
{1, 11, 6, 0, "[Modulo 20, Random pattern] "}, //pattern8
{1, 8, 1, 0, "[Bit fade test, 90 min, 2 patterns] "}, //pattern9
{0, 0, 0, 0, NULL}
};
正常狀況下開機後只會測試pattern1~pattern8,因此若要測試pattern0及pattern9只好手動設定。
來看一下tsaq結構:以下的結構就是對應到上面的陣列元素
struct tseq {
short cache; //1:打開cpu快取;o:關閉快取
short pat; //pattern id注意這和patter執行順序無關
short iter; //pattern測試的重複次數
short errors; //此攔位一看就知道記錄著個別pattern error數量
char *msg;//這就是pattern的名稱:例如 "Address test, walking ones"
};
static struct pmap windows[]這個陣列裡頭的值都是4k的單位。因為要定址到64G,且以1G為一個單位來進行分頁配置。
回覆刪除