Commit Graph

565 Commits

Author SHA1 Message Date
Philipp Oppermann
5f1d6aed2e Split off Allocator Designs section into its own post
The post is already long enough and this section is already large enough to fill its own post and far from finished.
2019-06-25 19:23:45 +02:00
Philipp Oppermann
0cb439b450 Begin implementation section of linked list allocator 2019-06-24 18:29:44 +02:00
Philipp Oppermann
925d228c7f Explain challanges of reusing freed memory 2019-06-24 16:34:18 +02:00
Philipp Oppermann
9842ede61c Minor improvements 2019-06-24 16:32:50 +02:00
Philipp Oppermann
2a0e5e4696 Fix wrong address in page table mapping example 2019-06-23 18:10:21 +02:00
Philipp Oppermann
a09357a484 Explain allocator design goals and user/kernel space differences 2019-06-21 13:04:05 +02:00
Philipp Oppermann
1022c3b6fa Remove BTreeMap from example code, list possible types instead 2019-06-21 12:43:00 +02:00
Philipp Oppermann
8282608d3a Make list elements paragraphs to increase spacing 2019-06-21 12:42:16 +02:00
Philipp Oppermann
2d16cce255 Add image alt text 2019-06-21 12:08:39 +02:00
Philipp Oppermann
518f5247c5 Write section about bump allocation 2019-06-20 16:28:00 +02:00
Philipp Oppermann
63b8b2c31d Minor improvements 2019-06-20 16:24:04 +02:00
Philipp Oppermann
5d2f27f870 Create and map a heap memory region 2019-06-19 16:44:29 +02:00
Philipp Oppermann
79c827006d Remove duplicate word 2019-06-19 16:43:24 +02:00
Philipp Oppermann
5f4153c365 Fix markdown parsing problems 2019-06-19 15:38:05 +02:00
Philipp Oppermann
f6d2ac229f Add screenshot 2019-06-18 18:41:01 +02:00
Philipp Oppermann
3b86f8de2a Write section about allocator interface 2019-06-17 17:52:15 +02:00
Philipp Oppermann
684e21fcec Update VGA buffer post for commit fcd849f47
Commit fcd849f471
2019-06-17 17:30:09 +02:00
Philipp Oppermann
6e1e677316 Begin sections about allocator interface and dummy/bump allocator 2019-06-16 19:32:51 +02:00
Philipp Oppermann
608ec767f0 Typo fixes 2019-06-16 15:26:48 +02:00
Philipp Oppermann
4f6d62779d Heap Allocation is the 10th post now
(We combined the two testing posts into one.)
2019-06-16 15:18:09 +02:00
Philipp Oppermann
bdb87289d8 Minor improvements 2019-06-16 15:16:50 +02:00
Philipp Oppermann
6108c01fb5 Motivate dynamic memory and explain how it works in Rust 2019-06-15 13:56:14 +02:00
Philipp Oppermann
015ef5b960 Begin new Heap Allocation post 2019-06-15 13:56:14 +02:00
Philipp Oppermann
bd6fbcb1c3 Use misspell to fix some typos 2019-06-03 18:02:20 +02:00
Philipp Oppermann
65e8b354d3 Typo fix 2019-05-26 16:00:44 +02:00
Philipp Oppermann
bd95ade626 Clarify that print_something needs to be called from _start 2019-05-26 15:58:08 +02:00
Philipp Oppermann
a8908acecc Fix typo: 1004 MiB -> 1004 KiB 2019-05-23 12:57:16 +02:00
Philipp Oppermann
99f8d2cfe7 Rewrite CompareMessage to check the whole string (#611)
Not just a single string component like before.
2019-05-23 12:40:14 +02:00
Philipp Oppermann
6db5ad78ab Add missing MemoryMap and MemoryRegionType imports 2019-05-13 12:30:22 +02:00
Joseph Richey
1ebe869e0e Always use spaces for code (if possible) (#609)
Almost all the code in the blog uses spaces instead of tabs.
This change fixes 3 places where there was inconsistancy.

This was causing some of the content to appear misaligned.

Now tabs are only used in:
  - Makefiles
  - Dockerfiles
  - Command output (from `objdump` and `diff`) containing tabs
  - `.fish` files
2019-05-12 14:39:31 +02:00
Philipp Oppermann
a770d09c0a Fix: Port needs to be mutable when reading from it
Required because of the update to x86_64 0.7.0 (#606).
2019-05-09 15:40:33 +02:00
Philipp Oppermann
f845b608c2 Update testing post to use -serial stdio instead of -serial mon:stdio (#605) 2019-05-09 15:01:09 +02:00
Philipp Oppermann
0632a0de80 Update posts for x86_64 version 0.7.0 (#607) 2019-05-09 15:00:49 +02:00
Philipp Oppermann
4736ad27fd Update Paging Implementation for unsafe FrameAllocator trait 2019-05-03 19:32:48 +02:00
Philipp Oppermann
faf574621a Update to x86_64 0.6.0 2019-05-03 19:25:48 +02:00
Philipp Oppermann
eb76c67a44 Update Paging Implementation for new frame allocator implementation (#596) 2019-04-30 13:29:30 +02:00
Matej Stuchlik
11e1f0d787 Typo: iozize -> iosize (#594) 2019-04-29 14:40:08 +02:00
Philipp Oppermann
b8d3aa32e9 Testing: PANIC_INFO needs to be adjusted after adding attributes/imports 2019-04-28 13:44:42 +02:00
Philipp Oppermann
1f9710308f Add missing core::fmt::{self, Write} imports in testing post 2019-04-28 12:59:27 +02:00
Sam Gluck
b7e98fa04a add missing "it" (#590) 2019-04-27 21:59:44 +02:00
bjorn3
7cbd985756 Update index.md (#588) 2019-04-27 19:28:20 +02:00
Philipp Oppermann
a8865e2277 Add deprecation notices to old testing posts and specify requirements 2019-04-27 13:40:15 +02:00
Philipp Oppermann
9995c69cc6 Mention deprecated Unit Testing and Integration Tests posts 2019-04-27 13:40:15 +02:00
Philipp Oppermann
e677e5d569 Set publish date 2019-04-27 13:40:15 +02:00
Philipp Oppermann
2286569694 Write summary section 2019-04-27 13:40:15 +02:00
Philipp Oppermann
c337840584 Typo fixes 2019-04-27 13:40:15 +02:00
Philipp Oppermann
3307cc6f66 Explain the timeout feature of bootimage 2019-04-27 13:40:15 +02:00
Philipp Oppermann
0509307d8f Mention test_main and blog_os::init in later posts 2019-04-27 13:40:15 +02:00
Philipp Oppermann
57a506e0fc Remove old cfg(not(test)) attributes from paging implementation post
The kernel_main function is now also the entry point in test mode.
2019-04-27 13:40:15 +02:00
Philipp Oppermann
2d61a463fc Use the entry point macro for lib.rs too 2019-04-27 13:40:15 +02:00