lekernel changed the topic of #m-labs to: Mixxeo, Migen, MiSoC & other M-Labs projects :: fka #milkymist :: Logs http://irclog.whitequark.org/m-labs
nicksydney has quit [Remote host closed the connection]
nicksydney has joined #m-labs
stekern has quit [Ping timeout: 252 seconds]
stekern has joined #m-labs
stekern has quit [Ping timeout: 276 seconds]
stekern has joined #m-labs
stekern has quit [Ping timeout: 245 seconds]
stekern has joined #m-labs
nicksydney has quit [Remote host closed the connection]
sb0 has joined #m-labs
nicksydney has joined #m-labs
azonenberg has left #m-labs [#m-labs]
nicksydney has quit [Remote host closed the connection]
nicksydney has joined #m-labs
gbraad has joined #m-labs
gbraad has joined #m-labs
gbraad_ has joined #m-labs
gbraad_ has quit [Changing host]
gbraad_ has joined #m-labs
gbraad has quit [Ping timeout: 264 seconds]
mumptai has joined #m-labs
playthatbeat has joined #m-labs
<ysionneau> mwalle: on the other hand, we don't need to make a TLB entry "global" if we say that the asid is switched upon "eret"/exception, do we?
<ysionneau> so maybe we just don't need having global entries at all
<ysionneau> and we just do PSW.{ASID,EASID,BASID}
sb0 has quit [Ping timeout: 240 seconds]
Wind-Storm has joined #m-labs
<Wind-Storm> hi
<ysionneau> hi
sb0 has joined #m-labs
<Wind-Storm> mwalle when available?
<sb0> hi Wind-Storm
<Wind-Storm> Hello
nicksydney has quit [Remote host closed the connection]
nicksydney has joined #m-labs
nicksydney has quit [Remote host closed the connection]
nicksydney has joined #m-labs
bentley` has quit [Ping timeout: 240 seconds]
Wind-Storm has quit [Ping timeout: 240 seconds]
mumptai has left #m-labs ["Verlassend"]
Wind-Storm has joined #m-labs
<mwalle> Wind-Storm:
<mwalle> hi
<mwalle> ysionneau: well i'm fine with both (asid/easid/basid and the asid0 is reserved for global asid)
<ysionneau> ok
<ysionneau> I am as well I guess in the end
<Wind-Storm> Hello!! :)
<mwalle> although the asid0 method appeals me more
<ysionneau> I mean, both as in "both of them at the same time"
<mwalle> cause actually the easid/basid stuff is handled already with etlb/btlb bit
<ysionneau> I think the latching in PSW is cool to prevent issues due to running kernel code without being in ASID0
<Wind-Storm> mwalle: I read your old log, you connected to buffalo NAS via serial
<Wind-Storm> 3 years old log (http://en.qi-hardware.com/mmlogs/milkymist_2011-04-21.log.html) You remember this?
<mwalle> Wind-Storm: yeah, but i don't know if the stock uboot does serial output
<mwalle> Wind-Storm: you should compile your own one, its in the official uboot sources
<Wind-Storm> I can flash anything to its SPI flash
<Wind-Storm> I never compiled bootloaders
<mwalle> Wind-Storm: do you have a ls-chlv2 or a ls-xhl?
<mwalle> Wind-Storm: i could send you some binaries
<mwalle> Wind-Storm: btw here is the wiki article about it: http://buffalo.nas-central.org/wiki/Serial_and_JTAG_port_LS-XHL
<Wind-Storm> I don't know, but I know the board ID: "MVLSXL-BA"
<mwalle> mhh well they have the same pcb
<mwalle> how much RAM?
<Wind-Storm> So this is the board.
<Wind-Storm> I don't know, probably 128M
<Wind-Storm> elpida chip
<mwalle> part number?
<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]
nicksydney has joined #m-labs