GPIOs in the userspace (for FPGA programming)

Bas Wijnen wijnen at
Sat Mar 13 10:08:45 EST 2010

On Sat, Mar 13, 2010 at 08:08:55AM -0500, Carlos Camargo wrote:
> We've already used a similar code, but, we use 0xB0010000 as GPIO_BASE,
> searchig on dingoo sample code, we found that  they (and you) change this
> address to 0x001000, can you tell me why ?

The Mips has a special meaning for the highest address bit: if it's set,
the address will generate an address fault unless running in kernel

Since this program is running in user mode, it cannot map anything to an
address above 0x80000000, because it would generate an address fault to
access it.

The kernel uses the unpaged (directly accessible) kseg1, which goes from
0xa0000000 to 0xc0000000 and is unaccessible from user mode (because the
upper address bit is set).

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: Digital signature
URL: <>

More information about the discussion mailing list