How do I use GNAT to develop an OS kernel?

Luke A. Guest laguest@archeia.com
Fri Nov 23 21:33:00 GMT 2007


Hi,

I'm wanting to develop a kernel in Ada and would like to know how I go
about preparing the compiler for this task?

I have dabbled previously with this on earlier versions of GNAT. I
utilised the following pragmas:

pragma Restrictions(No_Elaboration_Code);
pragma No_Run_Time;
pragma Restrictions(No_Exceptions);

just to get a basic hello world style kernel working. Now this old demo
of mine doesn't compile with the newer compiler, so I'm wondering what
exactly should I be doing to target bare hardware.

I intend to target IA32 and ARM using QEMU to start with using x86-elf
and arm-elf compiler targets (for example) or maybe dwarf, who knows ;D
as yet. The first task is to get a bootable hello world style image
again using the newer compilers.

I do not intend on doing what some people do and port the runtime to the
hw and then base everything off that, what I want is a proper kernel.

Can anyone help me with this?

Thanks,
Luke.




More information about the Gcc-help mailing list