refactor: migrate all servers, apps, binaries to libkos

This commit is contained in:
2026-10-19 00:57:27 +02:00
parent a4315d7665
commit 9dd400656c
31 changed files with 64 additions and 65 deletions

42
Cargo.lock generated
View File

@@ -57,11 +57,10 @@ dependencies = [
"display-server",
"driver-framebuffer-mock",
"driver-framebuffer-virtio",
"libkos",
"port-framebuffer",
"server-framework",
"types",
"userspace",
"userspace-rt",
]
[[package]]
@@ -127,9 +126,8 @@ dependencies = [
name = "echo"
version = "0.1.0"
dependencies = [
"libkos",
"types",
"userspace",
"userspace-rt",
]
[[package]]
@@ -148,7 +146,7 @@ version = "0.1.0"
name = "hello"
version = "0.1.0"
dependencies = [
"userspace-rt",
"libkos",
]
[[package]]
@@ -163,9 +161,8 @@ name = "init"
version = "0.1.0"
dependencies = [
"elf",
"libkos",
"types",
"userspace",
"userspace-rt",
]
[[package]]
@@ -175,21 +172,19 @@ dependencies = [
"driver-input-uart",
"driver-input-virtio",
"input-server",
"libkos",
"server-framework",
"types",
"userspace",
"userspace-rt",
]
[[package]]
name = "input-server"
version = "0.1.0"
dependencies = [
"libkos",
"port-input-device",
"server-framework",
"types",
"userspace",
"userspace-rt",
]
[[package]]
@@ -205,14 +200,20 @@ dependencies = [
name = "keychain-server"
version = "0.1.0"
[[package]]
name = "libkos"
version = "0.1.0"
dependencies = [
"types",
]
[[package]]
name = "log-server"
version = "0.1.0"
dependencies = [
"libkos",
"server-framework",
"types",
"userspace",
"userspace-rt",
]
[[package]]
@@ -235,10 +236,9 @@ version = "0.1.0"
name = "permission-manager"
version = "0.1.0"
dependencies = [
"libkos",
"server-framework",
"types",
"userspace",
"userspace-rt",
]
[[package]]
@@ -276,18 +276,17 @@ version = "0.1.0"
name = "server-framework"
version = "0.1.0"
dependencies = [
"libkos",
"types",
"userspace",
]
[[package]]
name = "session-server"
version = "0.1.0"
dependencies = [
"libkos",
"server-framework",
"types",
"userspace",
"userspace-rt",
]
[[package]]
@@ -295,18 +294,17 @@ name = "snake"
version = "0.1.0"
dependencies = [
"display-server",
"libkos",
"server-framework",
"types",
"userspace",
"userspace-rt",
]
[[package]]
name = "storage-qemu"
version = "0.1.0"
dependencies = [
"libkos",
"storage-server",
"userspace-rt",
]
[[package]]
@@ -314,10 +312,10 @@ name = "storage-server"
version = "0.1.0"
dependencies = [
"driver-block-virtio",
"libkos",
"port-block-device",
"server-framework",
"types",
"userspace",
]
[[package]]

View File

@@ -10,5 +10,5 @@ bench = false
[dependencies]
types = { workspace = true }
userspace = { workspace = true }
userspace-rt = { workspace = true }
libkos = { workspace = true }

View File

@@ -1,10 +1,10 @@
#![no_std]
#![no_main]
extern crate userspace_rt;
extern crate libkos;
use types::bounded::CapSlot;
use userspace::syscall;
use libkos::syscall;
#[unsafe(no_mangle)]
extern "C" fn main() {

View File

@@ -9,4 +9,4 @@ test = false
bench = false
[dependencies]
userspace-rt = { workspace = true }
libkos = { workspace = true }

View File

@@ -1,7 +1,7 @@
#![no_std]
#![no_main]
extern crate userspace_rt;
extern crate libkos;
#[unsafe(no_mangle)]
extern "C" fn main() {

View File

@@ -10,7 +10,7 @@ bench = false
[dependencies]
types = { workspace = true }
userspace = { workspace = true }
userspace-rt = { workspace = true }
libkos = { workspace = true }
display-server = { workspace = true }
server-framework = { workspace = true }

View File

@@ -1,14 +1,14 @@
#![no_std]
#![no_main]
extern crate userspace_rt;
extern crate libkos;
use snake::game::{Direction, GameState, Snake};
use snake::renderer::{self, RenderCommand};
use types::bounded::CapSlot;
use types::display::{Color, Dimension, ScreenCoord};
use types::time::Ticks;
use userspace_rt::syscall;
use libkos::syscall;
use server_framework::Encode;
use display_server::protocol::DisplayRequest;

View File

@@ -10,8 +10,8 @@ bench = false
[dependencies]
types = { workspace = true }
userspace-rt = { workspace = true }
userspace = { workspace = true }
libkos = { workspace = true }
server-framework = { workspace = true }
display-server = { workspace = true }
driver-framebuffer-virtio = { workspace = true }

View File

@@ -1,7 +1,7 @@
#![no_std]
#![no_main]
extern crate userspace_rt;
extern crate libkos;
use types::bounded::CapSlot;
@@ -15,7 +15,7 @@ extern "C" fn main() {
run_mock(ep);
}
loop { userspace::syscall::yield_now(); }
loop { libkos::syscall::yield_now(); }
}
#[inline(never)]

View File

@@ -10,8 +10,8 @@ bench = false
[dependencies]
types = { workspace = true }
userspace-rt = { workspace = true }
userspace = { workspace = true }
libkos = { workspace = true }
server-framework = { workspace = true }
input-server = { workspace = true }
driver-input-uart = { workspace = true }

View File

@@ -1,7 +1,7 @@
#![no_std]
#![no_main]
extern crate userspace_rt;
extern crate libkos;
use types::bounded::CapSlot;
@@ -15,7 +15,7 @@ extern "C" fn main() {
run_uart(ep);
}
loop { userspace::syscall::yield_now(); }
loop { libkos::syscall::yield_now(); }
}
#[inline(never)]

View File

@@ -9,5 +9,5 @@ test = false
bench = false
[dependencies]
userspace-rt = { workspace = true }
libkos = { workspace = true }
storage-server = { workspace = true }

View File

@@ -1,7 +1,7 @@
#![no_std]
#![no_main]
extern crate userspace_rt;
extern crate libkos;
#[unsafe(no_mangle)]
extern "C" fn main() {

View File

@@ -11,5 +11,5 @@ bench = false
[dependencies]
elf = { workspace = true }
types = { workspace = true }
userspace = { workspace = true }
userspace-rt = { workspace = true }
libkos = { workspace = true }

View File

@@ -3,7 +3,7 @@
use types::address::{EntryPoint, StackPointer, VirtualAddress};
use types::bounded::{CapSlot, PageCount};
use types::permission::{Permission, PermissionSet};
use userspace::syscall;
use libkos::syscall;
const PAGE_SIZE: usize = 4096;
const USER_CODE_BASE: usize = 0x10000;

View File

@@ -1,7 +1,7 @@
#![no_std]
#![no_main]
extern crate userspace_rt;
extern crate libkos;
#[unsafe(no_mangle)]
extern "C" fn main(shared_buf: usize) {

View File

@@ -14,7 +14,7 @@ qemu-virt = []
[dependencies]
types = { workspace = true }
userspace = { workspace = true }
userspace-rt = { workspace = true }
libkos = { workspace = true }
server-framework = { workspace = true }
port-input-device = { workspace = true }

View File

@@ -18,5 +18,5 @@ pub fn run() -> ! {
let mut srv = server::InputServer::new(device);
let ep = types::bounded::CapSlot::new(0).unwrap();
server_framework::serve(&mut srv, ep);
loop { userspace::syscall::yield_now(); }
loop { libkos::syscall::yield_now(); }
}

View File

@@ -1,7 +1,7 @@
#![no_std]
#![no_main]
extern crate userspace_rt;
extern crate libkos;
#[unsafe(no_mangle)]
extern "C" fn main() {

View File

@@ -10,6 +10,6 @@ bench = false
[dependencies]
types = { workspace = true }
userspace = { workspace = true }
userspace-rt = { workspace = true }
libkos = { workspace = true }
server-framework = { workspace = true }

View File

@@ -11,5 +11,5 @@ pub fn run() -> ! {
let mut srv = server::LogServer::new();
let ep = types::bounded::CapSlot::new(0).unwrap();
server_framework::serve(&mut srv, ep);
loop { userspace::syscall::yield_now(); }
loop { libkos::syscall::yield_now(); }
}

View File

@@ -1,7 +1,7 @@
#![no_std]
#![no_main]
extern crate userspace_rt;
extern crate libkos;
#[unsafe(no_mangle)]
extern "C" fn main() {

View File

@@ -10,6 +10,6 @@ bench = false
[dependencies]
types = { workspace = true }
userspace = { workspace = true }
userspace-rt = { workspace = true }
libkos = { workspace = true }
server-framework = { workspace = true }

View File

@@ -11,5 +11,5 @@ pub fn run() -> ! {
let mut srv = server::PermissionManager::new();
let ep = types::bounded::CapSlot::new(0).unwrap();
server_framework::serve(&mut srv, ep);
loop { userspace::syscall::yield_now(); }
loop { libkos::syscall::yield_now(); }
}

View File

@@ -1,7 +1,7 @@
#![no_std]
#![no_main]
extern crate userspace_rt;
extern crate libkos;
#[unsafe(no_mangle)]
extern "C" fn main() {

View File

@@ -10,6 +10,6 @@ bench = false
[dependencies]
types = { workspace = true }
userspace = { workspace = true }
userspace-rt = { workspace = true }
libkos = { workspace = true }
server-framework = { workspace = true }

View File

@@ -13,5 +13,5 @@ pub fn run() -> ! {
srv.register_app("snake", "/apps/snake.elf");
let ep = types::bounded::CapSlot::new(0).unwrap();
server_framework::serve(&mut srv, ep);
loop { userspace::syscall::yield_now(); }
loop { libkos::syscall::yield_now(); }
}

View File

@@ -1,7 +1,7 @@
#![no_std]
#![no_main]
extern crate userspace_rt;
extern crate libkos;
#[unsafe(no_mangle)]
extern "C" fn main() {

View File

@@ -72,7 +72,7 @@ impl SessionServer {
None => return SessionResponse::NotFound,
};
let process_cap = match userspace::syscall::create_process(self.create_cap) {
let process_cap = match libkos::syscall::create_process(self.create_cap) {
Some(cap) => cap,
None => return SessionResponse::Error,
};

View File

@@ -5,7 +5,8 @@ edition = "2024"
[dependencies]
types = { workspace = true }
userspace = { workspace = true }
server-framework = { workspace = true }
port-block-device = { workspace = true }
driver-block-virtio = { workspace = true }
libkos = { workspace = true }

View File

@@ -10,7 +10,7 @@ pub mod server;
#[path = "tests/mod.rs"]
mod tests;
use userspace::syscall;
use libkos::syscall;
const CMD_READ_FILE: usize = 1;
const SHARED_BUF_VA: usize = 0x30000;