[GSOC|virtLayer] hello sample compiles

Rempel, Cynthia cynt6007 at vandals.uidaho.edu
Wed Jun 19 16:02:18 UTC 2013


Hi Philipp,

Congratulations on getting this far! Thanks for submitting this to rtems-devel!

There might be a way to use AM_CONDITIONAL in c/src/wrapup/Makefile.am...
http://www.gnu.org/software/automake/manual/html_node/Usage-of-Conditionals.html
to conditionally build and include libpokpart.a...

Could you update the wiki page for this project as well explaining this process?
That way it'll be easier to find the write up (in case you'll need it) and others can use it...

Thanks!
Cindy

________________________________________
From: rtems-devel-bounces at rtems.org [rtems-devel-bounces at rtems.org] on behalf of Philipp Eppelt [philipp.eppelt at mailbox.tu-dresden.de]
Sent: Wednesday, June 19, 2013 8:02 AM
To: Cláudio Silva; Joel Sherrill; Julien Delange; rtems-devel at rtems.org
Subject: [GSOC|virtLayer] hello sample compiles

Hi,

I got the hello sample to compile.
This means the host library works in RTEMS.

But let's start at the beginning.

I separated libcpu and score and defined native and virtual CPU's in
libcpu/i386.
The difference between the two are interrupts.h and _CPU_ISR_Set_level,
_CPU_Fatal_halt, _CPU_Thread_Idle_body. Native is using these functions
as they are defined for normal hardware, virtual translates these to
calls to the virtual Layer.

virtLayerCPU.h: Created, defining functions for interrupts, idle, error
handling.

This is implemented in POK and libpart.a is compiled and copied to
rtems/libbsp/i386/virtPok.
The virtPok makefile creates a new library file called libpokpart.a.
If libpart.a is not present, virtPok fails at compile time.

I thought 'noinst_LIBRARIES' would define the libraries going into
librtemsbsp.a but sadly this is not dynamic. I had to modify
c/src/wrapup/Makefile.am to include libpokpart.a. This is not final, as
it breaks all other BSPs ...

I still have issues with the GDT and IDT. But with a dummy variable
_Global_descriptor_table to prevent an unresolved dependency error, I
could compile the hello sample.

Hacky, but YAY. :)

I brought it back to POK as a partition, but it's failing to start this
partition. I didn't care for the start-up code yet, so this was expected.


What to take away from this:

The build process is semi automated and works so far.

Code: https://github.com/phipse/rtems/tree/virt-bsp


Cheers,
Philipp
_______________________________________________
rtems-devel mailing list
rtems-devel at rtems.org
http://www.rtems.org/mailman/listinfo/rtems-devel






More information about the devel mailing list