On Tuesday, 19 November 2013 at 22:49:07 UTC, John Carter wrote:
So this post...

http://blog.theincredibleholk.org/blog/2013/11/18/booting-to-rust/

..is interesting.

Why? Because it tackles one of the core reasons why C is hard to dislodge.

Almost every CPU on the planet "Boots to C", perhaps with a very thin crust of assembler.

To dislodge C in my domain (embedded systems), this would be a very interesting and effective challenge to take on.


What would it take to "Boot to D"?

Or put it another way...

What base infrastructure does a D program rely on that the OS has already provided before we hit "main"?

Typically things like stack setup, program load, register initialization, zero'ing .bss segments and copying .data segments into ram etc. etc.

Sometime mmap or sbrk for heap management.

What else, and where to look?

http://wiki.osdev.org/D_Bare_Bones

I suppose one could argue that technically it's booting into C as it still needs C linkage. But the kernel is D and it's compiled with a D compiler, so I'd consider it a D kernel.


Reply via email to