diff --git a/blog/content/extra/naked-exceptions/01-catching-exceptions/index.md b/blog/content/extra/naked-exceptions/01-catching-exceptions/index.md index 818fa085..ab6456f9 100644 --- a/blog/content/extra/naked-exceptions/01-catching-exceptions/index.md +++ b/blog/content/extra/naked-exceptions/01-catching-exceptions/index.md @@ -2,7 +2,7 @@ title = "Catching Exceptions" order = 1 path = "catching-exceptions" -date = "2016-05-28" +date = 2016-05-28 [extra] updated = "2016-06-25" +++ diff --git a/blog/content/extra/naked-exceptions/02-better-exception-messages/index.md b/blog/content/extra/naked-exceptions/02-better-exception-messages/index.md index 286bb078..a221bb9a 100644 --- a/blog/content/extra/naked-exceptions/02-better-exception-messages/index.md +++ b/blog/content/extra/naked-exceptions/02-better-exception-messages/index.md @@ -2,7 +2,7 @@ title = "Better Exception Messages" order = 2 path = "better-exception-messages" -date = "2016-08-03" +date = 2016-08-03 [extra] updated = "2016-11-01" +++ diff --git a/blog/content/extra/naked-exceptions/03-returning-from-exceptions/index.md b/blog/content/extra/naked-exceptions/03-returning-from-exceptions/index.md index 36ef6d09..88e1470b 100644 --- a/blog/content/extra/naked-exceptions/03-returning-from-exceptions/index.md +++ b/blog/content/extra/naked-exceptions/03-returning-from-exceptions/index.md @@ -2,7 +2,7 @@ title = "Returning from Exceptions" order = 3 path = "returning-from-exceptions" -date = "2016-09-21" +date = 2016-09-21 [extra] updated = "2016-11-01" +++ diff --git a/blog/content/posts/01-multiboot-kernel/index.md b/blog/content/posts/01-multiboot-kernel/index.md index f0c43335..560350db 100644 --- a/blog/content/posts/01-multiboot-kernel/index.md +++ b/blog/content/posts/01-multiboot-kernel/index.md @@ -2,7 +2,7 @@ title = "A minimal x86 kernel" order = 1 path = "multiboot-kernel/" -date = "2015-08-18" +date = 2015-08-18 +++ This post explains how to create a minimal x86 operating system kernel. In fact, it will just boot and print `OK` to the screen. In subsequent blog posts we will extend it using the [Rust] programming language. diff --git a/blog/content/posts/02-entering-longmode/index.md b/blog/content/posts/02-entering-longmode/index.md index 5e6cedd9..01dcb1d9 100644 --- a/blog/content/posts/02-entering-longmode/index.md +++ b/blog/content/posts/02-entering-longmode/index.md @@ -2,7 +2,7 @@ title = "Entering Long Mode" order = 2 path = "entering-longmode" -date = "2015-08-25" +date = 2015-08-25 [extra] updated = "2015-10-29" +++ diff --git a/blog/content/posts/03-set-up-rust/index.md b/blog/content/posts/03-set-up-rust/index.md index f6320da7..d4f46cff 100644 --- a/blog/content/posts/03-set-up-rust/index.md +++ b/blog/content/posts/03-set-up-rust/index.md @@ -2,7 +2,7 @@ title = "Set Up Rust" order = 3 path = "set-up-rust" -date = "2015-09-02" +date = 2015-09-02 [extra] updated = "2017-04-12" +++ diff --git a/blog/content/posts/04-printing-to-screen/index.md b/blog/content/posts/04-printing-to-screen/index.md index b0aaa680..5aa973e8 100644 --- a/blog/content/posts/04-printing-to-screen/index.md +++ b/blog/content/posts/04-printing-to-screen/index.md @@ -2,7 +2,7 @@ title = "Printing to Screen" order = 4 path = "printing-to-screen" -date = "2015-10-23" +date = 2015-10-23 [extra] updated = "2016-10-31" +++ diff --git a/blog/content/posts/05-allocating-frames/index.md b/blog/content/posts/05-allocating-frames/index.md index 8a26f04c..da675ee8 100644 --- a/blog/content/posts/05-allocating-frames/index.md +++ b/blog/content/posts/05-allocating-frames/index.md @@ -2,7 +2,7 @@ title = "Allocating Frames" order = 5 path = "allocating-frames" -date = "2015-11-15" +date = 2015-11-15 +++ In this post we create an allocator that provides free physical frames for a future paging module. To get the required information about available and used memory we use the Multiboot information structure. Additionally, we improve the `panic` handler to print the corresponding message and source line. diff --git a/blog/content/posts/06-page-tables/index.md b/blog/content/posts/06-page-tables/index.md index 7fa21ec5..721717dc 100644 --- a/blog/content/posts/06-page-tables/index.md +++ b/blog/content/posts/06-page-tables/index.md @@ -2,7 +2,7 @@ title = "Page Tables" order = 6 path = "page-tables" -date = "2015-12-09" +date = 2015-12-09 +++ In this post we will create a paging module, which allows us to access and modify the 4-level page table. We will explore recursive page table mapping and use some Rust features to make it safe. Finally we will create functions to translate virtual addresses and to map and unmap pages. diff --git a/blog/content/posts/07-remap-the-kernel/index.md b/blog/content/posts/07-remap-the-kernel/index.md index f61c8f6c..912e9d24 100644 --- a/blog/content/posts/07-remap-the-kernel/index.md +++ b/blog/content/posts/07-remap-the-kernel/index.md @@ -2,7 +2,7 @@ title = "Remap the Kernel" order = 7 path = "remap-the-kernel" -date = "2016-01-01" +date = 2016-01-01 [extra] updated = "2016-03-06" +++ diff --git a/blog/content/posts/08-kernel-heap/index.md b/blog/content/posts/08-kernel-heap/index.md index 2cdacc8e..05623e99 100644 --- a/blog/content/posts/08-kernel-heap/index.md +++ b/blog/content/posts/08-kernel-heap/index.md @@ -2,7 +2,7 @@ title = "Kernel Heap" order = 8 path = "kernel-heap" -date = "2016-04-11" +date = 2016-04-11 updated = "2017-11-19" +++ diff --git a/blog/content/posts/09-handling-exceptions/index.md b/blog/content/posts/09-handling-exceptions/index.md index ea77aff1..05d0b135 100644 --- a/blog/content/posts/09-handling-exceptions/index.md +++ b/blog/content/posts/09-handling-exceptions/index.md @@ -2,7 +2,7 @@ title = "Handling Exceptions" order = 9 path = "handling-exceptions" -date = "2017-03-26" +date = 2017-03-26 +++ In this post, we start exploring CPU exceptions. Exceptions occur in various erroneous situations, for example when accessing an invalid memory address or when dividing by zero. To catch them, we have to set up an _interrupt descriptor table_ that provides handler functions. At the end of this post, our kernel will be able to catch [breakpoint exceptions] and to resume normal execution afterwards. diff --git a/blog/content/posts/10-double-faults/index.md b/blog/content/posts/10-double-faults/index.md index c357c680..48692ebd 100644 --- a/blog/content/posts/10-double-faults/index.md +++ b/blog/content/posts/10-double-faults/index.md @@ -2,7 +2,7 @@ title = "Double Faults" order = 10 path = "double-faults" -date = "2017-01-02" +date = 2017-01-02 +++ In this post we explore double faults in detail. We also set up an _Interrupt Stack Table_ to catch double faults on a separate kernel stack. This way, we can completely prevent triple faults, even on kernel stack overflow. diff --git a/blog/content/second-edition/posts/01-introduction/index.md b/blog/content/second-edition/posts/01-introduction/index.md index 0cda4303..0812c70e 100644 --- a/blog/content/second-edition/posts/01-introduction/index.md +++ b/blog/content/second-edition/posts/01-introduction/index.md @@ -2,7 +2,7 @@ title = "Introduction" order = 1 path = "introduction" -date = "0000-01-01" +date = 0000-01-01 template = "second-edition/page.html" +++ diff --git a/blog/content/second-edition/posts/02-booting/index.md b/blog/content/second-edition/posts/02-booting/index.md index 972383b5..215439ae 100644 --- a/blog/content/second-edition/posts/02-booting/index.md +++ b/blog/content/second-edition/posts/02-booting/index.md @@ -2,7 +2,7 @@ title = "Booting" order = 2 path = "booting" -date = "0000-01-01" +date = 0000-01-01 template = "second-edition/page.html" +++ diff --git a/blog/content/second-edition/posts/03-freestanding-rust-binary/index.md b/blog/content/second-edition/posts/03-freestanding-rust-binary/index.md index a8b33a3a..11125d43 100644 --- a/blog/content/second-edition/posts/03-freestanding-rust-binary/index.md +++ b/blog/content/second-edition/posts/03-freestanding-rust-binary/index.md @@ -2,7 +2,7 @@ title = "A Freestanding Rust Binary" order = 3 path = "freestanding-rust-binary" -date = "0000-01-01" +date = 0000-01-01 template = "second-edition/page.html" +++ diff --git a/blog/templates/base.html b/blog/templates/base.html index bc28fdc2..957e2643 100644 --- a/blog/templates/base.html +++ b/blog/templates/base.html @@ -1,6 +1,6 @@ - +
diff --git a/blog/templates/second-edition/base.html b/blog/templates/second-edition/base.html index bc28fdc2..941fcf80 100644 --- a/blog/templates/second-edition/base.html +++ b/blog/templates/second-edition/base.html @@ -1,6 +1,6 @@ - + @@ -21,7 +21,7 @@{{ config.extra.subtitle }}