Menu

Documentation

Ciceronne Grave Xavier

Documentation

Supported Platforms

Actually, only [x86_32] is supported, but soon some ARM [versatile_pb] previous developments (from org.os-lovelace.micro-kernel) should be merged.

Download

Using mercurial :

To get last phase I code :
hg clone -b oasys-dev http://hg.code.sf.net/p/lovelaceos/code lovelaceos-code
or to get lovelace-dev branch :
hg clone -b lovelace-dev http://hg.code.sf.net/p/lovelaceos/code lovelaceos-code

Or directly last snapshot

Compilation

For oasys-dev branch :
You need to have gnat and nasm installed and then just "make"
to run it : "make qemu"

For lovelace-dev branch (Debian Wheezy with gnat-4.6) :
on an x86 platform :
make GCC=gcc-4.6 PLATFORM=x86_32 DEBUG=bochs kernel-x86_32.elf
make qemu-i386
or
ARM compilation tested on a raspberry
make GCC=gcc-4.6 PLATFORM=versatile_pb DEBUG=uart kernel-versatile_pb.elf
And to test the produced kernel on a x86 platform :
make qemu-versatile_pb

Enhance runtime support

A first way to understand is to use the mercurial diff facility.
The interresting differences between 307:ed83895b8958 and 308:9bcc763d9c23 are :

  1. In oasys-tests add a test that use the runtime feature you want
    • here we define a enumerate and use 'Img on it
  2. We need to remove the pragma Restrictions (No_Enumeration_Maps); in gnat.adc file
  3. During compilation at bind time compiler complains that s-imglli.ads is missing
    • we add it in runtime/GNUmakefile in the FILES list

Like this we get integer image of our enum

Then in 309:72cb1f74c568 revision we add the 'Value usage in our test

  • Arise the need for s-vallli.ads s-valllu.ads in the runtime/GNUmakefile
    • Add s-vallli s-valllu in FILES

At last in 310:dd57a1374e1b revision we disable in gnat.adc the discard_names

  • Arise the need for s-imenne.ads s-valenu.ads in runtime/GNUmakefile
    • Add s-imenne s-valenu in FILES

Related

Wiki: versatile_pb
Wiki: x86_32

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.