Date: Tue, 12 May 2009 11:54:13 +0300 From: Alexandr Rybalko <ray@dlink.ua> To: Oleksandr Tymoshenko <gonzo@freebsd.org> Cc: freebsd-mips@freebsd.org Subject: Re: BCM5354 D-Link DIR-320 Message-ID: <20090512115413.a9a94d87.ray@dlink.ua> In-Reply-To: <4A032821.1040800@freebsd.org> References: <20090506141208.9ea79d6a.ray@dlink.ua> <4A032821.1040800@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 07 May 2009 11:27:45 -0700 Oleksandr Tymoshenko <gonzo@freebsd.org> wrote: >> Alexandr Rybalko wrote: >> > Good day to all! >> > >> > bfe driver ported as client of siba bus, it`s worked, but work not done. >> > To dirty code :) >> > >> > Question to FreeBSD MIPS guru: >> > Maybe problem in me low experience in FreeBSD internals, but I thing bus_dmamem_alloc and bus_dmamem_load >> > ignore "alignment" attribute passed to bus_dma_tag_create. >> Yes, looks like it. I just skimmed the code and will confirm/test >> it a bit later. >> >> > >> > BFE need DMA descriptors page to be aligned to 4096, but I done this alignment only with set descriptors count from 128 to >> > 512 >> >> > >> > Next question, how I can start init (without "write fault at 0x2003821"), if someone know >> > start_init: trying /sbin/init >> > trap type 3 (TLB miss (store) - kernel mode) >> > badaddr = 0x7fffefff, pc = 0x80243400, ra = 0x800bdc2c, sp = 0xc0659e00, sr = 0xff03, pid = 1, ASID = 0x2 >> > trap type 3 (TLB miss (store) - kernel mode) >> > badaddr = 0xc36f4000, pc = 0x80243060, ra = 0x80243208, sp = 0xc0659d60, sr = 0xff03, pid = 1, ASID = 0x2 >> > trap type 3 (TLB miss (store) - kernel mode) >> > badaddr = 0xc36b4000, pc = 0x80243060, ra = 0x80243208, sp = 0xc0659d60, sr = 0xff03, pid = 1, ASID = 0x2 >> > trap type 3 (TLB miss (store) - kernel mode) >> > badaddr = 0x10004000, pc = 0x802435c8, ra = 0x802432cc, sp = 0xc0659b28, sr = 0xff03, pid = 1, ASID = 0x2 >> > trap type 3 (TLB miss (store) - kernel mode) >> > badaddr = 0x7fffefe0, pc = 0x802435c8, ra = 0x802432cc, sp = 0xc0659bc8, sr = 0xff03, pid = 1, ASID = 0x2 >> > trap type 3 (TLB miss (store) - kernel mode) >> > badaddr = 0x7fffdfc4, pc = 0x802435c8, ra = 0x802432cc, sp = 0xc0659bc8, sr = 0xff03, pid = 1, ASID = 0x2 >> > trap type 25 (address error (store) - user mode) >> > badaddr = 0x2003821, pc = 0x4001b4, ra = 0, sp = 0x7fffded8, sr = 0x12, pid = 1, ASID = 0x2 >> .. skipped .. >> These faults should not happen. I think pmap internal data is messed >> in some way. So there is no simple answer, this problem requires more >> debugging >> Maybe it so, because I have wrong value in "gp" register? Every function start with: lui gp,0xfc1 But ldscript.mips, ldscript.mips.cfe say "_gp = ALIGN(16) + 0x7ff0;" badvaddr: 02003821 pc: 004001b4 Dumping 4 words starting at pc address 0x4001b8: ac510000 8c840004 1080000e 00000000 4001b0: 8f828aa4 lw v0,-30044(gp) 4001b4: 1a000011 blez s0,4001fc <__start+0x84> 4001b8: ac510000 sw s1,0(v0) 4001bc: 8c840004 lw a0,4(a0) 4001c0: 1080000e beqz a0,4001fc <__start+0x84> 4001c4: 00000000 nop -- Рыбалко Александр Консультант D-Link Украина
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090512115413.a9a94d87.ray>