mirror of
https://github.com/0xAX/linux-insides.git
synced 2024-12-22 22:58:08 +00:00
Add location coreboot source code
This commit is contained in:
parent
311a318f58
commit
a94cefa191
@ -73,7 +73,7 @@ The starting address is formed by adding the base address to the value in the EI
|
|||||||
'0xfffffff0'
|
'0xfffffff0'
|
||||||
```
|
```
|
||||||
|
|
||||||
We get `0xfffffff0`, which is 16 bytes below 4GB. This point is called the [Reset vector](http://en.wikipedia.org/wiki/Reset_vector). This is the memory location at which the CPU expects to find the first instruction to execute after reset. It contains a [jump](http://en.wikipedia.org/wiki/JMP_%28x86_instruction%29) (`jmp`) instruction that usually points to the BIOS entry point. For example, if we look in the [coreboot](http://www.coreboot.org/) source code (src/cpu/x86/16bit/reset16.inc), we will see:
|
We get `0xfffffff0`, which is 16 bytes below 4GB. This point is called the [Reset vector](http://en.wikipedia.org/wiki/Reset_vector). This is the memory location at which the CPU expects to find the first instruction to execute after reset. It contains a [jump](http://en.wikipedia.org/wiki/JMP_%28x86_instruction%29) (`jmp`) instruction that usually points to the BIOS entry point. For example, if we look in the [coreboot](http://www.coreboot.org/) source code (`src/cpu/x86/16bit/reset16.inc`), we will see:
|
||||||
|
|
||||||
```assembly
|
```assembly
|
||||||
.section ".reset"
|
.section ".reset"
|
||||||
@ -87,7 +87,7 @@ reset_vector:
|
|||||||
|
|
||||||
Here we can see the `jmp` instruction [opcode](http://ref.x86asm.net/coder32.html#xE9), which is `0xe9`, and its destination address at `_start - ( . + 2)`.
|
Here we can see the `jmp` instruction [opcode](http://ref.x86asm.net/coder32.html#xE9), which is `0xe9`, and its destination address at `_start - ( . + 2)`.
|
||||||
|
|
||||||
We can also see that the `reset` section is `16` bytes and that is compiled to start from `0xfffffff0` address (src/cpu/x86/16bit/reset16.lds):
|
We can also see that the `reset` section is `16` bytes and that is compiled to start from `0xfffffff0` address (`src/cpu/x86/16bit/reset16.lds`):
|
||||||
|
|
||||||
```
|
```
|
||||||
SECTIONS {
|
SECTIONS {
|
||||||
|
@ -109,3 +109,4 @@ Thank you to all contributors:
|
|||||||
* [Chandan Rai](https://github.com/crowchirp)
|
* [Chandan Rai](https://github.com/crowchirp)
|
||||||
* [JB Cayrou](https://github.com/jbcayrou)
|
* [JB Cayrou](https://github.com/jbcayrou)
|
||||||
* [Cornelius Diekmann](https://github.com/diekmann)
|
* [Cornelius Diekmann](https://github.com/diekmann)
|
||||||
|
* [Andrés Rojas](https://github.com/c0r3dump3d)
|
||||||
|
Loading…
Reference in New Issue
Block a user