Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

關於Booting/Reset Vector 的勘誤 #294

Open
KunYi opened this issue Dec 19, 2024 · 0 comments
Open

關於Booting/Reset Vector 的勘誤 #294

KunYi opened this issue Dec 19, 2024 · 0 comments

Comments

@KunYi
Copy link

KunYi commented Dec 19, 2024

感謝這個專案,今天剛好看到,讀了一下,一開始就發現底下文章描述錯誤

https://github.com/hust-open-atom-club/linux-insides-zh/blob/7b86c2ee4fd7882c6979683bff7cc62970fda949/Booting/linux-bootstrap-1.md?plain=1#L179C1-L185C59

翻譯是正確的,但是從英文來的資訊就是錯誤的
上面的情況只限於80386 跟後來的x86核心,但是文章敘述前面都是8086 開始
Reset Vector 不在 上面講的位址

可以看這裡 Reset Vector on Wikipedia

  • The reset vector for the Intel 8086 processor is at physical address FFFF0h (16 bytes below 1 MB). The value of the CS register at reset is FFFFh and the value of the IP register at reset is 0000h to form the segmented address FFFFh:0000h, which maps to physical address FFFF0h.[1]
  • The reset vector for the Intel 80286 processor is at physical address FFFFF0h (16 bytes below 16 MB). The value of the CS register at reset is F000h with the descriptor base set to FF0000h and the value of the IP register at reset is FFF0h to form the segmented address FF0000h:FFF0h, which maps to physical address FFFFF0h in real mode.[2] This was changed to allow sufficient space to switch to protected mode without modifying the CS register.[3]
  • The reset vector for the Intel 80386 and later x86 processors is physical address FFFFFFF0h (16 bytes below 4 GB). The value of the selector portion of the CS register at reset is F000h, the value of the base portion of the CS register is FFFF0000h, and the value of the IP register at reset is FFF0h[4] to form the segmented address FFFF0000h:FFF0h, which maps to the physical address FFFFFFF0h in real mode
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant