lkml.org 
[lkml]   [2015]   [Nov]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [RFC PATCH 19/28] lkl tools: host lib: virtio block device
From
Date
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


\
 
 \ /
  Last update: 2015-11-08 14:41    [W:0.496 / U:0.160 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site