From cfdb29a1a658db4ec501b4f9c9bb1f38a8c4cd90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20B=C3=B6ving?= Date: Tue, 14 Nov 2023 14:59:37 +0000 Subject: [PATCH] fix: merge stuff --- src/l4/pkg/l4rust/l4-rust/ipc/mod.rs | 1 + src/l4/pkg/l4rust/l4re-rust/Cargo.toml | 7 +++++++ src/l4/pkg/l4rust/l4re-rust/lib.rs | 7 ++++--- src/l4/pkg/l4rust/l4re-rust/mem.rs | 7 +++---- src/l4/pkg/verix/pc-hal-l4/Cargo.toml | 3 +++ src/l4/pkg/verix/pc-hal-l4/src/lib.rs | 4 ---- 6 files changed, 18 insertions(+), 11 deletions(-) diff --git a/src/l4/pkg/l4rust/l4-rust/ipc/mod.rs b/src/l4/pkg/l4rust/l4-rust/ipc/mod.rs index 032a8241ff..67ea7f6814 100644 --- a/src/l4/pkg/l4rust/l4-rust/ipc/mod.rs +++ b/src/l4/pkg/l4rust/l4-rust/ipc/mod.rs @@ -30,6 +30,7 @@ use num_traits::FromPrimitive; use crate::error::{Error, Result}; use crate::types::{Mword, Protocol, UMword}; +use crate::utcb::Utcb; use l4_sys; diff --git a/src/l4/pkg/l4rust/l4re-rust/Cargo.toml b/src/l4/pkg/l4rust/l4re-rust/Cargo.toml index 6d540ede7d..6b865a4ebd 100644 --- a/src/l4/pkg/l4rust/l4re-rust/Cargo.toml +++ b/src/l4/pkg/l4rust/l4re-rust/Cargo.toml @@ -15,5 +15,12 @@ path = "../l4-rust" # ToDo: make this conditional default-features = false +[dependencies.l4_sys] +path = "../l4-sys-rust" + [dependencies.l4_derive] path = "../l4_derive-rust" + +[dependencies.bitflags] +version = "1.0" +default-features = false diff --git a/src/l4/pkg/l4rust/l4re-rust/lib.rs b/src/l4/pkg/l4rust/l4re-rust/lib.rs index 09469f02b1..58139d703a 100644 --- a/src/l4/pkg/l4rust/l4re-rust/lib.rs +++ b/src/l4/pkg/l4rust/l4re-rust/lib.rs @@ -1,18 +1,19 @@ //! L4Re interface crate //! //! Reimplemented methods -//#![no_std] +#![no_std] #![feature(associated_type_defaults)] extern crate core as _core; extern crate l4; extern crate l4_derive; -extern crate l4_sys; -extern crate libc; mod cap; pub mod env; pub mod mem; pub mod sys; +pub mod factory; +pub mod io; +pub mod factory; pub use cap::OwnedCap; diff --git a/src/l4/pkg/l4rust/l4re-rust/mem.rs b/src/l4/pkg/l4rust/l4re-rust/mem.rs index 3510f4f370..240f980b4d 100644 --- a/src/l4/pkg/l4rust/l4re-rust/mem.rs +++ b/src/l4/pkg/l4rust/l4re-rust/mem.rs @@ -11,7 +11,6 @@ use l4::Error; use l4::Result; use l4::cap::CapIdx; use l4::cap::Interface; -use l4::cap::Cap; use l4::task::THIS_TASK; use l4::ipc::MsgTag; use bitflags::bitflags; @@ -22,6 +21,8 @@ use crate::sys::l4re_ma_flags::*; use crate::sys::l4re_rm_flags_values::*; use crate::sys::l4re_rm_attach; use crate::sys::l4re_rm_detach; +use crate::sys::L4_fpage_rights::L4_FPAGE_RWX; +use crate::sys::l4_msg_item_consts_t::L4_MAP_ITEM_MAP; use l4_sys::l4re_util_cap_alloc; use l4_sys::l4_error_code_t::L4_EOK; use l4_sys::{L4_PAGESHIFT, L4_SUPERPAGESHIFT}; @@ -192,19 +193,17 @@ impl AttachedDataspace { let mut addr = self.ptr as usize; // source address; let page_size = 1 << self.cap.pageshift; assert!((addr | len) % page_size == 0); - println!("Starting to map dataspace from 0x{:x} to 0x{:x}, length: 0x{:x}, alignment: 0x{:x}", addr, addr, len, page_size); while len != 0 { let o = maxorder(addr, len, self.cap.pageshift); let sz = 1 << o; let fp = unsafe { l4_fpage_w(addr, o as u32, L4_FPAGE_RWX as u8) }; - let ctl = l4_map_obj_control(addr as u64, L4_MAP_ITEM_MAP as u64); + let ctl = l4_map_obj_control(addr as u64, L4_MAP_ITEM_MAP as u32); let tag : MsgTag = unsafe { l4_task_map(target.raw(), THIS_TASK.raw(), fp, ctl as usize) }.into(); tag.result()?; len -= sz; - println!("Mapped from 0x{:x} to 0x{:x}, length: 0x{:x}, remaining: 0x{:x}", addr, addr, sz, len); addr += sz; } diff --git a/src/l4/pkg/verix/pc-hal-l4/Cargo.toml b/src/l4/pkg/verix/pc-hal-l4/Cargo.toml index a6d60b202c..fb5b2bc940 100644 --- a/src/l4/pkg/verix/pc-hal-l4/Cargo.toml +++ b/src/l4/pkg/verix/pc-hal-l4/Cargo.toml @@ -7,3 +7,6 @@ edition = "2021" [dependencies] pc-hal = { path = "../pc-hal" } +l4_sys = { path = "../../l4rust/l4-sys-rust/" } +l4re = { path = "../../l4rust/l4re-rust/" } +l4 = { path = "../../l4rust/l4-rust/" } diff --git a/src/l4/pkg/verix/pc-hal-l4/src/lib.rs b/src/l4/pkg/verix/pc-hal-l4/src/lib.rs index 3b6aa85640..86de07f062 100644 --- a/src/l4/pkg/verix/pc-hal-l4/src/lib.rs +++ b/src/l4/pkg/verix/pc-hal-l4/src/lib.rs @@ -1,7 +1,3 @@ -extern crate l4; -extern crate l4_sys; -extern crate l4re; - use l4::cap::Cap; use l4re::env::get_cap; use l4re::factory::{Factory, FactoryCreate, IrqSender};