Port-amiga archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Problems with IOblix serial ports



John Klos wrote:

> I just got an IOblix four port serial and two port parallel card for my 
> Amiga, but I get a panic when I try to send the first character. I run
> cu, press a key on the keyboard, and get:
>
> uvm_fault(0x334350, 0x1518000, 0x1) -> 0xe
>    type 8, code [mmu,,ssw]: 1468200
> trap type 8, code = 1468200, v = 1518000
> pid = 520, lid = 1, pc = 01518000, ps = 2700, sfc = 1, dfc = 1
> Registers:
>               0        1        2        3        4        5        6
>                      7 dreg: 01518000 00000001 00000004 00000001
> 00006E7A 000033D4 00000000 00000000 areg: 01518000 0024AF20 00006C4A
> 0000699C 0000326C 0000335C 0BF8DC44 0DFFE7E0

I'm not that familiar with the output generated by the amiga port, but by
looking at the source it seems like the kernel tried to execute an
instruction at 0x01518000, ran into a MMU-exception, and uvm failed to map
a page for this address.

I guess this address is completely illegal, but to be honest I'm not sure
which address space the kernel is using. I remember that user programs
start at 0x2000, folllowed by the heap, shared objects are loaded from
0x08000000 on and the stack grows downwards from 0x0e000000.


> MMU fault Begin traceback...
> ?(?)
> panic(2ec86a,bf8db50,29d462,8,1468200) at 0
> panictrap(8,1468200,1518000,bf8dbe0) + 72
> trapmmufault(8,1468200,1518000,bf8dbe0,bed27e0,0,0) + 4a6
> trap(bf8dbe0,8,1468200,1518000) + 5ba
> _prop_dictionary_keysym32_pool(9d70d80) + 11cec98
> lev6intr(?)

It happened probably during a level 6 interrupt, caused by your IOblix card.
Those a standard ns8250/16550-compatible com(4) ports, which means that
comintr() from dev/ic/com.c would be called immediately, which certainly
doesn't have a major problem.

_prop_dictionary_keysym32_pool is not a function, but a common symbol,
AFAIK. Don't know whether the stack frame can be trusted here.


> I tried this with a GENERIC NetBSD 5 kernel, too, and there was no 
> change, and I also made sure I had IOBZCLOCK=24000000 in my kernel
> config because I have an older board.

Any chance to test a much older kernel, like NetBSD 4 or 3?

(I always have a bad consience when any Amiga/68k bug pops up, because of my
amigappc modifications ;)


> Any ideas? Is anyone else using an IOblix nowadays?

I have never seen one. I have a MFC2 lying around, but it worked last time I
checked.

I assume the bug is reproduceable? Does it happen with any of the four
serial ports, but not with the internal ser(4)?

In any case such a bug will be hard to fix without the hardware.
When you have the time to debug it, you should enter some printf() into
comintr() to understand what happens and to locate the crash.

-- 
Frank Wille



Home | Main Index | Thread Index | Old Index