I have looked into this more closely now and it seems there are two problems:
1) "port" i/o on MIPS (as on ARM32) is done with memory mapped i/o. The inb/outb macros in compiler.h look smart as they correctly add IOPortBase to the port number, but IOPortBase is not initialized throughout the entire XFree86 code as of 4.4.
2) IOPortBase is declared in compiler.h itself and hence isn't global. Therefore, any module including compiler.h will have to initialize it before using inX/outX. Since the vgahw module doesn't do this, it can't be used.
The ioBase stuff (for PowerPC) is but a stopgap that can only handle single-domain systems. It should be replaced. Domain support associates a base address for the three address spaces (I/O memory & PCI config) each domain is comprised of.
Well. I think I give up for the time being.
I'm sorry to hear that.
Well, I have no choice. I have no hardware myself for testing and that crappy SiS stuff doesn't support MMIO based i/o for VGA register access...
Furthermore I was educated in a mail from Jun Sun who wrote some porting-HOWTO for MIPS:
----
>My question: How do I find out about mips_io_port_base from userland >(ie XFree86)?
You can't.
However, you can do IO from userland through /dev/port. I don't know if /dev/port is mmap'able at this point.
----
Thomas
-- Thomas Winischhofer Vienna/Austria thomas AT winischhofer DOT net *** http://www.winischhofer.net twini AT xfree86 DOT org _______________________________________________ Devel mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/devel
