IRC logs for #openrisc Wednesday, 2013-07-17

--- Log opened Wed Jul 17 00:00:30 2013
_franck_anyone knows a "bit reversing" program (reverse bit order of bytes in a binary file) ? I did it myself but I would like to have an "official" one07:24
stekern_franck_: I've used srec for reversing byte order, but I don't think it can do bit reversing08:06
_franck_well, I think I'll patch flashcp from mtd-utils to do the reversal before write the data08:18
_franck_(I'm updating the altera fpga epcs flash from linux /dev/mtd interface)08:19
LoneTech_good idea09:03
-!- LoneTech_ is now known as LoneTech09:03
stekernolofk: do you still think I look fat?10:58
stekernpoke53281: I stumbled upon a tiny winy bug in your ITLBRefill hack:
stekernonly reason I noticed it was because I put that into qemu too17:49
stekernmade quite a difference, gcc hello_world.c went from taking 1 minute to 12 seconds17:49
stekernwhen you rerun it, it runs faster, then the difference was 20 seconds vs 3 seconds17:50
stekernand I think I've figured out the slowness, inetd somehow get upset during boot (maybe the emulation is doing something weird after inetd has started)17:52
stekernso, doing a kill -HUP on the inetd process calms it down17:52
stekernwell.. figured out was perhaps an overstatement, made some progress on the matter is maybe more appropriate17:54
poke53281thanks. I will take a look. No time at the moment18:02
stekernsure, no hurry18:23
poke53281Oh, I run the wrong exception handler18:29
poke53281I am not sure, but maybe the tlb miss handler changed in the last 8 months in the kernel. So I am not sure if my miss handler is correct. I wanted to check this before I am updating the official version.18:34
poke53281But 20s to 3s is quite amazing.18:35
poke53281and if you wonder about some design decisions in Javascript. Because of some optimizations of the Javascript engines uint is treated as double and int is treated as int.18:45
poke53281this.instlb = (tlbtr ^ tlmbr) & 0xFFFFE000;  // slow18:45
poke53281this.instlb = ((tlbtr ^ tlmbr) >> 13) << 11;  // fast18:45
poke53281This some funny consequences. Both comments are equivalent, but in the slow case the number could is transformed to and uint and therefore treated as double.18:46
poke53281Note, that in Javascript there are two commands for a right shift >> for ints and >>> for uints.18:48
poke53281in principle every number in Javascript is a double.18:51
stekernah, I see19:04
stekernI think that asm code in head.S have been pretty much the same in the last 8 month19:06
stekernI plan to add proper support to the kernel, and rewrite those handlers as if they were hardware19:07
stekernbut using your handlers gives me good leverage, I pretty much copied them straight and just changed the mem and spr interface19:09
poke53281Nice. Looking forward19:10
poke53281So, you have to analyze the kernel too to get the pointers19:12
stekernyeah, but they hardly change19:12
--- Log closed Thu Jul 18 00:00:32 2013

Generated by 2.15.2 by Marius Gedminas - find it at!