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
|
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
|
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 |
|
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
|
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
|
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 |
|