Commit Graph

  • 90ad333e90 Merge branch 'z_post_06' into z_post_07 Philipp Oppermann 2019-01-25 14:46:29 +01:00
  • cc3a868863 Merge branch 'z_post_05' into z_post_06 Philipp Oppermann 2019-01-25 14:46:17 +01:00
  • d1545e7fbf Merge branch 'z_post_04' into z_post_05 Philipp Oppermann 2019-01-25 14:46:04 +01:00
  • be46130322 Merge branch 'z_post_03' into z_post_04 Philipp Oppermann 2019-01-25 14:45:46 +01:00
  • afe8dc3dcf Add stack overflow integration test Philipp Oppermann 2019-01-25 14:45:02 +01:00
  • 8bb0187f35 Run rustfmt Philipp Oppermann 2019-01-25 14:44:42 +01:00
  • b5c05193e1 Document vga buffer methods Philipp Oppermann 2019-01-25 14:39:47 +01:00
  • e0ed423e52 Explain the LLVM bug on Windows in more detail Philipp Oppermann 2019-01-25 14:37:46 +01:00
  • abaf5bd862 Use PageTable struct of x86_64 crate for accessing entries Philipp Oppermann 2019-01-25 14:29:50 +01:00
  • b7005b766f Print first 10 entries of level 4 page table Philipp Oppermann 2019-01-25 14:29:04 +01:00
  • 91ca04e8c2 Retrieve address of level 4 page table Philipp Oppermann 2019-01-25 14:28:23 +01:00
  • ada45c6e52 Provoke page fault Philipp Oppermann 2019-01-25 14:27:31 +01:00
  • 207a466707 Add a page fault handler Philipp Oppermann 2019-01-25 14:26:35 +01:00
  • a954c02fbe Use pc-keyboard crate to translate all scancodes Philipp Oppermann 2019-01-25 14:23:23 +01:00
  • 895991fee3 Translate keycodes for keys 0-9 Philipp Oppermann 2019-01-25 14:22:25 +01:00
  • 25796110f3 Read and print scancodes in keyboard interrupt handler Philipp Oppermann 2019-01-25 14:21:49 +01:00
  • 1d153d694e Add a keyboard interrupt handler Philipp Oppermann 2019-01-25 14:20:00 +01:00
  • c2e4e8c96f Add and use hlt_loop function Philipp Oppermann 2019-01-25 14:16:29 +01:00
  • 9cd801fd1f Fix old 2015 edition import path Philipp Oppermann 2019-01-25 14:19:20 +01:00
  • 599a643d97 Remove deadlock provoking code again Philipp Oppermann 2019-01-25 14:14:45 +01:00
  • 5efcecc2f2 Avoid deadlock by disabling interrupts in print! and serial_print! macros Philipp Oppermann 2019-01-25 14:14:26 +01:00
  • 1a39774ead Provoke a print! deadlock Philipp Oppermann 2019-01-25 14:12:14 +01:00
  • c677103c5e Add another missing import in code example Philipp Oppermann 2019-01-25 14:11:45 +01:00
  • 1ea8cf6ed1 Send end of interrupt signal Philipp Oppermann 2019-01-25 14:09:47 +01:00
  • 4060ac558c Add a timer interrupt handler Philipp Oppermann 2019-01-25 14:09:12 +01:00
  • d84127a7a8 Add missing import in code example Philipp Oppermann 2019-01-25 14:08:44 +01:00
  • 28a11e47bc Enable hardware interrupts Philipp Oppermann 2019-01-25 14:05:20 +01:00
  • 6504bed810 Initialize the PIC Philipp Oppermann 2019-01-25 14:04:55 +01:00
  • d8edfccca4 Set the stack_index for the double fault handler Philipp Oppermann 2019-01-25 14:01:29 +01:00
  • db2290e47a Fix import path in code example Philipp Oppermann 2019-01-25 14:00:44 +01:00
  • ff25a7d86c Reload code and TSS selector registers Philipp Oppermann 2019-01-25 13:59:09 +01:00
  • b5202e26a1 Load the GDT Philipp Oppermann 2019-01-25 13:57:40 +01:00
  • ea1b031fd3 Create a static GDT Philipp Oppermann 2019-01-25 13:57:08 +01:00
  • db4e879c34 Create a new GDT module and a static TSS Philipp Oppermann 2019-01-25 13:56:40 +01:00
  • 7fd29c9cbe Trigger a double fault through a stack overflow -> triple fault Philipp Oppermann 2019-01-25 13:55:42 +01:00
  • 218cb9399e Add a double fault handler and test it Philipp Oppermann 2019-01-25 13:54:44 +01:00
  • b96636984c Workaround an LLVM bug Philipp Oppermann 2019-01-25 13:53:17 +01:00
  • b9dd088dc1 Create test-exception-breakpoint integration test Philipp Oppermann 2019-01-25 13:51:39 +01:00
  • c6bd48e812 Load and test our new IDT Philipp Oppermann 2019-01-25 13:50:33 +01:00
  • 9448b0e025 Create a new IDT Philipp Oppermann 2019-01-25 13:49:09 +01:00
  • ade6c99885 Add an interrupts module Philipp Oppermann 2019-01-25 13:47:28 +01:00
  • 59579108a7 Add test-basic-boot and test-panic integration tests Philipp Oppermann 2019-01-25 13:45:38 +01:00
  • bd39105793 Split crate into lib.rs and main.rs Philipp Oppermann 2019-01-25 13:44:04 +01:00
  • 441d2df46f Only allow(unused_imports) Philipp Oppermann 2019-01-25 13:43:12 +01:00
  • 0e4c13937b Use #![cfg_attr(not(test), no_std)] instead of #![no_std] Philipp Oppermann 2019-01-25 13:41:07 +01:00
  • d007aae993 Exit qemu Philipp Oppermann 2019-01-25 13:38:26 +01:00
  • c21f051300 Add a serial module Philipp Oppermann 2019-01-25 13:33:52 +01:00
  • 1d0bdad7d0 Remove wrong serial_println import Philipp Oppermann 2019-01-25 13:36:04 +01:00
  • c0e0136349 Break long line in code example Philipp Oppermann 2019-01-25 13:35:46 +01:00
  • 76110c1dd8 Add a write_formatted test Philipp Oppermann 2019-01-25 13:32:00 +01:00
  • 92c4206e86 Add a write_byte test Philipp Oppermann 2019-01-25 13:31:34 +01:00
  • a15e01f2eb Construct a vga buffer for testing Philipp Oppermann 2019-01-25 13:31:06 +01:00
  • 76a65ca3ee Include the standard library for unit tests Philipp Oppermann 2019-01-25 13:29:02 +01:00
  • 8e74084d52 Silence unused import warnings for cargo test Philipp Oppermann 2019-01-25 13:25:24 +01:00
  • 5366fe2ff8 Make cargo test work Philipp Oppermann 2019-01-25 13:24:54 +01:00
  • 6c427e7cee Print the PanicInfo on panic Philipp Oppermann 2019-01-25 13:23:04 +01:00
  • c43d6191c5 Implement print!/println! macros Philipp Oppermann 2019-01-25 13:22:33 +01:00
  • c1e3fa57c6 Add a global interface Philipp Oppermann 2019-01-25 13:21:39 +01:00
  • 3574958d5f Implement new_line method Philipp Oppermann 2019-01-25 13:18:58 +01:00
  • cbfe6221bd Implement support for Rust's formatting macros Philipp Oppermann 2019-01-25 13:18:13 +01:00
  • d1897af515 Use volatile writes for accessing the VGA buffer Philipp Oppermann 2019-01-25 13:16:44 +01:00
  • d71e6a7cb6 Test the vga buffer module through a print_something function Philipp Oppermann 2019-01-25 12:26:05 +01:00
  • 27f2c4c2ff Add methods to write bytes and strings Philipp Oppermann 2019-01-25 12:25:46 +01:00
  • 19de9e560d Add a VGA buffer module Philipp Oppermann 2019-01-25 12:21:51 +01:00
  • 59f9fe1e69 Update Cargo.lock Philipp Oppermann 2019-01-25 12:44:36 +01:00
  • f4fd0e264a Add default target for bootimage Philipp Oppermann 2019-01-25 12:44:27 +01:00
  • bbc19e132c Add bootloader dependency Philipp Oppermann 2019-01-25 12:42:48 +01:00
  • f9ffee92c7 Print Hello World! to screen Philipp Oppermann 2019-01-25 12:42:21 +01:00
  • fd08b1a123 Add target specification file Philipp Oppermann 2019-01-25 12:40:20 +01:00
  • bb569d0794 Add Cargo.lock Philipp Oppermann 2019-01-25 12:39:35 +01:00
  • a80b09b1ae Add #![no_main] attribute and Linux entry point Philipp Oppermann 2019-01-25 12:37:02 +01:00
  • 2f9cbab885 Disable unwinding Philipp Oppermann 2019-01-25 12:35:11 +01:00
  • 3feee7761e Add panic handler Philipp Oppermann 2019-01-25 12:34:39 +01:00
  • 926940beb0 Add #![no_std] attribute Philipp Oppermann 2019-01-25 12:34:28 +01:00
  • 0fbb5f99cf Create new blog_os project Philipp Oppermann 2019-01-25 12:32:07 +01:00
  • 491b7a8f2e Initial commit Philipp Oppermann 2019-01-25 12:30:14 +01:00
  • 90ac6bf3b4 Update links to point to current version of the rust book (#536) Justin 2019-01-23 02:18:18 -07:00
  • d83acc0fc8 Merge pull request #534 from phil-opp/zola Philipp Oppermann 2019-01-22 18:48:15 +01:00
  • 53e0749906 Fix post ordering Philipp Oppermann 2019-01-22 16:57:22 +01:00
  • ccc36b7d45 Replace 404.md with a 404.html template Philipp Oppermann 2019-01-22 16:27:26 +01:00
  • a62ee6f35e Update netlify configuration Philipp Oppermann 2019-01-22 15:53:23 +01:00
  • a6eb3f25ac The subsections field is now an iterator of paths Philipp Oppermann 2019-01-22 15:48:29 +01:00
  • b96f73278d Gutenberg was renamed to Zola Philipp Oppermann 2019-01-22 15:48:13 +01:00
  • ea7f4d74f6 Sort by order has been removed Philipp Oppermann 2019-01-22 15:47:57 +01:00
  • 40806ceda0 Fix old links in freestanding Rust bin post. (#531) sergio valverde 2019-01-22 02:31:24 -06:00
  • b4238e93af Reduce cache size on travis (#532) Philipp Oppermann 2019-01-21 23:30:02 +01:00
  • 19b7fbc350 Merge #530 bors[bot] 2019-01-21 13:31:37 +00:00
  • ef2bf0ca0f fix unreachable link Pen Tree 2019-01-21 21:12:59 +08:00
  • cdbcb6b981 Merge #526 #529 bors[bot] 2019-01-21 08:08:34 +00:00
  • 09789b5327 Fixing typos in paging introduction Koleman Nix 2019-01-20 17:28:49 -05:00
  • 9673c9dc2c Rewrite breakpoint test Philipp Oppermann 2019-01-20 23:00:49 +01:00
  • aa72396013 Add closing quote, missing in print! invocation. (#527) Dato Simó 2019-01-20 15:49:24 -03:00
  • ed3c4cced9 Revert caching changes as they lead to permission problems on Windows Philipp Oppermann 2019-01-20 19:36:39 +01:00
  • 450099c13a Only cache .cargo/bin to speed up CI Philipp Oppermann 2019-01-20 19:05:28 +01:00
  • 2e16cc492a Add missing import in code example Philipp Oppermann 2019-01-20 17:33:22 +01:00
  • f03463bd85 Rust 2018 allows foo.rs with foo/*.rs submodules Philipp Oppermann 2019-01-20 17:29:52 +01:00
  • 205cbce425 Merge #524 bors[bot] 2019-01-18 10:56:15 +00:00
  • a147009dcd Mention cargo test --lib Philipp Oppermann 2019-01-18 11:34:41 +01:00
  • 7e5757e317 Fix link to AMD64 manual Philipp Oppermann 2019-01-15 12:41:54 +01:00
  • 0dd17a2603 Add missing "to" (#521) Maximilian Goisser 2019-01-15 11:15:52 +01:00