[Denali] Interrupts working in rust.

This commit is contained in:
Drew Galbraith 2024-10-02 23:59:50 -07:00
parent df79233bbb
commit d94f61511b
8 changed files with 654 additions and 123 deletions

View file

@ -41,6 +41,19 @@ impl MemoryRegion {
})
}
pub fn contiguous_physical(size: u64) -> Result<(Self, u64), ZError> {
let (mem_cap, paddr) = syscall::memory_object_contiguous_physical(size)?;
let virt_addr = syscall::address_space_map(&mem_cap)?;
Ok((
Self {
mem_cap,
virt_addr,
size,
},
paddr,
))
}
pub fn from_cap(mem_cap: Capability) -> Result<Self, ZError> {
let virt_addr = syscall::address_space_map(&mem_cap)?;
let size = syscall::memory_object_inspect(&mem_cap)?;