#milkymist IRC log for Thursday, 2013-05-09

GitHub36[milkymist-ng] sbourdeauducq pushed 3 new commits to master: http://git.io/22KiuQ08:54
GitHub36milkymist-ng/master 2df4ff0 Sebastien Bourdeauducq: dvisampler/dma: fix interrupt generation08:54
GitHub36milkymist-ng/master fe87221 Sebastien Bourdeauducq: dvisampler/dma: reverse slot allocation order08:54
GitHub36milkymist-ng/master c6d553e Sebastien Bourdeauducq: software/videomixer: interrupt-driven video passthrough08:54
bhamiltonlekernel: Can you give quick explanation of CSR, CSRStatus and CSRStorage in migen?11:03
lekernelcsr is the base type that corresponds to one memory location with we and r/w signals11:17
lekernelcsrstatus is a register read-only for the cpu; the important feature over csr is that it can occupy several memory locations when it's wider than the bus11:18
lekernelcsrstorage is a regular r/w memory location for the cpu, with the current value available in a signal for the design11:18
bhamiltonthanks11:19
GitHub199[milkymist-ng] sbourdeauducq pushed 2 new commits to master: http://git.io/SF9Log11:43
GitHub199milkymist-ng/master 06064d3 Sebastien Bourdeauducq: dvisampler/dma: better 8:8:8 -> 10:10:10 conversion11:43
GitHub199milkymist-ng/master 546aa76 Sebastien Bourdeauducq: software/dvimixer: support two channels11:43
GitHub39[milkymist-ng] sbourdeauducq pushed 1 new commit to master: http://git.io/UR_eig12:13
GitHub39milkymist-ng/master 6f11ddb Sebastien Bourdeauducq: software/dvisampler: periodically reset PLL until locked + recalibrate IO every second12:13
GitHub79[milkymist-ng] sbourdeauducq pushed 1 new commit to master: http://git.io/5N-doA17:25
GitHub79milkymist-ng/master 3ab83fb Sebastien Bourdeauducq: framebuffer: reorganize in preparation for mixer17:25
Fallenouisn't it dangerous that the first instruction of lm32 exception vector is: sw (sp+0), ra ?20:56
Fallenousp is controlled by the user space program (if the exception is triggered when a user space program was running)20:57
Fallenouit could be any value, especially a terribly wrong one20:57
Fallenouor I am misunderstanding something...20:57
Fallenouon the other hand, I don't understand how one would save registers if not pushing them on the stack...21:00
Fallenoumaybe we need to implement "exception register bank" or shadow registers21:00
larscThe linux kernel is using r0 for this21:11
Fallenoufor system calls it seems to be using sp21:11
larscno, first thing we do is switch to kernel stack21:12
Fallenouhttps://github.com/milkymist/linux-milkymist/blob/ng/arch/lm32/kernel/entry.S#L174 < is this the up to date code?21:13
larscprobably not21:14
larsctry the master branch21:14
Fallenouoh, ok21:14
Fallenouok, it's different on master branch :)21:15
Fallenouindeed there is a switch_to_kernel_mode21:15
Fallenouso you use r0 to write to a precise address the value of r9 r10 r11 in order to be able to use them afterward without losing previous value21:17
Fallenouthen you restore r0 to 021:17
Fallenounice :)21:17
Fallenoulet's do the same trick for NetBSD then21:20
Fallenouthanks21:20
Fallenougn8!21:38
--- Fri May 10 201300:00

Generated by irclog2html.py 2.9.2 by Marius Gedminas - find it at mg.pov.lt!