[rb-general] A major milestone in bootstrapping

Orians, Jeremiah (DTMB) OriansJ at michigan.gov
Mon Aug 27 14:19:09 CEST 2018

> Interesting... I'm looking at
> https://github.com/oriansj/M2-Planet/blob/master/seed.M1
> How was it written?  It seems like a monumental task to write all that and keep enough context in one's head!  > Then again, I have never written assembly before...

If you'll notice https://github.com/oriansj/M2-Planet/blob/master/seed.M1#L2

It explicitly says it was generated from stage0 https://savannah.nongnu.org/projects/stage0/
Specifically cc_x86 http://git.savannah.nongnu.org/cgit/stage0.git/tree/stage2/cc_x86.s
Which was built by M0: http://git.savannah.nongnu.org/cgit/stage0.git/tree/stage1/M0-macro.hex2
Which was built by hex2: http://git.savannah.nongnu.org/cgit/stage0.git/tree/stage1/stage1_assembler-2.hex1
Which was built by hex1: http://git.savannah.nongnu.org/cgit/stage0.git/tree/stage1/stage1_assembler-1.hex0
Which was built by hex0: http://git.savannah.nongnu.org/cgit/stage0.git/tree/stage1/stage1_assembler-0.hex0
Which was the 250byte seed used

Well the work started back in 2016 with http://git.savannah.nongnu.org/cgit/stage0.git/tree/Linux%20Bootstrap/hex0.s 
and http://git.savannah.nongnu.org/cgit/stage0.git/tree/Linux%20Bootstrap/hex0.hex 

It was written one function at a time, with the arguments passed in registers and careful preservation of everything passed.

- Jeremiah Orians

More information about the rb-general mailing list