Comments (1)
9.1.4 First Instruction Executed
The first instruction that is fetched and executed following a hardware reset is located at physical address FFFFFFF0H. This address is 16 bytes below the processor’s uppermost physical address. The EPROM containing the software-initialization code must be located at this address.
The address FFFFFFF0H is beyond the 1-MByte addressable range of the processor while in real-address mode. The processor is initialized to this starting address as follows. The CS register has two parts: the visible segment selector part and the hidden base address part. In real-address mode, the base address is normally formed by shifting the 16-bit segment selector value 4 bits to the left to produce a 20-bit base address. However, during a hardware reset, the segment selector in the CS register is loaded with F000H and the base address is loaded with FFFF0000H. The starting address is thus formed by adding the base address to the value in the EIP register (that is, FFFF0000 + FFF0H = FFFFFFF0H).
The first time the CS register is loaded with a new value after a hardware reset, the processor will follow the normal rule for address translation in real-address mode (that is, [CS base address = CS segment selector * 16]). To insure that the base address in the CS register remains unchanged until the EPROM based software-initialization code is completed, the code must not contain a far jump or far call or allow an interrupt to occur (which would cause the CS selector value to be changed).
from linux-insides.
Related Issues (20)
- start_kernel() was not discussed earlier, though part 6 of Booting seems to imply it was HOT 1
- Chapter about CGroups explains only v1 but not v2 HOT 2
- Suggestion: a chapter about module programming and building?
- Regarding your's article: Linux kernel memory management Part 2 HOT 1
- [Help] linux-bootstrap HOT 6
- typo in linux-bootstrap-1.html HOT 2
- [Help] PDE_ MBZ HOT 2
- Find a typing error
- Hello, I am sorting out the information related to the Linux kernel. Is there anything in the repo of the big guy that I can reprint? HOT 1
- Missing the issue templates HOT 1
- 7i65iuytrkjghfb sZq
- [BUG] Running the boot code using qemu hangs PC HOT 3
- [BUG] 401 Unauthorized HTTP Response is thrown when accessing the website HOT 9
- In kernel 4.16 and above init_task is initialized directly
- [FEATURE] Translation of the book into persian HOT 2
- [question]about virtual adress convert HOT 2
- Where hugetlb controller is auto enabled? HOT 1
- [FEATURE] a chapter about filesystems and another about schedule? HOT 2
- Bootloader transfers control to the kernel, The address calculation has a mistake.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from linux-insides.