что этот код означает в xv6 entrypgdir? - PullRequest
0 голосов
/ 27 октября 2019

В настоящее время я изучаю операционную систему xv6. У меня вопрос к приведенному ниже фрагменту кода. Я знаю entrypgdir - это массив типа pde_t с размером NPDENTRIES. Но что означает «[0] = (0) | PTE_P | PTE_W | PTE_PS»? Заранее спасибо

__attribute__((__aligned__(PGSIZE)))
pde_t entrypgdir[NPDENTRIES] = {
  // Map VA's [0, 4MB) to PA's [0, 4MB)
  [0] = (0) | PTE_P | PTE_W | PTE_PS,
  // Map VA's [KERNBASE, KERNBASE+4MB) to PA's [0, 4MB)
  [KERNBASE>>PDXSHIFT] = (0) | PTE_P | PTE_W | PTE_PS,
};
...