tech-kern archive

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

Re: [Milkymist port] virtual memory management

Le 18/02/14 13:48, Joerg Sonnenberger a écrit :
On Tue, Feb 18, 2014 at 12:54:05PM +0100, Yann Sionneau wrote:
Is there somewhere a function like vaddr_t map_paddr(paddr_t, prot)?
uvm_km_alloc with UVM_KMF_VAONLY can be used to allocate the VA,
pmap_kenter_pa to map a given physical address. Don't forget to call
pmap_update(pmap_kernel()) afterwards. A simple example is
arch/x86/x86/mpbios.c, mpbios_map.

Thank you Matt and Joerg for your very quick answer, for now I implemented as Joerg said, but I imagine that the clean way is to use bus_space(9), right?

Anyway, it works very well now :)

From now on I need to debug an "infinite loop", it seems that since cold = 0 (after configure2() ran), any printf (which calls kprintf then putchar then logputchar) will end up in a "dead lock":

logputchar() is calling mutex_spin_exit(), the latter is calling turnstile_exit() which in turn is calling mutex_spin_exit() as well, then it goes on and on.
I didn't figure out yet what's going on.


Yann Sionneau

Home | Main Index | Thread Index | Old Index