Problem booting Linux 2.6 on Virtex-4
Stephen Neuendorffer
stephen.neuendorffer at xilinx.com
Tue Jan 15 08:09:52 EST 2008
What kernel version are you targeting? Are you using arch/powerpc or arch/ppc? V4 has a data cache errata, which isn't currently in mainline arch/powerpc.
if((mfpvr() & 0xfffff000) == 0x20011000) {
/* PPC errata 213: only for Virtex-4 FX */
__asm__("mfccr0 0\n\t"
"oris 0,0,0x50000000 at h\n\t"
"mtccr0 0"
: : : "0");
}
Steve
> -----Original Message-----
> From: linuxppc-embedded-bounces+stephen=neuendorffer.name at ozlabs.org [mailto:linuxppc-embedded-
> bounces+stephen=neuendorffer.name at ozlabs.org] On Behalf Of David Baird
> Sent: Monday, January 14, 2008 12:12 PM
> To: linuxppc-embedded at ozlabs.org
> Subject: Re: Problem booting Linux 2.6 on Virtex-4
>
> On Jan 14, 2008 1:37 AM, Enno Lübbers <enno.luebbers at upb.de> wrote:
> > Hello David,
> >
> > Am 14.01.2008 um 06:12 schrieb David Baird:
> >
> > > I'm having trouble with getting Linux to boot farther than early_init.
> > > [...]
> > > So, I experimented further and discovered that different memory
> > > regions seem to be aliased on to each other every 2*32*256 bytes.
> >
> >
> > This sounds either like a wrong programming of an BRx/ORx memory
> > controller register pair (which, AFAIK, the PPC405 does not have), or
> > like a messed up address map in EDK. My guess is that an optimized/
> > sloppy implementation of the address decoder for some peripheral in an
> > EDK system could produce something like you described; or there's a
> > block RAM that's attached to a controller in the wrong way; or the
> > bank/address parameters of the DDR controller don't match the physical
> > setup... there's a lot that can go wrong obviously on a configurable
> > SoC.
>
> What has been confusing me is that I am unable to reproduce the
> problem in real mode. I can only reproduce the problem in virtual
> mode. This leads me to believe, perhaps mistakenly, that the hardware
> is implemented okay. OTOH, neither can I see anything wrong with the
> software.
>
> > Can you be more specific about your hardware platform? Is this a
> > reference design? What board are you using?
>
> I am currently testing code on the ML403 evaluation board. I used the
> Base System Builder in EDK to create the hardware design and DDR SDRAM
> is being used as the main RAM starting at address 0x00000000 and also
> with OCM BRAM mapped at the very end of the address space (so that
> 0xfffffffc can contain code to execute on startup).
>
> I am now trying to experiment with the hardware and see if I can find
> a hardware reference design. I will let you know what I figure out.
>
> -David
> _______________________________________________
> Linuxppc-embedded mailing list
> Linuxppc-embedded at ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc-embedded
More information about the Linuxppc-embedded
mailing list