--- Log opened Tue Apr 23 00:00:27 2013 | ||
-!- Netsplit *.net <-> *.split quits: simoncook, jeremybennett_ | 00:25 | |
-!- Netsplit over, joins: jeremybennett_, simoncook | 00:30 | |
mor1kx | [mor1kx] skristiansson pushed 4 new commits to master: https://github.com/openrisc/mor1kx/compare/d88fa67f8abf...0dbbf0db8b7c | 02:54 |
---|---|---|
mor1kx | mor1kx/master 32e675c Stefan Kristiansson: cappuccino/fetch: remove debug printout | 02:54 |
mor1kx | mor1kx/master 0d75b5c Stefan Kristiansson: cappuccino/fetch: remove superflous check for ctrl_branch_exception_i... | 02:54 |
mor1kx | mor1kx/master b31f163 Stefan Kristiansson: cappuccino/lsu: register dbus_err_i in lsu instead of dcache | 02:54 |
stekern | the 5000 treshold is broken, down at 4970 | 02:55 |
stekern | juliusb: as you might have noticed, I have moved a fair amount of instruction decode logic from the other modules into mor1kx_decode, and I have came to believe we should strive to have _all_ the decode logic in that module and only use single bit control signals in the other modules | 04:44 |
stekern | the reasons are: 1) for cappuccino, having the signals registered improves performance | 04:47 |
stekern | 2) most of the area in the design is used on comb logic (i.e. we don't actually use so many registers), in most FPGAs this means we get a lot of LUT only "slices"/LCs | 04:49 |
stekern | 3) a thing you said on the conference call when talking about or2k rings in my head (roughly quoted): "you basically just need to swap out the decoder" | 04:51 |
stekern | ... and as a step towards that, I've prepared this patch: https://github.com/skristiansson/mor1kx/commit/f3eb0ce1d76853764c263f5d774e2e4363c0a7cc | 05:25 |
mor1kx | [mor1kx] skristiansson pushed 1 new commit to master: https://github.com/openrisc/mor1kx/commit/1312ec8317df4d30af172a6ce86d36beab9a0f75 | 10:02 |
mor1kx | mor1kx/master 1312ec8 Stefan Kristiansson: cappuccino/ctrl: remove flag write to esr... | 10:02 |
stekern | ^ I love when bugs just accidently get fixed | 10:03 |
@juliusb | stekern: regarding your patch... | 10:04 |
@juliusb | i think that's fine.... | 10:04 |
stekern | ...but? =P | 10:05 |
@juliusb | ah just checking, I haven't had a good look at it | 10:05 |
@juliusb | i assume it works OK? | 10:06 |
stekern | it does exactly the same as the old code, just in a bit fewer lines | 10:07 |
@juliusb | then that is great : | 10:08 |
@juliusb | :) | 10:08 |
stekern | but I'm more interested in your input on the higher level thoughts on moving stuff into mor1kx_decode | 10:10 |
@juliusb | yeah | 10:10 |
@juliusb | no that seems fine | 10:10 |
@juliusb | it's the best design practice | 10:10 |
@juliusb | and, yes, ideally, it'd be nice to support a new architecture by just dropping in a new decode unit but in reality it's probably going to be more than that haha | 10:10 |
stekern | heh, most definetly, but if you can make it as close to that as possible, I think it'd be good | 10:11 |
@juliusb | and anyway, the all-decode-in-the-decode-stage thing is what I intended to do but just got lazy sometimes, like when I needed a signal speculatively, and couldn't be bothered routing it through, and never cleaned it up later | 10:12 |
@juliusb | i agree, for an or2k implemetnatnio it'd be great to piggy-back of the mor1kx stuff | 10:12 |
stekern | (lazy) I kind of suspected that that had happened in some cases, because I've done that too ;) | 10:13 |
stekern | back to the patch I just pushed, it fixes a bug I've noticed in Linux, basically 'top' would always segfault/crash after a while. | 10:16 |
stekern | I haven't bothered with investigating that bug yet, because I know it'd be extremely painful to debug, since 1) it's in userspace and 2) it was undeterministic | 10:16 |
stekern | I poked at the flag to esr work-around just to see if it's really needed anymore and if I could save a bit of logic by removing it | 10:18 |
stekern | and 'bam' the bug is gone ;) | 10:18 |
@juliusb | flag-to-esr? | 10:18 |
stekern | and I also have a good explanation why it creates a bug, which is comforting, so it's just not a circumstancial thing | 10:19 |
@juliusb | when flag is being set when we get an exception for some reason adn we write it straight to ESR? | 10:19 |
stekern | yes, but that's not needed in cappuccino anymore, since that instruction will always be rerun | 10:19 |
@juliusb | ok cool | 10:20 |
@juliusb | nice | 10:20 |
stekern | ov writing to esr is still needed though, since that can cause the exception by itself | 10:22 |
stekern | at least I think that was the consensus of a discussion we had earlier, that you want the OV bit set in ESR when entering the exception | 10:23 |
stekern | not sure about carry, have to give that a deeper thought, left that in there for now | 10:24 |
@juliusb | no probs | 10:25 |
stekern | an addc in a delay slot could potentially be troublesome with the carry->esr i guess | 10:27 |
stekern | I guess we need a l.bf; l.sf test with timer hammering to trigger the bug I just fixed too | 10:30 |
@juliusb | hmm, i thought we had a test a bit like that | 10:37 |
stekern | I don't think we have any test with l.sf in delay slots of l.bf | 10:46 |
@juliusb | ohh right | 10:46 |
@juliusb | sorry im with you | 10:46 |
@juliusb | (tired today, also concentrating to day job :) ) | 10:46 |
stekern | makes us two ;) | 10:46 |
mor1kx | [mor1kx] skristiansson pushed 1 new commit to master: https://github.com/openrisc/mor1kx/commit/06307086fcf192070a3812b961367f5a3219ee93 | 11:19 |
mor1kx | mor1kx/master 0630708 Stefan Kristiansson: execute_alu: simplify stall logic for multicycle ops | 11:19 |
stekern | man, I really enjoy looking at that 'top' not crashing ;) | 16:37 |
@juliusb | :) | 16:44 |
@juliusb | it's the simple things in life | 16:44 |
stekern | so true | 17:09 |
mor1kx | [mor1kx] skristiansson pushed 1 new commit to master: https://github.com/openrisc/mor1kx/commit/f50a6290563d33ec025c17a34cb4f38864f6d71a | 19:10 |
mor1kx | mor1kx/master f50a629 Stefan Kristiansson: decode: replace decode_insn_i[`OR1K_OPCODE_SELECT] with opc_insn... | 19:10 |
stekern | Jonas current tree boots up fine too: http://pastie.org/7704634 | 19:42 |
olofk | stekern: ahhh... LC is Logic Cells, not Line Count. No wonder you didn't understand when I said you should use ; | 21:53 |
--- Log closed Wed Apr 24 00:00:29 2013 |
Generated by irclog2html.py 2.15.2 by Marius Gedminas - find it at mg.pov.lt!