Hi, I am porting Linux to an ARC processor on a new board. I
have a uart that resides in physical address 0x40000000. My main memory is at
0xc0000000 and the kernel is starting up and getting to the point where it
calls ‘register_console’ and I want to initialise the uart.
Presently this will page fault when accessing 0x40000000 and will not recover. I am unsure how to map the uart so that the kernel will not
page fault when I try and write to the uart. I have investigated using ioremap_page_range
but so far have not been successful, is this what I should do? Anyone got any ideas? I've found some functions, ioremap,
kmap and mem_request_region. Not really sure what I ought to be doing though.
Any thoughts greatly appreciated. I probably should add that I am bring Linux up on an
embedded device, I have a debugger attached so I can see what is going on. The
processor is an ARC. Many thanks, Gavin. |