This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

How do I use GNAT to develop an OS kernel?


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.



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]