Quote:
Originally Posted by jonpry
I disassembled some of it. Mostly it is that I have a working implementation of windows ce under linux. Just one step at a time looking at the asm and seeing what it expects from windows ce, and getting it to work. Now I have logs of every function the driver makes, what memory it accesses, what parameters it uses, etc.
And as usual, it appears to work, but no interrupt.
|
Haha .. its as if you and i are on the same boat. I did the same for 3d, but no interrupt.
Recently ive actually looked into the irq.c code to compare dumps of 0xC0000000. I realize that wince has alot of irqs enabled while linux doesnt. I'm wondering if its because the drivers themselves are actually supposed to enable the irq. I know for 3d for example that is the case. Hw3d is supposed to enable the irq, but im gonna try to see if i should have it enabled before like wince. Have you tried this for sound ?
For example this is a dump of wince irqs MSM_VIC_BASE
c0000000 | 00000000 00000000 00000000 00000000 | ................
c0000010 | 55fd0161 00008003 00000000 00000000 | a..U............
c0000020 | 00000000 00000000 00000000 00000000 | ................
c0000030 | 00000000 00000000 00000000 00000000 | ................
c0000040 | f5e401ff 0000003c 00000000 00000000 | ....<...........
c0000050 | 00000000 00000000 00000000 00000000 | ................
c0000060 | ffffffff 00000001 00000000 00000000 | ................
c0000070 | 00000000 00000000 00000000 00000000 | ................
c0000080 | 00000000 00000000 00000000 00000000 | ................
c0000090 | 00000000 00000000 00000000 00000000 | ................
c00000a0 | 80000080 00000034 00000000 00000000 | ....4...........
c00000b0 | 00000000 00000000 00000000 00000000 | ................
c00000c0 | 00000000 00000000 00000000 00000000 | ................
c00000d0 | ffffffff ffffffff 00000000 00000000 | ................
c00000e0 | 00000000 00000000 00000000 00000000 | ................
c00000f0 | 00000000 00000000 00000000 00000000 | ................
Notice c0000010 has 55fd0161 in winmo and under linux we only have 4f0100a1. Thats alot of disabled interrupts.