diff options
| -rw-r--r-- | src/kernel.rs | 5 | ||||
| -rw-r--r-- | src/mem/alloc.rs | 16 | 
2 files changed, 8 insertions, 13 deletions
| diff --git a/src/kernel.rs b/src/kernel.rs index e3e9166..321f34c 100644 --- a/src/kernel.rs +++ b/src/kernel.rs @@ -17,7 +17,6 @@  #![no_std]  extern crate alloc; -use alloc::boxed::Box;  mod mem;  mod console; @@ -28,7 +27,6 @@ mod sync;  mod uart;  use crate::console::console;  use crate::mem::alloc::*; -//use crate::sync::interface::Mutex;  /// # Initialization Code  /// @@ -42,9 +40,6 @@ unsafe fn kernel_init() -> ! {  	console().init().unwrap();  	U64_QUEUE_ALLOCATOR.init();  	ALLOCATOR.init(); -	//ALLOCATOR.lock(|qa| { -	//	qa.init(); -	//});  	kernel_main()  } diff --git a/src/mem/alloc.rs b/src/mem/alloc.rs index 927c00d..65e85eb 100644 --- a/src/mem/alloc.rs +++ b/src/mem/alloc.rs @@ -198,7 +198,7 @@ unsafe impl GlobalAlloc for GrandAllocator {  						panic!("No cells to allocate!");  					}  					Some(elem) => { -						return &mut (*(*elem).inner() as u8) as *mut u8; +						return (*elem).inner() as *mut u16 as *mut u8;  					}  				}  			} @@ -208,7 +208,7 @@ unsafe impl GlobalAlloc for GrandAllocator {  						panic!("No cells to allocate!");  					}  					Some(elem) => { -						return &mut (*(*elem).inner() as u8) as *mut u8; +						return (*elem).inner() as *mut u32 as *mut u8;  					}  				}  			} @@ -218,7 +218,7 @@ unsafe impl GlobalAlloc for GrandAllocator {  						panic!("No cells to allocate!");  					}  					Some(elem) => { -						return &mut (*(*elem).inner() as u8) as *mut u8; +						return (*elem).inner() as *mut u64 as *mut u8;  					}  				}  			} @@ -228,7 +228,7 @@ unsafe impl GlobalAlloc for GrandAllocator {  						panic!("No cells to allocate!");  					}  					Some(elem) => { -						return &mut (*(*elem).inner() as u8) as *mut u8; +						return (*elem).inner() as *mut u128 as *mut u8;  					}  				}  			} @@ -254,7 +254,7 @@ unsafe impl GlobalAlloc for GrandAllocator {  			2 => {  				U16_GRAND_ALLOC.inner.lock(|pool| {  					for idx in 2..pool.len() { -						if &mut (*pool[idx].inner() as u8) as *mut u8 == ptr { +						if pool[idx].inner() as *mut u16 as *mut u8 == ptr {  							U16_GRAND_ALLOC.free(&mut pool[idx]);  							return;  						} @@ -265,7 +265,7 @@ unsafe impl GlobalAlloc for GrandAllocator {  			4 => {  				U32_GRAND_ALLOC.inner.lock(|pool| {  					for idx in 2..pool.len() { -						if &mut (*pool[idx].inner() as u8) as *mut u8 == ptr { +						if pool[idx].inner() as *mut u32 as *mut u8 == ptr {  							U32_GRAND_ALLOC.free(&mut pool[idx]);  							return;  						} @@ -276,7 +276,7 @@ unsafe impl GlobalAlloc for GrandAllocator {  			8 => {  				U64_GRAND_ALLOC.inner.lock(|pool| {  					for idx in 2..pool.len() { -						if &mut (*pool[idx].inner() as u8) as *mut u8 == ptr { +						if pool[idx].inner() as *mut u64 as *mut u8 == ptr {  							U64_GRAND_ALLOC.free(&mut pool[idx]);  							return;  						} @@ -287,7 +287,7 @@ unsafe impl GlobalAlloc for GrandAllocator {  			16 => {  				U128_GRAND_ALLOC.inner.lock(|pool| {  					for idx in 2..pool.len() { -						if &mut (*pool[idx].inner() as u8) as *mut u8 == ptr { +						if pool[idx].inner() as *mut u128 as *mut u8 == ptr {  							U128_GRAND_ALLOC.free(&mut pool[idx]);  							return;  						} | 
