[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [microblaze-uclinux] Kernel module driver crash
Hi David,
Please send your files
* petalinux-dist/linux-2.6.x/.config
and
petalinux-dist/config/.config
Thanks,
John
On Mon, Apr 27, 2009 at 6:25 AM, David Wong <davidikwong@xxxxxxxxx> wrote:
>
> Hi Ian, Giulio and Wendy,
>
> I would very much like to keep up with the issue you are working on. I ran your code (rename your code to test.c) on ML506 board but seeing:
>
> ---------------------------------------------
> # insmod ./test.ko
> Using ./test.ko
> insmod: Not configured to support old kernels
> ---------------------------------------------
>
> Do you know what's going on here? Looks like that I am not at your pace yet. Any insight would be greatly appreciated. Let me know if I can be of any help.
>
> David
>
> --- On Wed, 4/22/09, Whitmore Ian J <IJWHITMORE@xxxxxxxxxxx> wrote:
>
>> From: Whitmore Ian J <IJWHITMORE@xxxxxxxxxxx>
>> Subject: [microblaze-uclinux] Kernel module driver crash
>> To: microblaze-uclinux@xxxxxxxxxxxxxx
>> Date: Wednesday, April 22, 2009, 2:11 AM
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> Hi
>> all,
>>
>>
>>
>>
>> I am writing a
>> module driver and have run into a problem and
>> just wanted to check I’m not doing anything
>> stupid!
>>
>>
>>
>>
>> I am not
>> currently using the latest SVN version I am using
>> an export from the 25/2/09 – I am in the process of
>> updating to the
>> latest version.
>>
>>
>>
>>
>> I have made an
>> example which on my system causes an illegal
>> instruction Oops:
>>
>>
>>
>>
>> ---------------------------------------
>>
>>
>> #include
>> <linux/kernel.h>
>>
>> #include
>> <linux/init.h>
>>
>> #include
>> <linux/module.h>
>>
>>
>>
>>
>> MODULE_AUTHOR("Ian
>> Whitmore");
>>
>> MODULE_DESCRIPTION("Discovery
>> communications
>> example");
>>
>> MODULE_LICENSE("Dual
>> BSD/GPL");
>>
>>
>>
>>
>> static void
>> test1(void);
>>
>> static void
>> test2(void);
>>
>>
>>
>>
>> static int
>> __init startGoing(void)
>>
>> {
>>
>>
>>
>> printk("I'm in
>> startGoing\n");
>>
>>
>> test1();
>>
>>
>> test1();
>>
>>
>> return 0;
>>
>> }
>>
>>
>>
>>
>>
>> static void
>> __exit stopGoing(void)
>>
>> {
>>
>>
>>
>> printk("I'm in
>> stopGoing\n");
>>
>>
>> test1();
>>
>>
>> test1();
>>
>>
>> return;
>>
>> }
>>
>>
>>
>>
>>
>>
>>
>>
>> static void
>> test1(void)
>>
>> {
>>
>>
>>
>> printk("I'm in
>> test1\n");
>>
>>
>> test2();
>>
>>
>> test2();
>> //If
>> this call is commented out the module does not crash!
>>
>>
>>
>> return;
>>
>> }
>>
>>
>>
>>
>>
>> static void
>> test2(void)
>>
>> {
>>
>>
>>
>> printk("I'm in
>> test2\n");
>>
>>
>> return;
>>
>> }
>>
>>
>>
>>
>>
>> module_init(startGoing);
>>
>>
>>
>>
>> module_exit(stopGoing);
>>
>>
>>
>>
>>
>>
>>
>> This is the
>> error message I get:
>>
>>
>>
>>
>>
>>
>>
>>
>> # insmod
>> discovery-module.ko
>>
>> I'm in
>> startGoing
>>
>> Oops: Exception
>> in kernel mode, sig: 4
>>
>> Registers
>> dump: mode=8816FEC0
>>
>> r1=88038130,
>> r2=8809408C, r3=00000015, r4=FFFFFFFF
>>
>> r5=881605A4,
>> r6=00000001, r7=FFFFFFFF, r8=00000000
>>
>> r9=23410000,
>> r10=00000049, r11=00000000, r12=84000000
>>
>> r13=8F023B10,
>> r14=88096654, r15=8F5881B0, r16=881788F8
>>
>> r17=881787DC,
>> r18=00000000, r19=8802651C, r20=881788E0
>>
>> r21=00000001,
>> r22=881788F8, r23=00000001, r24=00000004
>>
>> r25=00000001,
>> r26=88004598, r27=8818172C, r28=8813F808
>>
>> r29=88178904,
>> r30=00000000, r31=00000000, rPC=88175968
>>
>> msr=00000000,
>> ear=00000000, esr=880020B4, fsr=00000A33
>>
>> Illegal
>> instruction
>>
>> ---------------------------------------
>>
>>
>>
>>
>>
>>
>>
>>
>> If I comment out
>> the 2nd call to test2() the
>> module does not crash:
>>
>> ---------------------------------------
>>
>>
>> # insmod
>> discovery-module.ko
>>
>> I'm in
>> startGoing
>>
>> I'm in
>> test1
>>
>> I'm in
>> test2
>>
>> I'm in
>> test1
>>
>>
>>
>> I'm in
>> test2
>>
>> #
>>
>>
>>
>>
>>
>>
>>
>> Has anyone got
>> any ideas?
>>
>>
>>
>>
>> Ian.
>>
>>
>>
>>
>>
>> PS. sorry about
>> the footer to this email – It’s
>> a work address and I can’t get rid of
>> it!!!
>>
>>
>>
>>
>> The information contained in this E-Mail and any
>> subsequent
>>
>> correspondence is private and is intended solely for the
>> intended
>>
>> recipient(s). The information in this communication
>> may be
>>
>> confidential and/or legally privileged. Nothing in
>> this e-mail is
>>
>> intended to conclude a contract on behalf of QinetiQ or
>> make QinetiQ
>>
>> subject to any other legally binding commitments, unless
>> the e-mail
>>
>> contains an express statement to the contrary or
>> incorporates a formal
>> Purchase Order.
>> For those other than the recipient any disclosure,
>> copying,
>> distribution,
>> or any action taken or omitted to be taken in reliance
>> on such information
>> is prohibited and may be unlawful.
>> Emails and other electronic communication with QinetiQ
>> may be
>> monitored
>> and recorded for business purposes including security,
>> audit
>> and archival
>> purposes. Any response to this email indicates
>> consent
>> to this.
>> Telephone calls to QinetiQ may be monitored or recorded
>> for quality
>>
>> control, security and other business purposes.
>> QinetiQ Limited
>> Registered in England & Wales: Company
>> Number:3796233
>> Registered office: 85 Buckingham Gate, London SW1E 6PD,
>> United
>> Kingdom
>> Trading address: Cody Technology Park, Cody Building, Ively
>> Road,
>> Farnborough, Hampshire, GU14 0LX, United Kingdom
>> http://www.qinetiq.com/home/notices/legal.html
>>
>>
>>
>>
>
>
>
>
> ___________________________
> microblaze-uclinux mailing list
> microblaze-uclinux@xxxxxxxxxxxxxx
> Project Home Page : http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
> Mailing List Archive : http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/
>
>
--
John Williams, PhD, B.Eng, B.IT
PetaLogix - Linux Solutions for a Reconfigurable World
w: www.petalogix.com p: +61-7-30090663 f: +61-7-30090663
___________________________
microblaze-uclinux mailing list
microblaze-uclinux@xxxxxxxxxxxxxx
Project Home Page : http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
Mailing List Archive : http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/