<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src-test2/sys/modules/linux/Makefile, branch release/7.2.0_cvs</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src-test2/atom?h=release%2F7.2.0_cvs</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src-test2/atom?h=release%2F7.2.0_cvs'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/'/>
<updated>2009-05-01T02:51:58Z</updated>
<entry>
<title>Copy releng/7.2 to release/7.2.0 for FreeBSD 7.2-RELEASE.</title>
<updated>2009-05-01T02:51:58Z</updated>
<author>
<name>Ken Smith</name>
<email>kensmith@FreeBSD.org</email>
</author>
<published>2009-05-01T02:51:58Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=b205d83df7763ca1f099bce5ac12a05862a626c4'/>
<id>urn:sha1:b205d83df7763ca1f099bce5ac12a05862a626c4</id>
<content type='text'>
Approved by:	re (implicit)

This commit was manufactured to restore the state of the 7.2-RELEASE image.
</content>
</entry>
<entry>
<title>Fix the dependency for the linux_support.s, explicitely add linux_assym.h.</title>
<updated>2007-05-23T15:45:52Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2007-05-23T15:45:52Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=a96811b171d9d75f46296803bdf9063acf753cb1'/>
<id>urn:sha1:a96811b171d9d75f46296803bdf9063acf753cb1</id>
<content type='text'>
Reported by:	rwatson
In collaboration with:	rdivacky
Sponsored by:	Google SoC 2007
</content>
</entry>
<entry>
<title>Move futex support code from &lt;arch&gt;/support.s into linux compat directory.</title>
<updated>2007-05-23T08:33:06Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2007-05-23T08:33:06Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=1c182de9a99afd152c548bda64ab626a1b9f5a3e'/>
<id>urn:sha1:1c182de9a99afd152c548bda64ab626a1b9f5a3e</id>
<content type='text'>
Implement all futex atomic operations in assembler to not depend on the
fuword() that does not allow to distinguish between -1 and failure return.
Correctly return 0 from atomic operations on success.

In collaboration with:	rdivacky
Tested by:	Scot Hetzel &lt;swhetzel gmail com&gt;, Milos Vyletel &lt;mvyletel mzm cz&gt;
Sponsored by:	Google SoC 2007
</content>
</entry>
<entry>
<title>Backout the linux aio stuff. Several problems where identified and the</title>
<updated>2006-10-29T14:02:39Z</updated>
<author>
<name>Alexander Leidinger</name>
<email>netchild@FreeBSD.org</email>
</author>
<published>2006-10-29T14:02:39Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=3680a41902e44fbd0129e3c00045daeec8e1a1e5'/>
<id>urn:sha1:3680a41902e44fbd0129e3c00045daeec8e1a1e5</id>
<content type='text'>
dynamic nature (if no native aio code is available, the linux part
returns ENOSYS because of missing requisites) should be solved differently
than it is.

All this will be done in P4.

Not included in this commit is a backout of the changes to the native aio
code (removing static in some places). Those changes (and some more) will
also be needed when the reworked linux aio stuff will reenter the tree.

Requested by:	rwatson
Discussed with:	rwatson
</content>
</entry>
<entry>
<title>MFP4 (with some minor changes):</title>
<updated>2006-10-15T14:22:14Z</updated>
<author>
<name>Alexander Leidinger</name>
<email>netchild@FreeBSD.org</email>
</author>
<published>2006-10-15T14:22:14Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=6a1162d4cdc6f8c5a297f92a07f3f0fa18c270a8'/>
<id>urn:sha1:6a1162d4cdc6f8c5a297f92a07f3f0fa18c270a8</id>
<content type='text'>
Implement the linux_io_* syscalls (AIO). They are only enabled if the native
AIO code is available (either compiled in to the kernel or as a module) at
the time the functions are used. If the AIO stuff is not available there
will be a ENOSYS.

From the submitter:
---snip---
DESIGN NOTES:

1. Linux permits a process to own multiple AIO queues (distinguished by
   "context"), but FreeBSD creates only one single AIO queue per process.
   My code maintains a request queue (STAILQ of queue(3)) per "context",
   and throws all AIO requests of all contexts owned by a process into
   the single FreeBSD per-process AIO queue.

   When the process calls io_destroy(2), io_getevents(2), io_submit(2) and
   io_cancel(2), my code can pick out requests owned by the specified context
   from the single FreeBSD per-process AIO queue according to the per-context
   request queues maintained by my code.

2. The request queue maintained by my code stores contrast information between
   Linux IO control blocks (struct linux_iocb) and FreeBSD IO control blocks
   (struct aiocb). FreeBSD IO control block actually exists in userland memory
   space, required by FreeBSD native aio_XXXXXX(2).

3. It is quite troubling that the function io_getevents() of libaio-0.3.105
   needs to use Linux-specific "struct aio_ring", which is a partial mirror
   of context in user space. I would rather take the address of context in
   kernel as the context ID, but the io_getevents() of libaio forces me to
   take the address of the "ring" in user space as the context ID.

   To my surprise, one comment line in the file "io_getevents.c" of
   libaio-0.3.105 reads:

             Ben will hate me for this

REFERENCE:

1. Linux kernel source code:   http://www.kernel.org/pub/linux/kernel/v2.6/
   (include/linux/aio_abi.h, fs/aio.c)

