From: Nick Garnett <nickg@cygnus.co.uk>
To: "Ling Su" <lingsu@palmmicro.com>
Cc: "Jonathan Larmour" <jlarmour@redhat.com>,
<ecos-discuss@sources.redhat.com>
Subject: [ECOS] Re: Problem on allocate PCI memory space...
Date: Thu, 14 Sep 2000 03:08:00 -0000 [thread overview]
Message-ID: <posnr3l259.fsf@balti.cygnus.co.uk> (raw)
In-Reply-To: <001c01c01dba$68062690$0201a8c0@raccoon>
"Ling Su" <lingsu@palmmicro.com> writes:
> > >
> > > Program received signal SIGSEGV, Segmentation fault.
> > > 0x80100bb8 in pci_test () at pcitest.c:293
> > > 293 (*(pci_base + 0x004)) = 0x0000;
> > >
> > > Dump of assembler code from 0x80100ba6 to 0x80100bff:
> > > 0x80100ba6 <pci_test+682>: daddiu $a0,$a0,-8908
> > > 0x80100baa <pci_test+686>: jal 0x8010522c <diag_printf>
> > > 0x80100bae <pci_test+690>: lw $a1,156($s8)
> > > 0x80100bb2 <pci_test+694>: lw $v0,156($s8)
> > > 0x80100bb6 <pci_test+698>: addiu $v0,$v0,4
> > > 0x80100bba <pci_test+702>: sb $zero,0($v0)
> >
> > I would guess that this sb is the problem instruction. One thought is
> > that the device is not happy with byte sized accesses. Maybe you need
> > to do 16 bit or 32 bit accesses. This is certainly true of the
> > configuration space.
> >
>
> I tried to access 32bit access, the result is the same. So this won't be the
> problem.
>
> > See my previous message about how to determine whether this is a TLB
> > or an device problem.
> >
> > If you take a look at the registers and the specific instruction that
> > the exception occured on you should be able to work out exactly what
> > address it was trying to access, and the value in the cause register
> > should tell you what exception it actually was. If it's a TLB
> > exception then maybe the MMU setup needs changing, if its
> > a bus exception then the problem lies in the hardware setup.
> >
>
> I checked the "cause" register, the value is 0x800C, which means the TLB
> Miss Exception(store) occurs. I dobut if I only change the NUMB_PG to 16 the
> TLB will be enough to handle 512MB space, could you please take a look at
> the TLB part. I will also check this by myself.
>
> Could you please explain the implementation of TLB in eCos a little bit for
> me? Thanks!
>
To be honest I know very little about the TLB or the code to set it
up. That was all taken from the PMON sources and fortunately worked as
it was.
As far as I can see, in its default state it is setting up 16 16Mb
pages in the TLB. Starting at 0x80000000 physical and mapping them to
0xC0000000 virtual.
I cannot see any reason why simply increasing NUMB_PG would not work,
assuming that the TLB has >8 entry pairs. None of the constants seem
to be dependant on the value of NUMB_PG.
--
Nick Garnett, eCos Kernel Architect
Red Hat, Cambridge, UK
prev parent reply other threads:[~2000-09-14 3:08 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2000-09-11 21:05 [ECOS] Fw: [ECOS] How to access PCI memory(HELP) Ling Su
2000-09-12 2:56 ` [ECOS] " Nick Garnett
2000-09-12 11:07 ` Ling Su
2000-09-13 3:09 ` Nick Garnett
2000-09-12 15:52 ` [ECOS] Anyway to access the 7 segment display on NEC vrc4373 board? Ling Su
2000-09-13 11:58 ` [ECOS] " Jonathan Larmour
2000-09-12 18:31 ` [ECOS] Problem on allocate PCI memory space Ling Su
2000-09-13 3:19 ` [ECOS] " Nick Garnett
2000-09-13 12:40 ` Ling Su
2000-09-13 17:41 ` Ling Su
2000-09-14 3:32 ` Nick Garnett
2000-09-14 3:43 ` Andrew Lunn
2000-09-14 14:46 ` Ling Su
2000-09-14 14:51 ` Jonathan Larmour
2000-09-14 17:53 ` Ling Su
2000-09-14 3:08 ` Nick Garnett [this message]
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=posnr3l259.fsf@balti.cygnus.co.uk \
--to=nickg@cygnus.co.uk \
--cc=ecos-discuss@sources.redhat.com \
--cc=jlarmour@redhat.com \
--cc=lingsu@palmmicro.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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).