Philipp Oppermann
dee04d74d6
Shift lines up instead of clearing the screen when full
2020-09-09 19:00:51 +02:00
Philipp Oppermann
4d2f18d481
Force unlock the Writer on panic
2020-09-09 16:35:52 +02:00
Philipp Oppermann
4f4a70bf79
Don't panic on unknown pixel formats
2020-09-09 16:35:29 +02:00
Philipp Oppermann
261f4d0649
Update to latest bootloader prototype
2020-09-09 15:31:43 +02:00
Philipp Oppermann
a38fe2cd0b
Merge branch 'post-11' into post-12
2020-08-16 18:03:10 +02:00
Philipp Oppermann
d28ad91407
Merge branch 'post-10' into post-11
2020-08-16 18:03:10 +02:00
Philipp Oppermann
6ebeb28fdb
Merge branch 'post-09' into post-10
2020-08-16 18:03:09 +02:00
Philipp Oppermann
c2ef594a78
Merge branch 'post-08' into post-09
2020-08-16 18:03:09 +02:00
Philipp Oppermann
01c9f7439d
Merge branch 'post-07' into post-08
2020-08-16 18:03:09 +02:00
Philipp Oppermann
39450af43a
Merge branch 'post-06' into post-07
2020-08-16 18:03:09 +02:00
Philipp Oppermann
7056923ef7
Merge branch 'post-05' into post-06
2020-08-16 18:03:09 +02:00
Philipp Oppermann
f591b959f5
Merge branch 'post-04' into post-05
2020-08-16 18:03:09 +02:00
Philipp Oppermann
edd155d570
Merge branch 'post-03' into post-04
2020-08-16 18:03:09 +02:00
Philipp Oppermann
3200b7a68d
Merge branch 'post-02' into post-03
2020-08-16 18:03:09 +02:00
Philipp Oppermann
0ce451a144
Merge branch 'post-11' into post-12
2020-08-16 17:59:56 +02:00
Philipp Oppermann
43b5f835ab
Merge branch 'post-10' into post-11
2020-08-16 17:59:56 +02:00
Philipp Oppermann
f48eed487c
Merge branch 'post-09' into post-10
2020-08-16 17:59:56 +02:00
Philipp Oppermann
d2e7a4a970
Merge branch 'post-08' into post-09
2020-08-16 17:59:56 +02:00
Philipp Oppermann
988e248a6f
Merge branch 'post-07' into post-08
2020-08-16 17:59:56 +02:00
Philipp Oppermann
56652b79fb
Merge branch 'post-06' into post-07
2020-08-16 17:59:56 +02:00
Philipp Oppermann
817e36c064
Increase double fault stack size
2020-08-16 17:57:43 +02:00
Philipp Oppermann
a0e428cc8c
Merge branch 'post-04' into post-05
2020-07-17 15:57:35 +02:00
Philipp Oppermann
c18cd874ca
Merge branch 'post-03' into post-04
2020-07-17 15:57:35 +02:00
Philipp Oppermann
f316bd1a08
Merge branch 'post-02' into post-03
2020-07-17 15:57:35 +02:00
Philipp Oppermann
cbb5c30954
Merge branch 'post-11' into post-12
2020-07-17 15:57:35 +02:00
Philipp Oppermann
91790d8007
Merge branch 'post-10' into post-11
2020-07-17 15:57:35 +02:00
Philipp Oppermann
287fed94ef
Merge branch 'post-09' into post-10
2020-07-17 15:57:35 +02:00
Philipp Oppermann
6bbaf9de16
Merge branch 'post-08' into post-09
2020-07-17 15:57:35 +02:00
Philipp Oppermann
9a7dc7f053
Merge branch 'post-07' into post-08
2020-07-17 15:57:35 +02:00
Philipp Oppermann
fc81448c1a
Merge branch 'post-06' into post-07
2020-07-17 15:57:35 +02:00
Philipp Oppermann
18bc113726
Merge branch 'post-05' into post-06
2020-07-17 15:57:35 +02:00
Philipp Oppermann
b90e5fb32a
Merge branch 'post-04' into post-05
2020-07-17 11:48:35 +02:00
Philipp Oppermann
6380e069f7
Merge branch 'post-03' into post-04
2020-07-17 11:48:35 +02:00
Philipp Oppermann
1ddc27ca88
Merge branch 'post-02' into post-03
2020-07-17 11:48:35 +02:00
Philipp Oppermann
112d66b98e
Merge branch 'post-11' into post-12
2020-07-17 11:48:35 +02:00
Philipp Oppermann
93cb9dfdbe
Merge branch 'post-10' into post-11
2020-07-17 11:48:35 +02:00
Philipp Oppermann
9af48bae17
Merge branch 'post-09' into post-10
2020-07-17 11:48:35 +02:00
Philipp Oppermann
4cec056568
Merge branch 'post-08' into post-09
2020-07-17 11:48:35 +02:00
Philipp Oppermann
03d9bee072
Merge branch 'post-07' into post-08
2020-07-17 11:48:35 +02:00
Philipp Oppermann
ee5cd18080
Merge branch 'post-06' into post-07
2020-07-17 11:48:35 +02:00
Philipp Oppermann
70458b6f6f
Merge branch 'post-05' into post-06
2020-07-17 11:48:35 +02:00
Philipp Oppermann
7debb78849
Merge branch 'post-11' into post-12
2020-07-17 11:31:03 +02:00
Philipp Oppermann
b0cb401b3b
Merge branch 'post-10' into post-11
2020-07-17 11:30:14 +02:00
Philipp Oppermann
d215eb07c2
Add alloc crate to build-std crates
2020-07-17 11:29:11 +02:00
Philipp Oppermann
69c7df8a30
Merge branch 'post-09' into post-10
2020-07-17 11:28:30 +02:00
Philipp Oppermann
b7fb1e8764
Merge branch 'post-04' into post-05
2020-07-17 11:28:04 +02:00
Philipp Oppermann
7341cff39d
Merge branch 'post-03' into post-04
2020-07-17 11:28:04 +02:00
Philipp Oppermann
406c406d5f
Merge branch 'post-02' into post-03
2020-07-17 11:28:04 +02:00
Philipp Oppermann
b7835f3976
Merge branch 'post-08' into post-09
2020-07-17 11:28:04 +02:00
Philipp Oppermann
6d2b8f3f6c
Merge branch 'post-07' into post-08
2020-07-17 11:28:04 +02:00
Philipp Oppermann
7361740ecb
Merge branch 'post-06' into post-07
2020-07-17 11:28:04 +02:00
Philipp Oppermann
51f8e413d5
Merge branch 'post-05' into post-06
2020-07-17 11:28:04 +02:00
Philipp Oppermann
472ddcc696
Merge branch 'post-08' into post-09
2020-07-17 11:25:03 +02:00
Philipp Oppermann
5d355277db
Merge branch 'post-07' into post-08
2020-07-17 11:24:40 +02:00
Philipp Oppermann
5309361224
Merge branch 'post-06' into post-07
2020-07-17 11:24:00 +02:00
Philipp Oppermann
1876a78058
Merge branch 'post-05' into post-06
2020-07-17 11:23:28 +02:00
Philipp Oppermann
3ac92cf275
Merge branch 'post-04' into post-05
2020-07-17 11:23:27 +02:00
Philipp Oppermann
acf3717551
Move extern crate rlibc to lib.rs
2020-07-17 11:22:42 +02:00
Philipp Oppermann
e78d33a5bf
Update test command on CI for build-std
2020-07-17 11:21:18 +02:00
Philipp Oppermann
6292789393
Merge branch 'post-03' into post-04
2020-07-17 11:19:25 +02:00
Philipp Oppermann
651adbc8bd
Merge branch 'post-02' into post-03
2020-07-17 11:16:18 +02:00
Philipp Oppermann
991c3c863a
Merge branch 'post-11' into post-12
2020-06-08 12:30:28 +02:00
Philipp Oppermann
bd4487cefa
Merge branch 'post-10' into post-11
2020-06-08 12:30:28 +02:00
Philipp Oppermann
e68f7a1d31
Merge branch 'post-09' into post-10
2020-06-08 12:30:28 +02:00
Philipp Oppermann
832ab43bdd
Merge branch 'post-08' into post-09
2020-06-08 12:30:28 +02:00
Philipp Oppermann
2a88224080
Merge branch 'post-07' into post-08
2020-06-08 12:30:28 +02:00
Philipp Oppermann
96a02c441e
Merge branch 'post-06' into post-07
2020-06-08 12:30:28 +02:00
Philipp Oppermann
0dd32e2680
Merge pull request #818 from phil-opp/post-06-prevent-tail-recursion
...
Do a volatile read in stack_overflow test to avoid tail recursion
2020-06-08 12:29:58 +02:00
Philipp Oppermann
5735cb8ec0
Do a volatile read in stack_overflow test to avoid tail recursion
...
This prevents the compiler from transforming the tail recursive function into a loop, which does not lead to a stack overflow. It also avoids the LLVM bug where functions with side-effect-free endless loops are removed. Thus, the test now also works in `--release` mode.
2020-06-08 12:17:06 +02:00
Philipp Oppermann
ae504f6a61
Merge branch 'post-11' into post-12
2020-06-08 12:09:51 +02:00
Philipp Oppermann
cc8ecaadc2
Remove superfluous printing from many_boxes_long_lived test
2020-06-08 12:09:49 +02:00
Philipp Oppermann
07b4e93ec7
Merge branch 'post-11' into post-12
2020-06-08 12:09:01 +02:00
Philipp Oppermann
c66758ccad
Merge branch 'post-10' into post-11
2020-06-08 12:09:01 +02:00
Philipp Oppermann
e7fd27b648
Remove superfluous printing from heap_allocation tests
2020-06-08 12:08:25 +02:00
Philipp Oppermann
0a97c2c97b
Merge branch 'post-11' into post-12
2020-06-08 12:06:49 +02:00
Philipp Oppermann
cecab1a310
Merge branch 'post-08' into post-09
2020-06-08 12:06:37 +02:00
Philipp Oppermann
d26577ad86
Merge branch 'post-07' into post-08
2020-06-08 12:06:37 +02:00
Philipp Oppermann
f54a2d7574
Merge branch 'post-10' into post-11
2020-06-08 12:06:37 +02:00
Philipp Oppermann
9809ea57ae
Merge branch 'post-09' into post-10
2020-06-08 12:06:37 +02:00
Philipp Oppermann
95612c1d3c
Merge branch 'post-06' into post-07
2020-06-08 12:05:05 +02:00
Philipp Oppermann
12d94fd2e9
Adjust stack_overflow test print message
2020-06-08 12:01:04 +02:00
Philipp Oppermann
8c10bbb096
Merge branch 'post-05' into post-06
2020-06-08 11:57:12 +02:00
Philipp Oppermann
7846bd0559
Remove superfluous printing from test_breakpoint_exception
2020-06-08 11:55:24 +02:00
Philipp Oppermann
3ccc602e38
Merge branch 'post-04' into post-05
2020-06-08 11:53:01 +02:00
Philipp Oppermann
bf33685d00
Merge pull request #816 from phil-opp/post-04-testable-trait
...
Create a testable trait for printing test messages automatically
2020-06-08 11:50:57 +02:00
Philipp Oppermann
3ee6badb33
Keep trivial_assertion test
2020-06-08 11:39:09 +02:00
Philipp Oppermann
9f9ff59489
Create a testable trait for printing test messages automatically
2020-06-08 11:04:03 +02:00
Philipp Oppermann
c2790cf352
Merge branch 'post-11' into post-12
2020-06-05 15:52:04 +02:00
Philipp Oppermann
e6c4c63c00
Update post-11 code for #813
2020-06-05 15:52:01 +02:00
Philipp Oppermann
0e7a2dc6ae
Merge branch 'post-11' into post-12
2020-05-22 10:54:54 +02:00
Philipp Oppermann
ed543a4591
Merge branch 'post-10' into post-11
2020-05-22 10:54:54 +02:00
Philipp Oppermann
b567d06108
Improve simple_allocation test
...
Proposed in https://github.com/phil-opp/blog_os/issues/627#issuecomment-632578270 .
2020-05-22 10:54:49 +02:00
Philipp Oppermann
8b90c04c62
Merge branch 'post-08' into post-09
2020-05-21 09:29:56 +02:00
Philipp Oppermann
b9f5b43c04
Merge branch 'post-07' into post-08
2020-05-21 09:29:56 +02:00
Philipp Oppermann
080be9bca6
Merge branch 'post-11' into post-12
2020-05-21 09:29:56 +02:00
Philipp Oppermann
0d661fcfdd
Merge branch 'post-10' into post-11
2020-05-21 09:29:56 +02:00
Philipp Oppermann
384902502c
Merge branch 'post-09' into post-10
2020-05-21 09:29:56 +02:00
Philipp Oppermann
93b96f21ac
Update pic8259_simple to v0.2.0
2020-05-21 09:29:49 +02:00
Philipp Oppermann
f9446883e2
Merge branch 'post-05' into post-06
2020-05-20 14:56:19 +02:00
Philipp Oppermann
735210fc8f
Merge branch 'post-04' into post-05
2020-05-20 14:56:19 +02:00
Philipp Oppermann
5e510e41ee
Merge branch 'post-08' into post-09
2020-05-20 14:56:19 +02:00
Philipp Oppermann
729c56d4ae
Merge branch 'post-07' into post-08
2020-05-20 14:56:19 +02:00
Philipp Oppermann
0404ceb1af
Merge branch 'post-11' into post-12
2020-05-20 14:56:19 +02:00
Philipp Oppermann
6f12524245
Merge branch 'post-10' into post-11
2020-05-20 14:56:19 +02:00
Philipp Oppermann
0db15e5ee5
Merge branch 'post-09' into post-10
2020-05-20 14:56:19 +02:00
Philipp Oppermann
22b49dea49
Merge branch 'post-06' into post-07
2020-05-20 14:56:19 +02:00
Philipp Oppermann
a1c7931a77
Run cargo update for post-04
2020-05-20 14:56:06 +02:00
Philipp Oppermann
60b5f3402e
Merge branch 'post-11' into post-12
2020-05-20 14:31:12 +02:00
Philipp Oppermann
9828ec0eff
Merge branch 'post-10' into post-11
2020-05-20 14:30:53 +02:00
Philipp Oppermann
44ab90f92d
Update allocator code for x86_64 v0.11.0
2020-05-20 14:30:48 +02:00
Philipp Oppermann
7a5d91cb96
Merge branch 'post-09' into post-10
2020-05-20 14:29:43 +02:00
Philipp Oppermann
491889a237
Update paging code for x86_64 v0.11.0
2020-05-20 14:29:36 +02:00
Philipp Oppermann
a2f07828e4
Merge branch 'post-08' into post-09
2020-05-20 14:27:06 +02:00
Philipp Oppermann
8d5aade432
Merge branch 'post-07' into post-08
2020-05-20 14:26:48 +02:00
Philipp Oppermann
067f2c9b39
Merge branch 'post-06' into post-07
2020-05-20 14:26:29 +02:00
Philipp Oppermann
2bf84f60e9
Merge branch 'post-05' into post-06
2020-05-20 14:25:56 +02:00
Philipp Oppermann
0d506d5dd5
Merge branch 'post-04' into post-05
2020-05-20 14:25:23 +02:00
Philipp Oppermann
2c30310281
Update x86_64 to version 0.11.0
2020-05-20 14:25:16 +02:00
Philipp Oppermann
a076ff16ad
Merge branch 'post-11' into post-12
2020-05-20 14:10:59 +02:00
Philipp Oppermann
d95da1d511
Merge branch 'post-10' into post-11
2020-05-20 14:10:17 +02:00
Philipp Oppermann
1eab81f58d
Merge branch 'post-09' into post-10
2020-05-20 14:09:09 +02:00
Philipp Oppermann
d94b9513e7
Merge branch 'post-08' into post-09
2020-05-20 14:08:32 +02:00
Philipp Oppermann
50853609d1
Merge branch 'post-07' into post-08
2020-05-20 14:07:29 +02:00
Philipp Oppermann
122bc99766
Merge branch 'post-06' into post-07
2020-05-20 14:06:59 +02:00
Philipp Oppermann
bfed1f44e2
Merge branch 'post-05' into post-06
2020-05-20 14:06:06 +02:00
Philipp Oppermann
158873acd4
Merge branch 'post-04' into post-05
2020-05-20 14:05:29 +02:00
Philipp Oppermann
57cd52b7f5
Merge branch 'post-03' into post-04
2020-05-20 14:04:54 +02:00
Philipp Oppermann
a004e7da9c
Merge branch 'post-02' into post-03
2020-05-20 14:04:37 +02:00
Philipp Oppermann
84c1070b0b
Merge branch 'post-11' into post-12
2020-05-20 10:51:40 +02:00
Aaron Hill
7bfacb39c4
Remove #![feature(alloc_layout_extra)] ( #806 )
...
A subset of this feature was stabilized in https://github.com/rust-lang/rust/pull/69362 ,
and none of the still-unstable methods are in use in `blog_os`
2020-05-20 10:51:09 +02:00
Philipp Oppermann
f118749cb2
Merge pull request #804 from phil-opp/post-12-merge-queues
...
Simplify executor by merging task_queue and wake_queue
2020-05-19 14:32:51 +02:00
Philipp Oppermann
9887c1257d
Keep task in map instead of repeatedly removing it
...
Also: Use entry API on waker_cache map.
2020-05-19 14:24:51 +02:00
Philipp Oppermann
ee0c11d316
Simplify executor by merging task_queue and wake_queue
2020-05-18 12:07:45 +02:00
Philipp Oppermann
b862534be5
Use a static counter for assigning task IDs ( #782 )
...
Deriving the task ID from the heap address of the future does not work for zero-sized futures because they are not backed by a real allocation.
2020-04-01 12:53:25 +02:00
Philipp Oppermann
e465c5b278
Put the CPU to sleep when no task is ready
2020-03-27 17:17:34 +01:00
Philipp Oppermann
50b4b89ac2
Implement an executor with waker support
2020-03-27 17:01:33 +01:00
Philipp Oppermann
d7b144364d
Add an asynchronous print_keypresses task
2020-03-27 17:01:33 +01:00
Philipp Oppermann
d63ddde756
Add waker support to ScancodeStream
2020-03-27 17:01:33 +01:00
Philipp Oppermann
79dbd2968a
Create a ScancodeStream based on the SCANCODE_QUEUE
2020-03-27 15:46:26 +01:00
Philipp Oppermann
b1be646e46
Add an add_scancode function and call it from keyboard interrupt handler
2020-03-27 13:25:43 +01:00
Philipp Oppermann
71b10a70df
Add dependencies on crossbeam and conquer_once to define a SCANCODE_QUEUE
2020-03-27 13:16:05 +01:00
Philipp Oppermann
629fe0fdec
Use SimpleExecutor in kernel_main to run example_task
2020-03-27 13:04:33 +01:00
Philipp Oppermann
b25b841467
Create a SimpleExecutor that polls tasks in a busy loop
2020-03-27 13:03:24 +01:00
Philipp Oppermann
dac7e67403
Add a task module with a Task struct
2020-03-27 12:55:40 +01:00
Philipp Oppermann
2cc188a403
Add some example async functions
2020-03-27 12:48:55 +01:00
Philipp Oppermann
fbeedde68f
Update Readme for async/await post
2020-03-27 12:26:50 +01:00
Philipp Oppermann
3c28d7f364
Update README.md
2020-03-20 16:09:09 +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
83b67df8af
Merge branch 'post-10' into post-11
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
f23269ed93
Merge branch 'post-02' into post-03
2020-02-26 12:45:27 +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
0489c09d05
Update Github Actions badge for post-03
2019-12-12 09:28:56 +01:00
Philipp Oppermann
99b139ddff
Merge branch 'post-02' into post-03
2019-12-12 09:28:44 +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
abd2f4c5e2
Merge branch 'post-02' into post-03
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
dbb3db2dc7
Merge branch 'post-02' into post-03
2019-12-10 16:55:29 +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
748365bf62
Update post-03 to new lockfile format
2019-11-28 14:04:38 +01:00
Philipp Oppermann
2b1f72ccd8
Merge branch 'post-02' into post-03
2019-11-28 14:04:16 +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
679e453509
Merge branch 'post-02' into post-03
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
4f90781b3f
Merge branch 'post-02' into post-03
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
515d98645e
Merge branch 'post-02' into post-03
2019-09-25 13:18:58 +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
a86fe5c2af
Merge branch 'post-02' into post-03
2019-09-13 17:42:32 +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
ab10af6f99
Merge branch 'post-02' into post-03
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
bcafb60069
Update spin and volatile dependencies
2019-09-11 13:13:34 +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
465eb45cfe
Merge branch 'post-02' into post-03
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
c6d5a4d567
Run cargo update
2019-09-11 10:57:07 +02:00
Philipp Oppermann
fe5e1fd92c
Merge branch 'post-02' into post-03
2019-09-11 10:56:41 +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
a1060f79f0
Merge branch 'post-02' into post-03
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
3765c27020
Merge branch 'post-02' into post-03
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
70b339a4a5
Merge branch 'post-02' into post-03
2019-09-11 10:09:32 +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
153beec1c4
Merge branch 'post-02' into post-03
2019-09-11 09:46:34 +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
bfde53de79
Merge branch 'post-02' into post-03
2019-09-10 10:20:47 +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
298ec5f4b6
Merge branch 'post-02' into post-03
2019-07-22 10:33:24 +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
ff8afb814e
Merge branch 'post-02' into post-03
2019-07-18 10:16:01 +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
fcd849f471
Fix deprecated range syntax
2019-06-17 17:28:27 +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
70c24b76d0
Merge branch 'post-02' into post-03
2019-04-26 11:27:45 +02:00
Philipp Oppermann
16a314ab8d
Merge branch 'post-02' into post-03
2019-04-26 11:24:17 +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
f875a933e5
Merge branch 'post-02' into post-03
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
652d91154f
Merge branch 'post-02' into post-03
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
9a879e69c5
Merge branch 'post-02' into post-03
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
186321623a
Run cargo update
2019-04-06 16:55:17 +02:00
Philipp Oppermann
1246fc4df9
Merge branch 'post-02' into post-03
2019-04-06 16:54:48 +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
03da22d8e1
Merge branch 'post-02' into post-03
2019-04-06 16:47:45 +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
d98a4d0cbc
Merge branch 'post-02' into post-03
...
# Conflicts:
# README.md
2019-04-03 10:45:48 +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
93b2134692
Merge branch 'post-02' into post-03
2019-03-14 11:14:01 +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
4d405d5098
Merge branch 'post-02' into post-03
2019-02-25 16:34:15 +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
e3f9cd42b0
Merge branch 'post-02' into post-03
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
61f524f040
Merge branch 'post-02' into post-03
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
3f9072e8b5
Merge branch 'post-02' into post-03
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
bac4a3c549
Merge branch 'post-02' into post-03
2019-02-05 14:55:29 +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
4bfcea2368
Merge branch 'post-02' into post-03
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
af0b258279
Make vga_buffer::{ScreenChar, Buffer} repr(transparent)
2019-02-05 10:44:52 +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
de2b99f0d2
Merge branch 'post-02' into post-03
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
8c1e98752a
Update Readme for VGA Text Mode post
2019-01-27 17:07:48 +01:00
Philipp Oppermann
ceb5cf4eed
Merge branch 'post-02' into post-03
2019-01-27 17:07:24 +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
1d5bc372a0
Merge branch 'post-02' into post-03
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
0874a50544
Merge branch 'z_post_02' into z_post_03
2019-01-27 15:37:53 +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
b5c05193e1
Document vga buffer methods
2019-01-25 14:39:47 +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
Philipp Oppermann
6c427e7cee
Print the PanicInfo on panic
2019-01-25 13:23:04 +01:00
Philipp Oppermann
c43d6191c5
Implement print!/println! macros
2019-01-25 13:22:33 +01:00
Philipp Oppermann
c1e3fa57c6
Add a global interface
2019-01-25 13:21:39 +01:00
Philipp Oppermann
3574958d5f
Implement new_line method
2019-01-25 13:18:58 +01:00
Philipp Oppermann
cbfe6221bd
Implement support for Rust's formatting macros
2019-01-25 13:18:13 +01:00
Philipp Oppermann
d1897af515
Use volatile writes for accessing the VGA buffer
2019-01-25 13:16:44 +01:00
Philipp Oppermann
d71e6a7cb6
Test the vga buffer module through a print_something function
2019-01-25 12:26:05 +01:00
Philipp Oppermann
27f2c4c2ff
Add methods to write bytes and strings
2019-01-25 12:25:46 +01:00
Philipp Oppermann
19de9e560d
Add a VGA buffer module
2019-01-25 12:21:51 +01:00