大家好
我最近也在作lab1,有個問題想請教一下,在ex3的部份,由於kernel image放在第二個sector,所以loader要從第二個sector開始讀才對,這點作者在book-rev6.pdf page 86也有提到。
但是程式碼卻似乎是從第一個sector開始去讀?我有遺漏什麼嗎?
void
bootmain(void)
{
struct Proghdr *ph, *eph;
// read 1st page off disk
readseg((uint32_t) ELFHDR, SECTSIZE*8, 0);
// is this a valid ELF?
if (ELFHDR->e_magic != ELF_MAGIC)
goto bad;
// load each program segment (ignores ph flags)
ph = (struct Proghdr *) ((uint8_t *) ELFHDR + ELFHDR->e_phoff);
eph = ph + ELFHDR->e_phnum;