[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [rb-general] A major milestone in bootstrapping
From: |
Orians, Jeremiah (DTMB) |
Subject: |
RE: [rb-general] A major milestone in bootstrapping |
Date: |
Mon, 27 Aug 2018 12:19:09 +0000 |
> 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