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-boun...@rtems.org [rtems-devel-boun...@rtems.org] on behalf of Philipp Eppelt [philipp.epp...@mailbox.tu-dresden.de] Sent: Wednesday, June 19, 2013 8:02 AM To: Cláudio Silva; Joel Sherrill; Julien Delange; rtems-devel@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@rtems.org http://www.rtems.org/mailman/listinfo/rtems-devel _______________________________________________ rtems-devel mailing list rtems-devel@rtems.org http://www.rtems.org/mailman/listinfo/rtems-devel