[Top][All Lists]

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

Re: Separating legacy drivers from device server.

From: Thomas Schwinge
Subject: Re: Separating legacy drivers from device server.
Date: Wed, 28 Mar 2007 00:51:50 +0200
User-agent: Mutt/1.5.11


On Fri, Mar 03, 2006 at 01:22:42PM +0100, Gianluca Guida wrote:
> I've recently been working on cleaning the drivers-related code.
> As you know, the linux glue that we are using at the moment have been
> added only "recently" (in Mach time). Coexistance between old drivers
> and "new" ones became possible by implementing a device emulation
> feature, [...]

> While this is quite cool and useful,is at the moment still a bit
> messy.  [...]

I just installed the following:

2007-03-27  Thomas Schwinge  <tschwinge@gnu.org>

        Unconditionally use the device driver multiplexing.  Suggested by
        Gianluca Guida <glguida@gmail.com>.   
        * i386/i386at/dev_hdr.h: Merge into `device/dev_hdr.h' and remove.
        * i386/i386at/device_emul.h: Rename to `device/device_emul.h'.  Adapt
        all users.
        * i386/i386at/i386at_ds_routines.c: Merge into `device/ds_routines.c'
        and remove.
        * i386/linux/dev/include/linux_emul.h: Remove file.
        * Makefrag.am (libkernel_a_SOURCES): Add `device/device_emul.h'.
        * i386/Makefrag.am (libkernel_a_SOURCES): Remove
        `i386/i386at/dev_hdr.h', `i386/i386at/device_emul.h' and
        * i386/linux/Makefrag.am (liblinux_a_SOURCES): Remove
        * dev/dev_hdr.h: Adapt all users of `i386' as if it were always
        * device/dev_lookup.c: Likewise.
        * device/ds_routines.c: Likewise.
        * device/device_init.c (ds_init): Rename to `mach_device_init'.
        * device/ds_routines.c (ds_init): Likewise.
        (ds_trap_init): Rename to `mach_device_trap_init'.
        (mach_device_trap_init): Make it `static'.
        * linux/dev/glue/block.c: Don't include <linux_emul.h>, but instead
        include <device/device_emul.h> and <i386at/disk.h>.
        * linux/dev/glue/net.c: Don't include <linux_emul.h>, but instead
        include <device/device_emul.h>.
        * linux/pcmcia-cs/glue/ds.c: Likewise.

I have done some things differently from how you suggested originally:

> 2006-02-24  GIanluca Guida  <glguida@gmail.com>
>        * device/blkio.c: Moved to ...
>        * legacy/blkio.c: ... here.

I decided to leave all these files where they are.

>        * device/net_io.c: Do not include <device/io_req.h> and
>        <device/ds_routines.h>.
>        (net_write): Function removed.

I left it alive for now.

>        (net_fwrite)[FIPC]: Likewise.

That one was already removed.

>        * device/device_init.c (device_service_create): Don't call
>        ds_init, dev_lookup_init, net_io_init, chario_init.  Do not create
>        io_done_thread and net_thread. Call legacy_init.
>        * legacy/legacy_init.c: New file.

I didn't change that.

>        * legacy/dev_lookup (convert_device_to_port): Function moved to ...
>        * device/ds_routines.c (convert_device_to_port): ... here.

I didn't move that function.

Thanks for working on this!


Attachment: signature.asc
Description: Digital signature

reply via email to

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