From dc42353f53df0b5425377330f16e668829d8fd9a Mon Sep 17 00:00:00 2001 From: dzwdz Date: Thu, 5 May 2022 21:01:25 +0200 Subject: kernel: ps2 driver is now a separate backend --- src/kernel/vfs/mount.c | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) (limited to 'src/kernel/vfs/mount.c') diff --git a/src/kernel/vfs/mount.c b/src/kernel/vfs/mount.c index a6c5970..232e702 100644 --- a/src/kernel/vfs/mount.c +++ b/src/kernel/vfs/mount.c @@ -4,6 +4,8 @@ #include #include +#include + struct vfs_mount *vfs_mount_seed(void) { struct vfs_mount *mount = kmalloc(sizeof *mount); struct vfs_backend *backend = kmalloc(sizeof *backend); @@ -19,7 +21,25 @@ struct vfs_mount *vfs_mount_seed(void) { .backend = backend, .refs = 1, // never to be freed }; - return mount; + + // what a mess. + // TODO register funcs + struct vfs_mount *ps2 = kmalloc(sizeof *ps2); + backend = kmalloc(sizeof *backend); + backend->is_user = false; + backend->potential_handlers = 1; + backend->refcount = 1; + backend->kern.ready = vfs_ps2_ready; + backend->kern.accept = vfs_ps2_accept; + *ps2 = (struct vfs_mount){ + .prev = mount, + .prefix = "/ps2", + .prefix_len = 4, + .backend = backend, + .refs = 1, + }; + + return ps2; } struct vfs_mount *vfs_mount_resolve( -- cgit v1.2.3