reformat order of methods in x86 code

This commit is contained in:
Alex Zenla 2024-01-17 07:32:57 -08:00
parent ee32cbee16
commit 135182d847
No known key found for this signature in database
GPG Key ID: 067B238899B51269

View File

@ -276,6 +276,10 @@ impl ArchBootSetup for X86BootSetup {
X86_PAGE_SIZE X86_PAGE_SIZE
} }
fn page_shift(&mut self) -> u64 {
X86_PAGE_SHIFT
}
fn alloc_p2m_segment( fn alloc_p2m_segment(
&mut self, &mut self,
setup: &mut BootSetup, setup: &mut BootSetup,
@ -458,6 +462,21 @@ impl ArchBootSetup for X86BootSetup {
Ok(()) Ok(())
} }
fn setup_hypercall_page(
&mut self,
setup: &mut BootSetup,
image_info: &BootImageInfo,
) -> Result<(), XenClientError> {
if image_info.virt_hypercall == XEN_UNSET_ADDR {
return Ok(());
}
let pfn = (image_info.virt_hypercall - image_info.virt_base) >> X86_PAGE_SHIFT;
let mfn = setup.phys.p2m[pfn as usize];
setup.call.hypercall_init(setup.domid, mfn)?;
Ok(())
}
fn meminit(&mut self, setup: &mut BootSetup, total_pages: u64) -> Result<(), XenClientError> { fn meminit(&mut self, setup: &mut BootSetup, total_pages: u64) -> Result<(), XenClientError> {
let mut vmemranges: Vec<VmemRange> = Vec::new(); let mut vmemranges: Vec<VmemRange> = Vec::new();
let stub = VmemRange { let stub = VmemRange {
@ -568,25 +587,21 @@ impl ArchBootSetup for X86BootSetup {
Ok(()) Ok(())
} }
fn setup_hypercall_page( fn bootlate(
&mut self, &mut self,
setup: &mut BootSetup, setup: &mut BootSetup,
image_info: &BootImageInfo, state: &mut BootState,
) -> Result<(), XenClientError> { ) -> Result<(), XenClientError> {
if image_info.virt_hypercall == XEN_UNSET_ADDR { let pg_pfn = state.page_table_segment.pfn;
return Ok(()); let pg_mfn = setup.phys.p2m[pg_pfn as usize];
} setup.phys.unmap(pg_pfn)?;
setup.phys.unmap(state.p2m_segment.pfn)?;
let pfn = (image_info.virt_hypercall - image_info.virt_base) >> X86_PAGE_SHIFT; setup
let mfn = setup.phys.p2m[pfn as usize]; .call
setup.call.hypercall_init(setup.domid, mfn)?; .mmuext(setup.domid, MMUEXT_PIN_L4_TABLE, pg_mfn, 0)?;
Ok(()) Ok(())
} }
fn page_shift(&mut self) -> u64 {
X86_PAGE_SHIFT
}
fn vcpu(&mut self, setup: &mut BootSetup, state: &mut BootState) -> Result<(), XenClientError> { fn vcpu(&mut self, setup: &mut BootSetup, state: &mut BootState) -> Result<(), XenClientError> {
let pg_pfn = state.page_table_segment.pfn; let pg_pfn = state.page_table_segment.pfn;
let pg_mfn = setup.phys.p2m[pg_pfn as usize]; let pg_mfn = setup.phys.p2m[pg_pfn as usize];
@ -618,19 +633,4 @@ impl ArchBootSetup for X86BootSetup {
setup.call.set_vcpu_context(setup.domid, 0, &vcpu)?; setup.call.set_vcpu_context(setup.domid, 0, &vcpu)?;
Ok(()) Ok(())
} }
fn bootlate(
&mut self,
setup: &mut BootSetup,
state: &mut BootState,
) -> Result<(), XenClientError> {
let pg_pfn = state.page_table_segment.pfn;
let pg_mfn = setup.phys.p2m[pg_pfn as usize];
setup.phys.unmap(pg_pfn)?;
setup.phys.unmap(state.p2m_segment.pfn)?;
setup
.call
.mmuext(setup.domid, MMUEXT_PIN_L4_TABLE, pg_mfn, 0)?;
Ok(())
}
} }