Messages in this thread | | | Date | Wed, 15 Oct 2008 02:10:19 +0400 | From | Alexey Dobriyan <> | Subject | Re: GPL question: using large contiguous memory in proprietary driver. |
| |
On Tue, Oct 14, 2008 at 02:56:40PM -0700, Kaz Kylheku wrote: > I have the following question. Suppose that some proprietary driver > (otherwise completely clean, based only on non-GPL symbols)
You have strange notion of "clean".
> requires a large buffer of physically contiguous memory. > > A GPL-ed driver could get this memory by having some boot-time > code compiled into the kernel which calls bootmem_alloc during > kernel initialization. This function would stash the address of the > memory into some global variable which is exported for the > module to use. > > How do you solve this problem in a proprietary driver?
:-)
> It seems > like the above solution taints the kernel, because the kernel > provides a symbol which exists only for the sake of supporting > a proprietary driver. > > Would it be okay to have a mechanism like this: > Suppose that on the kernel command line, you could > request a boot-time memory allocation and give it a name. > For instance, the parameter: > > boot_alloc=foo,8192K > > would create an 8192 kilobyte allocation, and associate it > with the string "foo". A non-GPL function would be provided to > find the address of this memory, using the string "foo" > as the key. The proprietary driver would document the > requirement that it needs a memory region of at least > 8192K, under the name "foo". > > Help! :)
Since the code to reserve memory and code to find by name won't be accepted, the question is rather pointless.
| |