IRC logs for #openrisc Saturday, 2013-10-19

--- Log opened Sat Oct 19 00:00:46 2013
poke53281So, enough spamming for today. If all patches got accepted the QEMU emulator should be much more reliable.01:58
poke53281stekern: What does "external debugger" exactly mean in the specification? In part 4.1002:10
hansfbaierstekern: What do you think of those commits? Do I need to fix something? The code compiles and works now:
hansfbaierolofk: ^02:41
stekernpoke53281: that means that reading/writing npc/ppc with mtspr/mfpsr is not guaranteed to be consistent over implementations04:23
stekerni.e. it's not "allowed" to read/write npc/ppc from software04:25
poke53281Ok, nice05:12
poke53281So I can remove all this junk from QEMU.05:13
hansfbaierstekern: I have some ideas for orpsocv3: How if we generate orpsoc_top and all wishbone interconnect files with jinja templates?05:35
hansfbaierSo every core would have a templates/ subdir05:35
hansfbaierand all the info is in wb_intercon.conf05:35
hansfbaierwhich I would promote to be the system.conf05:35
hansfbaieror let it as it is?05:36
hansfbaierThen all the user needs to customize is the conf, then all the top and intercon gets generated, so we won't need myriads of `ifdefs,05:36
hansfbaierwhich make the code unreadable and break anyway with the wb_intercon generator05:37
hansfbaierolofk: dito ^05:37
hansfbaierolofk: I submitted a pull request for orpsoc, to get familiar with it.05:37
hansfbaierstekern: also with the information from wb_intercon.conf and suitable templates from the individual cores we could autogenerate a dts suitable for the system built05:40
Powermaniachansfbaier: Are you there as you might be able to answer my questions, although Stekern of Olofk probaly could also06:48
hansfbaierPowermaniac: y06:48
hansfbaierPowermaniac: getting hot now here, i'll be offline soon, so hurry up.06:48
Powermaniachansfbaier: See I need a sort of way to say how 'finished' ORPSoCv3 is in that you could use it as a system to run say Debian on top of and connect to a HDD, ethernet, usb, wifi etc.06:49
hansfbaierPowermaniac: No distro yet for OpenRISC06:49
Powermaniachansfbaier: As I have another meeting with UniSA on Monday and they don't seem to understand how far you guys have come since they last looked at OpenRISC. And thus I need to somehow show them that to convince them my idea might be more possible then they realise06:50
hansfbaierPowermaniac: Tell them we have a running Linux system with VGA, sound, ethernet, usb, spi, i2c, jtag, cd card06:51
Powermaniachansfbaier: Thank you, that is exactly what I needed to know.06:51
hansfbaierPowermaniac: You have no board yet? A de0_nano would be a fantastic low-risc investment, so you could explore on your own. It's only $80.06:51
hansfbaier$50 if you're academic.06:52
hansfbaiers/cd card/sd card/06:52
hansfbaierusbv1 only06:52
Powermaniachansfbaier: I'm waiting till Christmas for now. Will be getting the Sockit or DE2 115 or Digilent Atlys though06:52
hansfbaierthat was in orpsocv206:52
hansfbaierorpsocv2 has no usb yet06:52
hansfbaiermany cores integrated in orpsocv2 aren't in v3 yet06:52
hansfbaierI just ported SPI here:06:53
PowermaniacOh cool06:54
hansfbaierPowermaniac: orpsocv2 is more complete in terms of features ATM, v3 is about the new build system.06:54
PowermaniacHmm would somone need to make a linux distro from scratch for OpenRISC?06:54
hansfbaierPowermaniac: Yes, somebody has to do that.06:55
PowermaniacAs I ahve that crazy idea of using ORPSoCv3 as the base of an open source computer system06:55
hansfbaierPowermaniac: Yocto might be a good thing06:55
hansfbaierPowermaniac: Yocto is a distribution building system06:55
PowermaniacBut two of the professor's at UniSA though that wouldn't be possible with my time restraints not realising you guys have already basically made a SoC that is wokring and ready for use.06:56
hansfbaierPowermaniac: Do you want to do this as a thesis or so?06:56
Powermaniachansfbaier: Okay I shall begin looking into Yocto, would knowing how to program in C first be useful06:56
hansfbaierYou probably need C and python06:56
Powermaniachansfbaier: No I'm just a high school student currently, trying to see if I can go to Uni next year though.06:57
Powermaniachansfbaier: I have Python down pat so that is good06:57
hansfbaierPowermaniac: I'd advise you to get a de0_nano06:57
hansfbaierPowermaniac: It's cheap and you can do a lot with it06:57
hansfbaierPowermaniac: And very well supported by orpsocv2/306:58
hansfbaierPowermaniac: play with it06:58
Powermaniachansfbaier: See I'm actually in year 11 but have repeated it three times because of illnesses and missing school because of that. Thus it looks like I may not be able to complete year 12 next year because of those illnesses unless I spread it out over 2 years06:58
hansfbaierit's fun06:58
Powermaniachansfbaier: Or I'm now looking at going straight to university and doing some of it online...06:58
Powermaniachansfbaier: I might get a De0_Nano depends if I get these laptops that are up for auction or not and what the total cost ends up being as I have a loose $120 sitting around06:59
hansfbaierPowermaniac: That would be great to get started. All you need is a rather recent PC with min. 4GB RAM (better 8)07:00
PowermaniacGot 8GB so that is good.07:00
hansfbaierAnd a hard disk with about 40GB spare space07:00
PowermaniacGot that too =D07:00
hansfbaierAnd a usb 2 serial adapter 3V level07:00
PowermaniacNot sure about that though but would that be like a phone charger by any chance?07:01
Powermaniacmini usb phone charger*07:01
PowermaniacOh okay07:03
hansfbaierAnd this:
hansfbaierto connect it to the nano07:04
PowermaniacOkay I shall bookmark those07:05
hansfbaierThat with the de0_nano and you have a running Linux system on OpenRISC07:11
hansfbaiergetting too hot here now. Time for siesta...07:12
hansfbaiersee you around...07:12
PowermaniacBye and thanks07:12
poke53281stekern: I have an interesting problem with the timer in QEMU. In Linux the timer is always in continuous mode.07:48
poke53281An update of the timer reads TTCR and writes TTCR+delta in TTMR. The distance between both commands is only a few cycles.07:48
poke53281In QEMU however the timer is realtime. And it looks like between reading TTCR and writing TTMR could be a realtime difference of07:48
poke53281more than 2ms with the result that I could get an overflow. I think the reason is that the QEMU timer tries to get the time in ns from the kerel.07:48
poke53281And sometimes the kernel is doing something else in between. This overflow happens very often. Approximately every 20 seconds realtime.07:48
poke53281I will sleep on this problem. But at the moment I don't have a clue how to solve it.07:48
poke53281And I found that Linux does not disable the IRQs while updating the timer.07:50
rokkaolofk: i am not familiar with tcl scripts, in which file should i add that command?09:17
stekernpoke53281: interesting. where in the linux code is the timer updated?09:37
stekernif the timer update isn't "atomic", it sounds to me that bad things might happen on real hardware as well.09:38
stekernfixing that wouldn't help with the qemu problem though...09:38
stekernhansfbaier: yes, automatic top file generation is definitely something we should have09:41
stekernI'm not familiar with jinja templates, will read up on that09:41
hansfbaierstekern: I'm working on the i2c patches09:42
hansfbaierstekern: I have researched a bit, they seemed to be the most powerful for our purpose09:42
hansfbaierlots of nice features09:42
stekernsounds good09:42
stekernbecause right now, systems aren't as "cheap" as they should be09:42
stekernI would like to have my synth additions to sockit seperate from the 'sockit' system, but right now that would just generate extra maintanance overhead for me, so I keep them in 'sockit'09:43
stekernyes, first impression of jinja, that sounds like something we definitely could use09:46
hansfbaierstekern: good to hear09:49
hansfbaierstekern: don't work on i2c patches, I'm already done09:49
hansfbaierstekern: more on monday, will send you a pull request09:49
* hansfbaier gotta go09:50
stekernolofk: what's your opinion  on jinja?09:50
stekernthe only con I can come up with is that it is an other dependency09:51
-!- Guest64444 is now known as trem11:13
TW__Hi friends.  Trying to build from a fressh git pull from or1k-src.git.  On Ubuntu 13.10/gcc 4.8.1 getting "ld: cannot find -lintl"  can't seem to figure out how to get intl library.  Any advice?15:28
stekernTW__: might be the last commit that fix a build issue on OSX, could you try to revert that and see if it helps16:15
TW__stekern:  Went back one version (to c5f63b......)  and it builds fine.  Looks like that last commit is trouble for Linux - at least on my Ubuntu build machine.  Thank you for the response.16:45
stekernok, we'll have to sort that out... thanks for shouting ;)16:48
poke53281stekern: linux/arch/openrisc/kernel/time.c  The first function openrisc_timer_set_next_event16:56
poke53281The time between mfspr and mtspr could be 2ms under QEMU.16:57
poke53281And I was wrong. Hardware interrupts are disabled during that time.16:58
poke53281There could be still a page fault.16:59
poke53281I have also examples in which the kernel trys to wait only 500 cycles.17:26
poke53281This could be even on real hardware a problem when there is a page fault.17:27
poke53281500 out of 20000000 cycles per second.17:27
stekernpoke53281: but then the read and write need to be on different pages, right?17:59
poke53281The variable c will be a register I hope.18:16
poke53281So, it's highly unlikely that there will be a problem in real hardware.18:34
poke53281Ahh, I am getting closer. The problem can be avoided in QEMU.18:48
poke53281It's nice to see finally correct timings from QEMU.19:01
--- Log closed Sun Oct 20 00:00:47 2013

Generated by 2.15.2 by Marius Gedminas - find it at!