[GSOC|virtLayer] hello sample compiles

Gedare Bloom gedare at rtems.org
Wed Jun 19 19:11:18 UTC 2013


On Wed, Jun 19, 2013 at 11:02 AM, Philipp Eppelt
<philipp.eppelt at mailbox.tu-dresden.de> wrote:
> Hi,
>
> I got the hello sample to compile.
> This means the host library works in RTEMS.
>
Nice work.

> 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.
>
Filenames in RTEMS are usually given in all lower case, e.g. virtlayercpu.h

> 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 ...
>
This part sounds like it could use some better design. I do not have
the answer at the moment.

> 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.
>
OK. What's next?

> 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