Philipp Oppermann
129ce4ca25
Add an aside for resolving stack overflow errors
2017-03-25 16:27:46 +01:00
Philipp Oppermann
09b5e7b136
Fix stack size in posts (it was increased to 16kB)
2017-03-25 16:23:37 +01:00
Philipp Oppermann
531a069a6e
Create a new “Handling Exceptions” post
...
This post combines the previous exception handling posts “Catching Exceptions”, “Better Exception Messages” and “Returning from Exceptions” into a single post by using the `x86-interrupt` calling convention and the `Idt` type of the `x86_64` crate.
2017-03-25 16:22:33 +01:00
Gil Mendes
0cb9be7c08
Merge pull request #296 from gil0mendes/expand-stack
...
Expand stack to 16k
2017-03-24 13:06:42 +01:00
Philipp Oppermann
e20a48712b
Increase opacity of table of contents to 0.5
2017-03-21 19:38:31 +01:00
Philipp Oppermann
2afa815b2f
inline-block instead of inline
2017-03-19 14:30:18 +01:00
Philipp Oppermann
3765d2337b
Color <code> elements inside <a>
2017-03-19 14:30:18 +01:00
Philipp Oppermann
37911358ac
Merge pull request #289 from phil-opp/x86_64-crate
...
Use the `x86_64` crate instead of `x86`
2017-03-19 13:25:17 +01:00
Philipp Oppermann
31aab55ace
Remove rustfmt check for now due to rust-lang-nursery/rustfmt#1375
2017-03-19 13:22:35 +01:00
Philipp Oppermann
4853baaabc
Update posts to use x86_64 crate
2017-03-15 16:58:15 +01:00
Philipp Oppermann
02eaeb7af1
Switch to x86_64 crate and use its idt module
2017-03-15 16:58:15 +01:00
Philipp Oppermann
7ef97adb9c
CI: Remove hugo build and deploy
2017-03-12 00:25:45 +01:00
Philipp Oppermann
24a4c57deb
Remove Rust codegen crate
2017-03-12 00:19:46 +01:00
Philipp Oppermann
cfa93f1c46
Add before_build script
2017-03-12 00:14:14 +01:00
Philipp Oppermann
0fc98f2a92
Remove files that were only needed for github pages
2017-03-11 19:21:45 +01:00
Philipp Oppermann
74f84c16fa
Disable section and taxonomy pages
2017-03-11 14:02:55 +01:00
Philipp Oppermann
71d5a1d9dc
Move “diagrams” one level up
2017-03-11 13:55:50 +01:00
Philipp Oppermann
fc4d296dc7
Add a requirements.txt file
2017-03-11 13:50:17 +01:00
Philipp Oppermann
cb84c5c152
Remove .RSSlink (deprecation error)
2017-03-11 13:50:17 +01:00
Philipp Oppermann
495bee0480
Use standard “content” directory
2017-03-11 12:51:40 +01:00
Philipp Oppermann
7dbc7dc885
Merge branch 'hugo'
2017-03-11 12:45:27 +01:00
Philipp Oppermann
ce36e25da9
Move everything into a “blog” directory
2017-03-11 12:41:53 +01:00
Philipp Oppermann
68dc7447f4
Run rustfmt
2017-03-09 17:50:44 +01:00
Ahmed Charles
844d739379
Fix typo in “Returning from Exceptions” ( #285 )
2017-02-13 14:24:59 +01:00
Ahmed Charles
cb98f1a4de
Remove unneeded read/write flag in post ( #282 )
2017-01-30 14:21:53 +01:00
Philipp Oppermann
419d000897
Merge pull request #281 from phil-opp/update-bit_field
...
Update to latest bit_field version
2017-01-25 13:49:49 +01:00
Philipp Oppermann
8b807a7d25
Update posts to latest bit_field version
2017-01-25 13:46:21 +01:00
Philipp Oppermann
46100ba24b
Update to latest bit_field version
2017-01-25 13:45:57 +01:00
Philipp Oppermann
fce85e68ee
The ReadWrite flag isn't needed for code segments ( #279 )
2017-01-18 13:12:28 +01:00
Philipp Oppermann
0ec93fc6fe
Merge pull request #278 from phil-opp/gdt-without-data-segment
...
Remove the data segment from assembly 64-bit GDT
2017-01-14 16:56:14 +01:00
Philipp Oppermann
ebb3e413dd
Update GDT code in post (no data segments anymore)
...
We also load 0 into all data segment registers to avoid future problems with iretq. Also: minor wording improvements.
2017-01-14 16:42:18 +01:00
Philipp Oppermann
8f8b46a9b6
Load null selectors to all data registers
...
This is required for some instructions such as iretq (ss must be valid or 0).
2017-01-14 16:38:33 +01:00
Philipp Oppermann
e179dadf70
Data segments aren't needed for 64-bit mode
2017-01-12 17:23:50 +01:00
Philipp Oppermann
a8847c22ef
Fix broken links
2017-01-04 16:36:25 +01:00
Philipp Oppermann
ae1c9b3739
Merge pull request #276 from phil-opp/p
...
Make panic_fmt public to fix private_no_mangle_fns warning
2017-01-04 16:21:19 +01:00
Philipp Oppermann
64cbabd1c2
make panic_fmt public in posts
2017-01-04 16:15:59 +01:00
Philipp Oppermann
1be2f42791
Make panic_fmt public to fix private_no_mangle_fns warning
2017-01-04 16:13:27 +01:00
Philipp Oppermann
f6a1faab96
Fix broken links in “Double Faults” ( #275 )
2017-01-02 19:39:19 +01:00
Philipp Oppermann
1549e318a5
Merge pull request #270 from phil-opp/new-post
...
New post about double faults
2017-01-02 19:19:29 +01:00
Philipp Oppermann
c39070da4a
“Double Faults” is the 12th post
2017-01-02 19:15:50 +01:00
Philipp Oppermann
a43b23b619
Catch double faults on a separate stack
2017-01-02 19:11:56 +01:00
Philipp Oppermann
006619920e
Reload code segment register and load TSS
2017-01-02 19:11:56 +01:00
Philipp Oppermann
c0d7206249
Make TSS and GDT statics by using spin::Once
2017-01-02 19:11:56 +01:00
Philipp Oppermann
31ffe60052
Add a new GDT module
2017-01-02 19:11:56 +01:00
Philipp Oppermann
d330a67659
Create a new TaskStateSegment
...
(that contains the double fault stack in its IST)
2017-01-02 19:11:56 +01:00
Philipp Oppermann
e08bd375ae
Allocate a new double fault stack in interrupts::init
2017-01-02 19:11:56 +01:00
Philipp Oppermann
8ad76ba496
Create a new MemoryAllocator (and initialize it)
2017-01-02 19:11:56 +01:00
Philipp Oppermann
4347ff235f
Add a new stack_allocator module
2017-01-02 19:11:56 +01:00
Philipp Oppermann
47755d541d
Trigger a stack overflow (still causes a triple fault)
2017-01-02 19:11:56 +01:00
Philipp Oppermann
dfa1cc48c9
Add a double fault handler (and trigger it)
2017-01-02 19:11:56 +01:00