lekernel changed the topic of #milkymist to: Milkymist One, Migen, Milkymist SoC & Flickernoise :: Logs: http://en.qi-hardware.com/mmlogs :: EHSM Berlin Dec 28-30 http://ehsm.eu
km2 has quit [Ping timeout: 276 seconds]
km2 has joined #milkymist
elldekaa has joined #milkymist
elldekaa has quit [Ping timeout: 260 seconds]
elldekaa has joined #milkymist
elldekaa has quit [Ping timeout: 248 seconds]
rejon has joined #milkymist
voidcoder has quit [Remote host closed the connection]
voidcoder has joined #milkymist
mumptai has joined #milkymist
lekernel_ has joined #milkymist
lekernel has quit [Ping timeout: 248 seconds]
lekernel_ is now known as lekernel
voidcoder has quit [Read error: No route to host]
Alarm has quit [Ping timeout: 260 seconds]
elldekaa has joined #milkymist
voidcoder has joined #milkymist
wolfspraul has quit [Quit: Lost terminal]
wolfspraul has joined #milkymist
elldekaa has quit [Ping timeout: 265 seconds]
Alarm has joined #milkymist
elldekaa has joined #milkymist
azonenberg has quit [Ping timeout: 245 seconds]
voidcoder has quit [Quit: See you next time]
<GitHub40> [migen] sbourdeauducq pushed 3 new commits to master: https://github.com/milkymist/migen/compare/009f26b...ec501e7
<GitHub40> [migen/master] examples/dataflow: only import nx when needed - Sebastien Bourdeauducq
<GitHub40> [migen/master] bus/wishbone/Tap: remove ack feature - Sebastien Bourdeauducq
<GitHub40> [migen/master] bus/wishbone: target model - Sebastien Bourdeauducq
azonenberg has joined #milkymist
<GitHub170> [migen] sbourdeauducq pushed 1 new commit to master: https://github.com/milkymist/migen/commit/b7a84b37501ac3426af8fb843e278ccf73faa11b
<GitHub170> [migen/master] wishbone: base TargetModel class - Sebastien Bourdeauducq
* Fallenou started ITLB part, fearing first test
<Fallenou> it's gonna blow !
* lekernel is preparing an army of simulation modules to help when the dataflow + asmi blows up
<Fallenou> hehe
<Fallenou> ok let's try ITLB
<Fallenou> fire in the whole !
<Fallenou> hum ok it does not blow, but does it really work ?
<Fallenou> let's try a more difficult mapping than map(f, f); f();
Alarm has quit [Quit: ChatZilla 0.9.88.2 [Firefox 12.0/20120420145725]]
<wpwrak> it's better if it doesn't work on the first try. otherwise, you'll be endlessly suspicious about it
<Fallenou> with map(f, some_address); some_address(); it blows :)
<Fallenou> I am trying inserting a few nops() between ITLB activation and the actual "call" to the function
<Fallenou> it does not work any better, I should go back to simulation
<Fallenou> ok enough playing around blindly with the FPGA, let's go back to ISim =(
<roh> wpwrak: *g*
<roh> wpwrak: i know that feeling... 'does it work? seems so... but do i trust it to stay that way?'
<wpwrak> Fallenou: there's no glory in too easy a victory :)
<Fallenou> indeed, let say that :p
elldekaa has quit [Read error: Connection reset by peer]
kilae has joined #milkymist
elldekaa has joined #milkymist
voidcoder has joined #milkymist
wolfspraul has quit [Ping timeout: 244 seconds]
wolfspraul has joined #milkymist
voidcoder has quit [Ping timeout: 252 seconds]
kristianpaul has quit [Quit: leaving]
kristianpaul has joined #milkymist
kristianpaul has joined #milkymist
kilae has quit [Quit: ChatZilla 0.9.88.2 [Firefox 13.0/20120601045813]]
<Fallenou> I'm scratching my head to find out how to do enable ITLB in a clean way
<Fallenou> I have some code at physical page X, I map virtual page Y to physical page X
<Fallenou> if I do something like wcsr tlbctrl, ENABLE_ITLB then call Y
<Fallenou> and let say instructions after the "call Y" are : inst_A inst_B
<Fallenou> it will page fault when fetching inst_B
<Fallenou> cause there is no mapping for the page which is executing (in the kernel space)
<Fallenou> the cpu will fetch inst_A and inst_B anyway, even if there is a "call Y" instruction
<Fallenou> they won't be executed though (inst_A and inst_B)
km2 has quit [Ping timeout: 276 seconds]
<Fallenou> how can I prevent this kind of page fault which should not occure
<Fallenou> I could add a mapping for the code currently running (the kernel code which enables the ITLB) but it's not clean and it could/will generate bugs, for instance if the user space application is using the exact same virtual address for something
<Fallenou> I could delay the effect of the wcsr ... and acutally enable ITLB only 2 instruction later
<Fallenou> let's try that :o
km2 has joined #milkymist
km2 has quit [Ping timeout: 276 seconds]
km2 has joined #milkymist
km2 has quit [Ping timeout: 276 seconds]
<Fallenou> hum hum it fetches the correct translated addresses now :)
<Fallenou> but after fetching a few instructions it generates a page fault
<Fallenou> without changing of page :o weird
km2 has joined #milkymist
tratt has joined #milkymist
km2 has quit [Ping timeout: 276 seconds]
km2 has joined #milkymist
tratt has left #milkymist [#milkymist]
hypermodern has joined #milkymist
hypermodern has left #milkymist [#milkymist]
<Fallenou> it seems ld is not happy with me using "bi" instruction
mumptai has quit [Ping timeout: 260 seconds]
<Fallenou> it works :)
<Fallenou> at least I have one working example :p
<Fallenou> but it's a start !
<Fallenou> let's commit this
elldekaa has quit [Read error: Connection reset by peer]
<GitHub179> [milkymist-mmu-simulation] fallen pushed 1 new commit to master: http://git.io/GL1hOg
<GitHub179> [milkymist-mmu-simulation/master] Add a draft of ITLB to Milkymist MMU - Yann Sionneau
elldekaa has joined #milkymist
xiangfu has joined #milkymist
<GitHub115> [milkymist-mmu] fallen pushed 2 new commits to mmu-bios: http://git.io/koOaoQ
<GitHub115> [milkymist-mmu/mmu-bios] Add support for ITLB in simulation BIOS - Yann Sionneau
<GitHub115> [milkymist-mmu/mmu-bios] Add a simple test for ITLB in simulation BIOS - Yann Sionneau
<Fallenou> gn8!
<Fallenou> hi xiangfu !
<xiangfu> Fallenou, Hi
<Fallenou> how are you ?
<xiangfu> fine. :)
<xiangfu> recently don't have time working on m1.
<Fallenou> congratz for your latest openwrt sync with upstream on the ben :)
<Fallenou> yeah I saw that
<Fallenou> but you seemed to have been busy ;)
<xiangfu> yes.
<xiangfu> Fallenou, what about add 'milkymist-mmu' to build host?
<Fallenou> well why not
<xiangfu> maybe I try to add build 'milkymist-mmu' to buildhost (http://fidelio.qi-hardware.com/~xiangfu/build-milkymist/)
<xiangfu> yes.
<xiangfu> then people can easy try milkymist-mmu-firmware.
<Fallenou> yes sure it could be great :)
<Fallenou> in this repo on the "mmu" branch you have both the verilog for an mmu-enabled bitstream
<Fallenou> and the mmu enabled BIOS
<Fallenou> so you just need to build the bitstream (system.bit AFAIK) and the bios.elf/bios.bin
<Fallenou> I didn't touch flickernoise nor rtems at all
<Fallenou> I'm only playing with the BIOS
<Fallenou> xiangfu: oh but beware, you need a modified "lm32-binutils"
<xiangfu> great. will make it working in next few hours.
<Fallenou> in your build script you should update your PATH to use my modified lm32-binutils
<xiangfu> Fallenou, "lm32-binutils" is there a patch for that?
<xiangfu> ok. I will use your repo about lm32-binutils
<Fallenou> it's only a few commits
<Fallenou> it could be distributed as a small patch
<xiangfu> (Restart your GNOME/KDE/Mac OS/awesome/whatever session). I am using 'awesome' :-)
<xiangfu> Fallenou, I will use your repo. so if there is new commit. it will trigger a new build.
<Fallenou> hehe :)
<Fallenou> me too at the office
<Fallenou> make sure you don't overwrite your current lm32-binutils with my modified one
<Fallenou> use a different --prefix=
<Fallenou> thank you for setting that up !
<Fallenou> going to sleep, it's late here
<Fallenou> see you !
<xiangfu> good night.
voidcoder has joined #milkymist
voidcoder has quit [Read error: Connection reset by peer]