--- Log opened Sun Oct 20 00:00:47 2013 | ||
poke53281 | Slowly I am getting used with git. | 03:26 |
---|---|---|
poke53281 | great tool. In five years I guess it will be it's own operating system. ;) | 03:27 |
poke53281 | stekern: 7 patches so far. But the speed improvement is less than 10%. But I know why. It will take some time for the final patch which gives you then a factor of two or more. | 03:31 |
poke53281 | Let's hope Jia Liu is not shocked. | 03:31 |
Powermaniac | IS a bootloader up and running for ORPSoCv3? | 03:58 |
Powermaniac | Would it be possible to use the Javascript simulation of OpenRISC for now to build a linux distro on top of? | 04:07 |
Powermaniac | Can QEMU run ORPSoCv3/OpenRISC? | 04:18 |
poke53281 | Hi Powermaniac | 04:23 |
poke53281 | About the bootloader you have to ask others. At the moment we have built in kernel parameters. | 04:24 |
poke53281 | So, probably not. | 04:24 |
poke53281 | The Javascript emulatlor is closely | 04:25 |
poke53281 | The Javascript emulator loosly based on the distribution Linux from Scratch. | 04:25 |
Powermaniac | poke53281: Okay but can QEMU run OpenRISC? And thanks! | 04:26 |
poke53281 | http://simulationcorner.net/opencore4/or1k-toolchain.tar.bz2 | 04:26 |
Powermaniac | poke53281: Talking to a guy on #debian OFTC.net about it at the moment as I wish to help someway and maybe try setting up Debian for OpenRISC | 04:26 |
poke53281 | These are the scripts I am using at the moment | 04:27 |
poke53281 | QEMU can run Openrisc, yes. But at the moment it is slower than jor1k. | 04:27 |
Powermaniac | Ahhh okay | 04:27 |
poke53281 | Yes, this is possible. :) | 04:27 |
poke53281 | But I am working on it. | 04:27 |
poke53281 | Yesterday and today I send 7 patches improving it. | 04:28 |
poke53281 | So in a few weeks it will be much much faster. | 04:28 |
Powermaniac | poke53281: So you are working on porting Debian to openrisc/ORPSoCv3 or? | 04:28 |
Powermaniac | Oh youa re improving the processor speed | 04:28 |
poke53281 | At the moment it is also not very stable. I have found several problems which I am correcting. | 04:29 |
poke53281 | No port. But a port of Debian would be fantastic :) | 04:29 |
Powermaniac | Okay | 04:29 |
Powermaniac | Yeah I want to help so I was going to try and develop a port of Debian, probably too big a task for me but I will try anyway | 04:29 |
poke53281 | Yes, it is a big task. But you can learn a lot. | 04:30 |
Powermaniac | So I assume I can download jor1k and use that simulation on my computer right? It's all opensource? I'm also not sure if it is being updated along with ORPSoCv3 is it? | 04:30 |
poke53281 | Yes, all opensource. https://github.com/openrisc | 04:31 |
poke53281 | These are the main repositories | 04:31 |
Powermaniac | Yeah I know about the main respositories, just wasn't sure jor1k was. So thanks. Need to do lots of reading then | 04:31 |
poke53281 | I am not sure what you mean with "updated along". There is the or1k specification and both are following these specifications. | 04:32 |
poke53281 | But yes, there is some connection. E. g. when hard tlb refill will be included it will be implemented in both projects. | 04:32 |
Powermaniac | Oh so jor1k isn't ORPSoCv3 it's just openRISC? | 04:32 |
Powermaniac | Also do you have a link to the QEMU simulation? | 04:33 |
poke53281 | It's not ORPSoCv3. I am using basically another SOC. But the differences are minimal for the Linux kernel. | 04:33 |
Powermaniac | Wait so you are s-macke? | 04:34 |
poke53281 | install QEMU under Linux and search for qemu-or32 and qemu-system-or32 | 04:34 |
poke53281 | Yes | 04:34 |
poke53281 | <- s-macke | 04:34 |
Powermaniac | Oh...haha | 04:34 |
Powermaniac | Cool | 04:34 |
poke53281 | About the ORPSoC stuff you have to ask stekern. | 04:34 |
Powermaniac | Okay need to hop on over to Debian then to get this all running | 04:34 |
poke53281 | Debian maybe has a very old version of QEMU. | 04:35 |
poke53281 | But you an get it also for Linux. No problem | 04:35 |
poke53281 | for Windows I mean | 04:35 |
Powermaniac | Okay. So be right back just hopping over to Debian | 04:35 |
poke53281 | There are several binaries available | 04:35 |
powermaniac | Oaky back | 04:38 |
poke53281 | if you want something to test | 04:44 |
poke53281 | download | 04:44 |
poke53281 | www.simulationcorner.net/vmlinux | 04:44 |
poke53281 | and www.simulationccorner.net/nbench | 04:44 |
poke53281 | start with | 04:44 |
poke53281 | qemu-or32 ./nbench | 04:44 |
powermaniac | Okay shall do | 04:44 |
powermaniac | First I need qemu installed though right? | 04:45 |
poke53281 | or qemu-system-or32 -m 128 -nographic -kernel vmlinux | 04:45 |
poke53281 | Yes | 04:45 |
poke53281 | "sudo apt-get install qemu" or something similar | 04:46 |
powermaniac | Okay downloading | 04:46 |
powermaniac | Thanks for all the help by the way | 04:46 |
poke53281 | You are welcome. Two hours left to ask questions :) Then I have to sleep. | 04:47 |
powermaniac | What is the difference between the two qemu commands | 04:49 |
powermaniac | Well that was weird | 04:49 |
powermaniac | Am I back? | 04:49 |
poke53281 | Yes | 04:49 |
powermaniac | Okay seems I am | 04:50 |
poke53281 | qemu-user can be used to dirrectly start executables compiled for the OpenRISC platform. | 04:50 |
powermaniac | Anyway I was wondering what the difference was between the two qemu commands were? | 04:50 |
poke53281 | nbench is a static binary | 04:50 |
poke53281 | Look at the output of "file nbench" | 04:50 |
poke53281 | and "file vmlinux" | 04:50 |
poke53281 | vmlinux is a compiled linux kernel. | 04:51 |
powermaniac | Ahh right | 04:51 |
powermaniac | So I assume I need to add qemu to the command line right? | 04:51 |
poke53281 | I don't understand the question. | 04:52 |
powermaniac | Umm, I mean to the PATH variable | 04:52 |
poke53281 | No | 04:52 |
powermaniac | As it doesn't recognise the command qemu-or32 ./nbench | 04:52 |
poke53281 | Debian did everything neessary for you | 04:52 |
poke53281 | which qemu version did you install. | 04:53 |
poke53281 | ? | 04:53 |
powermaniac | Let me check | 04:53 |
powermaniac | Okay I think it is version 1.0.0 | 04:55 |
poke53281 | You know what I don't like about Debian. It installs two or three year old software. | 04:56 |
powermaniac | Yeah...=\ | 04:56 |
powermaniac | Is there a particular way to check what version of software is installed? | 04:56 |
poke53281 | I don't know how this works in Debia. But you have to install qemu from an unstable branch. | 04:56 |
powermaniac | As I may have gotten it all wrong | 04:56 |
poke53281 | Maybe qemu -v | 04:57 |
poke53281 | or qemu --version | 04:57 |
poke53281 | or qemu --help | 04:57 |
powermaniac | Okay it's version 1.1.2 | 04:57 |
poke53281 | I am sure there is an easy way in Debian. | 04:57 |
poke53281 | This is still too old. | 04:57 |
powermaniac | I could just compile qemu from source? | 04:57 |
poke53281 | QEMU 1.6.1 is out | 04:57 |
poke53281 | Yes, with the result, that you have to compile libffi and libglib too. Because QEMU depends on these libraries. And they are also too old in Debian. | 04:58 |
powermaniac | Okay going to compile from source then, easy guide on how to as well on the wiki | 04:59 |
poke53281 | But maybe there is an unstable repository you can use. If you have Windows there is already an compiled version. | 04:59 |
poke53281 | Good try it. | 04:59 |
poke53281 | ./configure && make && make install | 05:00 |
powermaniac | Oh I was on Windows now I'm on Debian and it seems easier to use it from within Debian/well easier inthe sense to make a linux distro it will be easier in debian as all the commands to do so are in there | 05:00 |
poke53281 | Ok, good luck | 05:03 |
powermaniac | Looks like I need pkg-config | 05:06 |
poke53281 | Yes | 05:08 |
powermaniac | Okay got that now I need glib 2.12 | 05:08 |
poke53281 | all that dev tools. Debian is not optimal for developers by the way. | 05:08 |
powermaniac | Ohhh | 05:08 |
poke53281 | good but not optimal. | 05:09 |
poke53281 | There are other distros who install automatically all -dev packages for example. | 05:10 |
poke53281 | And they are newer but also more unstable of course. | 05:10 |
powermaniac | Oh, hmm. | 05:10 |
poke53281 | But Debian is still good. Installing a new distribution is not worth the time you spending. | 05:11 |
powermaniac | I like Debian because of there 'pledge' to be open source | 05:11 |
poke53281 | Yes, like hundred other distros too. ;) | 05:12 |
powermaniac | True | 05:12 |
powermaniac | Oh now I need pixman | 05:12 |
poke53281 | Yes, but this should be fine in Debian. | 05:12 |
poke53281 | I think you even disable it in the ,/configure options. | 05:13 |
powermaniac | Hmm, oops? | 05:13 |
poke53281 | The QEMU openrisc emulator does not have any screen | 05:13 |
powermaniac | Weird it said I needed DTC devel package, I installed it and it still says I don't have it | 05:16 |
poke53281 | What is DTC? | 05:18 |
powermaniac | device tree compiler I believe | 05:18 |
poke53281 | never heard | 05:18 |
powermaniac | Maybe I need a reboot | 05:18 |
powermaniac | Be right back | 05:18 |
powermaniac | Hmm still says I don't have DTC devel installed | 05:26 |
poke53281 | qemu configure tell you this? | 05:29 |
powermaniac | Yep | 05:29 |
poke53281 | Which QEMU version did you download? 1.6.1? | 05:30 |
powermaniac | Let me check again | 05:31 |
powermaniac | WTF it's version 1.1.2 again | 05:31 |
powermaniac | Okay think I may have fixed it will check the version again though | 05:34 |
powermaniac | Very slowly downloading the new version of it from what I can tell and all it's dependancies | 05:35 |
powermaniac | Well that didn't work | 05:55 |
powermaniac | Still version 1.1.2 | 05:55 |
poke53281 | ??? What do you mean, after make isntall? | 05:59 |
poke53281 | "make install" | 05:59 |
poke53281 | You have to deinstall the debian QEMU version. | 05:59 |
powermaniac | After using this guide: http://wiki.qemu.org/Hosts/Linux | 05:59 |
powermaniac | I tried removing qemu and it still says version 1.1.2 is on the system | 05:59 |
powermaniac | I even tried purging it | 05:59 |
powermaniac | I will try cloning the git source files again | 06:00 |
powermaniac | Now I've purged qemu | 06:01 |
poke53281 | "ls bin/debug/native" ? | 06:01 |
poke53281 | What do you get? | 06:01 |
powermaniac | I get config.log | 06:01 |
poke53281 | Nothing else? | 06:01 |
powermaniac | Nope | 06:01 |
poke53281 | and "make" worked in this folder? | 06:02 |
poke53281 | I can't believe it. | 06:02 |
poke53281 | Looks like the configure ist still showing you an error. | 06:02 |
powermaniac | No it didn't | 06:02 |
poke53281 | Then, you haven't compiled it yet | 06:03 |
powermaniac | I got to the configure step and that's where I needed all these dependencies | 06:03 |
powermaniac | And it just wouldn't work | 06:03 |
powermaniac | As I needed DTC so I installed that and still it kept telling me I didn't have DTC | 06:03 |
powermaniac | Ha, sort of funny nothing ever goes smoothly for me when trying to do things like this xD | 06:04 |
poke53281 | how did you install it? | 06:04 |
poke53281 | This is normal. | 06:04 |
poke53281 | Especially under Debian. | 06:04 |
powermaniac | The first time I installed it by doing apt-get install qemu. Which gave me version 1.1.2 which you said was too old | 06:04 |
powermaniac | So I tried that guide http://wiki.qemu.org/Hosts/Linux | 06:04 |
poke53281 | no, how did you isntall dtc? | 06:04 |
powermaniac | And got to the Configure QEMU and start the build. step and it was like nope you don't have this and this | 06:04 |
powermaniac | Ohhh | 06:05 |
powermaniac | I typed in apt-get install device-compiler-tree | 06:05 |
powermaniac | Sorry device-tree-compiler* | 06:05 |
poke53281 | try "device-compiler-tree-dev" | 06:06 |
poke53281 | I mean device-tree-compiler-dev then | 06:08 |
powermaniac | REsult of that was: E: Unable to locate package device-tree-compiler-dev | 06:09 |
powermaniac | Yeah that was what I got ^ for that | 06:10 |
poke53281 | Ok, try to install only the or32 stuff. | 06:11 |
powermaniac | Don't I need qemu working though? | 06:11 |
powermaniac | I can't compile qemu without DTC it seems | 06:12 |
poke53281 | ./configure --target-list=or32-softmmu,or32-linux-user | 06:12 |
powermaniac | Let me see if there is a qemu irc channel | 06:12 |
poke53281 | try this | 06:12 |
poke53281 | dtc is only for special firmware for some x86 stuff. | 06:12 |
powermaniac | That seemed to work | 06:13 |
powermaniac | Okay so now what | 06:18 |
poke53281 | you should have qemu-or32 somewhere | 06:19 |
powermaniac | Okay I believe it is bin/debug/native | 06:20 |
poke53281 | of you have to type make if you haven't done so | 06:20 |
poke53281 | Yes | 06:20 |
powermaniac | Just checked that folder and that is where it appears to be | 06:20 |
poke53281 | by the way. There is no need to compile with --enable-debug at the moment | 06:21 |
powermaniac | Oh okay | 06:21 |
poke53281 | It slows the whole emulator down | 06:21 |
powermaniac | Okay so the folders are there: http://pastebin.com/YA8g5ngY | 06:22 |
powermaniac | I tried typing make and it gave me an error though, so is that needed now or isn't it? | 06:22 |
powermaniac | This is what I got from make: http://pastebin.com/JhwdMjXt | 06:24 |
powermaniac | Ahh I think I know why | 06:24 |
poke53281 | sudo apt get is you friend | 06:25 |
poke53281 | sudo apt-get install linux-headers-$(uname -r) | 06:25 |
powermaniac | No I know what the problem is I did that command in the wrong folder | 06:26 |
powermaniac | It is looking for it in the wrong folder anyway | 06:26 |
powermaniac | Got it working now so all good | 06:27 |
powermaniac | Everything was in /qemu/bin/debug/native and it was looking for /linux-headers in /qemu | 06:27 |
powermaniac | So I just deleted the stuff in /qemu/bin/debug/native and re ./configured it in /qemu and then ran make again | 06:28 |
powermaniac | Nowit's working away | 06:28 |
poke53281 | perfect | 06:28 |
powermaniac | Okay it's done | 06:28 |
powermaniac | Now do I try qemu-or32 ./nbench? | 06:28 |
poke53281 | exactly | 06:29 |
powermaniac | is qemu-0r32 a directory? | 06:29 |
powermaniac | As I think it might be probaly why it doesn't recognise the command | 06:29 |
poke53281 | bin/debug/natice/or32-softmmu/qemu-or32 ./nbench | 06:29 |
poke53281 | nbench should be in you current folder. | 06:30 |
powermaniac | qemu-or32 isn't a folder it seems | 06:32 |
powermaniac | or32-softmmu is | 06:32 |
poke53281 | sorry | 06:32 |
powermaniac | qemu-system-or32? | 06:32 |
powermaniac | that's a file atleast | 06:33 |
poke53281 | bin/debug/natice/or32-linux-user/qemu-or32 | 06:33 |
poke53281 | this should be correct | 06:33 |
powermaniac | Yep it is | 06:34 |
powermaniac | Ohhh nbench was that file I downloaded earlier | 06:35 |
poke53281 | yes | 06:35 |
poke53281 | 'An OpenRISC executable | 06:35 |
poke53281 | You should see a small benchmark program. | 06:37 |
poke53281 | Which takes around 5-10 minutes | 06:37 |
powermaniac | Weird permission is denied | 06:38 |
powermaniac | I'm as root so... | 06:38 |
powermaniac | Error while loading ./nbench: Permission denied | 06:39 |
poke53281 | chmod u+x nbench | 06:39 |
poke53281 | you have to gibe nbench executable rights | 06:39 |
powermaniac | There we go | 06:40 |
powermaniac | Was just reading and looking at that then when you said that | 06:40 |
powermaniac | Okay the benchmark is running I believe | 06:40 |
powermaniac | Thank you once again for all the help. This community is so friendly and helpful =D | 06:41 |
poke53281 | :) You are welcome | 06:41 |
poke53281 | the vmlinux file I gave will maybe not work. | 06:42 |
powermaniac | Oh okay | 06:42 |
powermaniac | Why is that? | 06:42 |
poke53281 | try it. But you could get segmentation fault or bad address error | 06:43 |
poke53281 | The QEMU openrisc emulator does not check the boundaries of an array. | 06:43 |
poke53281 | I send a patch today to the mailing list | 06:43 |
powermaniac | Also someone on #Debian OFTC asked if there is a working compiler for OpenRISC/ORPSoCv3 is there? | 06:43 |
powermaniac | Oh okay | 06:43 |
poke53281 | Yes, the toolchain | 06:44 |
powermaniac | OH good | 06:44 |
poke53281 | http://opencores.org/or1k/OpenRISC_GNU_tool_chain | 06:44 |
powermaniac | This is all very interesting, even though I don't completely understand it, probably why I find it so interesting | 06:44 |
poke53281 | with manual how to install it | 06:44 |
powermaniac | Oh I already have that installed | 06:44 |
powermaniac | I think | 06:44 |
powermaniac | I installed OpenRISC a while back, to use GTKWave with it | 06:45 |
powermaniac | Thanks to stekern | 06:45 |
poke53281 | I am a terminal junkie when I am using Linux. I don't know GTKWave. | 06:45 |
poke53281 | is or1k-linux.gcc working? | 06:46 |
poke53281 | does your terminal reckignizes it as command? | 06:46 |
poke53281 | or or1k-linux-uclibc-gcc | 06:46 |
powermaniac | Sadly it doesn't seem to recognise either | 06:47 |
powermaniac | Sure I had it working before... | 06:47 |
poke53281 | Because the path variable is missing | 06:47 |
poke53281 | You have to set it to correct folder. | 06:47 |
powermaniac | Oh this is the result of the benchmark: https://pastee.org/6mjy2 | 06:48 |
poke53281 | Yes, more or less the speed of an old Pentium | 06:49 |
poke53281 | If you try the i386 QEMu emualtion you will reckignize that this is more than 20-40 times slower. | 06:50 |
powermaniac | That's not too bad really | 06:51 |
powermaniac | For something being worked on by only a few people from scratch | 06:51 |
poke53281 | Yes, but the emulator could be much faster. At the moment I am working on this. | 06:52 |
powermaniac | Oh right | 06:52 |
poke53281 | Do you know how to write in C? | 06:52 |
powermaniac | How fast is in on an FPGA? | 06:52 |
powermaniac | Sadly no, I want to learn how to though | 06:52 |
powermaniac | Just learnt Python though planning to go onto C next | 06:52 |
poke53281 | Not sure, You have to ask stekern. | 06:52 |
powermaniac | Okay | 06:53 |
poke53281 | But it should be much faster | 06:53 |
powermaniac | So now I should try the vmlinux file I assume | 06:53 |
poke53281 | Yeah try it | 06:53 |
poke53281 | Which processor you are using? The benchmark gives faster results than mine. | 06:54 |
powermaniac | i5 2500k at 3.30Ghz I believe | 06:54 |
powermaniac | Quad core* | 06:55 |
poke53281 | Ok, then it is probably the virtual machine I am using. This slows it down. | 06:55 |
poke53281 | I have a Core i7. | 06:55 |
powermaniac | Oh | 06:55 |
powermaniac | Yeah this was a gaming computer that I built myself but I don't really game much anymore so | 06:55 |
powermaniac | Mainly just learn new stuff constantly instead of gaming | 06:55 |
poke53281 | programming games is much more fun than playing then ;) | 06:56 |
poke53281 | them | 06:56 |
powermaniac | Only sort of new to programming although I tried to learn JAva three times and gave up on it when I was a bit younger | 06:57 |
powermaniac | Bloody too verbose | 06:57 |
powermaniac | Is this command for folder or32-softmmu: qemu-system-or32 -m 128 -nographic -kernel vmlinux | 06:58 |
powermaniac | As that is where qemu-system-or32 is located | 06:58 |
poke53281 | yes | 06:59 |
powermaniac | Mainly stopped trying to learn Java as every time I got busy or in the end it became boring because I had to start again so many times to re-learn the basics. So now instead I'm learning Python, almost finished learning Python from Udacity and Learn Python The hard WAy | 06:59 |
poke53281 | Yes, python is a little bit easier as you don't need a compiler. | 07:00 |
poke53281 | But it's damn slow. | 07:00 |
powermaniac | Hmm I keep getting this error: QEMU: couldn't load the kernel 'vmlinux' | 07:01 |
poke53281 | My work has a lot do with physical simulations. If I would program them in python I would be long dead before even one calculation would be finished. | 07:01 |
powermaniac | Hahahaaa | 07:02 |
powermaniac | I assume that's why everyone seems to program in C because it is so fast. | 07:02 |
poke53281 | Yes, In principle Intel defines what is fast today. They have the fastest CPUs and the fastests compilers. So you the choice between C/C++ and Fortran if you want to program fast. | 07:03 |
poke53281 | the vmlinux must be in the same folder from where you start the emulator. | 07:03 |
poke53281 | like nbench | 07:03 |
powermaniac | Wait worked it out | 07:03 |
powermaniac | Had to give it the location of the file | 07:04 |
powermaniac | Now it gives me this error though: Bad ram pointer 0x7f57256e011c | 07:04 |
poke53281 | Yes, exactly. | 07:04 |
powermaniac | Is that the error you spoke of before? | 07:04 |
poke53281 | http://lists.nongnu.org/archive/html/qemu-devel/2013-10/msg02659.html | 07:05 |
poke53281 | yes | 07:05 |
poke53281 | and this is the patch | 07:05 |
powermaniac | SO I asume it will be fixed soon? | 07:05 |
powermaniac | I guess I need that working before I can begin building a linux distro for it all | 07:06 |
poke53281 | one day to four weeks typically | 07:06 |
poke53281 | but you can apply it yourself | 07:06 |
powermaniac | On Monday I go to UniSA to see what some students are doing there in regards to building there own ASIC designs and implementing them on an FPGA maybe I could ask the professor for tips regarding implementing a linux distro...See I'm only a high school student | 07:07 |
poke53281 | Copy the content beginning from "The mtspr" till "1.7.9.5" into a file | 07:07 |
powermaniac | Oh I can apply it myself can I | 07:07 |
poke53281 | for example in a file called mypatch.patch | 07:07 |
poke53281 | got to the qemu folder | 07:07 |
poke53281 | and try "git apply /path/to/patch/mypatch.patch" | 07:07 |
poke53281 | This should do it | 07:08 |
poke53281 | The Linux distro part is really part. You should know that this requires programming. | 07:08 |
poke53281 | in C | 07:08 |
poke53281 | There will be errors and you have understand them . | 07:09 |
powermaniac | Okay so I should start learning C asap then | 07:09 |
poke53281 | In principle yes. But also learning how the tools in Linux are working. | 07:10 |
powermaniac | Okay so I got an error applying the patch: fatal: patch fragment without header at line 26: @@ -89,7 +89,7 @@ void HELPER(mtspr)(CPUOpenRISCState *env, | 07:10 |
poke53281 | ,configure make and gcc | 07:10 |
powermaniac | Oh okay | 07:10 |
powermaniac | So nobody else is planning to work on porting a distro to ORPSpCv3 are they? just wondering as then I won't be using my time when someone else may already be started and complete it before me | 07:11 |
poke53281 | try "git am < /path/to/patch/mypatch.patch" | 07:12 |
poke53281 | No one is working on it right now. | 07:12 |
powermaniac | Oh okay | 07:14 |
powermaniac | Patch does not have a valid e-mail address. | 07:14 |
powermaniac | LOL | 07:14 |
powermaniac | Okay just added .com to your fake email address and that seems to have fixed it | 07:15 |
powermaniac | Wait what is this patching exactly, is it just patching vmlinux? | 07:15 |
powermaniac | Or do I need to be in the qemu folder if the qemu folder I got this result: previous rebase directory /home/powermaniac/qemu/.git/rebase-apply still exists but mbox given. | 07:16 |
poke53281 | no it is patching QEMU. | 07:16 |
poke53281 | you to type make again | 07:16 |
poke53281 | you should be in the qemu folder when you apply the patch, yes | 07:16 |
powermaniac | Still a bad ram pointer supposedly according to the error | 07:17 |
powermaniac | Bad ram pointer 0x7f77e70e011c | 07:17 |
powermaniac | Did make again | 07:17 |
powermaniac | And then did make install | 07:17 |
poke53281 | Ok, then the patch was not applied | 07:17 |
poke53281 | try to use git apply but his provide a patch file which is beginning from "diff --git ...... | 07:18 |
poke53281 | ...but this time .... | 07:18 |
powermaniac | That didn't work either same error as this: previous rebase directory /home/powermaniac/qemu/.git/rebase-apply still exists but mbox given | 07:19 |
poke53281 | Don't know what happens | 07:20 |
poke53281 | try "git reset --hard" | 07:20 |
poke53281 | and try to apply the patch agagin | 07:20 |
powermaniac | Same error | 07:20 |
poke53281 | with git am or git apply? | 07:20 |
powermaniac | git am | 07:21 |
poke53281 | try git apply | 07:21 |
powermaniac | git apply returns this: fatal: patch fragment without header at line 18: @@ -89,7 +89,7 @@ void HELPER(mtspr)(CPUOpenRISCState *env, | 07:21 |
powermaniac | Can I not apply it directly | 07:22 |
powermaniac | Like just go into the file you are editing, and place that code in it? | 07:22 |
poke53281 | you can, but this is normally not necessary | 07:22 |
powermaniac | Oh | 07:22 |
poke53281 | Ok, probably it depends on my previous patches. | 07:23 |
powermaniac | Ahh okay | 07:23 |
powermaniac | So I assume you have your own custome qemu OpenRISC running | 07:24 |
poke53281 | Ahh, yes | 07:24 |
poke53281 | wait | 07:25 |
powermaniac | Hmm? | 07:25 |
poke53281 | simulationcorner.net/qemu_patches.tar.bz2 | 07:27 |
poke53281 | apply all of them: git apply /path/to/patches/*.patch | 07:28 |
powermaniac | You sure that url is correct I'm getting a 404 Not Found | 07:28 |
poke53281 | try it again | 07:28 |
powermaniac | There we go | 07:28 |
powermaniac | Should I remove mypatch.patch now? | 07:29 |
poke53281 | yes | 07:30 |
powermaniac | As everything worked but that one | 07:30 |
powermaniac | error: patch failed: target-openrisc/translate.c:904 | 07:30 |
powermaniac | error: target-openrisc/translate.c: patch does not apply | 07:30 |
powermaniac | I think it will work without that, just tried make and it is re-making it | 07:31 |
powermaniac | Yep it worked | 07:31 |
powermaniac | vmlinux is now working!!! | 07:31 |
poke53281 | nice | 07:32 |
powermaniac | Here is the code that it output if your interested: http://tny.cz/5c4eadec | 07:33 |
poke53281 | you have to kill the process in another terminal using "killall qemu-system-or32" | 07:33 |
powermaniac | Woops that isn't all of it | 07:33 |
poke53281 | "High risk website blocked" | 07:33 |
powermaniac | This might work: http://pastie.org/8415921 | 07:34 |
poke53281 | Yes, this is correct | 07:35 |
poke53281 | try "cd cmatrix" | 07:35 |
poke53281 | "./configure" | 07:35 |
poke53281 | ...wait... | 07:35 |
poke53281 | "make" | 07:35 |
poke53281 | ...wait... | 07:35 |
poke53281 | ./cmatrix | 07:35 |
powermaniac | from within another terminal or from within the current terminal that is asking me to press Enter? | 07:35 |
poke53281 | in another terminal. | 07:36 |
powermaniac | Do I need to be in a particular folder? | 07:36 |
poke53281 | In the terminal qemu is now emulating the terminal of the vmlinux | 07:36 |
poke53281 | no | 07:36 |
powermaniac | Oh I got permission denied inside the qemu vmlinux terminal? | 07:36 |
powermaniac | Do I need to be root, if so what is the password? | 07:37 |
poke53281 | You are already inside the terminal | 07:38 |
poke53281 | You get you status by the command "who" | 07:39 |
powermaniac | ~ # who | 07:39 |
powermaniac | root console old Jan 1 00:05:14 | 07:39 |
poke53281 | exactly | 07:39 |
poke53281 | permission denied? what command did you try? | 07:39 |
powermaniac | ~ # ./cmatrix -sh: ./cmatrix: Permission denied | 07:39 |
powermaniac | ./cmatrix | 07:40 |
poke53281 | "uname -a" gives you the processor info | 07:40 |
poke53281 | and Linux version | 07:40 |
poke53281 | "cat /proc/cpuinfo" | 07:40 |
poke53281 | compare with the result you get in your Debian distribution | 07:40 |
powermaniac | ~ # uname -a Linux openrisc 3.11.0-rc3-10812-gbb0f7a5-dirty #7 Wed Oct 16 22:06:00 UTC 2013 openrisc GNU/Linux | 07:40 |
powermaniac | powermaniac@Powermaniac-PC:~$ uname -a Linux Powermaniac-PC 3.2.0-4-amd64 #1 SMP Debian 3.2.46-1+deb7u1 x86_64 GNU/Linux | 07:41 |
powermaniac | Okay not going to copy paste the cat /proc/cpuinfo as it is huge lol | 07:41 |
poke53281 | Not in openrisc | 07:41 |
powermaniac | Well yeah that is smaller | 07:41 |
powermaniac | http://pastie.org/8415928 | 07:42 |
poke53281 | Yes, the x86 cores have a lot of options. | 07:42 |
powermaniac | So is openrisc 32-bit 64-bit or something else entirely? | 07:42 |
powermaniac | 16-bit? | 07:42 |
poke53281 | 32 bit | 07:43 |
powermaniac | Ahh okay | 07:43 |
poke53281 | try | 07:43 |
poke53281 | "gcc hello.c" | 07:43 |
poke53281 | then "./a.out" | 07:43 |
powermaniac | So say there was the funding to produce an ORPSoCv3 ASIC would it be competitive with todays processors and PSoC's, etc? | 07:43 |
powermaniac | My first C Hello World!!!! | 07:44 |
powermaniac | lol | 07:44 |
poke53281 | No one knows. how fast that would be. | 07:44 |
powermaniac | Oh okay | 07:44 |
poke53281 | Ask stekern. But with 20000 Dollar we get an interview with a manager who will tell you that you can't build an ASIC with 20000 Dollar. | 07:45 |
powermaniac | Hahahaaa | 07:46 |
poke53281 | Ok, almost 1AM. I have to go to sleep | 07:47 |
poke53281 | I would like to have an ASIC. Bit then we need more support. | 07:49 |
poke53281 | Something like a kickstarter project where we get 100000 Dollar. | 07:49 |
powermaniac | Okay | 07:49 |
powermaniac | Goodnight then, and thanks again | 07:49 |
poke53281 | And then you still have to design it. And I an complete noob doing this. I don't even have an FPGA. | 07:50 |
poke53281 | goodnight. Put questions here in the chat. I will not be offline. | 07:51 |
powermaniac | Oh okay, bye! | 07:52 |
stekern | powermaniac: yes, we hav a bootloader | 08:09 |
stekern | actually several, u-boot and barebox | 08:09 |
powermaniac | stekern: Hi, sorry disappeared a bit after poke left. | 08:16 |
powermaniac | stekern: Ahh U-Boot that's good. | 08:17 |
powermaniac | stekern: Be right back jumping on Windows 7 as I don't have Debian fully running the way I want yet and I have things I need to do on Windows 7 | 08:17 |
Powermaniac | Back | 08:20 |
olofk | rokka: What build system are you using orpsocv2, orpsocv3 or something else? | 08:32 |
olofk | stekern: I agree. systems are meant to be cheap, but they're not there quite yet. jinja looks like a nice addition. | 08:34 |
stekern | olofk: good, let's see if hansfbaier wants to take on that task after he's done with i2c and spi | 08:35 |
olofk | stekern: I'm not sure about the best way to do it though. Perhaps put jinja templates in each of the cores and add some tag to the .core file to indicate that it has a template | 08:51 |
olofk | But I'm not sure how to handle jinja-less cores then | 08:52 |
olofk | So for that reason it might be best to start with adding jinja support to the top-levels instead. | 08:54 |
stekern | yeah, it's not completely clear to me neither, but as you say, the templates kind of belongs to the cores | 09:09 |
olofk | Need to think about this a bit, but I like the idea. | 09:16 |
olofk | Going out for a while | 09:16 |
-!- rfajardo_ is now known as rfajardo | 09:20 | |
olofk | ok, I think I got it now. | 11:25 |
olofk | We start with having templates on the top level | 11:26 |
olofk | If a core has a template for it's instantiation, we import it | 11:26 |
olofk | I want to push as little orpsoc-specific requirements as possible down to the cores | 11:27 |
olofk | And I need to get started on the orpsoc "generation" framework | 11:28 |
olofk | A generator in this case is something that transforms a description to hdl code, like coregen, qsys, wb_intercon_gen and bootrom for example | 11:32 |
stekern | tha makes sense, to have a common way for that, even if the "backend" differ | 11:33 |
olofk | coregen and qsys will be built-in into orpsoc, but wb_intercon_gen and will register themselves as generators when the core files are parsed | 11:33 |
lkiller | sounds great | 11:34 |
olofk | Something like this (totally made up example) http://pastie.org/8416216 | 11:38 |
olofk | in the core file | 11:38 |
olofk | and wb_intercon will need some extra section that indicates it contains a generator, and how it should be invoked | 11:40 |
olofk | Realize now that I moved away a bit from the original jinja discussion :) | 11:40 |
olofk | btw, has anyone figured out how to automate megawizard? | 11:41 |
stekern | I haven't tried, but since they keep the core info in the generated hdl, what are you going to automate it from? | 11:44 |
olofk | stekern: Oh, I thought there was some description file you used as input. | 11:45 |
olofk | Not saying we need to automate that in orpsoc. Just curious since I know how coregen does it | 11:45 |
rfajardo | stekern, testing your suggestion | 12:45 |
rfajardo | olofk, how should I proceed to try orpsocv3? | 13:12 |
hawi_ | hi, is anyone having problems running or1k linux kernel on latest qemu? | 13:53 |
hawi_ | I receive the message: Bad ram pointer 0x7f52688ea11c. Aborted | 13:54 |
hawi_ | If I check out an older revision, it works | 13:57 |
hawi_ | I did a bisection and the commit that introduces this is: | 14:03 |
hawi_ | 5cd8f6210f83db15702e81b91e40e7079608e6f3 tcg: Move helper registration into tcg_context_init | 14:03 |
hawi_ | sorry, I meant: 6e085f72c6d331fb0e9fc69e3061cd1e5893d9e4 tcg: Use a GHashTable for tcg_find_helper | 14:05 |
olofk | rfajardo: Download (github.com/openrisc/orpsoc) and install (autoreconf -i && ./configure && make && make install) orpsoc | 14:18 |
olofk | Get orpsoc-cores (github.com/openrisc/orpsoc-cores | 14:18 |
olofk | Create an empty directory and create a file called orpsoc.conf in there | 14:19 |
olofk | In orpsoc.conf put: | 14:19 |
olofk | [main] | 14:19 |
olofk | cores_root=/path/to/orpsoc-cores/cores | 14:19 |
olofk | systems_root=/path/to/orpsoc-cores/systems | 14:19 |
olofk | After that you can start by trying to run a test simulation on one of the cores that has a testbench | 14:20 |
olofk | oh.. wait. Start by running "orpsoc list-cores" to verify that it is installed and has found your cores | 14:21 |
olofk | Then you can run a core simulation, for example: orpsoc sim wb_intercon | 14:21 |
olofk | To run a testcase from an elf-file on or1200, you can run orpsoc sim or1200-generic --or1k-elf-load=/path/to/file.elf | 14:23 |
olofk | or if you have quartus installed you can build a de0_nano or a de1 image with orpsoc build de0_nano (or de1) | 14:24 |
rfajardo | wow, nice | 14:44 |
olofk | rfajardo: Did you try it? | 14:45 |
rfajardo | I had already gone through the steps for installation. But not the ones for simulation. | 14:45 |
rfajardo | looks really good | 14:47 |
rfajardo | In which environment do you run the elf? The generic system I suppose, is its testbench pre-compiled or something? You use icarus, right? | 14:47 |
olofk | Ah.. crap. I haven't remove the "generic" sysem yet. It has bitrotted a bit | 14:49 |
olofk | But or1200-generic works fine | 14:49 |
olofk | When you run orpsoc sim, it checks if the test bench is already built, in which case it only runs it without rebuilding | 14:50 |
olofk | icarus is the default simulator for or1200-generic, but you can run orpsoc sim --simulator=modelsim instead | 14:50 |
rfajardo | congratulations on your system olofk | 14:51 |
olofk | I'm not sure if that answered your question though :) | 14:51 |
rfajardo | olofk, yes. | 14:51 |
rfajardo | olofk, that seems to provide a perfect environment for developing openrisc. I'm looking forward to use it. | 14:51 |
olofk | rfajardo: Thanks. It has finally come alive since we talked about it in the city without ATM machines :) | 14:51 |
rfajardo | I gotta grab a Xilinx USB cable. | 14:52 |
rfajardo | olofk, hell yeah :P | 14:52 |
olofk | I (or someone) got to implement Xilinx support in orpsocv3 :( | 14:52 |
rfajardo | was really a pity that I had to skip the recent conference. | 14:52 |
rfajardo | I own a Spartan3A 1800 DSP. But I haven't touched it in ages. | 14:53 |
rfajardo | I could as well go for the best supported platform so I don't have to port things oevr and over again. | 14:53 |
olofk | rfajardo: Yes, we missed you, but hope to see you next year, or at some other event | 14:54 |
rfajardo | olofk, yes, I'm definitely going to show up next time. | 14:54 |
rfajardo | Do you have the whole palette of options for configuring the Linux kernel for OpenRISC? Are there some ready to use template or something? | 14:55 |
--- Log closed Sun Oct 20 16:27:49 2013 | ||
--- Log opened Sun Oct 20 16:28:02 2013 | ||
-!- Irssi: #openrisc: Total of 31 nicks [0 ops, 0 halfops, 0 voices, 31 normal] | 16:28 | |
!asimov.freenode.net [freenode-info] channel flooding and no channel staff around to help? Please check with freenode support: http://freenode.net/faq.shtml#gettinghelp | 16:28 | |
-!- Irssi: Join to #openrisc was synced in 19 secs | 16:28 | |
hansfbaier | impure_hate: ever tried pure love? | 19:51 |
hansfbaier | :) | 19:51 |
--- Log closed Mon Oct 21 00:00:49 2013 |
Generated by irclog2html.py 2.15.2 by Marius Gedminas - find it at mg.pov.lt!