Commit Graph

18 Commits

Author SHA1 Message Date
Kartik K. Agaram c26aef11b7 grow a few buffers until shell/ loads 2021-05-15 07:49:12 -07:00
Kartik K. Agaram 56c9248109 load debug info from disk on abort 2021-05-14 21:51:47 -07:00
Kartik K. Agaram 7205c2465f fixup! load debug info into code disk 2021-05-14 21:29:42 -07:00
Kartik K. Agaram 69e477b12b load debug info into code disk 2021-05-14 12:56:58 -07:00
Kartik K. Agaram ff8ec9bcff insert a compile phase to emit some debug info 2021-05-14 11:54:42 -07:00
Kartik K. Agaram 97df52bf2f shell: ctrl-r runs on real screen without a trace
We run out of memory fairly early in the course of drawing a chessboard
on the whole screen.
2021-04-17 23:52:52 -07:00
Kartik K. Agaram f774677854 . 2021-04-16 20:26:56 -07:00
Kartik K. Agaram 98feca922e rename boot.hex to boot.subx 2021-03-14 21:41:47 -07:00
Kartik K. Agaram da438fa9f5 treat boot.hex as a SubX file 2021-03-14 21:36:31 -07:00
Kartik K. Agaram 71e4f38129 7842 - new directory organization
Baremetal is now the default build target and therefore has its sources
at the top-level. Baremetal programs build using the phase-2 Mu toolchain
that requires a Linux kernel. This phase-2 codebase which used to be at
the top-level is now under the linux/ directory. Finally, the phase-2 toolchain,
while self-hosting, has a way to bootstrap from a C implementation, which
is now stored in linux/bootstrap. The bootstrap C implementation uses some
literate programming tools that are now in linux/bootstrap/tools.

So the whole thing has gotten inverted. Each directory should build one
artifact and include the main sources (along with standard library). Tools
used for building it are relegated to sub-directories, even though those
tools are often useful in their own right, and have had lots of interesting
programs written using them.

A couple of things have gotten dropped in this process:
  - I had old ways to run on just a Linux kernel, or with a Soso kernel.
    No more.
  - I had some old tooling for running a single test at the cursor. I haven't
    used that lately. Maybe I'll bring it back one day.

The reorg isn't done yet. Still to do:
  - redo documentation everywhere. All the README files, all other markdown,
    particularly vocabulary.md.
  - clean up how-to-run comments at the start of programs everywhere
  - rethink what to do with the html/ directory. Do we even want to keep
    supporting it?

In spite of these shortcomings, all the scripts at the top-level, linux/
and linux/bootstrap are working. The names of the scripts also feel reasonable.
This is a good milestone to take stock at.
2021-03-03 22:21:03 -08:00
Kartik Agaram 880464a7d2 7440 2020-12-28 11:09:31 -08:00
Kartik Agaram dff67029ad 7439 - start translating Mu programs to baremetal 2020-12-28 11:09:30 -08:00
Kartik Agaram 47287fbf1a 7401 - clean up support for non-Linux platforms 2020-12-25 12:28:10 -08:00
Kartik Agaram 56bfd52643 7400
Turns out the default 8MB stack is quite enough for the programs I'm
currently running.
2020-12-25 08:13:33 -08:00
Kartik Agaram 27a5b1a892 6527 - increase stack limits
We haven't run into this limit yet, but everytime I see a 'stream overflow'
error I run into it while going over all the knobs in apps/subx-params.subx,
if I increase Input-size (used by survey.subx) too much.
2020-06-15 16:16:00 -07:00
Kartik Agaram 99c3cfddff core translator phases now emit identical binaries 2020-05-18 00:44:46 -07:00
Kartik Agaram fb18cadaa7 fix a crash when translating apps/ex1 2020-05-18 00:44:46 -07:00
Kartik Agaram 23fd294d85 5851
Rename a few scripts to be more consistent.

I'm also starting to feel the urge to bud off `subx run` into its own program,
say tools/emulate_x86. It doesn't really rely on the SubX notation at all.

And then I could rename `subx translate` to `translate_subx_bootstrap`.

Only problem: the commands in the Readme get verbose. But the Readme is
gonna need surgery soon anyway to put translate_mu front and center.
2020-01-01 16:45:30 -08:00