From: Carlos Munoz <carlos@kenati.com>
To: Lee Revell <rlrevell@joe-job.com>, Valdis.Kletnieks@vt.edu
Cc: Carlos Munoz <carlos@kenati.com>, linux-kernel@vger.kernel.org
Subject: Re: How can I link the kernel with libgcc ?
Date: Thu, 09 Mar 2006 19:25:50 -0800 [thread overview]
Message-ID: <4410F1BE.7000904@kenati.com> (raw)
In-Reply-To: <4410EC0D.3090303@kenati.com>
Carlos Munoz wrote:
> Lee Revell wrote:
>
>> On Thu, 2006-03-09 at 20:45 -0500, Valdis.Kletnieks@vt.edu wrote:
>>
>>
>>> On Thu, 09 Mar 2006 17:44:16 PST, Carlos Munoz said:
>>>
>>>
>>>> I'm writing an audio driver and the hardware requires floating
>>>> point arithmetic. When I build the kernel I get the following
>>>> errors at link time:
>>>>
>>>
>>> Tough break, that. You sure you can't figure a way to either push the
>>> floating point out to userspace
>>>
>>
>>
>> Audio drivers should never have to directly manipulate the samples -
>> they just manage the DMA buffers and interrupts and wake up the process
>> at the right time. Mixing, routing, volume control, DSP go in
>> userspace.
>>
>> Lee
>>
>>
>>
> Hi Lee,
>
> Unfortunately, the driver needs to populate several coefficient tables
> for the hardware to perform silence suppression and other advance
> features. The values for these tables are calculated using log10
> operations. I don't see a clean way to push these operations to user
> space without the need for custom applications that build the tables
> and pass them to the driver.
>
> Thanks,
>
>
> Carlos Munoz
>
Anyway,
I figured out how to get the driver to use floating point operations. I
included source code (from an open source math library) for the log10
function in the driver. Then I added the following lines to the file
arch/sh/kernel/sh_ksyms.c:
DECLARE_EXPORT(__subdf3);
DECLARE_EXPORT(__muldf3);
DECLARE_EXPORT(__divdf3);
DECLARE_EXPORT(__adddf3);
DECLARE_EXPORT(__floatsidf);
DECLARE_EXPORT(__eqdf2);
DECLARE_EXPORT(__fixdfsi);
Everything works now.
Thanks,
Carlos Munoz
next prev parent reply other threads:[~2006-03-10 3:21 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-03-10 1:44 How can I link the kernel with libgcc ? Carlos Munoz
2006-03-10 1:45 ` Valdis.Kletnieks
2006-03-10 2:06 ` Lee Revell
2006-03-10 3:01 ` Carlos Munoz
2006-03-10 3:22 ` Lee Revell
2006-03-10 3:25 ` Carlos Munoz [this message]
2006-03-10 3:25 ` Lee Revell
2006-03-10 3:47 ` Carlos Munoz
2006-03-10 10:37 ` Denis Vlasenko
2006-03-10 11:05 ` Bart Hartgers
2006-03-10 18:03 ` Carlos Munoz
2006-03-10 18:33 ` linux-os (Dick Johnson)
2006-03-10 18:41 ` Ben Slusky
2006-03-10 19:18 ` Al Viro
2006-03-10 20:04 ` Carlos Munoz
2006-03-10 10:18 ` Jes Sorensen
2006-03-10 18:07 ` Carlos Munoz
2006-03-10 8:01 ` Arjan van de Ven
2006-03-10 2:02 ` Lee Revell
[not found] <5OEVB-3GX-15@gated-at.bofh.it>
2006-03-10 2:32 ` Robert Hancock
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=4410F1BE.7000904@kenati.com \
--to=carlos@kenati.com \
--cc=Valdis.Kletnieks@vt.edu \
--cc=linux-kernel@vger.kernel.org \
--cc=rlrevell@joe-job.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