From: Guangye Tian <guangye.tian@gmail.com>
To: linuxppc-dev@ozlabs.org
Subject: FSL driver for powerpc linux2.6 (xilinx ML403)
Date: Wed, 25 Mar 2009 17:01:31 +0100 [thread overview]
Message-ID: <2a3c3b490903250901l65f46cdbv3c6f93f853b56bbf@mail.gmail.com> (raw)
Hello,
I am working with the xilinx ML403 evaluation board which has a
Virtex4 FPGA and one powerpc405 processor is integrated.
I am trying to develop a linux driver for FSL link for powerpc405. I
developed one first version (with the referce of the microblaze fsl
driver developped by Mr. John Williams for uClinux) as a loadable
module, and loaded it after Linux is booted. But when I run some
testing function like "cat /dev/fslfifo", it crashes the kernel.
I suppose that it is because FSL operations (like nget, nput, etc. )
are not part of the ppc instruction set and are realized by APU
instruction extension. For the processor to execute the extended
instructions correctly, the MSR register should be set accordingly to
enable APU. (XREG_MSR_APU_AVAILABLE + XREG_MSR_APU_ENABLE). Before I
worked with ppc without os, and the management of special purpose
registers are rather straight forward and it concerns only some
assembly language at the beginning of the main() function. But with
os, I have no experience dealing explicitely with special purpose
registers. So I tried the following:
I set the MSR at the initialisation phase by
mtmsr(XREG_MSR_APU_AVAILABLE | XREG_MSR_APU_ENABLE | mfmsr())
However, when I set the MSR at the initialization function, and test
afterwards, the MSR value is set back to some default value. I don't
know where it happened neighter do I know if I am using the correct
measure to change the MSR value.
Does anybody have any suggestions?
Thank you,
Guangye
reply other threads:[~2009-03-25 16:01 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
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=2a3c3b490903250901l65f46cdbv3c6f93f853b56bbf@mail.gmail.com \
--to=guangye.tian@gmail.com \
--cc=linuxppc-dev@ozlabs.org \
/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;
as well as URLs for NNTP newsgroup(s).