From: Richard Weinberger <richard@nod.at>
To: Octavian Purdila <octavian.purdila@intel.com>
Cc: Linux-Arch <linux-arch@vger.kernel.org>,
LKML <linux-kernel@vger.kernel.org>,
Hajime Tazaki <thehajime@gmail.com>,
Anton Ivanov <anton.ivanov@kot-begemot.co.uk>
Subject: Re: [RFC PATCH 19/28] lkl tools: host lib: virtio block device
Date: Sun, 8 Nov 2015 14:30:34 +0100 [thread overview]
Message-ID: <563F4E7A.9040704@nod.at> (raw)
In-Reply-To: <CAE1zot+uEvkYd9B4861rZW2iGnai7fk_p0=kczfCYYvqCFa07g@mail.gmail.com>
Am 08.11.2015 um 05:15 schrieb Octavian Purdila:
> On Sat, Nov 7, 2015 at 2:24 PM, Richard Weinberger
> <richard.weinberger@gmail.com> wrote:
>> On Tue, Nov 3, 2015 at 9:20 PM, Octavian Purdila
>> <octavian.purdila@intel.com> wrote:
>>> Host independent implementation for virtio block devices. The host
>>> dependent part of the host library must provide an implementation for
>>> lkl_dev_block_ops.
>>>
>>> Disks can be added to the LKL configuration via lkl_disk_add(), a new
>>> LKL application API.
>>>
>>> Signed-off-by: Octavian Purdila <octavian.purdila@intel.com>
>>> ---
>>> tools/lkl/include/lkl.h | 20 ++++++++
>>> tools/lkl/include/lkl_host.h | 21 ++++++++
>>> tools/lkl/lib/virtio_blk.c | 116 +++++++++++++++++++++++++++++++++++++++++++
>>> 3 files changed, 157 insertions(+)
>>> create mode 100644 tools/lkl/lib/virtio_blk.c
>>
>
> Hi Richard,
>
>> Can you please outline what the differences between this driver and
>> UML's block driver are?
>>
>
> LKL actually uses the standard virtio block driver, it does not
> implement a new (Linux kernel) driver.
>
> This patch is the implementation for the host side device (in virtio's
> spec lingo).
>
> Or maybe I misunderstood your question?
I just realized, that virtio does not depend on PCI, I thought you've implemented something
on your own. That said, UML could also use virtio block.
>> While UML and LKL have different goals they could at least share some drivers.
>> UML also has networking drivers you could reuse.
>> Maybe it would make sense to integrate LKL completely into arch/um if
>> we find a nice way
>> to combine them.
>> CONFIG_UML_LIBRARY, hmm?
>> Would be a nice opportunity to clear away some dung from arch/um and
>> refactor it. :-)
>>
>
> Yeah, that would be nice :) I think the key part is to define the
> right host operations (in LKL terms) that can support UML. I'll have
> to spend some time to study UML's internals a bit to see if that would
> be doable.
arch/um/os-Linux/ is a good place to start. It implements most things on the host side.
Drivers like UML'S block driver always have foo_user.c and foo_kern.c part.
In case of any questions, just ask!
Thanks,
//richard
next prev parent reply other threads:[~2015-11-08 13:30 UTC|newest]
Thread overview: 55+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-03 20:20 [RFC PATCH 00/28] Linux Kernel Library Octavian Purdila
2015-11-03 20:20 ` [RFC PATCH 01/28] asm-generic: atomic64: allow using generic atomic64 on 64bit platforms Octavian Purdila
2015-11-03 20:20 ` [RFC PATCH 02/28] kbuild: allow architectures to automatically define kconfig symbols Octavian Purdila
2015-11-03 20:20 ` [RFC PATCH 03/28] lkl: architecture skeleton for Linux kernel library Octavian Purdila
2015-11-03 20:20 ` [RFC PATCH 04/28] lkl: host interface Octavian Purdila
2015-11-03 23:30 ` Hajime Tazaki
2015-11-03 20:20 ` [RFC PATCH 05/28] lkl: memory handling Octavian Purdila
2015-11-03 20:20 ` [RFC PATCH 06/28] lkl: kernel threads support Octavian Purdila
2015-11-03 20:20 ` [RFC PATCH 07/28] lkl: interrupt support Octavian Purdila
2015-11-03 20:20 ` [RFC PATCH 08/28] lkl: system call interface and application API Octavian Purdila
2015-11-07 23:24 ` Arnd Bergmann
2015-11-08 3:49 ` Octavian Purdila
2015-11-08 10:26 ` Arnd Bergmann
2015-11-03 20:20 ` [RFC PATCH 09/28] lkl: timers, time and delay support Octavian Purdila
2015-11-03 20:20 ` [RFC PATCH 10/28] lkl: memory mapped I/O support Octavian Purdila
2015-11-03 20:20 ` [RFC PATCH 11/28] lkl: basic kernel console support Octavian Purdila
2015-11-03 20:20 ` [RFC PATCH 12/28] init: allow architecture code to overide run_init_process Octavian Purdila
2015-11-03 20:20 ` [RFC PATCH 13/28] lkl: initialization and cleanup Octavian Purdila
2015-11-03 20:20 ` [RFC PATCH 14/28] lkl: plug in the build system Octavian Purdila
2015-11-03 20:20 ` [RFC PATCH 15/28] lkl tools: skeleton for host side library, tests and tools Octavian Purdila
2015-11-03 20:20 ` [RFC PATCH 16/28] lkl tools: host lib: add lkl_strerror and lkl_printf Octavian Purdila
2015-11-03 20:20 ` [RFC PATCH 17/28] lkl tools: host lib: memory mapped I/O helpers Octavian Purdila
2015-11-03 20:20 ` [RFC PATCH 18/28] lkl tools: host lib: virtio devices Octavian Purdila
2015-11-03 20:20 ` [RFC PATCH 19/28] lkl tools: host lib: virtio block device Octavian Purdila
2015-11-07 12:24 ` Richard Weinberger
2015-11-08 4:15 ` Octavian Purdila
2015-11-08 13:30 ` Richard Weinberger [this message]
2015-11-03 20:20 ` [RFC PATCH 20/28] lkl tools: host lib: filesystem helpers Octavian Purdila
2015-11-03 20:20 ` [RFC PATCH 21/28] lkl tools: host lib: posix host operations Octavian Purdila
2015-11-07 23:16 ` Arnd Bergmann
2015-11-08 4:01 ` Octavian Purdila
2015-11-08 10:35 ` Arnd Bergmann
2015-11-03 20:20 ` [RFC PATCH 22/28] lkl tools: "boot" test Octavian Purdila
2015-11-03 20:20 ` [RFC PATCH 23/28] lkl tools: tool that converts a filesystem image to tar Octavian Purdila
2015-11-03 20:20 ` [RFC PATCH 24/28] lkl tools: tool that reads/writes to/from a filesystem image Octavian Purdila
2015-11-03 20:20 ` [RFC PATCH 25/28] signal: use CONFIG_X86_32 instead of __i386__ Octavian Purdila
2015-11-03 20:20 ` [RFC PATCH 26/28] asm-generic: vmlinux.lds.h: allow customized rodata section name Octavian Purdila
2015-11-03 20:20 ` [RFC PATCH 27/28] lkl: add support for Windows hosts Octavian Purdila
2015-11-03 20:20 ` [RFC PATCH 28/28] lkl tools: add support for Windows host Octavian Purdila
2015-11-03 21:40 ` [RFC PATCH 00/28] Linux Kernel Library Richard Weinberger
2015-11-03 22:45 ` Richard W.M. Jones
2015-11-03 23:23 ` Hajime Tazaki
2015-11-03 23:24 ` Octavian Purdila
2015-11-04 13:22 ` Austin S Hemmelgarn
2015-11-04 13:50 ` Richard W.M. Jones
2015-11-04 14:15 ` Octavian Purdila
2015-11-07 0:35 ` Richard Weinberger
2015-11-07 7:19 ` Richard W.M. Jones
2015-11-07 10:48 ` Richard W.M. Jones
2015-11-09 16:35 ` Octavian Purdila
2015-11-08 4:16 ` Octavian Purdila
2015-11-08 4:36 ` Octavian Purdila
2015-11-03 23:06 ` Octavian Purdila
[not found] ` <1670BE0E-C0E0-4D45-BF16-1FF60C298149@gmail.com>
2015-11-09 15:11 ` Octavian Purdila
2015-11-08 13:45 ` Hajime Tazaki
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=563F4E7A.9040704@nod.at \
--to=richard@nod.at \
--cc=anton.ivanov@kot-begemot.co.uk \
--cc=linux-arch@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=octavian.purdila@intel.com \
--cc=thehajime@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox