mirror of
https://github.com/rcore-os/rCore-Tutorial-v3.git
synced 2024-11-22 01:16:26 +04:00
mm: bugfix #133: MapArea::copy_data does not need &mut PageTable
This commit is contained in:
parent
37a73e448b
commit
a2641c2dd2
@ -74,7 +74,7 @@ impl MemorySet {
|
|||||||
fn push(&mut self, mut map_area: MapArea, data: Option<&[u8]>) {
|
fn push(&mut self, mut map_area: MapArea, data: Option<&[u8]>) {
|
||||||
map_area.map(&mut self.page_table);
|
map_area.map(&mut self.page_table);
|
||||||
if let Some(data) = data {
|
if let Some(data) = data {
|
||||||
map_area.copy_data(&mut self.page_table, data);
|
map_area.copy_data(&self.page_table, data);
|
||||||
}
|
}
|
||||||
self.areas.push(map_area);
|
self.areas.push(map_area);
|
||||||
}
|
}
|
||||||
@ -308,7 +308,7 @@ impl MapArea {
|
|||||||
}
|
}
|
||||||
/// data: start-aligned but maybe with shorter length
|
/// data: start-aligned but maybe with shorter length
|
||||||
/// assume that all frames were cleared before
|
/// assume that all frames were cleared before
|
||||||
pub fn copy_data(&mut self, page_table: &mut PageTable, data: &[u8]) {
|
pub fn copy_data(&mut self, page_table: &PageTable, data: &[u8]) {
|
||||||
assert_eq!(self.map_type, MapType::Framed);
|
assert_eq!(self.map_type, MapType::Framed);
|
||||||
let mut start: usize = 0;
|
let mut start: usize = 0;
|
||||||
let mut current_vpn = self.vpn_range.get_start();
|
let mut current_vpn = self.vpn_range.get_start();
|
||||||
|
Loading…
Reference in New Issue
Block a user