Move posts about red zone and disabling SIMD in second post folder

They are strongly related to the second post.
This commit is contained in:
Philipp Oppermann
2020-01-28 16:57:00 +01:00
parent 0c67111e68
commit 007bf8a937
5 changed files with 4 additions and 4 deletions

View File

@@ -2,7 +2,7 @@
title = "Disable the Red Zone" title = "Disable the Red Zone"
weight = 1 weight = 1
path = "red-zone" path = "red-zone"
template = "second-edition/extra.html"
+++ +++
The [red zone] is an optimization of the [System V ABI] that allows functions to temporarily use the 128 bytes below its stack frame without adjusting the stack pointer: The [red zone] is an optimization of the [System V ABI] that allows functions to temporarily use the 128 bytes below its stack frame without adjusting the stack pointer:

View File

@@ -2,7 +2,7 @@
title = "Disable SIMD" title = "Disable SIMD"
weight = 2 weight = 2
path = "disable-simd" path = "disable-simd"
template = "second-edition/extra.html"
+++ +++
[Single Instruction Multiple Data (SIMD)] instructions are able to perform an operation (e.g. addition) simultaneously on multiple data words, which can speed up programs significantly. The `x86_64` architecture supports various SIMD standards: [Single Instruction Multiple Data (SIMD)] instructions are able to perform an operation (e.g. addition) simultaneously on multiple data words, which can speed up programs significantly. The `x86_64` architecture supports various SIMD standards:

View File

@@ -169,7 +169,7 @@ This setting specifies that the target doesn't support [stack unwinding] on pani
We're writing a kernel, so we'll need to handle interrupts at some point. To do that safely, we have to disable a certain stack pointer optimization called the _“red zone”_, because it would cause stack corruptions otherwise. For more information, see our separate post about [disabling the red zone]. We're writing a kernel, so we'll need to handle interrupts at some point. To do that safely, we have to disable a certain stack pointer optimization called the _“red zone”_, because it would cause stack corruptions otherwise. For more information, see our separate post about [disabling the red zone].
[disabling the red zone]: @/second-edition/extra/disable-red-zone/index.md [disabling the red zone]: @/second-edition/posts/02-minimal-rust-kernel/disable-red-zone/index.md
```json ```json
"features": "-mmx,-sse,+soft-float", "features": "-mmx,-sse,+soft-float",
@@ -183,7 +183,7 @@ The `mmx` and `sse` features determine support for [Single Instruction Multiple
A problem with disabling SIMD is that floating point operations on `x86_64` require SIMD registers by default. To solve this problem, we add the `soft-float` feature, which emulates all floating point operations through software functions based on normal integers. A problem with disabling SIMD is that floating point operations on `x86_64` require SIMD registers by default. To solve this problem, we add the `soft-float` feature, which emulates all floating point operations through software functions based on normal integers.
For more information, see our post on [disabling SIMD](@/second-edition/extra/disable-simd/index.md). For more information, see our post on [disabling SIMD](@/second-edition/posts/02-minimal-rust-kernel/disable-simd/index.md).
#### Putting it Together #### Putting it Together
Our target specification file now looks like this: Our target specification file now looks like this: