Matias E. Vara
Wednesday, December 10, 2014
TORO in FOSDEM 2015
I have the pleasure to give a talk in FOSDEM 2015 about TORO. The talk will be at devroom microkernel on Sunday. Here you have a summing of the talk. I will be at the conference the whole weekend so don't hesitate to contact me to talk.
Sunday, November 25, 2012
Debugging TORO with BOCHS and GDB
In the following lines I'll tray to explain how debug Toro using bochs+gdb. I often used qemu instance of bochs but the latest days I figured out some rare behaviors so I replaced qemu for bochs with good results.
Before to start we have to compile bochs for such purpose, after download the source run the next command in order to compile it:
> ./configure --enable-cpu-level=6 --enable-all-optimizations --enable-x86-64 --enable-pci --enable-vmx --enable-disasm --enable-debugger-gui --enable-logging --enable-fpu --enable-3dnow --enable-sb16=dummy --enable-cdrom --enable-x86-debugger --enable-iodebug --disable-plugins --disable-docbook --enable-gdb-stub
> make install
It is not possible to enable the smp support and gdb stub at the same time. If the compilation was right we'll be able to run bochs with gdb support.
Now It is needed to compile the toro application within the debug symbols, if there're any old .o or .ppu file they must be deleted because they don't have symbols information. We should execute in the toro source directory the next commands:
> fpc ToroHello.pas -g -oToroHello -Fu../rtl/ -Fu../rtl/drivers
> ./build 4 ToroHello boot.o ToroHello.img
This procedure is for ToroHello.pas but it's the same for other toro's app.
So far, we've the bochs and the Toro's image, now we have to build the .bochsrc file and launch bochs. The following lines may be useful:
megs: 32
ata0-master: type=disk, path="ToroHello.img"
boot: c
log: bochsout.txt
gdbstub: enabled=1
Check that we've indeed to enable the gdbstub in the bochs' source file.
The next step is to run bochs and then GDB:
> bochs
> gdb ToroHello
If we run gdb in the toro/test directory .gdbinit will be used, otherwise we have to connect to bochs manually as follow:
> (gdb) target remote localhost:1234
If everything goes well we are able to set breakpoints and uses all the tools of gdb. For instance we could do:
> (gdb) b KERNELSTART
> (gdb) c
In the first line a breakpoint is set at KERNELSTART and then the virtual machine continues until comes back when the breakpoint is reached.
Many commands could be usefull in this point like n, for running line by line, step for stepping into, info registers and soon on.
There're a lot of information that we can get at this point but that's for another tutorial ;)
Matias E. Vara
www.torokernel.org
Friday, September 21, 2012
Toro's article in Microelectronic Congress 2012
Here it's the link to the article accepted by Microelectronic Congress 2012, its title is "Memory module designing for embedded purpose". It's about Toro Kernel memory module and it deals with the improvements did when an Operating System runs in a dedicated environment like embedded systems
In this opportunity the congress will be in the city of Rosario, Argentina. Unfortunately, this time I'll not be able to show the article as the last year.
Again, the article is in spanish agreed with the congress' rules.
www.torokernel.org
Etiquetas:
embedded,
Hypertransport,
memory,
NUMA,
SMP
Saturday, June 23, 2012
Slides about migration threading in TORO
Here, I left a few slides about migration procedure in TORO kernel, I made a brief comparation with Linux mechanism. Also, I told a few lines about the migration in a real time environment.
Enjoy!
Matias E. Vara
www.torokernel.org
Enjoy!
Matias E. Vara
www.torokernel.org
Subscribe to:
Posts (Atom)