2. Linux manual pages:         http://www.kernel.org/pub/linux/docs/manpages/
   (io_setup(2), io_destroy(2), io_getevents(2), io_submit(2), io_cancel(2))

3. Linux Scalability Effort:   http://lse.sourceforge.net/io/aio.html
   The design notes:           http://lse.sourceforge.net/io/aionotes.txt

4. The package libaio, both source and binary:
       http://rpmfind.net/linux/rpm2html/search.php?query=libaio
   Simple transparent interface to Linux AIO system calls.

5. Libaio-oracle:              http://oss.oracle.com/projects/libaio-oracle/
   POSIX AIO implementation based on Linux AIO system calls (depending on
   libaio).
---snip---

Submitted by:	Li, Xiao &lt;intron@intron.ac&gt;
</content>
</entry>
<entry>
<title>- Add the new files to the linux module.</title>
<updated>2006-08-15T13:01:36Z</updated>
<author>
<name>Alexander Leidinger</name>
<email>netchild@FreeBSD.org</email>
</author>
<published>2006-08-15T13:01:36Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=adfa0adec0b5d7c19c220a85ef6ca729235ed172'/>
<id>urn:sha1:adfa0adec0b5d7c19c220a85ef6ca729235ed172</id>
<content type='text'>
- Prepare the modules for build on amd64, but don't build them there as
  part of the kernel build yet. The code for the missing symbols on amd64
  isn't committed and it may be solved differently.

Sponsored by:	Google SoC 2006
Submitted by:	rdivacky
</content>
</entry>
<entry>
<title>Enhance the Linux emulation layer to make MegaRAID SAS managements tool happy.</title>
<updated>2006-05-05T16:10:45Z</updated>
<author>
<name>Doug Ambrisko</name>
<email>ambrisko@FreeBSD.org</email>
</author>
<published>2006-05-05T16:10:45Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=060e48824720626ae71cbff2328ec91f4aab1839'/>
<id>urn:sha1:060e48824720626ae71cbff2328ec91f4aab1839</id>
<content type='text'>
Add back in a scheme to emulate old type major/minor numbers via hooks into
stat, linprocfs to return major/minors that Linux app's expect.  Currently
only /dev/null is always registered.  Drivers can register via the Linux
type shim similar to the ioctl shim but by using
linux_device_register_handler/linux_device_unregister_handler functions.
The structure is:

    struct linux_device_handler {
        char    *bsd_driver_name;
        char    *linux_driver_name;
        char    *bsd_device_name;
        char    *linux_device_name;
        int     linux_major;
        int     linux_minor;
        int     linux_char_device;
    };

Linprocfs uses this to display the major number of the driver.  The
soon to be available linsysfs will use it to fill in the driver name.
Linux_stat uses it to translate the major/minor into Linux type values.

Note major numbers are dynamically assigned via passing in a -1 for
the major number so we don't need to keep track of them.

This is somewhat needed due to us switching to our devfs.  MegaCli
will not run until I add in the linsysfs and mfi Linux compat changes.

Sponsored by:	IronPort Systems
</content>
</entry>
<entry>
<title>Get rid of the need of COMPAT_43 in the linuxolator.</title>
<updated>2006-03-18T18:20:17Z</updated>
<author>
<name>Alexander Leidinger</name>
<email>netchild@FreeBSD.org</email>
</author>
<published>2006-03-18T18:20:17Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=5c8919adf42db11b7af50afde07a570d2749497a'/>
<id>urn:sha1:5c8919adf42db11b7af50afde07a570d2749497a</id>
<content type='text'>
Submitted by:	Divacky Roman &lt;xdivac02@stud.fit.vutbr.cz&gt;
Obtained from:	DragonFly (some parts)
</content>
</entry>
<entry>
<title>opt_vmpage.h is no longer needed here because it is not included by</title>
<updated>2006-01-26T19:21:27Z</updated>
<author>
<name>Alan Cox</name>
<email>alc@FreeBSD.org</email>
</author>
<published>2006-01-26T19:21:27Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=972e95c81ad804a58b38aad2745b2cb3ac3ff7d9'/>
<id>urn:sha1:972e95c81ad804a58b38aad2745b2cb3ac3ff7d9</id>
<content type='text'>
vm_page.h.
</content>
</entry>
<entry>
<title>Let modules use the kernel's opt_*.h files if built along with</title>
<updated>2005-10-14T23:30:17Z</updated>
<author>
<name>Yaroslav Tykhiy</name>
<email>ytykhiy@gmail.com</email>
</author>
<published>2005-10-14T23:30:17Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=822923447e454b30d310cb46903c9ddeca9f0a7a'/>
<id>urn:sha1:822923447e454b30d310cb46903c9ddeca9f0a7a</id>
<content type='text'>
the kernel by wrapping all targets for fake opt_*.h files in
.if defined(KERNBUILDDIR).  Thus, such fake files won't be
created at all if modules are built with the kernel.

Some modules undergo cleanup like removing unused or unneeded
options or .h files, without which they wouldn't build this way
or the other.

Reviewed by:	ru
Tested by:	no binary changes in modules built alone
Tested on:	i386 sparc64 amd64
</content>
</entry>
</feed>
