<ysionneau>
21:52 < mwalle> cause actually the easid/basid stuff is handled already with etlb/btlb bit < not sure I understand what you meant by "it's already handled", could you elaborate?
<ysionneau>
mwalle is in a stereo discussion :) anyone wants to join to see how much he scales? :p
<mwalle>
ysionneau: the tlb is turned off automatically on exceptions, so there is actually no need to save and change the asid
<mwalle>
the only thing is, how (and when) do we change asids
<mwalle>
so the easid/basid just serves the "how/when change the asid"
<Wind-Storm>
I have only the PCB. Where can I found this number?
<ysionneau>
mwalle: right, I agree for the transition user mode -> kernel mode
<mwalle>
its basically a noop on exceptions
<mwalle>
on the ram chip
<Wind-Storm>
oh, sry :D
<ysionneau>
mwalle: but for the other way round : kernel mode -> user mode?
<Wind-Storm>
moment
<ysionneau>
where kernel is running with TLB *on*
<mwalle>
yeah then the asid0 idea seems nice
<ysionneau>
this, or the eret technique
<ysionneau>
or both
<mwalle>
i wouldn't go with both, because there should be "only one way" ;)
<ysionneau>
hehe
<mwalle>
Wind-Storm: btw, there is no need to desolder the spi flash, it can be programmed in curcuit (because with power off)
<mwalle>
Wind-Storm: on my 'dev' board i used the second spi pads to connect my wires
<ysionneau>
I think I'm totally lost on this topic now...
* ysionneau
is mixxing all the solutions
<ysionneau>
Should I remove EASID/BASID stuff, just put PSW.ASID and let the ASID0 be global, that could work I think
<mwalle>
ysionneau: there is also a third option, use mips style segments :)
<ysionneau>
user mode ->exception->kernel mode : this is not a problem as you stated because TLB is turned off
<Wind-Storm>
mwalle: hm... power off? how do you mean this? The flash need 3,3V supply, so I can power on the nas and connect wires directly to the flash?
<ysionneau>
then in the exception handler if I want to run kernel code with MMU *on* I can always switch ASID to ASID0 before turning MMU back on
<ysionneau>
and for kernel mode-> user mode, I just write to PSW.ASID with wcsr, and I can still run kernel code because basically ASID0 is global
<mwalle>
Wind-Storm: yeah, i use the 3v3 from the programmer, just as if the spi chip was desoldered
<ysionneau>
I just need to add support for this in the miss handler
<ysionneau>
to detect if I need to go look in the kernel page table or in the future process page table
<mwalle>
ysionneau: wasn't asid0 match always in kernel mode? :)
<ysionneau>
yes, why?
<ysionneau>
it's still the plan
<mwalle>
so you don't need to set asid=0 in the handler?
<ysionneau>
something wrong in what I described?
<ysionneau>
ah yes
<mwalle>
and copyin/out 'just works'
<Wind-Storm>
mwalle: The RAM: E5116AHSE-6E-6 , 0749A9041
<ysionneau>
indeed
<ysionneau>
so I never run with kernel ASID
<ysionneau>
always with the "current" (linux symbol) ASID
<ysionneau>
current process*
<mwalle>
Wind-Storm: ok 512mbit, 64MB, so it is a LS-CHLv2 (linkstation live)
<ysionneau>
so you're OK with the "no PSW.EASID nor PSW.BASID" part as well?
<mwalle>
Wind-Storm: i'll send you a binary
<mwalle>
ysionneau: yeah, if no magical things happen to asid on any instructions ;)
<ysionneau>
humm in theory no, just wcsr on PSW could change ASID, that's all
<Wind-Storm>
mwalle: V2 \o/ Thank you very much!
<ysionneau>
mwalle: then it makes the tlb miss handling a bit more complex, isn't it?
<ysionneau>
I'm not sure I know how to check whether I need to go look in kernel or process page table
<Wind-Storm>
This NAS original bootloader have serial output?
<ysionneau>
ah, I can just check if BADVADDR is >= KERNEL_BASE_ADDRESS or if it's <
<mwalle>
ysionneau: what is missing? what do you need to decide, whether its kernel or process?
<mwalle>
Wind-Storm: don't know
<mwalle>
Wind-Storm: might be
<ysionneau>
mwalle: for instance, in copyout, I will try to write to a user space pointer, most likely it will "tlb hit", but if it "tlb misses", then I need to detect that even if I was running in kernel mode, this address is to be looked up in the user space process page table
<ysionneau>
going to bed, see you tomorrow (or later) :)
<ysionneau>
gn8
<Wind-Storm>
gn
<mwalle>
ysionneau: gn8
<mwalle>
ysionneau: well, isn't that a feature of the software?
<mwalle>
to know which process the copyin belongs to?
sb0 has quit [Quit: Leaving]
nicksydney has quit [Remote host closed the connection]