Lines Matching refs:base

56     pub fn add_block(&self, base: PhysAddr, size: usize) -> Result<(), SystemError> {  in add_block()
57 let r = self.add_range(base, size, MemoryAreaAttr::empty()); in add_block()
66 base: PhysAddr, in add_range()
78 let block = PhysMemoryArea::new(base, size, MemoryAreaAttr::empty()); in add_range()
110 let mut base = block.base; in do_add_block() localVariable
111 let end = block.base + block.size; in do_add_block()
119 let range_base = inner.initial_memory_regions[i].base; in do_add_block()
121 inner.initial_memory_regions[i].base + inner.initial_memory_regions[i].size; in do_add_block()
126 if range_end <= base { in do_add_block()
133 if range_base > base { in do_add_block()
140 self.do_insert_area(inner, i, base, range_base - base, flags); in do_add_block()
146 base = core::cmp::min(range_end, end); in do_add_block()
149 if base < end { in do_add_block()
156 self.do_insert_area(inner, i, base, end - base, flags); in do_add_block()
174 base: PhysAddr, in do_insert_area()
182 inner.initial_memory_regions[index] = PhysMemoryArea::new(base, size, flags); in do_insert_area()
200 let next_base = inner.initial_memory_regions[(i + 1) as usize].base; in do_merge_blocks()
205 if this.base + this.size != next_base || this.flags != next_flags { in do_merge_blocks()
206 if unlikely(this.base + this.size > next_base) { in do_merge_blocks()
230 pub fn remove_block(&self, base: PhysAddr, size: usize) -> Result<(), SystemError> { in remove_block()
240 .isolate_range(&mut inner, base, size) in remove_block()
258 inner.initial_memory_regions[0].base = PhysAddr::new(0); in do_remove_region()
275 base: PhysAddr, in isolate_range()
278 let end = base + size; in isolate_range()
290 let range_base = inner.initial_memory_regions[idx].base; in isolate_range()
296 if range_end <= base { in isolate_range()
301 if range_base < base { in isolate_range()
303 inner.initial_memory_regions[idx].base = base; in isolate_range()
304 inner.initial_memory_regions[idx].size -= base - range_base; in isolate_range()
309 base - range_base, in isolate_range()
314 inner.initial_memory_regions[idx].base = end; in isolate_range()
352 pub fn mark_nomap(&self, base: PhysAddr, size: usize) -> Result<(), SystemError> { in mark_nomap()
353 return self.set_or_clear_flags(base, size, true, MemoryAreaAttr::NOMAP); in mark_nomap()
357 pub fn mark_mirror(&self, base: PhysAddr, size: usize) -> Result<(), SystemError> { in mark_mirror()
358 return self.set_or_clear_flags(base, size, true, MemoryAreaAttr::MIRROR); in mark_mirror()
363 mut base: PhysAddr, in set_or_clear_flags()
368 let rsvd_base = PhysAddr::new(page_align_down(base.data())); in set_or_clear_flags()
369 size = page_align_up(size + base.data() - rsvd_base.data()); in set_or_clear_flags()
370 base = rsvd_base; in set_or_clear_flags()
373 let (start_index, end_index) = self.isolate_range(&mut inner, base, size)?; in set_or_clear_flags()
388 pub fn reserve_block(&self, base: PhysAddr, size: usize) -> Result<(), SystemError> { in reserve_block()
389 return self.set_or_clear_flags(base, size, true, MemoryAreaAttr::RESERVED); in reserve_block()
393 pub fn is_overlapped(&self, base: PhysAddr, size: usize) -> bool { in is_overlapped()
395 return self.do_is_overlapped(base, size, false, &inner); in is_overlapped()
399 pub fn is_overlapped_with_reserved(&self, base: PhysAddr, size: usize) -> bool { in is_overlapped_with_reserved()
401 return self.do_is_overlapped(base, size, true, &inner); in is_overlapped_with_reserved()
406 base: PhysAddr, in do_is_overlapped()
422 let range_base = inner.initial_memory_regions[i].base; in do_is_overlapped()
424 if (base >= range_base && base < range_end) in do_is_overlapped()
425 || (base + size > range_base && base + size <= range_end) in do_is_overlapped()
426 || (base <= range_base && base + size >= range_end) in do_is_overlapped()