bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Web Updates: rump, libirqhelp, libmachdev, markup changes 2/4] docu


From: Samuel Thibault
Subject: Re: [Web Updates: rump, libirqhelp, libmachdev, markup changes 2/4] document libmachdev
Date: Sun, 13 Oct 2024 23:47:39 +0200

Applied, thanks!

jbranso@dismail.de via Bug reports for the GNU Hurd, le sam. 12 oct. 2024 
10:36:49 -0400, a ecrit:
> * hurd/libmachdev.mdwn: new file.
> * hurd/documentation.mdwn: link to libmachdev
> ---
>  hurd/documentation.mdwn |  1 +
>  hurd/libmachdev.mdwn    | 28 ++++++++++++++++++++++++++++
>  2 files changed, 29 insertions(+)
>  create mode 100644 hurd/libmachdev.mdwn
> 
> diff --git a/hurd/documentation.mdwn b/hurd/documentation.mdwn
> index b79ddb0a..68914697 100644
> --- a/hurd/documentation.mdwn
> +++ b/hurd/documentation.mdwn
> @@ -74,6 +74,7 @@ is included in the section entitled
>    * [[libstore]]
>    * [[libchannel]]
>    * [[libtrivfs]]
> +  * [[libmachdev]]
>    * [[libnetfs]] -- short introductory material
>    * [[libdiskfs]]
>    * [[libihash]]
> diff --git a/hurd/libmachdev.mdwn b/hurd/libmachdev.mdwn
> new file mode 100644
> index 00000000..3f8634e4
> --- /dev/null
> +++ b/hurd/libmachdev.mdwn
> @@ -0,0 +1,28 @@
> +[[!meta copyright="Copyright © 2024 Free Software Foundation, Inc."]]
> +
> +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
> +id="license" text="Permission is granted to copy, distribute and/or modify 
> this
> +document under the terms of the GNU Free Documentation License, Version 1.2 
> or
> +any later version published by the Free Software Foundation; with no 
> Invariant
> +Sections, no Front-Cover Texts, and no Back-Cover Texts.  A copy of the 
> license
> +is included in the section entitled [[GNU Free Documentation
> +License|/fdl]]."]]"""]]
> +
> +GNU/Linux is a monolithic kernel, meaning that a lot of functionality
> +is baked into the kernel, including filesystems like `ext4` or `xfs`.
> +Alternatively, the Hurd's filesystems are in userspace, but our disk
> +device drivers are baked into the GNU Mach kernel image (via
> +[[DDE|hurd/dde]]).  With [[rumpdisk|hurd/rump/rumpdisk]], the Hurd can
> +use SSDs with userspace device drivers! RumpDisk uses `libmachdev` as
> +a helper library.
> +
> +`libmachdev` exposes devices to userspace via some Mach `device-*` RPC
> +calls.  `libmachdev` provides a trivfs that intercepts the
> +`device_open` RPC, which the `/dev` node uses.  It also fakes a
> +filesystem node, so you can mount a `netfs` onto it.  You still have
> +to implement `device_read` and `device_write` yourself, but that code
> +runs in userspace.  An example of this can be found in
> +`rumpdisk/block-rump.c`.
> +
> +If [[serverboot V2|open_issues/serverbootv2]] is written, then
> +`libmachdev` could be simplified or maybe removed.
> -- 
> 2.45.2
> 
> 

-- 
Samuel
<b> lisons de l'assembleur c
 -+- #sos - CrisC forever -+-



reply via email to

[Prev in Thread] Current Thread [Next in Thread]