IRC logs for #openrisc Monday, 2016-03-07

--- Log opened Mon Mar 07 00:00:23 2016
stekernshorne: no, that's fine. so, yes, sounds like you might be hitting something else03:59
stekern...but, that said, how are you debugging where in the code you are failing?04:03
stekernand you need to set r3 = 0 before you jump to 0x100, otherwise the 'the dtb reference is null' statement doesn't hold, do you do that?04:07
stekerns/doesn't hold/might not hold04:08
shornestekern: I dont think I need to set r3 to zero before going to 0x100, this is in head.S04:46
shornel.lwz   r3,0(r25)04:46
shorne(load r3 with address ar 25) which is not the fdt04:46
shornethen if the fdt check fails04:46
shornethere is this04:46
shorne.or    r25,r0,r004:47
shornewhck clears r2504:47
shornethen04:47
shornel.or    r3,r0,r2504:47
shornewhich set r3 to r25, in my case it shold be 0x004:47
stekernyeah, but you have:04:48
stekern_start: /* save kernel parameters */ l.orr25,r0,r3/* pointer to fdt */04:48
shorneyeah, but as long as the fdt magic check fails it gets set to 0x004:49
shorneright?04:49
stekernyes, but if r3 points to somewhere which will cause a mmu fault, you'll get the fault before the magic check04:50
stekernyou load something from the address r3 points to, which might contain the magic04:50
shorneI see for dmmu04:50
shorneright, I see your point now04:50
shornewell, I get past there04:50
shorneit fails here04:51
stekernhow do you determine that you get past there? which cpu-core are you using?04:51
shornel.jalr r2404:51
shorneI am using or1200, and debugging (instruction stepping) in gdb04:51
shorneafter the jalr, I can see the debugger shows it tries to jump to 0c0038xxxxx something04:52
shornethen it jumps to bus exception 0x20004:52
stekernbut you get a databus error, you can't get that from the jump04:52
shorneok, I see, let me get the debugger running04:54
shorneI am using or1200 from git last week04:55
stekernno, sorry, actually 0x200 is just a bus error, so it could be an ibus error04:55
shorneyea, I was guessing that it meant that it really tried to access 0xc0038xxx physical address, which didnt exist04:55
shorneI was going to try and debug the initial 0xa00 routine which sets up the IMMU MR and TR registers to see what its putting into there04:56
shorneAlso, I am running linux kernel from openrisc/linux + merged with 4.5 linus head :) (doing things the hard way)04:57
stekerncan you boot that in or1ksim? and have you tried using mor1kx instead of or1200?04:58
shorneill try both, feeding kid now :)05:01
shornewhat is different with mor1kx?05:02
shorneI see some details about mor1kx on http://opencores.org/or1k/OR1K_CPU_Cores05:05
shornethe strange thing is that sometimes I do get serial output which just does a bunch of stack frame dumps.05:09
shornewhich seems to mean sometimes its getting past the dts loading, since it knows where the serial device is05:10
stekernmor1kx is newer, more efficient05:13
shornecool, I saw using the orpsoc-cores de0_nano system, which I guess is not linking that in.  Ill change it over to mor1kx if possible05:15
shornestekern: I ran my kernel in or1ksim and it runs ok.06:35
shornewill try the new core06:35
olofkshorne: Hmm.. the de0_nano system should use mor1kx by default09:56
olofkWe're seriously trying to move people away from or1200 to mor1kx09:57
olofklooks like the de0 nano system uses mor1kx by default10:12
shorneolofk: you are right, it is mor1kx15:29
shorneI guess I always thought it was or1200 because I saw it in de0_nano_top.v16:34
shornebut there is an ifdef between MOR1KX and OR120016:35
--- Log closed Tue Mar 08 00:00:24 2016

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