Philipp Oppermann
|
f429a8ab03
|
Example use of Box, Vec, and Rc in kernel_main
|
2019-06-26 15:06:40 +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
|
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
|
b5ee44621c
|
Use an import for initializing BootInfoFrameAllocator
|
2019-04-30 13:10:53 +02:00 |
|
Philipp Oppermann
|
180c77d1f4
|
Avoid generic impl trait parameters in BootInfoFrameAllocator
|
2019-04-30 11:14:23 +02:00 |
|
Philipp Oppermann
|
fd0646fecf
|
Improve formatting
|
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
|
6099fddd54
|
Merge branch 'post-07-new' into post-08-new
|
2019-04-26 15:26:47 +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
|
ad6cb02d5c
|
Merge branch 'post-06-new' into post-07-new-rebased
|
2019-04-26 15:24:28 +02:00 |
|
Philipp Oppermann
|
4774893a93
|
Call gdt::init from blog_os::init
|
2019-04-26 15:14:38 +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
|
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
|
48e1f72d23
|
Split off a library
|
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
|
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
|
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
|
23cbafab1c
|
Reset code to post-03 branch
|
2019-04-26 12:44:33 +02:00 |
|
Philipp Oppermann
|
9bf4ea7341
|
Use BootInfoFrameAllocator to create a 0xdeadbeaf000 mapping
|
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
|
cb4410c84e
|
Update kernel_main to use MapperAllSizes::translate_addr
|
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
|
ef1cc0ed4f
|
Reset code to post-09 branch for new 'Paging Implementation' post
|
2019-03-14 10:20:46 +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
|
b895f8c745
|
Update code for changes in x86_64 0.5.0
|
2019-03-09 12:29:44 +01:00 |
|
Philipp Oppermann
|
a56e22b6fc
|
Use BootInfoFrameAllocator instead of EmptyFrameAllocator
|
2019-01-28 11:30:27 +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
|
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
|
b184f7d996
|
Move the testing code to the end of _start
|
2019-01-26 12:57:32 +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
|
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
|
1a39774ead
|
Provoke a print! deadlock
|
2019-01-25 14:12:14 +01:00 |
|
Philipp Oppermann
|
4060ac558c
|
Add a timer interrupt handler
|
2019-01-25 14:09:12 +01:00 |
|