Philipp Oppermann
d21a78dc0b
Switch back to official nightly
2020-03-22 17:30:00 +01:00
Philipp Oppermann
0186f65ece
Use cooked-waker crate for creating wakers
2020-03-22 17:24:58 +01:00
Philipp Oppermann
2772abc8eb
Implement proper wakeups using RawWaker
2020-03-22 16:54:47 +01:00
Philipp Oppermann
51f90236a5
Base dummy waker on RawWaker to avoid allocations
...
The Wake trait is based on Arc, which leads to deallocation on wakes. Since interrupts should not (de)allocate, this can lead to a deadlock.
2020-03-22 16:11:25 +01:00
Philipp Oppermann
90abd5c8c5
Add a keyboard task that prints keypresses
2020-03-22 12:45:24 +01:00
Philipp Oppermann
a6273614e4
Add waker support to ScancodeStream
2020-03-22 12:16:17 +01:00
Philipp Oppermann
3a2a468a0b
Add a ScancodeStream based on the SCANCODE_QUEUE
2020-03-22 12:12:11 +01:00
Philipp Oppermann
05f6abd261
Fill the scancode queue on keyboard interrupts
2020-03-22 12:11:09 +01:00
Philipp Oppermann
255982a8b7
Implement scancode queue
2020-03-20 13:03:41 +01:00
Philipp Oppermann
f885f17b70
Implement a simple poll-loop executor
2020-03-19 16:46:37 +01:00
Philipp Oppermann
83b67df8af
Merge branch 'post-10' into post-11
2020-03-08 14:39:38 +01:00
Philipp Oppermann
02c36bae29
Merge branch 'post-09' into post-10
2020-03-08 14:39:38 +01:00
Philipp Oppermann
70deb3168e
Merge branch 'post-08' into post-09
2020-03-08 14:39:38 +01:00
Philipp Oppermann
9d4a960bcb
Merge branch 'post-07' into post-08
2020-03-08 14:39:38 +01:00
Philipp Oppermann
564ba9f9ac
Merge branch 'post-06' into post-07
2020-03-08 14:39:38 +01:00
Philipp Oppermann
8a4f3ab2a8
Merge branch 'post-05' into post-06
2020-03-08 14:39:37 +01:00
Philipp Oppermann
e402af005b
Merge branch 'post-04' into post-05
2020-03-08 14:39:37 +01:00
Philipp Oppermann
d7e505da9e
Update x86_64 dependency to version 0.9.6
2020-03-08 14:39:27 +01:00
Philipp Oppermann
714d9cef7d
Merge branch 'post-10' into post-11
2020-03-08 14:30:38 +01:00
Philipp Oppermann
7b0d8f05ba
Fix code for x86_64 v0.9.5 update
2020-03-08 14:30:33 +01:00
Philipp Oppermann
3735ae51c9
Merge branch 'post-10' into post-11
2020-03-08 14:29:03 +01:00
Philipp Oppermann
f230ee4258
Merge branch 'post-09' into post-10
2020-03-08 14:29:00 +01:00
Philipp Oppermann
a5d409b777
Merge branch 'post-08' into post-09
2020-03-08 14:28:03 +01:00
Philipp Oppermann
33df0bb2a3
Merge branch 'post-07' into post-08
2020-03-08 14:28:03 +01:00
Philipp Oppermann
9a61e1724b
Merge branch 'post-06' into post-07
2020-03-08 14:27:58 +01:00
Philipp Oppermann
dbe1353fd2
Merge branch 'post-05' into post-06
2020-03-08 14:27:42 +01:00
Philipp Oppermann
813bc41a74
Merge branch 'post-04' into post-05
2020-03-08 14:27:42 +01:00
Philipp Oppermann
2039cd7a64
Update x86_64 to version 0.9.5
2020-03-08 14:27:36 +01:00
Philipp Oppermann
a430d5ef06
Merge branch 'post-10' into post-11
2020-03-06 11:58:45 +01:00
Philipp Oppermann
39f14b6d0b
Merge pull request #763 from phil-opp/post-10-update-linked-list-alloc
...
Update linked_list_allocator to v0.8.0
2020-03-06 11:58:23 +01:00
Philipp Oppermann
dd1daf2652
Update linked_list_allocator to v0.8.0
2020-03-06 11:47:49 +01:00
Philipp Oppermann
f4331daa25
Merge branch 'post-10' into post-11
2020-02-26 12:48:22 +01:00
Philipp Oppermann
9a415c85b9
Merge branch 'post-09' into post-10
2020-02-26 12:47:51 +01:00
Philipp Oppermann
79a0172ace
Merge branch 'post-08' into post-09
2020-02-26 12:47:32 +01:00
Philipp Oppermann
9af6337f67
Merge branch 'post-07' into post-08
2020-02-26 12:47:23 +01:00
Philipp Oppermann
725e03b5c5
Merge branch 'post-06' into post-07
2020-02-26 12:47:07 +01:00
Philipp Oppermann
16afb268f8
Merge branch 'post-05' into post-06
2020-02-26 12:46:19 +01:00
Philipp Oppermann
5ef73aaa30
Merge branch 'post-04' into post-05
2020-02-26 12:46:09 +01:00
Philipp Oppermann
ebb862de2a
Run cargo update for post-04
2020-02-26 12:46:04 +01:00
Philipp Oppermann
d588dca953
Merge branch 'post-03' into post-04
2020-02-26 12:45:45 +01:00
Philipp Oppermann
921dd54207
Merge branch 'post-10' into post-11
2020-02-26 12:22:10 +01:00
Philipp Oppermann
c7cc718ae3
Merge branch 'post-09' into post-10
2020-02-26 12:22:06 +01:00
Philipp Oppermann
8fc746555d
Merge branch 'post-08' into post-09
2020-02-26 12:21:28 +01:00
Philipp Oppermann
9324ea45a5
Merge branch 'post-07' into post-08
2020-02-26 12:21:28 +01:00
Philipp Oppermann
d35ab51629
Merge pull request #756 from RKennedy9064/post-07
...
Updated pc-keyboard to `0.5.0`
2020-02-26 12:18:13 +01:00
Ryan Kennedy
de509e058f
Switched to HandleControl::Ignore
2020-02-25 10:32:39 -06:00
Ryan Kennedy
2a8f499f73
Might help if I use cargo fmt
2020-02-22 19:02:57 -06:00
Ryan Kennedy
2634bb2d37
Updated pc-keyboard to 0.5.0
2020-02-22 18:55:21 -06:00
Philipp Oppermann
3a6d3153a4
Don't panic on overflow in allocator; return null pointer instead ( #738 )
2020-02-04 09:47:39 +01:00
Philipp Oppermann
9fb6c1d0bd
Merge branch 'post-10' into post-11
2020-02-04 09:39:02 +01:00
Philipp Oppermann
5ed04baab0
Update linked_list_allocator dependency
2020-02-04 09:38:52 +01:00
Philipp Oppermann
00fedc801e
Use LinkedListAllocator::lock instead of self.inner.lock()
2020-01-30 13:03:34 +01:00
Philipp Oppermann
0f74db4812
Implement align_up using align_offset from Rust's standard library ( #723 )
...
Improve `align_up` performance using a bitmask
2020-01-28 10:39:14 +01:00
Philipp Oppermann
93fd330ab9
Use bitmask instead of align_offset
2020-01-28 10:29:53 +01:00
Philipp Oppermann
3ad5f117c2
Use checked addition for allocator implementations ( #726 )
2020-01-27 13:25:08 +01:00
Philipp Oppermann
d1678f5a96
Implement align_up using align_offset from Rust's standard library
2020-01-22 11:35:29 +01:00
Philipp Oppermann
002d6f255f
Set FixedSizeBlockAllocator as global allocator
2020-01-20 14:09:00 +01:00
Philipp Oppermann
6c3bf0b10f
Implement GlobalAlloc::dealloc
2020-01-20 14:07:47 +01:00
Philipp Oppermann
7a792f5cb0
Implement GlobalAlloc::alloc
2020-01-20 14:07:02 +01:00
Philipp Oppermann
93b4dcf434
Add skeleton for GlobalAlloc implementation
2020-01-20 14:06:26 +01:00
Philipp Oppermann
821dd2adb4
Add function to calculate the list index
2020-01-20 14:05:24 +01:00
Philipp Oppermann
d636939b51
Add FixedSizeBlockAllocator::fallback_alloc method
2020-01-20 14:05:01 +01:00
Philipp Oppermann
9b7326541e
Add FixedSizeBlockAllocator type
2020-01-20 14:04:13 +01:00
Philipp Oppermann
4f234b67ef
Add ListNode type and BLOCK_SIZES constant
2020-01-20 14:02:57 +01:00
Philipp Oppermann
7381e11f3c
Create a new fixed_size_block allocator submodule
2020-01-20 14:01:59 +01:00
Philipp Oppermann
a9fe65a0ce
Use new LinkedListAllocator
2020-01-10 13:04:46 +01:00
Philipp Oppermann
2001814119
Implement LinkedListAllocator::size_align
2020-01-10 13:00:16 +01:00
Philipp Oppermann
a5c50e7408
Implement GlobalAlloc for LinkedListAllocator
2020-01-10 11:52:04 +01:00
Philipp Oppermann
70a52c291d
Implement alloc_from_region
2020-01-10 11:48:56 +01:00
Philipp Oppermann
c56bfa27e4
Implement find_region
2020-01-10 11:46:10 +01:00
Philipp Oppermann
55aec9ebf3
Apply rustfmt to ListNode::new function
2020-01-10 11:44:38 +01:00
Philipp Oppermann
2e1d132a9a
Implement add_free_region
2020-01-10 11:44:17 +01:00
Philipp Oppermann
63e8577d77
Create a basic LinkedListAllocator type
2020-01-10 11:42:04 +01:00
Philipp Oppermann
75d826bf69
Add a test that memory is reused with a long lived allocation
...
This test fails for the bump allocator because it can only free the complete heap at once, which is prevented by the single long-lived allocation.
2020-01-09 15:45:38 +01:00
Philipp Oppermann
45be3f0648
Use our BumpAllocator instead of linked_list_allocator crate
2020-01-09 15:37:43 +01:00
Philipp Oppermann
055c560a7a
Add an align_up function
2020-01-09 15:36:06 +01:00
Philipp Oppermann
e87044a7ee
Implement GlobalAlloc for BumpAllocator
2020-01-09 15:35:03 +01:00
Philipp Oppermann
08d2289dad
Add a Locked wrapper type that can be used to implement GlobalAlloc
2020-01-09 15:34:04 +01:00
Philipp Oppermann
7c84dbaa1d
Create a basic BumpAllocator type
2020-01-09 15:25:37 +01:00
Philipp Oppermann
882c83f9de
Update many_boxes test to scale with heap size ( #716 )
...
Instead of using a hardcoded number of boxes, use the HEAP_SIZE constant. This ensures that we get a test failure because of an out-of-memory error when the allocator does not reuse freed memory.
2020-01-09 12:58:29 +01:00
Philipp Oppermann
869a69e531
Move #[global_allocator] into allocator module ( #714 )
...
The Rust issue that the #[global_allocator] cannot be defined in submodules was fixed.
2020-01-08 12:38:06 +01:00
Philipp Oppermann
817267e51c
Update Github Actions badge for post-10
2019-12-12 09:32:59 +01:00
Philipp Oppermann
9e75078dab
Merge branch 'post-09' into post-10
2019-12-12 09:32:46 +01:00
Philipp Oppermann
ed3af8e984
Update Github Actions badge for post-09
2019-12-12 09:32:30 +01:00
Philipp Oppermann
1d1075b35e
Merge branch 'post-08' into post-09
2019-12-12 09:32:16 +01:00
Philipp Oppermann
00f39aaccb
Update Github Actions badge for post-08
2019-12-12 09:31:56 +01:00
Philipp Oppermann
f815a1742a
Merge branch 'post-07' into post-08
2019-12-12 09:31:42 +01:00
Philipp Oppermann
2bf70751bf
Update Github Actions badge for post-07
2019-12-12 09:31:24 +01:00
Philipp Oppermann
ad2590068d
Merge branch 'post-06' into post-07
2019-12-12 09:31:07 +01:00
Philipp Oppermann
c211412ce2
Update Github Actions badge for post-06
2019-12-12 09:30:51 +01:00
Philipp Oppermann
93d3de6feb
Merge branch 'post-05' into post-06
2019-12-12 09:30:37 +01:00
Philipp Oppermann
6dcf5c61fb
Update Github Actions badge for post-05
2019-12-12 09:30:17 +01:00
Philipp Oppermann
96683c596b
Merge branch 'post-04' into post-05
2019-12-12 09:30:03 +01:00
Philipp Oppermann
029d6bee78
Update Github Actions badge for post-04
2019-12-12 09:29:31 +01:00
Philipp Oppermann
0fc6fedd82
Merge branch 'post-03' into post-04
2019-12-12 09:29:14 +01:00
Philipp Oppermann
41f38d92f2
Merge branch 'post-09' into post-10
2019-12-12 09:23:31 +01:00
Philipp Oppermann
8eb44dcbd5
Merge branch 'post-08' into post-09
2019-12-12 09:23:31 +01:00
Philipp Oppermann
1f771a6820
Merge branch 'post-07' into post-08
2019-12-12 09:23:31 +01:00
Philipp Oppermann
36b8fd402f
Merge branch 'post-06' into post-07
2019-12-12 09:23:31 +01:00
Philipp Oppermann
651c629ffd
Merge branch 'post-05' into post-06
2019-12-12 09:23:30 +01:00
Philipp Oppermann
5ac91e5e38
Merge branch 'post-04' into post-05
2019-12-12 09:23:30 +01:00
Philipp Oppermann
56cf71df9f
Merge branch 'post-03' into post-04
2019-12-12 09:23:30 +01:00
Philipp Oppermann
3ac5318c94
Remove now unneeded unsafe block
...
The `map_to` method is safe since x86_64 0.8.1.
2019-12-11 16:47:45 +01:00
Philipp Oppermann
e94a489a31
Merge branch 'post-09' into post-10
2019-12-11 16:38:08 +01:00
Philipp Oppermann
f392d8a7f5
Merge pull request #703 from phil-opp/post-09-fix
...
Update frame allocation code to x86_64 0.8.1
2019-12-11 16:37:49 +01:00
Philipp Oppermann
c7bc26d8ee
Update frame allocation code to x86_64 0.8.1
2019-12-11 16:26:38 +01:00
Philipp Oppermann
3171ab584b
Merge branch 'post-07' into post-08
2019-12-10 17:31:24 +01:00
Philipp Oppermann
dfd65d579c
Merge branch 'post-06' into post-07
2019-12-10 17:31:24 +01:00
Philipp Oppermann
8d8a7e0973
Merge branch 'post-05' into post-06
2019-12-10 17:31:24 +01:00
Philipp Oppermann
ec933ab329
Merge branch 'post-04' into post-05
2019-12-10 17:31:24 +01:00
Philipp Oppermann
9da9ecb515
Merge branch 'post-09' into post-10
2019-12-10 17:31:24 +01:00
Philipp Oppermann
6c1594ea24
Merge branch 'post-08' into post-09
2019-12-10 17:31:24 +01:00
Philipp Oppermann
adcb547765
Update to x86_64 0.8.1
2019-12-10 17:31:21 +01:00
Philipp Oppermann
9d31eb8aa8
Merge branch 'post-07' into post-08
2019-12-10 17:17:53 +01:00
Philipp Oppermann
3ffd71723f
Merge branch 'post-06' into post-07
2019-12-10 17:17:53 +01:00
Philipp Oppermann
f226ba0c3f
Merge branch 'post-09' into post-10
2019-12-10 17:17:53 +01:00
Philipp Oppermann
94aa2c4093
Merge branch 'post-08' into post-09
2019-12-10 17:17:53 +01:00
Philipp Oppermann
423b6e49cc
Merge pull request #702 from phil-opp/post-06-fix
...
Make double fault handlers diverging
2019-12-10 17:17:00 +01:00
Philipp Oppermann
d1cf8000a3
Make double fault handlers diverging
...
Required by x86_64 0.8.0.
2019-12-10 17:02:46 +01:00
Philipp Oppermann
76483ab6bf
Merge branch 'post-04' into post-05
2019-12-10 16:55:41 +01:00
Philipp Oppermann
2436801a05
Merge branch 'post-07' into post-08
2019-12-10 16:55:41 +01:00
Philipp Oppermann
617d0e6db6
Merge branch 'post-06' into post-07
2019-12-10 16:55:41 +01:00
Philipp Oppermann
c1fc7171fb
Merge branch 'post-09' into post-10
2019-12-10 16:55:41 +01:00
Philipp Oppermann
259742a5e3
Merge branch 'post-08' into post-09
2019-12-10 16:55:41 +01:00
Philipp Oppermann
16c499f966
Merge branch 'post-05' into post-06
2019-12-10 16:55:41 +01:00
Philipp Oppermann
faf097fd06
Merge branch 'post-03' into post-04
2019-12-10 16:55:36 +01:00
Philipp Oppermann
1636196d54
Merge pull request #701 from phil-opp/post-04-update
...
Update to x86_64 0.8.0
2019-12-10 16:54:51 +01:00
Philipp Oppermann
5c964dc7b9
Update to x86_64 0.8.0
2019-12-10 16:45:34 +01:00
Philipp Oppermann
cf527e9ce7
Update post-10 to new lockfile format
2019-11-28 14:08:28 +01:00
Philipp Oppermann
c891acb234
Merge branch 'post-09' into post-10
2019-11-28 14:08:08 +01:00
Philipp Oppermann
6876e82fc5
Merge branch 'post-08' into post-09
2019-11-28 14:07:43 +01:00
Philipp Oppermann
1b1953678c
Merge branch 'post-07' into post-08
2019-11-28 14:07:29 +01:00
Philipp Oppermann
d4c256c653
Update post-07 to new lockfile format
2019-11-28 14:07:23 +01:00
Philipp Oppermann
9e5ff8dd78
Merge branch 'post-06' into post-07
2019-11-28 14:07:03 +01:00
Philipp Oppermann
9d6ba0d31e
Merge branch 'post-05' into post-06
2019-11-28 14:06:28 +01:00
Philipp Oppermann
3a65487f17
Merge branch 'post-04' into post-05
2019-11-28 14:06:08 +01:00
Philipp Oppermann
0c3e6f95f6
Update post-04 to new lockfile format
2019-11-28 14:05:44 +01:00
Philipp Oppermann
23d8bb948e
Merge branch 'post-03' into post-04
2019-11-28 14:05:02 +01:00
Philipp Oppermann
b9a0702bc0
Merge branch 'post-09' into post-10
2019-11-25 13:35:20 +01:00
Philipp Oppermann
84ddda6a3f
Merge branch 'post-08' into post-09
2019-11-25 13:35:20 +01:00
Philipp Oppermann
37b8b42cba
Add missing hlt_loop import
2019-11-25 13:35:18 +01:00
Philipp Oppermann
2919cbdefc
Merge branch 'post-09' into post-10
2019-11-25 13:25:15 +01:00
Philipp Oppermann
f85664fd6b
Merge branch 'post-08' into post-09
2019-11-25 13:25:15 +01:00
Philipp Oppermann
1e86c9f5f0
Merge branch 'post-07' into post-08
2019-11-25 13:25:15 +01:00
Philipp Oppermann
084a77775f
Merge branch 'post-06' into post-07
2019-11-25 13:25:02 +01:00
Philipp Oppermann
590585da33
Merge branch 'post-05' into post-06
2019-11-25 13:24:09 +01:00
Philipp Oppermann
6828849bc4
Remove cfg(not(windows)) from interrupt module
...
This is no longer required and was already removed from the post in commit 992b958414 .
2019-11-25 13:19:07 +01:00
Philipp Oppermann
059ea76848
Merge branch 'post-09' into post-10
2019-11-22 16:33:23 +01:00
Philipp Oppermann
a65573b061
Merge branch 'post-08' into post-09
2019-11-22 16:33:23 +01:00
Philipp Oppermann
723776f852
Merge branch 'post-07' into post-08
2019-11-22 16:33:23 +01:00
Philipp Oppermann
1bf2a49526
Merge pull request #689 from phil-opp/post-07-new
...
post-07: Use panic instead of println + hlt_loop for double fault handler
2019-11-22 16:33:00 +01:00
Philipp Oppermann
b5b37d6e2b
Remove unused crate::hlt_loop import
2019-11-22 16:12:28 +01:00
Philipp Oppermann
c3f76cf1f0
Use panic instead of println + hlt_loop for double fault handler
2019-11-22 16:06:56 +01:00
Philipp Oppermann
2f085b7310
Merge branch 'post-09' into post-10
2019-11-22 16:05:13 +01:00
Philipp Oppermann
385004cab2
Merge branch 'post-08' into post-09
2019-11-22 16:05:13 +01:00
Philipp Oppermann
fab00675e1
Merge branch 'post-07' into post-08
2019-11-22 16:05:13 +01:00
Philipp Oppermann
12eed472ba
Merge branch 'post-06' into post-07
2019-11-22 16:05:10 +01:00
Philipp Oppermann
a604e1fa14
Merge branch 'post-06' of github.com:phil-opp/blog_os into post-06
2019-11-22 16:04:09 +01:00
Philipp Oppermann
ea998c9267
Merge branch 'post-03' into post-04
2019-11-22 15:57:18 +01:00
Philipp Oppermann
29063f4531
Merge branch 'post-04' into post-05
2019-11-22 15:57:18 +01:00
Philipp Oppermann
cc713e4570
Merge branch 'post-09' into post-10
2019-11-22 15:57:18 +01:00
Philipp Oppermann
9696612b2b
Merge branch 'post-08' into post-09
2019-11-22 15:57:18 +01:00
Philipp Oppermann
b0b0ebda06
Merge branch 'post-07' into post-08
2019-11-22 15:57:18 +01:00
Philipp Oppermann
1e8720b4ff
Merge branch 'post-06' into post-07
2019-11-22 15:57:18 +01:00
Philipp Oppermann
05c3a17c49
Merge branch 'post-05' into post-06
2019-11-22 15:57:18 +01:00
Philipp Oppermann
3470636653
Use panic! instead of println! + loop in double fault handler ( #687 )
...
This avoids an endless loop when a double fault occurs while running `cargo xtest`.
2019-11-22 15:56:56 +01:00
Philipp Oppermann
79ad84c502
Merge branch 'post-03' into post-04
2019-10-08 19:44:38 +02:00
Philipp Oppermann
6979a125cf
Merge branch 'post-04' into post-05
2019-10-08 19:44:38 +02:00
Philipp Oppermann
b3066e9a78
Merge branch 'post-09' into post-10
2019-10-08 19:44:38 +02:00
Philipp Oppermann
d5d7db0de6
Merge branch 'post-08' into post-09
2019-10-08 19:44:38 +02:00
Philipp Oppermann
271f65e21c
Merge branch 'post-07' into post-08
2019-10-08 19:44:38 +02:00
Philipp Oppermann
c83160554e
Merge branch 'post-06' into post-07
2019-10-08 19:44:38 +02:00
Philipp Oppermann
1a1ce5120f
Merge branch 'post-05' into post-06
2019-10-08 19:44:38 +02:00
Philipp Oppermann
66c3a0de76
Merge branch 'post-09' into post-10
2019-09-25 13:21:18 +02:00
Philipp Oppermann
45375d1f1b
Merge branch 'post-08' into post-09
2019-09-25 13:21:06 +02:00
Philipp Oppermann
9cab6fb659
Merge branch 'post-07' into post-08
2019-09-25 13:20:55 +02:00
Philipp Oppermann
e7446d2df6
Merge branch 'post-06' into post-07
2019-09-25 13:20:38 +02:00
Philipp Oppermann
78fdba7606
Merge branch 'post-05' into post-06
2019-09-25 13:20:13 +02:00
Philipp Oppermann
215900cb39
Merge branch 'post-04' into post-05
2019-09-25 13:19:55 +02:00
Philipp Oppermann
2a1f4d047c
Run cargo update
2019-09-25 13:19:46 +02:00
Philipp Oppermann
01d9a028a3
Merge branch 'post-03' into post-04
2019-09-25 13:19:32 +02:00
Philipp Oppermann
96d9de76b0
Fix: memory::init expects a VirtAddr
2019-09-15 10:56:15 +02:00
Philipp Oppermann
f56e4d24e3
Add missing import
2019-09-14 19:08:53 +02:00
Philipp Oppermann
8d3d712cef
Merge branch 'post-09' into post-10
2019-09-14 19:06:30 +02:00
Philipp Oppermann
4897e9c4d5
Merge pull request #667 from phil-opp/post-09-offset_page_table
...
Update post-09 branch for improved Paging Implementation Post
2019-09-14 19:04:53 +02:00
Philipp Oppermann
5cced71fb0
Directly use OffsetPageTable for create_example_mapping instead of impl trait
2019-09-14 18:33:37 +02:00
Philipp Oppermann
7ec727f69f
Update comment
2019-09-14 18:33:16 +02:00
Philipp Oppermann
e75c623985
Merge branch 'post-07' into post-08
2019-09-13 17:43:25 +02:00
Philipp Oppermann
27a0ae6000
Merge branch 'post-06' into post-07
2019-09-13 17:43:25 +02:00
Philipp Oppermann
8d6915beba
Merge branch 'post-05' into post-06
2019-09-13 17:43:25 +02:00
Philipp Oppermann
df1e2c1c41
Merge branch 'post-04' into post-05
2019-09-13 17:43:25 +02:00
Philipp Oppermann
5f66b437d5
Merge branch 'post-09' into post-10
2019-09-13 17:43:25 +02:00
Philipp Oppermann
8059c229c5
Merge branch 'post-08' into post-09
2019-09-13 17:43:25 +02:00
Philipp Oppermann
6e012e5e42
Merge branch 'post-03' into post-04
2019-09-13 17:43:20 +02:00
Philipp Oppermann
dce26ede7e
Merge branch 'post-07' into post-08
2019-09-13 10:53:50 +02:00
Philipp Oppermann
cfe2e23a9c
Merge branch 'post-06' into post-07
2019-09-13 10:53:50 +02:00
Philipp Oppermann
0eaaa3ff2b
Merge branch 'post-05' into post-06
2019-09-13 10:53:50 +02:00
Philipp Oppermann
b851eb01a8
Merge branch 'post-04' into post-05
2019-09-13 10:53:50 +02:00
Philipp Oppermann
0694f29946
Merge branch 'post-09' into post-10
2019-09-13 10:53:50 +02:00
Philipp Oppermann
bc2099d31d
Merge branch 'post-08' into post-09
2019-09-13 10:53:50 +02:00
Philipp Oppermann
f4ed1fce81
Merge branch 'post-03' into post-04
2019-09-13 10:53:50 +02:00
Philipp Oppermann
211ec3898b
Use OffsetPageTable instead of MappedPageTable
2019-09-11 13:40:36 +02:00
Philipp Oppermann
889c0771d6
Merge branch 'post-09' into post-10
2019-09-11 13:33:07 +02:00
Philipp Oppermann
2227fa434f
Merge branch 'post-08' into post-09
2019-09-11 13:29:14 +02:00
Philipp Oppermann
20ffda14f4
Merge branch 'post-07' into post-08
2019-09-11 13:28:53 +02:00
Philipp Oppermann
e4ce277ca9
Merge branch 'post-06' into post-07
2019-09-11 13:19:01 +02:00
Philipp Oppermann
086304c9c4
Merge branch 'post-05' into post-06
2019-09-11 13:18:19 +02:00
Philipp Oppermann
3f8c629f28
Merge branch 'post-04' into post-05
2019-09-11 13:18:19 +02:00
Philipp Oppermann
086c3a02d3
Set x86_64 version to 0.7.5
2019-09-11 13:18:16 +02:00
Philipp Oppermann
14b38a3ea4
Merge branch 'post-03' into post-04
2019-09-11 13:14:02 +02:00
Philipp Oppermann
e74d9753f2
Merge branch 'post-09' into post-10
2019-09-11 11:21:15 +02:00
Philipp Oppermann
23d554548a
Merge branch 'post-08' into post-09
2019-09-11 11:21:15 +02:00
Philipp Oppermann
0cd7d4cbcc
Merge branch 'post-07' into post-08
2019-09-11 11:21:15 +02:00
Philipp Oppermann
a9bcf44012
Merge branch 'post-06' into post-07
2019-09-11 11:21:15 +02:00
Philipp Oppermann
2e27b91220
Merge branch 'post-05' into post-06
2019-09-11 11:21:15 +02:00
Philipp Oppermann
06929ee840
Merge branch 'post-04' into post-05
2019-09-11 11:21:15 +02:00
Philipp Oppermann
b1121cdee2
Merge branch 'post-03' into post-04
2019-09-11 11:21:15 +02:00
Philipp Oppermann
9fc71547d7
Run cargo update
2019-09-11 10:59:31 +02:00
Philipp Oppermann
caa9d8b0e4
Merge branch 'post-09' into post-10
2019-09-11 10:59:18 +02:00
Philipp Oppermann
091f7ef153
Merge branch 'post-08' into post-09
2019-09-11 10:58:56 +02:00
Philipp Oppermann
76d03974fe
Merge branch 'post-07' into post-08
2019-09-11 10:58:40 +02:00
Philipp Oppermann
881ad152a0
Merge branch 'post-06' into post-07
2019-09-11 10:58:19 +02:00
Philipp Oppermann
cb77074476
Merge branch 'post-05' into post-06
2019-09-11 10:58:02 +02:00
Philipp Oppermann
e43daca563
Merge branch 'post-04' into post-05
2019-09-11 10:58:02 +02:00
Philipp Oppermann
e27666cd75
Run cargo update
2019-09-11 10:57:58 +02:00
Philipp Oppermann
6771c2cc7f
Merge branch 'post-03' into post-04
2019-09-11 10:57:21 +02:00
Philipp Oppermann
29512ddd31
Merge branch 'post-09' into post-10
2019-09-11 10:32:57 +02:00
Philipp Oppermann
38d606b4d1
Merge branch 'post-08' into post-09
2019-09-11 10:32:57 +02:00
Philipp Oppermann
3dcc43b374
Merge branch 'post-07' into post-08
2019-09-11 10:32:57 +02:00
Philipp Oppermann
0c713b9978
Merge branch 'post-06' into post-07
2019-09-11 10:32:57 +02:00
Philipp Oppermann
d0afb95b50
Merge branch 'post-05' into post-06
2019-09-11 10:32:57 +02:00
Philipp Oppermann
baa2c3b445
Merge branch 'post-04' into post-05
2019-09-11 10:32:57 +02:00
Philipp Oppermann
1d60156fce
Merge branch 'post-03' into post-04
2019-09-11 10:32:57 +02:00
Philipp Oppermann
a7943e7e55
Merge branch 'post-09' into post-10
2019-09-11 10:12:46 +02:00
Philipp Oppermann
ae75d8b209
Merge branch 'post-08' into post-09
2019-09-11 10:12:46 +02:00
Philipp Oppermann
f7fc89fd31
Merge branch 'post-07' into post-08
2019-09-11 10:12:46 +02:00
Philipp Oppermann
1427993cac
Merge branch 'post-06' into post-07
2019-09-11 10:12:46 +02:00
Philipp Oppermann
1b0378f87e
Merge branch 'post-05' into post-06
2019-09-11 10:12:46 +02:00
Philipp Oppermann
c58570fbea
Merge branch 'post-04' into post-05
2019-09-11 10:12:46 +02:00
Philipp Oppermann
467300126b
Merge branch 'post-03' into post-04
2019-09-11 10:12:46 +02:00
Philipp Oppermann
bcdadec5b6
Merge branch 'post-09' into post-10
2019-09-11 10:11:25 +02:00
Philipp Oppermann
e0d5cdd625
Merge branch 'post-08' into post-09
2019-09-11 10:11:25 +02:00
Philipp Oppermann
db92a921b8
Merge branch 'post-07' into post-08
2019-09-11 10:11:25 +02:00
Philipp Oppermann
84eb8632f5
Merge branch 'post-06' into post-07
2019-09-11 10:11:25 +02:00
Philipp Oppermann
b91f71784d
Merge branch 'post-05' into post-06
2019-09-11 10:11:25 +02:00
Philipp Oppermann
17c3138763
Merge branch 'post-04' into post-05
2019-09-11 10:10:49 +02:00
Philipp Oppermann
19b8ab1c4e
Merge branch 'post-03' into post-04
2019-09-11 10:10:31 +02:00
Philipp Oppermann
17f8866264
Merge branch 'post-09' into post-10
2019-09-11 10:02:41 +02:00
Philipp Oppermann
3f95494ae8
Merge branch 'post-08' into post-09
2019-09-11 10:02:41 +02:00
Philipp Oppermann
80686ded94
Merge branch 'post-07' into post-08
2019-09-11 10:02:41 +02:00
Philipp Oppermann
cefa607569
Merge branch 'post-06' into post-07
2019-09-11 10:02:41 +02:00
Philipp Oppermann
6316a0e1df
Merge branch 'post-05' into post-06
2019-09-11 10:02:41 +02:00
Philipp Oppermann
d85274ca2a
Merge branch 'post-04' into post-05
2019-09-11 10:02:41 +02:00
Philipp Oppermann
f927742601
Merge pull request #663 from phil-opp/post-04-actions
...
Set up GitHub Actions for post-04 branch
2019-09-11 10:02:07 +02:00
Philipp Oppermann
210af19293
Github Actions: Install QEMU and run cargo xtest
2019-09-11 09:49:32 +02:00
Philipp Oppermann
6f90ee89fd
Merge branch 'post-03' into post-04-actions
2019-09-11 09:47:01 +02:00
Philipp Oppermann
a7ef4012d0
Merge branch 'post-09' into post-10
2019-09-10 11:12:54 +02:00
Philipp Oppermann
cabbbec72f
Merge branch 'post-08' into post-09
2019-09-10 11:12:54 +02:00
Philipp Oppermann
5a67b64d20
Merge branch 'post-07' into post-08
2019-09-10 11:12:54 +02:00
Philipp Oppermann
c2431ecf63
Merge branch 'post-06' into post-07
2019-09-10 11:12:54 +02:00
Philipp Oppermann
38cfb5e324
Merge branch 'post-05' into post-06
2019-09-10 11:12:54 +02:00
Philipp Oppermann
aa084dd539
Merge branch 'post-04' into post-05
2019-09-10 11:12:54 +02:00
Philipp Oppermann
20ef920fc6
Add [package.metadata.bootimage] again
...
Was accidentally removed when resolving a merge conflict.
2019-09-10 11:12:47 +02:00
Philipp Oppermann
6f07c2b666
Merge branch 'post-09' into post-10
2019-09-10 10:21:14 +02:00
Philipp Oppermann
1dd7f03a7a
Merge branch 'post-08' into post-09
2019-09-10 10:21:14 +02:00
Philipp Oppermann
1a74b36c99
Merge branch 'post-07' into post-08
2019-09-10 10:21:14 +02:00
Philipp Oppermann
c87b221f5e
Merge branch 'post-06' into post-07
2019-09-10 10:21:14 +02:00
Philipp Oppermann
a9921e9448
Merge branch 'post-05' into post-06
2019-09-10 10:21:14 +02:00
Philipp Oppermann
0d87aa7e98
Merge branch 'post-04' into post-05
2019-09-10 10:21:14 +02:00
Philipp Oppermann
9602f4e16d
Merge branch 'post-03' into post-04
2019-09-10 10:21:08 +02:00
Philipp Oppermann
e89c77398d
Merge branch 'post-09' into post-10
2019-08-07 12:40:04 +02:00
Philipp Oppermann
66c4eae9cf
Merge branch 'post-08' into post-09
2019-08-07 12:40:04 +02:00
Philipp Oppermann
175065ca2f
Merge branch 'post-07' into post-08
2019-08-07 12:40:04 +02:00
Philipp Oppermann
6ab4b0170f
Merge branch 'post-06' into post-07
2019-08-07 12:40:04 +02:00
Philipp Oppermann
9770d481f2
Merge branch 'post-05' into post-06
2019-08-07 12:40:04 +02:00
Philipp Oppermann
6797b2b70e
Merge branch 'post-04' into post-05
2019-08-07 12:40:04 +02:00
Philipp Oppermann
d3e4c55fc5
Merge pull request #651 from phil-opp/post-04-update
...
Update post_04 branch for new should_panic test
2019-08-07 12:39:19 +02:00
Philipp Oppermann
f1ae82b220
Disable the test harness for the should_panic test
2019-08-07 11:02:19 +02:00
Philipp Oppermann
aad98c0611
Add a should_panic test
2019-08-07 11:00:01 +02:00
Philipp Oppermann
f98145d556
Delete panic handler test
2019-08-07 10:38:46 +02:00
Philipp Oppermann
f3a7689f33
Merge branch 'post-09' into post-10
2019-07-22 10:46:35 +02:00
Philipp Oppermann
e721878e4b
Merge branch 'post-08' into post-09
2019-07-22 10:46:35 +02:00
Philipp Oppermann
7020999ab8
The error code issue is fixed, so let's print it ( #643 )
...
See https://github.com/phil-opp/blog_os/issues/513 for more information.
2019-07-22 10:46:19 +02:00
Philipp Oppermann
14d0e07b3e
Merge branch 'post-09' into post-10
2019-07-22 10:36:58 +02:00
Philipp Oppermann
f2eb6cec9a
Merge branch 'post-08' into post-09
2019-07-22 10:36:51 +02:00
Philipp Oppermann
30e0b16a81
Merge branch 'post-07' into post-08
2019-07-22 10:36:51 +02:00
Philipp Oppermann
05248fe322
Merge branch 'post-06' into post-07
2019-07-22 10:36:37 +02:00
Philipp Oppermann
7baa3b0155
Merge branch 'post-05' into post-06
2019-07-22 10:36:23 +02:00
Philipp Oppermann
752a65e4da
Merge branch 'post-04' into post-05
2019-07-22 10:36:23 +02:00
Philipp Oppermann
99ea302aaa
Regenerate Cargo.lock
2019-07-22 10:36:11 +02:00
Philipp Oppermann
133f73ab0b
Merge branch 'post-03' into post-04
2019-07-22 10:34:02 +02:00
Philipp Oppermann
9651eb7a3b
Merge branch 'post-09' into post-10
2019-07-18 10:17:50 +02:00
Philipp Oppermann
bc4ddcef05
Merge branch 'post-08' into post-09
2019-07-18 10:17:37 +02:00
Philipp Oppermann
d7d63af4cc
Merge branch 'post-07' into post-08
2019-07-18 10:17:20 +02:00
Philipp Oppermann
ac2b6b1307
Merge branch 'post-06' into post-07
2019-07-18 10:17:10 +02:00
Philipp Oppermann
08bf4405a9
Merge branch 'post-05' into post-06
2019-07-18 10:17:05 +02:00
Philipp Oppermann
b6683d95ec
Merge branch 'post-04' into post-05
2019-07-18 10:17:05 +02:00
Philipp Oppermann
28d5eeb9c4
Run cargo update
2019-07-18 10:17:01 +02:00
Philipp Oppermann
5adfe28cf4
Merge branch 'post-03' into post-04
2019-07-18 10:16:43 +02:00
Philipp Oppermann
89e3e2b190
Use correct build badge in post-10 Readme
2019-07-07 11:26:15 +02:00
Philipp Oppermann
004282138c
Merge branch 'post-09' into post-10
2019-07-07 11:25:48 +02:00
Philipp Oppermann
4580b85fe2
Use correct build badge in post-09 Readme
2019-07-07 11:25:40 +02:00
Philipp Oppermann
8c575388cf
Merge pull request #626 from phil-opp/code-heap
...
Code for new heap allocation post
2019-06-26 21:30:42 +02:00
Philipp Oppermann
4792ec41b1
Adjust comments to be equal with post
2019-06-26 21:08:08 +02:00
Philipp Oppermann
df75f7f4e8
Add an integration test for heap allocation
2019-06-26 17:45:32 +02:00
Philipp Oppermann
5cf3884396
Run cargo fmt
2019-06-26 16:59:38 +02:00
Philipp Oppermann
e5b6ba38ac
Update Readme for new post
2019-06-26 16:33:20 +02:00
Philipp Oppermann
f429a8ab03
Example use of Box, Vec, and Rc in kernel_main
2019-06-26 15:06:40 +02:00
Philipp Oppermann
d7484ab48b
Use linked_list_allocator crate instead of dummy allocator
2019-06-26 15:05:57 +02:00
Philipp Oppermann
06fc63028a
Create a heap memory area
2019-06-26 13:14:56 +02:00
Philipp Oppermann
d4623419b0
Try to use Box type in main.rs
...
This causes an allocation error because the Dummy::alloc function always returns a null pointer.
2019-06-26 12:34:57 +02:00
Philipp Oppermann
417c44159e
Add a alloc_error_handler function
2019-06-26 12:34:57 +02:00
Philipp Oppermann
ebbc6d55d2
Use dummy allocator as global allocator
2019-06-26 12:34:57 +02:00
Philipp Oppermann
c0367074ac
Create an allocator module with a dummy allocator
2019-06-26 12:34:57 +02:00
Philipp Oppermann
48e2175bac
Add a dependency on the alloc crate
2019-06-26 12:34:57 +02:00
Philipp Oppermann
954cfe977a
Merge branch 'post-07' into post-08
2019-06-23 18:07:34 +02:00
Philipp Oppermann
262f56c9e2
Merge branch 'post-06' into post-07
2019-06-23 18:07:34 +02:00
Philipp Oppermann
9d5b5f33f1
Merge branch 'post-05' into post-06
2019-06-23 18:07:34 +02:00
Philipp Oppermann
a7710b3d5c
Merge branch 'post-04' into post-05
2019-06-23 18:07:34 +02:00
Philipp Oppermann
45e1e99390
Merge branch 'post-08' into post-09
2019-06-23 18:07:34 +02:00
Philipp Oppermann
d2e0d38218
Run brew update on macOS to fix travis CI failure ( #623 )
2019-06-23 18:07:19 +02:00
Philipp Oppermann
eb86565308
Merge branch 'post-07' into post-08
2019-06-17 17:28:32 +02:00
Philipp Oppermann
061dee44eb
Merge branch 'post-06' into post-07
2019-06-17 17:28:32 +02:00
Philipp Oppermann
9b4b810bd3
Merge branch 'post-05' into post-06
2019-06-17 17:28:32 +02:00
Philipp Oppermann
618d10eac8
Merge branch 'post-04' into post-05
2019-06-17 17:28:32 +02:00
Philipp Oppermann
b5793c34c6
Merge branch 'post-08' into post-09
2019-06-17 17:28:32 +02:00
Philipp Oppermann
7003268b9f
Merge branch 'post-03' into post-04
2019-06-17 17:28:32 +02:00
Philipp Oppermann
bbeb63ec3d
Merge branch 'post-07' into post-08
2019-05-23 12:39:35 +02:00
Philipp Oppermann
fe35a21965
Merge branch 'post-06' into post-07
2019-05-23 12:39:35 +02:00
Philipp Oppermann
7a45083975
Merge branch 'post-05' into post-06
2019-05-23 12:39:35 +02:00
Philipp Oppermann
2faeaa8964
Merge branch 'post-04' into post-05
2019-05-23 12:39:35 +02:00
Philipp Oppermann
67ee45090d
Merge branch 'post-08' into post-09
2019-05-23 12:39:35 +02:00
Philipp Oppermann
c8d1bbeef8
Update code for PR #611
...
PR at https://github.com/phil-opp/blog_os/pull/611
2019-05-22 12:43:15 +02:00
Philipp Oppermann
a4a7b5e8d6
Merge branch 'post-07' into post-08
2019-05-09 15:38:47 +02:00
Philipp Oppermann
64d1a587e7
Merge branch 'post-08' into post-09
2019-05-09 15:38:47 +02:00
Philipp Oppermann
13923c59f2
Fix: Make keyboard port mutable
...
This is required because of the update to x86_64 0.7.0 (see #606 ).
2019-05-09 15:38:34 +02:00
Philipp Oppermann
01040fc643
Merge branch 'post-05' into post-06
2019-05-09 14:59:55 +02:00
Philipp Oppermann
2dfc5e838a
Merge branch 'post-04' into post-05
2019-05-09 14:59:55 +02:00
Philipp Oppermann
189ab7d0d8
Merge branch 'post-07' into post-08
2019-05-09 14:59:55 +02:00
Philipp Oppermann
fbe279831e
Merge branch 'post-08' into post-09
2019-05-09 14:59:55 +02:00
Philipp Oppermann
09be8647d5
Merge branch 'post-06' into post-07
2019-05-09 14:59:55 +02:00
bors[bot]
158aed0c18
Merge #604 #606
...
604: Use `-serial stdio` instead of `-serial mon:stdio` r=phil-opp a=phil-opp
Fixes #602
Post update in https://github.com/phil-opp/blog_os/pull/605
606: Update x86_64 to version 0.7.0 r=phil-opp a=phil-opp
[Changelog](https://github.com/rust-osdev/x86_64/blob/master/Changelog.md#070 ):
- **Breaking**: `Port::read` and `PortReadOnly::read` now take `&mut self` instead of `&self` ([#76 ](https://github.com/rust-osdev/x86_64/pull/76 )).
Post update in https://github.com/phil-opp/blog_os/pull/607
Co-authored-by: Philipp Oppermann <dev@phil-opp.com >
2019-05-09 12:42:42 +00:00
Philipp Oppermann
3098be9653
Update x86_64 to version 0.7.0
2019-05-09 14:37:18 +02:00
Philipp Oppermann
86b57f696f
Use -serial stdio instead of -serial mon:stdio
2019-05-08 16:10:23 +02:00
Philipp Oppermann
375d4d0479
Merge pull request #599 from phil-opp/post-09-new
...
Update `post-09` branch for version 0.6.0 of `x86_64` crate
2019-05-03 19:41:29 +02:00
Philipp Oppermann
7796d4c14a
FrameAllocator is an unsafe trait now
...
Make `BootInfoFrameAllocator` unsafe because the caller must guarantee that the given memory map is valid.
2019-05-03 19:29:14 +02:00
Philipp Oppermann
5a68816b45
Merge branch 'post-05' into post-06
2019-05-03 18:36:45 +02:00
Philipp Oppermann
12c08d72e4
Merge branch 'post-04' into post-05
2019-05-03 18:36:45 +02:00
Philipp Oppermann
a2beb9d2a6
Merge branch 'post-07' into post-08
2019-05-03 18:36:45 +02:00
Philipp Oppermann
a2d36342c1
Merge branch 'post-06' into post-07
2019-05-03 18:36:45 +02:00
Philipp Oppermann
78e4b22a2f
Merge branch 'post-08' into post-09
2019-05-03 18:36:45 +02:00
Philipp Oppermann
ac9b661395
Update to x86_64 0.6.0
2019-05-03 18:36:39 +02:00
Philipp Oppermann
a867450e3b
Merge pull request #595 from phil-opp/redesign-frame-allocator
...
Avoid generic impl trait parameters in BootInfoFrameAllocator
2019-04-30 13:24:43 +02:00
Philipp Oppermann
b5ee44621c
Use an import for initializing BootInfoFrameAllocator
2019-04-30 13:10:53 +02:00
Philipp Oppermann
24a9e7abd2
Simplify FrameAllocator implementation using Iterator::nth
2019-04-30 12:47:45 +02:00
Philipp Oppermann
180c77d1f4
Avoid generic impl trait parameters in BootInfoFrameAllocator
2019-04-30 11:14:23 +02:00
Philipp Oppermann
247af45791
Merge branch 'post-08-new' into post-09-new
2019-04-26 15:50:18 +02:00
Philipp Oppermann
667c093594
Merge branch 'post-07-new' into post-08-new
2019-04-26 15:50:02 +02:00
Philipp Oppermann
abf640254a
Merge branch 'post-06-new' into post-07-new
2019-04-26 15:49:43 +02:00
Philipp Oppermann
111c3e1029
Comment out stack_overflow() call to keep cargo xtest working
2019-04-26 15:48:59 +02:00
Philipp Oppermann
fd0646fecf
Improve formatting
2019-04-26 15:29:43 +02:00
Philipp Oppermann
c8821cb226
Use entry_point macro in lib.rs too
2019-04-26 15:29:43 +02:00
Philipp Oppermann
2e531850b8
Remove redundant import
2019-04-26 15:29:43 +02:00
Philipp Oppermann
65dbb5ac48
Merge branch 'post-08-new' into post-09-new
2019-04-26 15:28:56 +02:00
Philipp Oppermann
62f913facc
Move test_main call to end of _start
2019-04-26 15:27:48 +02:00
Philipp Oppermann
d6f48d72aa
Remove duplicated import
2019-04-26 15:27:48 +02:00
Philipp Oppermann
2784998301
Update post number for Readme badge
2019-04-26 15:27:05 +02:00
Philipp Oppermann
6099fddd54
Merge branch 'post-07-new' into post-08-new
2019-04-26 15:26:47 +02:00
Philipp Oppermann
8854b6b751
Move hlt_loop up to keep cfg(test) functions together
2019-04-26 15:25:41 +02:00
Philipp Oppermann
51cdc4db8b
Use hlt_loop in lib.rs too
2019-04-26 15:25:41 +02:00
Philipp Oppermann
ae93dc18c3
Fix race condition in test_println_output test
2019-04-26 15:25:41 +02:00
Philipp Oppermann
acfdf929ad
Move PIC initialization and interrupt::enable to blog_os::init
2019-04-26 15:25:41 +02:00
Philipp Oppermann
3e6f242b52
Update post number for Readme badge
2019-04-26 15:24:38 +02:00
Philipp Oppermann
ad6cb02d5c
Merge branch 'post-06-new' into post-07-new-rebased
2019-04-26 15:24:28 +02:00
Philipp Oppermann
70d981e179
Simplify stack_overflow test
2019-04-26 15:14:38 +02:00
Philipp Oppermann
ee3d2219ab
Disable test harness for stack_overflow test
2019-04-26 15:14:38 +02:00
Philipp Oppermann
c5a39e0902
Add a stack overflow integration test
2019-04-26 15:14:38 +02:00
Philipp Oppermann
4774893a93
Call gdt::init from blog_os::init
2019-04-26 15:14:38 +02:00
Philipp Oppermann
3c59321b54
Remove old bootimage test integration test
2019-04-26 15:14:38 +02:00
Philipp Oppermann
f5345db3e6
Update post number for Readme badge
2019-04-26 15:11:49 +02:00
Philipp Oppermann
94622ebfd5
Merge branch 'post-05-new' into post-06-new-rebased
2019-04-26 15:11:24 +02:00
Philipp Oppermann
53f3236754
Update post number for Readme badge
2019-04-26 15:09:17 +02:00
Philipp Oppermann
82014268da
Merge branch 'post-05-new' into post-06-new-rebased
2019-04-26 15:05:55 +02:00
Philipp Oppermann
a5b6422785
Add a test for the breakpoint exception
2019-04-26 14:57:14 +02:00
Philipp Oppermann
b7eefae5f9
Delete old bootimage test integration tests
2019-04-26 14:57:14 +02:00
Philipp Oppermann
df8335f8c7
Add a new blog_os::init function instead of calling init_idt directly
2019-04-26 14:57:14 +02:00
Philipp Oppermann
f301ae461a
Merge branch 'post-04-new' into post-05-new
2019-04-26 14:56:25 +02:00
Philipp Oppermann
ad99afae98
Fix panic_handler test by fixing line number
2019-04-26 13:42:20 +02:00
Philipp Oppermann
8374aa6ab6
Run cargo fmt
2019-04-26 13:42:20 +02:00
Philipp Oppermann
c8087cdd6f
Update Readme for Testing post
2019-04-26 13:42:20 +02:00
Philipp Oppermann
ccb8b79ef8
Add a panic handler test
2019-04-26 13:42:20 +02:00
Philipp Oppermann
a55ced6b7f
Add a basic test to basic_boot
2019-04-26 13:42:20 +02:00
Philipp Oppermann
2e5f192f35
Make exit_qemu safe
2019-04-26 13:42:20 +02:00
Philipp Oppermann
c2f36e086e
Install qemu on CI
2019-04-26 13:42:10 +02:00
Philipp Oppermann
cdd91df869
Run cargo xtest on CI
2019-04-26 13:42:04 +02:00
Philipp Oppermann
a2d628cabe
Complete the basic_boot integration test
2019-04-26 13:41:19 +02:00
Philipp Oppermann
48e1f72d23
Split off a library
2019-04-26 13:41:19 +02:00
Philipp Oppermann
3b13211579
Add the skeleton for an integration test
2019-04-26 13:41:19 +02:00
Philipp Oppermann
d0629ba5a2
Import serial_println only in test mode
2019-04-26 13:41:19 +02:00
Philipp Oppermann
46bb44b95d
Run cargo fmt
2019-04-26 13:41:19 +02:00
Philipp Oppermann
4cbac20b40
Add tests for the VGA buffer
2019-04-26 13:41:19 +02:00
Philipp Oppermann
d4ebbc291a
Hide QEMU in test mode
2019-04-26 13:41:19 +02:00
Philipp Oppermann
3ecf9a9b56
Exit qemu on panic
2019-04-26 13:41:19 +02:00
Philipp Oppermann
1559493802
Print test results over serial port
2019-04-26 13:41:19 +02:00
Philipp Oppermann
98a0e605be
Interpret exit code 33 as test success
2019-04-26 13:41:19 +02:00
Philipp Oppermann
dbdd46da9a
Exit qemu after running tests
2019-04-26 13:41:17 +02:00
Philipp Oppermann
3aa6151729
Add a trivial_assertion test
2019-04-26 13:41:07 +02:00
Philipp Oppermann
0beb0d80f8
Add a custom test runner
2019-04-26 13:41:07 +02:00
Philipp Oppermann
3c421e9ccb
Merge branch 'post-03-new' into post-04-new
2019-04-26 12:46:01 +02:00
Philipp Oppermann
23cbafab1c
Reset code to post-03 branch
2019-04-26 12:44:33 +02:00
Philipp Oppermann
16cf7e8e42
Merge branch 'post-09' into post-10
2019-04-25 11:08:11 +02:00
Philipp Oppermann
9c7faf92ed
Merge branch 'post-08' into post-09
2019-04-25 11:08:11 +02:00
Philipp Oppermann
db0489403a
Merge branch 'post-07' into post-08
2019-04-25 11:08:11 +02:00
Philipp Oppermann
e0d68fee24
Merge branch 'post-06' into post-07
2019-04-25 11:08:11 +02:00
Philipp Oppermann
8f76952ff0
Merge branch 'post-05' into post-06
2019-04-25 11:08:11 +02:00
Philipp Oppermann
4eb7f94171
Merge branch 'post-03' into post-04
2019-04-25 11:08:11 +02:00
Philipp Oppermann
57b30bf346
Merge branch 'post-04' into post-05
2019-04-25 11:08:11 +02:00
Philipp Oppermann
19556d9e68
Merge branch 'post-09' into post-10
2019-04-11 15:32:21 +02:00
Philipp Oppermann
22ba71a3f6
Merge branch 'post-08' into post-09
2019-04-11 15:32:21 +02:00
Philipp Oppermann
25c6640c62
Merge branch 'post-07' into post-08
2019-04-11 15:32:21 +02:00
Philipp Oppermann
6f623dc7b4
Merge branch 'post-06' into post-07
2019-04-11 15:32:21 +02:00
Philipp Oppermann
c6ebca363b
Merge branch 'post-05' into post-06
2019-04-11 15:32:21 +02:00
Philipp Oppermann
d497d12649
Merge branch 'post-03' into post-04
2019-04-11 15:32:21 +02:00
Philipp Oppermann
3bbc72f92b
Merge branch 'post-04' into post-05
2019-04-11 15:32:21 +02:00
Philipp Oppermann
338833262c
Merge branch 'post-09' into post-10
2019-04-06 17:35:17 +02:00
Philipp Oppermann
59d0a267d6
Merge branch 'post-08' into post-09
2019-04-06 17:35:17 +02:00
Philipp Oppermann
2053c59d2a
Merge branch 'post-07' into post-08
2019-04-06 17:35:17 +02:00
Philipp Oppermann
dc1f862177
Merge branch 'post-06' into post-07
2019-04-06 17:35:17 +02:00
Philipp Oppermann
f5996c1e22
Merge branch 'post-05' into post-06
2019-04-06 17:35:17 +02:00
Philipp Oppermann
eafcd8b269
Merge branch 'post-04' into post-05
2019-04-06 17:35:17 +02:00
Philipp Oppermann
66f79fa254
Merge branch 'post-03' into post-04
2019-04-06 17:35:16 +02:00
Philipp Oppermann
77800d9212
Merge branch 'post-09' into post-10
2019-04-06 17:33:49 +02:00
Philipp Oppermann
71b3d0431f
Merge branch 'post-08' into post-09
2019-04-06 17:33:29 +02:00
Philipp Oppermann
823bc3c5a3
Merge branch 'post-07' into post-08
2019-04-06 17:31:55 +02:00
Philipp Oppermann
fdf0fe617b
Merge branch 'post-06' into post-07
2019-04-06 17:31:13 +02:00
Philipp Oppermann
daf5ed954d
Merge branch 'post-05' into post-06
2019-04-06 17:30:54 +02:00
Philipp Oppermann
4753c0e1c8
Run cargo update
2019-04-06 17:30:31 +02:00
Philipp Oppermann
dddc314b7c
Merge branch 'post-04' into post-05
2019-04-06 17:27:37 +02:00
Philipp Oppermann
5422f555cf
Merge branch 'post-03' into post-04
2019-04-06 16:55:46 +02:00
Philipp Oppermann
be618df7f5
Merge branch 'post-09' into post-10
2019-04-06 16:49:18 +02:00
Philipp Oppermann
0ca216d4fe
Merge branch 'post-08' into post-09
2019-04-06 16:49:02 +02:00
Philipp Oppermann
37a2c925d6
Merge branch 'post-07' into post-08
2019-04-06 16:49:02 +02:00
Philipp Oppermann
23fcb9f20b
Merge branch 'post-06' into post-07
2019-04-06 16:49:01 +02:00
Philipp Oppermann
5531e437c4
Merge branch 'post-05' into post-06
2019-04-06 16:49:01 +02:00
Philipp Oppermann
0cd92f9567
Merge branch 'post-04' into post-05
2019-04-06 16:48:51 +02:00
Philipp Oppermann
ceaa5c2dab
Merge branch 'post-03' into post-04
2019-04-06 16:48:32 +02:00
Philipp Oppermann
ff85a2e502
Merge branch 'post-09' into post-10
...
# Conflicts:
# README.md
2019-04-03 10:47:15 +02:00
Philipp Oppermann
80d4065b4c
Merge branch 'post-08' into post-09
...
# Conflicts:
# README.md
2019-04-03 10:47:04 +02:00
Philipp Oppermann
6a44f51eaa
Merge branch 'post-07' into post-08
...
# Conflicts:
# README.md
2019-04-03 10:46:54 +02:00
Philipp Oppermann
ffb76038bc
Merge branch 'post-06' into post-07
...
# Conflicts:
# README.md
2019-04-03 10:46:46 +02:00
Philipp Oppermann
555a76b559
Merge branch 'post-05' into post-06
...
# Conflicts:
# README.md
2019-04-03 10:46:34 +02:00
Philipp Oppermann
802c7151e4
Merge branch 'post-04' into post-05
...
# Conflicts:
# README.md
2019-04-03 10:46:23 +02:00
Philipp Oppermann
768c09dffe
Merge branch 'post-03' into post-04
...
# Conflicts:
# README.md
2019-04-03 10:46:10 +02:00
Philipp Oppermann
74675346c9
Merge branch 'post-09' into post-10
2019-03-26 13:26:56 +01:00
Philipp Oppermann
d36d1dc18b
Merge branch 'post-08' into post-09
2019-03-26 13:26:56 +01:00
Philipp Oppermann
a0420c229e
Merge branch 'post-07' into post-08
2019-03-26 13:26:56 +01:00
Philipp Oppermann
f42461b99b
Merge branch 'post-06' into post-07
2019-03-26 13:26:56 +01:00
Philipp Oppermann
19db8f6095
Merge branch 'post-05' into post-06
2019-03-26 13:26:56 +01:00
Philipp Oppermann
3a273540f4
CI: Run apt update before installing qemu
2019-03-26 13:26:24 +01:00
Philipp Oppermann
e9344ae046
Remove unneeded into_iter() in init_frame_allocator
2019-03-14 13:20:26 +01:00
Philipp Oppermann
4acf12bb69
Merge branch 'post-09' into post-10
2019-03-14 11:18:40 +01:00
Philipp Oppermann
6f25c34d46
Merge branch 'post-08' into post-09
2019-03-14 11:18:22 +01:00
Philipp Oppermann
23e45b5b13
Merge branch 'post-07' into post-08
2019-03-14 11:18:22 +01:00
Philipp Oppermann
701823742e
Merge branch 'post-06' into post-07
2019-03-14 11:18:22 +01:00
Philipp Oppermann
ea096a561a
Merge branch 'post-05' into post-06
2019-03-14 11:18:22 +01:00
Philipp Oppermann
6d45ffd4d7
Merge branch 'post-04' into post-05
2019-03-14 11:17:58 +01:00
Philipp Oppermann
cc949a2ef3
Merge branch 'post-03' into post-04
2019-03-14 11:15:56 +01:00
Philipp Oppermann
161d5fe7be
Merge pull request #569 from phil-opp/post-10-new
...
Update post-10 branch for new "Paging Implementation" post
2019-03-14 10:49:55 +01:00
Philipp Oppermann
9bf4ea7341
Use BootInfoFrameAllocator to create a 0xdeadbeaf000 mapping
2019-03-14 10:30:37 +01:00
Philipp Oppermann
a1bf5651fc
Create an init_frame_allocator function
2019-03-14 10:30:37 +01:00
Philipp Oppermann
763228c859
Create a generic BootInfoFrameAllocator type
2019-03-14 10:30:37 +01:00
Philipp Oppermann
770af27d75
Create a new mapping and write through it to the screen
2019-03-14 10:30:37 +01:00
Philipp Oppermann
3e59283c19
Create an EmptyFrameAllocator
2019-03-14 10:30:37 +01:00
Philipp Oppermann
6146ccba2d
Add a memory::create_example_mapping function
2019-03-14 10:30:37 +01:00
Philipp Oppermann
b0e1527a95
Delete our memory::translate_addr function again
2019-03-14 10:30:37 +01:00
Philipp Oppermann
cb4410c84e
Update kernel_main to use MapperAllSizes::translate_addr
2019-03-14 10:30:37 +01:00
Philipp Oppermann
98b5976656
Create a memory::init function that initializes a MappedPageTable
2019-03-14 10:30:37 +01:00
Philipp Oppermann
9335386928
Add and test a memory::translate_addr function
2019-03-14 10:30:37 +01:00
Philipp Oppermann
7c30d62f33
Also show non-empty level 3 table entries
2019-03-14 10:30:37 +01:00
Philipp Oppermann
61683bccda
Print non-empty level 4 table entries
2019-03-14 10:30:37 +01:00
Philipp Oppermann
e1ec5159b8
Add boot info argument and use entry_point macro
2019-03-14 10:30:37 +01:00
Philipp Oppermann
7b7d19592f
Enable map_physical_memory feature of bootloader
2019-03-14 10:30:37 +01:00
Philipp Oppermann
e387c0b6b8
Create a memory::active_level_4_table function
2019-03-14 10:30:37 +01:00
Philipp Oppermann
d5abc119f3
Update Readme for Paging Implementation post
2019-03-14 10:30:37 +01:00
Philipp Oppermann
59da6e5620
Update bootloader to version 0.4.0
2019-03-14 10:30:37 +01:00
Philipp Oppermann
ef1cc0ed4f
Reset code to post-09 branch for new 'Paging Implementation' post
2019-03-14 10:20:46 +01:00
Philipp Oppermann
90f0caec1a
Merge branch 'post-09' into post-10
2019-03-14 10:17:37 +01:00
Philipp Oppermann
7198a4d110
The code for reading the level 4 table was moved to the next post
2019-03-12 17:49:31 +01:00
Philipp Oppermann
5c0fb63f33
Merge branch 'post-09' into post-10
2019-03-12 17:48:43 +01:00
Philipp Oppermann
6ffcb2cf1a
Merge branch 'post-08' into post-09
2019-03-12 17:48:43 +01:00
Philipp Oppermann
1c72107cb1
Merge branch 'post-07' into post-08
2019-03-12 17:48:24 +01:00
Philipp Oppermann
b533bf6596
Merge branch 'post-06' into post-07
2019-03-12 17:48:11 +01:00
Philipp Oppermann
7648993b8f
Merge branch 'post-05' into post-06
2019-03-12 17:48:11 +01:00
Philipp Oppermann
17bd271573
Update x86_64 to version 0.5.2
2019-03-12 17:45:09 +01:00
Philipp Oppermann
036a8e7608
Merge branch 'post-09' into post-10
2019-03-09 14:21:12 +01:00
Philipp Oppermann
3b960751f4
Merge branch 'post-08' into post-09
2019-03-09 14:21:12 +01:00
Philipp Oppermann
0ff6334026
Merge branch 'post-07' into post-08
2019-03-09 14:21:12 +01:00
Philipp Oppermann
1ed76411f7
Fix remaining use of ExceptionStackFrame in test
2019-03-09 14:21:03 +01:00
Philipp Oppermann
10c4d0509d
Update post-10 code for changes in x86_64 0.5.0
...
We no longer need a custom translate function as we can directly use MapperAllSizes::translate_addr.
2019-03-09 12:40:27 +01:00
Philipp Oppermann
57998ea4f8
Merge branch 'post-09' into post-10
2019-03-09 12:39:25 +01:00
Philipp Oppermann
f05aaeb0ac
Update post-09 code for changes in x86_64 0.5.0
2019-03-09 12:39:14 +01:00
Philipp Oppermann
78a30984bc
Merge branch 'post-08' into post-09
2019-03-09 12:38:25 +01:00
Philipp Oppermann
09dd68a1a2
Update post-08 code for changes in x86_64 0.5.0
2019-03-09 12:37:45 +01:00
Philipp Oppermann
81e4eec055
Merge branch 'post-07' into post-08
2019-03-09 12:36:39 +01:00
Philipp Oppermann
8e5b6a3e3f
Update post-07 code for changes in x86_64 0.5.0
2019-03-09 12:34:49 +01:00
Philipp Oppermann
be0ed3a54d
Merge branch 'post-06' into post-07
2019-03-09 12:32:03 +01:00
Philipp Oppermann
b895f8c745
Update code for changes in x86_64 0.5.0
2019-03-09 12:29:44 +01:00
Philipp Oppermann
eee9d7b899
Merge branch 'post-05' into post-06
2019-03-09 12:10:27 +01:00
Philipp Oppermann
9787e6dce6
Update to x86_64 0.5.0
2019-03-09 12:10:18 +01:00
Philipp Oppermann
ef9a629ddc
Merge branch 'post-09' into post-10
2019-02-25 17:04:56 +01:00
Philipp Oppermann
18d8d311cb
Merge branch 'post-08' into post-09
2019-02-25 17:04:40 +01:00
Philipp Oppermann
7b61da94a0
Run cargo fmt
2019-02-25 17:04:25 +01:00
Philipp Oppermann
d974cf5200
Merge branch 'post-09' into post-10
2019-02-25 16:37:31 +01:00
Philipp Oppermann
f5b6094521
Merge branch 'post-06' into post-07
2019-02-25 16:37:30 +01:00
Philipp Oppermann
a4f675739a
Merge branch 'post-05' into post-06
2019-02-25 16:37:30 +01:00
Philipp Oppermann
94447af25a
Merge branch 'post-08' into post-09
2019-02-25 16:37:30 +01:00
Philipp Oppermann
a7f487f206
Merge branch 'post-07' into post-08
2019-02-25 16:37:30 +01:00
Philipp Oppermann
b1cca8de88
Merge branch 'post-04' into post-05
2019-02-25 16:37:18 +01:00
Philipp Oppermann
c6aaa66420
Merge branch 'post-03' into post-04
2019-02-25 16:35:03 +01:00
Philipp Oppermann
36d6c6d0e9
Merge branch 'post-09' into post-10
2019-02-12 19:31:09 +01:00
Philipp Oppermann
76d3715eef
Merge branch 'post-08' into post-09
2019-02-12 19:31:09 +01:00
Antoine
babf9d8cce
Introduce an InterruptIndex enum ( #557 )
...
The following modifications aim to group the hardware interrupts' indexes in an easily accessible structure, while being more friendly to eventual evolutions.
* the hardware interrupts' indexes `TIMER_INTERRUPT_ID` and `KEYBOARD_INTERRUPT_ID` have been replaced by the attributes `Timer` and `Keyboard` contained in `enum InterruptIndex`.
* only the first attribute `Timer` is explicitly declared, the following as inferred by the compiler.
* the functions `as_u8` and `as_usize` avoid the need of casts to `u8` or `usize`.
2019-02-12 19:28:24 +01:00
Philipp Oppermann
ff49104764
Merge branch 'post-09' into post-10
2019-02-07 18:48:39 +01:00
Philipp Oppermann
bda1b8929c
Merge branch 'post-08' into post-09
2019-02-07 18:48:39 +01:00
Philipp Oppermann
38bd9a65b6
Merge branch 'post-06' into post-07
2019-02-07 18:46:32 +01:00
Philipp Oppermann
493fcb5d84
Merge branch 'post-05' into post-06
2019-02-07 18:46:32 +01:00
Philipp Oppermann
b651214f1e
Merge branch 'post-04' into post-05
2019-02-07 18:46:32 +01:00
Philipp Oppermann
0bec03e080
Merge branch 'post-03' into post-04
2019-02-07 18:46:32 +01:00
Philipp Oppermann
09ff2e01b1
Merge branch 'post-07' into post-08
2019-02-07 18:46:32 +01:00
Philipp Oppermann
03e43da9f9
Merge branch 'post-09' into post-10
2019-02-07 16:17:54 +01:00
Philipp Oppermann
58e171cce7
Merge branch 'post-08' into post-09
2019-02-07 16:15:10 +01:00
Philipp Oppermann
b3e94470e4
Merge branch 'post-06' into post-07
2019-02-07 16:15:10 +01:00
Philipp Oppermann
3fca470487
Merge branch 'post-05' into post-06
2019-02-07 16:15:10 +01:00
Philipp Oppermann
bac8703e04
Merge branch 'post-04' into post-05
2019-02-07 16:15:10 +01:00
Philipp Oppermann
71099663ad
Merge branch 'post-03' into post-04
2019-02-07 16:15:10 +01:00
Philipp Oppermann
901a1630eb
Merge branch 'post-07' into post-08
2019-02-07 16:15:10 +01:00
Philipp Oppermann
e696d65b60
Merge branch 'post-09' into post-10
2019-02-05 15:23:49 +01:00
Philipp Oppermann
ef09418cbf
Merge branch 'post-08' into post-09
2019-02-05 15:23:49 +01:00
Philipp Oppermann
7b01e9c862
Merge branch 'post-06' into post-07
2019-02-05 15:23:49 +01:00
Philipp Oppermann
290ee927e8
Merge branch 'post-05' into post-06
2019-02-05 15:23:49 +01:00
Philipp Oppermann
99171b003e
Merge branch 'post-04' into post-05
2019-02-05 15:23:49 +01:00
Philipp Oppermann
28f37da07d
Merge branch 'post-07' into post-08
2019-02-05 15:23:49 +01:00
Philipp Oppermann
a53f0573d8
Merge branch 'post-03' into post-04
2019-02-05 15:23:48 +01:00
Philipp Oppermann
ebf626061f
Merge branch 'post-09' into post-10
2019-02-05 14:59:15 +01:00
Philipp Oppermann
4c9352d898
Merge branch 'post-08' into post-09
2019-02-05 14:59:15 +01:00
Philipp Oppermann
5452e0f455
Merge branch 'post-06' into post-07
2019-02-05 14:59:15 +01:00
Philipp Oppermann
86b17ea139
Merge branch 'post-05' into post-06
2019-02-05 14:59:15 +01:00
Philipp Oppermann
a41a007039
Merge branch 'post-07' into post-08
2019-02-05 14:59:15 +01:00
Philipp Oppermann
f15bbaea3f
Update azure pipelines script for integration tests
2019-02-05 14:58:51 +01:00
Philipp Oppermann
b66b7563c2
Merge branch 'post-04' into post-05
2019-02-05 14:58:20 +01:00
Philipp Oppermann
b71e0644bf
Update azure pipelines script for unit testing post
2019-02-05 14:57:46 +01:00
Philipp Oppermann
078aebe32a
Merge branch 'post-03' into post-04
2019-02-05 14:55:54 +01:00
Philipp Oppermann
c3d023ad40
Merge branch 'post-09' into post-10
2019-02-05 10:46:08 +01:00
Philipp Oppermann
f3cf5b51de
Merge branch 'post-08' into post-09
2019-02-05 10:46:08 +01:00
Philipp Oppermann
202902f30d
Merge branch 'post-06' into post-07
2019-02-05 10:46:08 +01:00
Philipp Oppermann
223ce459a1
Merge branch 'post-05' into post-06
2019-02-05 10:46:08 +01:00
Philipp Oppermann
26be4cb84d
Merge branch 'post-07' into post-08
2019-02-05 10:46:08 +01:00
Philipp Oppermann
d808cbff94
Merge branch 'post-04' into post-05
2019-02-05 10:46:08 +01:00
Philipp Oppermann
afc89c9e4c
Merge branch 'post-03' into post-04
2019-02-05 10:46:08 +01:00
Philipp Oppermann
0a10b3e784
Merge branch 'post-09' into post-10
2019-02-05 10:45:12 +01:00
Philipp Oppermann
9617680e45
Merge branch 'post-08' into post-09
2019-02-05 10:45:12 +01:00
Philipp Oppermann
3bb30fd1e8
Merge branch 'post-06' into post-07
2019-02-05 10:45:12 +01:00
Philipp Oppermann
62e2cee989
Merge branch 'post-05' into post-06
2019-02-05 10:45:12 +01:00
Philipp Oppermann
8f18fb4282
Merge branch 'post-07' into post-08
2019-02-05 10:45:12 +01:00
Philipp Oppermann
69ab78108b
Merge branch 'post-04' into post-05
2019-02-05 10:45:12 +01:00
Philipp Oppermann
2db616bd7d
Merge branch 'post-03' into post-04
2019-02-05 10:45:11 +01:00
Philipp Oppermann
e0f66a8196
Merge branch 'post-09' into post-10
2019-01-29 12:16:54 +01:00
Philipp Oppermann
ba54fd2503
Merge branch 'post-08' into post-09
2019-01-29 12:16:54 +01:00
Philipp Oppermann
41e36b4afa
Merge branch 'post-06' into post-07
2019-01-29 12:16:54 +01:00
Philipp Oppermann
a7ada29c5e
Merge branch 'post-05' into post-06
2019-01-29 12:16:54 +01:00
Philipp Oppermann
6b9d275c2d
Merge branch 'post-07' into post-08
2019-01-29 12:16:54 +01:00
Philipp Oppermann
968620dce8
Merge branch 'post-04' into post-05
2019-01-29 12:16:54 +01:00
Philipp Oppermann
237a848459
Merge branch 'post-03' into post-04
2019-01-29 12:16:54 +01:00
Philipp Oppermann
e5dfbd4b23
Merge branch 'post-09' into post-10
2019-01-28 11:51:35 +01:00
Philipp Oppermann
4e6ce8d16e
Merge branch 'post-08' into post-09
2019-01-28 11:51:23 +01:00
Philipp Oppermann
519f47286c
Merge branch 'post-07' into post-08
2019-01-28 11:51:03 +01:00
Philipp Oppermann
f76ec1ae32
Only set double fault handler once
2019-01-28 11:50:59 +01:00
Philipp Oppermann
1a801e3d35
Merge branch 'post-05' into post-06
2019-01-28 11:44:14 +01:00
Philipp Oppermann
5ad2962389
Merge branch 'post-09' into post-10
2019-01-28 11:44:14 +01:00
Philipp Oppermann
82e6c4b066
Merge branch 'post-08' into post-09
2019-01-28 11:44:14 +01:00
Philipp Oppermann
d564dc208f
Merge branch 'post-07' into post-08
2019-01-28 11:44:14 +01:00
Philipp Oppermann
efe92e5004
Merge branch 'post-06' into post-07
2019-01-28 11:44:14 +01:00
Philipp Oppermann
f0580e82a1
Merge branch 'post-04' into post-05
2019-01-28 11:42:39 +01:00
Philipp Oppermann
053216ffd4
Make array-init a dev-dependency
2019-01-28 11:40:00 +01:00
Philipp Oppermann
a56e22b6fc
Use BootInfoFrameAllocator instead of EmptyFrameAllocator
2019-01-28 11:30:27 +01:00
Philipp Oppermann
67f536d7c6
Add a BootInfoFrameAllocator
2019-01-28 11:28:51 +01:00
Philipp Oppermann
741224411b
Use the BootInfo struct passed by the bootloader
2019-01-28 11:24:16 +01:00
Philipp Oppermann
818417d119
Try to create example mapping for page 0xdeadbeaf000
2019-01-28 11:23:46 +01:00
Philipp Oppermann
f272785861
Create example mapping for page 0x1000
2019-01-28 11:19:46 +01:00
Philipp Oppermann
5d807ee622
Run rustfmt
2019-01-28 11:19:34 +01:00
Philipp Oppermann
90c3cdf0f3
Update Readme for Advanced Paging post
2019-01-27 17:14:58 +01:00
Philipp Oppermann
2bc233b2f6
Merge branch 'post-09' into post-10
2019-01-27 17:14:12 +01:00
Philipp Oppermann
0df629df47
Update Readme for Introduction to Paging post
2019-01-27 17:13:57 +01:00
Philipp Oppermann
cca85de5ed
Merge branch 'post-08' into post-09
2019-01-27 17:13:21 +01:00
Philipp Oppermann
1da81c6f84
Update Readme for Hardware Interrupts post
2019-01-27 17:13:00 +01:00
Philipp Oppermann
42d89c1030
Merge branch 'post-07' into post-08
2019-01-27 17:12:28 +01:00
Philipp Oppermann
233943310c
Update Readme for Double Faults post
2019-01-27 17:12:21 +01:00
Philipp Oppermann
ef6d69f82b
Merge branch 'post-06' into post-07
2019-01-27 17:11:38 +01:00
Philipp Oppermann
94014b5a39
Update Readme for CPU Exceptions post
2019-01-27 17:11:08 +01:00
Philipp Oppermann
680aab362e
Merge branch 'post-05' into post-06
2019-01-27 17:10:50 +01:00
Philipp Oppermann
92cc34712c
Update Readme for Integration Tests post
2019-01-27 17:09:37 +01:00
Philipp Oppermann
bdbbd219d0
Merge branch 'post-04' into post-05
2019-01-27 17:09:11 +01:00
Philipp Oppermann
61d10d686b
Update Readme for Unit Testing post
2019-01-27 17:08:41 +01:00
Philipp Oppermann
52bc8ea29f
Merge branch 'post-03' into post-04
2019-01-27 17:08:15 +01:00
Philipp Oppermann
051b23f577
Merge branch 'post-09' into post-10
2019-01-27 16:33:54 +01:00
Philipp Oppermann
97e884e6a3
Merge branch 'post-08' into post-09
2019-01-27 16:33:54 +01:00
Philipp Oppermann
954c0bcfbb
Merge branch 'post-07' into post-08
2019-01-27 16:33:54 +01:00
Philipp Oppermann
637b517f47
Merge branch 'post-06' into post-07
2019-01-27 16:33:54 +01:00
Philipp Oppermann
ab8d8b46e2
Merge branch 'post-05' into post-06
2019-01-27 16:33:54 +01:00
Philipp Oppermann
3cd7427ed8
Merge branch 'post-04' into post-05
2019-01-27 16:33:54 +01:00
Philipp Oppermann
5b3e3642ca
Merge branch 'post-03' into post-04
2019-01-27 16:33:54 +01:00
Philipp Oppermann
bd1f5345da
Merge branch 'z_post_08' into z_post_09
2019-01-27 15:46:59 +01:00
Philipp Oppermann
662faa8dd0
Merge branch 'z_post_07' into z_post_08
2019-01-27 15:46:59 +01:00
Philipp Oppermann
5802c97938
Merge branch 'z_post_06' into z_post_07
2019-01-27 15:46:59 +01:00
Philipp Oppermann
33f9f14391
Merge branch 'z_post_05' into z_post_06
2019-01-27 15:46:59 +01:00
Philipp Oppermann
68d09db7c5
Update CI scripts for integration test post
2019-01-27 15:46:08 +01:00
Philipp Oppermann
6bbd12ba7a
Merge branch 'z_post_04' into z_post_05
2019-01-27 15:44:11 +01:00
Philipp Oppermann
d516dac0c3
Update CI scripts for unit testing post
2019-01-27 15:43:18 +01:00
Philipp Oppermann
c0fcb5f922
Merge branch 'z_post_03' into z_post_04
2019-01-27 15:42:59 +01:00
Philipp Oppermann
f2bc2d33f0
Rewrite translation function on top of RecursivePageTable
2019-01-27 14:38:49 +01:00
Philipp Oppermann
38a121a887
Test translate_addr by translating some virtual addresses
2019-01-27 14:38:49 +01:00
Philipp Oppermann
8b380f0692
Create a new memory module with a translate_addr function
2019-01-27 14:38:49 +01:00
Philipp Oppermann
f23ee04161
Merge branch 'z_post_08' into z_post_09
2019-01-27 14:30:32 +01:00
Philipp Oppermann
2031a8dc81
Merge branch 'z_post_07' into z_post_08
2019-01-27 14:29:25 +01:00
Philipp Oppermann
29ee6b15dd
Merge branch 'z_post_06' into z_post_07
2019-01-27 14:28:55 +01:00
Philipp Oppermann
15b394f0eb
Merge branch 'z_post_05' into z_post_06
2019-01-27 14:28:51 +01:00
Philipp Oppermann
17f2699277
Update to x86_64 0.4.0
2019-01-27 14:12:10 +01:00
Philipp Oppermann
b184f7d996
Move the testing code to the end of _start
2019-01-26 12:57:32 +01:00
Philipp Oppermann
7c07a67bf5
Merge branch 'z_post_08' into z_post_09
2019-01-25 14:47:46 +01:00
Philipp Oppermann
ec2da4bebd
Merge branch 'z_post_07' into z_post_08
2019-01-25 14:47:32 +01:00
Philipp Oppermann
90ad333e90
Merge branch 'z_post_06' into z_post_07
2019-01-25 14:46:29 +01:00
Philipp Oppermann
cc3a868863
Merge branch 'z_post_05' into z_post_06
2019-01-25 14:46:17 +01:00
Philipp Oppermann
d1545e7fbf
Merge branch 'z_post_04' into z_post_05
2019-01-25 14:46:04 +01:00
Philipp Oppermann
be46130322
Merge branch 'z_post_03' into z_post_04
2019-01-25 14:45:46 +01:00
Philipp Oppermann
afe8dc3dcf
Add stack overflow integration test
2019-01-25 14:45:02 +01:00
Philipp Oppermann
8bb0187f35
Run rustfmt
2019-01-25 14:44:42 +01:00
Philipp Oppermann
e0ed423e52
Explain the LLVM bug on Windows in more detail
2019-01-25 14:37:46 +01:00
Philipp Oppermann
abaf5bd862
Use PageTable struct of x86_64 crate for accessing entries
2019-01-25 14:29:50 +01:00
Philipp Oppermann
b7005b766f
Print first 10 entries of level 4 page table
2019-01-25 14:29:04 +01:00
Philipp Oppermann
91ca04e8c2
Retrieve address of level 4 page table
2019-01-25 14:28:23 +01:00
Philipp Oppermann
ada45c6e52
Provoke page fault
2019-01-25 14:27:31 +01:00
Philipp Oppermann
207a466707
Add a page fault handler
2019-01-25 14:26:35 +01:00
Philipp Oppermann
a954c02fbe
Use pc-keyboard crate to translate all scancodes
2019-01-25 14:23:23 +01:00
Philipp Oppermann
895991fee3
Translate keycodes for keys 0-9
2019-01-25 14:22:25 +01:00
Philipp Oppermann
25796110f3
Read and print scancodes in keyboard interrupt handler
2019-01-25 14:21:49 +01:00
Philipp Oppermann
1d153d694e
Add a keyboard interrupt handler
2019-01-25 14:21:12 +01:00
Philipp Oppermann
c2e4e8c96f
Add and use hlt_loop function
2019-01-25 14:21:12 +01:00
Philipp Oppermann
599a643d97
Remove deadlock provoking code again
...
This reverts commit 1a39774ead .
2019-01-25 14:14:45 +01:00
Philipp Oppermann
5efcecc2f2
Avoid deadlock by disabling interrupts in print! and serial_print! macros
2019-01-25 14:14:26 +01:00
Philipp Oppermann
1a39774ead
Provoke a print! deadlock
2019-01-25 14:12:14 +01:00
Philipp Oppermann
1ea8cf6ed1
Send end of interrupt signal
2019-01-25 14:09:47 +01:00
Philipp Oppermann
4060ac558c
Add a timer interrupt handler
2019-01-25 14:09:12 +01:00
Philipp Oppermann
28a11e47bc
Enable hardware interrupts
2019-01-25 14:05:20 +01:00
Philipp Oppermann
6504bed810
Initialize the PIC
2019-01-25 14:04:55 +01:00
Philipp Oppermann
d8edfccca4
Set the stack_index for the double fault handler
2019-01-25 14:01:29 +01:00
Philipp Oppermann
ff25a7d86c
Reload code and TSS selector registers
2019-01-25 13:59:09 +01:00
Philipp Oppermann
b5202e26a1
Load the GDT
2019-01-25 13:57:40 +01:00
Philipp Oppermann
ea1b031fd3
Create a static GDT
2019-01-25 13:57:08 +01:00
Philipp Oppermann
db4e879c34
Create a new GDT module and a static TSS
2019-01-25 13:56:40 +01:00
Philipp Oppermann
7fd29c9cbe
Trigger a double fault through a stack overflow -> triple fault
2019-01-25 13:55:42 +01:00
Philipp Oppermann
218cb9399e
Add a double fault handler and test it
2019-01-25 13:54:44 +01:00
Philipp Oppermann
b96636984c
Workaround an LLVM bug
2019-01-25 13:53:17 +01:00
Philipp Oppermann
b9dd088dc1
Create test-exception-breakpoint integration test
2019-01-25 13:51:39 +01:00
Philipp Oppermann
c6bd48e812
Load and test our new IDT
2019-01-25 13:51:06 +01:00
Philipp Oppermann
9448b0e025
Create a new IDT
2019-01-25 13:49:09 +01:00
Philipp Oppermann
ade6c99885
Add an interrupts module
2019-01-25 13:47:28 +01:00
Philipp Oppermann
59579108a7
Add test-basic-boot and test-panic integration tests
2019-01-25 13:45:38 +01:00
Philipp Oppermann
bd39105793
Split crate into lib.rs and main.rs
2019-01-25 13:44:04 +01:00
Philipp Oppermann
d007aae993
Exit qemu
2019-01-25 13:38:26 +01:00
Philipp Oppermann
c21f051300
Add a serial module
2019-01-25 13:37:20 +01:00
Philipp Oppermann
76110c1dd8
Add a write_formatted test
2019-01-25 13:32:00 +01:00
Philipp Oppermann
92c4206e86
Add a write_byte test
2019-01-25 13:31:34 +01:00
Philipp Oppermann
a15e01f2eb
Construct a vga buffer for testing
2019-01-25 13:31:06 +01:00
Philipp Oppermann
76a65ca3ee
Include the standard library for unit tests
2019-01-25 13:29:02 +01:00
Philipp Oppermann
8e74084d52
Silence unused import warnings for cargo test
2019-01-25 13:25:24 +01:00
Philipp Oppermann
5366fe2ff8
Make cargo test work
2019-01-25 13:24:54 +01:00