IRC logs for #openrisc Friday, 2012-11-30

stekernjuliusb: regarding the delay slot exceptions poking, I've kept your "wait for delayslot" logic for tick and pic interrupts (I agree that that speeds things up, and the tests kind of expects it when they are hammering the tick timer)06:20
stekernbut I changed the delay slot detecting logic to what I spoke about yesterday (branch insn in exec-> execute_delay_slot <= 1)06:22
stekernand then, for epcr, I calculate the branch target as I mentioned yesterday (branch not taken => branch target = pc+8)06:24
stekernthat makes intloop test pass at least (and all other tests as well)06:24
stekern... and has the nice side effect that fmax increased to 83 MHz from 78 MHz on cyclone iv06:52
@juliusbstekern: oh cool, interesting10:49
_franck_jeremybennett: how is _initialize_or32_tdep called (gdb) ?10:57
jeremybennettThat is the magic that gets GDB going. From memory, it looks for a function called _initialized_<arch>_tdep and calls it at startup.11:06
jeremybennettI can't recall how it knows that is the function, but it does. That then initializes the architecture, then sets up any extra commands.11:07
jeremybennettBTW, I take it you have seen my application note on porting GDB?11:07
jeremybennettIt's based on GDB 6.x. The main thing that is changed in GDB 7.x is that frame functions use THIS pointer not NEXT pointer.11:07
jeremybennettI also started work on using the standard interface for frame analysis, but I hadn't got it working. In my experience, half the effort of any GDB port is getting the frame analysis (used when you don't have DWARF2/STABS) working.11:08
_franck_about this  _initialized_<arch>_tdep I would like to know *when* it's called11:09
jeremybennettWhen GDB starts up.11:09
_franck_before the remote connection ?11:09
jeremybennettYes - that only happens when you do "target remote"11:10
jeremybennettYou should look at using the XML stuff to specify the architecture. I didn't put it in the OpenRISC port, but we should use it.11:10
_franck_ah ok so before remote_start_remote11:11
_franck_yes that's what I'm doing11:11
_franck_(right now I'm trying to understand :))11:11
LoneTechopenOCD or1k_jtag is little endian specific. that doesn't seem right.13:56
@juliusbLoneTech: host little endian you mean?15:22
LoneTechit casts a uint32_t* to uint8_t* expecting it to hold its value15:24
-!- X-Scale is now known as Guest1164115:24
-!- Guest11641 is now known as X-Scale15:25
LoneTechoh. the jtag state signals from altera's virtual jtag function are "for debugging purposes only". And I suspect it is reliance on those that causes my problem currently.15:30
LoneTechbecause the altera IR size is 10 bits, and the output from the mohor unit arrives 10 bits early15:32
LoneTechwell, the VIR is also 5 bits and I've sent 2 commands to that, and it uses DR (not VDR)15:35
LoneTechit suggests that the debug unit is counting VIR shifts, and fails to reset its counter since those move through IR update, not DR update15:35
LoneTechthe waveforms shown in ug_virtualjtag suggest that the states are of the jtag, not virtual jtag (it shows shift IR low during VIR shift)15:38
stekernjuliusb: you've got a little pull request for mor1kx-dev-env in your inbox :)15:38
stekernLoneTech: just curious, are you trying to get mohor debug if working over virtual jtag?15:42
stekernon ordb2a?15:42
stekernwhat is different from _franck_s setup? didn't he have that working with some 1-bit shift hack?15:44
LoneTechprobably the instantiation of the jtag block itself15:45
LoneTechpossibly the version of altera tools15:45
LoneTechI haven't really tracked this down yet15:47
stekernisn't the instantiation basically this:
LoneTechvery much like it, yes15:50
LoneTechseems the difference is I have it split in two files (one wrapper, one wizard generated)15:50
stekernyeah, I think that instantiation actually is copied from a wizard generated one15:51
LoneTechand the docs seem to state jtag_state_{rti,tlr} are "for informational purposes only"15:51
stekernfrom what I remember when I played with it last15:52
LoneTechthe user guide is flawed in this part, though, as it has that marker over all the virtual jtag state signals too15:52
_franck_LoneTech: the VIR and VDR size are dynamic, it's not 1015:53
_franck_you have to probe the vjtag to find out how large they are15:53
LoneTech_franck_: IR (not VIR) is 10, VIR is in my case 1+415:53
LoneTechthe probing works fine15:53
_franck_ok but how IR and "the output from the mohor unit arrives 10 bits early" would be related ?15:54
LoneTechit's an early guess. I'm simply seeing VDR shifted out 10 bits early; and it coincides either with VIR being updated twice (2*5 DR shifts) or IR size.15:55
_franck_when I was debugging this part, I used the altera TCL console and vjtag API15:58
_franck_in combination with signal tap15:58
LoneTechI sadly don't have signal tap. which I suspect also uses the SLD hub.15:59
_franck_it uses it but it can work together if yo don't use openOCD16:05
_franck_just signal tap + TCL console16:05
LoneTechit's not that. the altera tools don't talk to my jtag.16:07
LoneTechand the mohor bit counters reset on update_dr only. perhaps I should connect virtual capture dr to mark start of dr shift?16:08
@juliusbstekern: saw that, cheers! the more sw tests the merrier :)16:11
_franck_virtual_state_cdr => capture_dr_o in th wrapper I have16:13
LoneTechsame here, but dbg_if didn't have that input16:14
_franck_why the hell it works for me ? (marek does use it too)16:20
LoneTechI don't know what's really going on. still trying to figure it out.16:21
_franck_your altera tool doesn't talk to your vjtag because you're using an usb blaster ?16:21
LoneTechnot using usb blaster16:21
_franck_so why using a vjtag ?16:21
_franck_I meant "you're *not* using"16:22
LoneTechin order to use the jtag for talking to the debug unit. it could mean for instance a ft2232 instead of ft423216:22
_franck_but you should use a gpio tap, wouldn't be easier ?16:24
LoneTechit would be much easier. I'm just trying to get more options to work16:24
olofkFinally got my raspberry pi yesterday. Haven't got any ideas for what to do with it :)23:02

Generated by 2.15.2 by Marius Gedminas - find it at!