Commit Graph

62 Commits

Author SHA1 Message Date
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 cfeb71c898 7834 2021-03-01 14:59:37 -08:00
Kartik Agaram 5f8d065d5d 7833 2021-02-28 21:29:47 -08:00
Kartik K. Agaram b8f5ef8df5 7832 2021-02-28 20:37:57 -08:00
Kartik K. Agaram 31a5c8f685 7831 2021-02-28 20:34:58 -08:00
Kartik Agaram 3b1686b610 7756 2021-02-18 08:58:37 -08:00
Kartik Agaram abb3e174b3 7755 2021-02-18 00:15:51 -08:00
Kartik Agaram 517a01c95a 7754 2021-02-17 23:48:59 -08:00
Kartik Agaram 5268b0e1df 7691 2021-02-07 09:53:14 -08:00
Kartik Agaram 0167d5c501 7681 2021-02-01 10:29:31 -08:00
Kartik Agaram 4984d92205 7675 - drop Travis CI 2021-01-28 09:21:44 -08:00
Kartik Agaram d0bc0d2673 7475 2020-12-30 08:32:52 -08:00
Kartik Agaram 1e02d840e8 7471 2020-12-29 21:19:41 -08:00
Kartik Agaram 783b0659d3 7465 2020-12-29 19:32:39 -08:00
Kartik Agaram 0fa6d28e14 7429 2020-12-27 11:50:05 -08:00
Kartik Agaram 47287fbf1a 7401 - clean up support for non-Linux platforms 2020-12-25 12:28:10 -08:00
Kartik Agaram a94ac8f068 7393
Snapshot. Keyboard interrupt being triggered.

This was hard to debug until https://stackoverflow.com/questions/37618111/keyboard-irq-within-an-x86-kernel
reminded me that I'd forgotten to enable IRQ1 on port 0x21.

For a while I was confused by never hitting a breakpoint at the start of
the keyboard handler. Then I found https://sourceforge.net/p/bochs/discussion/39592/thread/5e397455
and started skipping one instruction in my breakpoint.

I still don't understand the discrepancy between some people installing
the handler at entry 9, and others installing at entry 0x21 = 33.
2020-12-23 22:18:11 -08:00
Kartik Agaram 6cd12b1822 7374 2020-12-21 23:11:02 -08:00
Kartik Agaram 670cbb3d33 7351 2020-12-14 20:02:21 -08:00
Kartik Agaram e786968a9c 7268 2020-11-20 17:08:01 -08:00
Kartik Agaram 396a7ef691 7265 2020-11-17 19:06:19 -08:00
Kartik Agaram fc83d26766 7264 2020-11-17 19:03:55 -08:00
Kartik Agaram 1eb1cade71 7259 2020-11-17 13:12:36 -08:00
Kartik Agaram e3349a169c 7255 2020-11-17 08:20:27 -08:00
Kartik Agaram 3b12aab3bc 7235 - belatedly add spiritual forks 2020-11-14 11:28:40 -08:00
Kartik Agaram 2136ad26b8 7204 2020-11-07 15:12:53 -08:00
Kartik Agaram 07a1a29912 clarify that we don't use C++20 modules 2020-10-23 11:17:57 -07:00
Kartik Agaram 9a83eac410 new fork 2020-10-23 00:18:35 -07:00
Jimmy Miller 97f4d3ed95
Fix broken link 2020-10-08 20:05:56 -04:00
Kartik Agaram 7817fdb29c 6640
Re-sync markdown files with mu-normie fork.
2020-07-12 16:37:58 -07:00
Kartik Agaram ac8b37f9a8 6639 2020-07-12 16:28:24 -07:00
Kartik Agaram 7b5ad6028c 6633 2020-07-11 09:10:57 -07:00
Kartik Agaram 9a524793ee 6618 - new docs 2020-07-06 01:05:10 -07:00
Kartik Agaram 64bf0e8b97 6499 2020-06-07 15:43:13 -07:00
Kartik Agaram e2e0f5cce7 6498
Switch bullet lists in Markdown files away from `*`; it's ambiguous with
emphasis.
2020-06-06 15:55:03 -07:00
Kartik Agaram 3351d83f8b 6403 2020-05-24 23:06:07 -07:00
Kartik Agaram f5c45f8614 6402 2020-05-24 23:03:20 -07:00
Kartik Agaram 7852e65c7f 6386 - documentation on editor setup 2020-05-23 00:24:13 -07:00
Kartik Agaram b338e82e22 6218 - link to Mu's first fork 2020-05-10 13:21:52 -07:00
Kartik Agaram d260b01748 6200 - --dump is not needed for incremental traces
This undoes commit 5764, which was ill-considered. We already had incremental
prints at that point to 'last_run'. As long as we don't run out of RAM
on large traces, there doesn't seem any need to print to stderr.

Now '--dump' is only needed when juggling multiple traces.
2020-04-09 00:56:32 -07:00
Kartik Agaram 6efd1778e1 6174 2020-03-27 09:07:04 -07:00
Kartik Agaram 0ea5f759fc 6171 2020-03-25 11:46:07 -07:00
Kartik Agaram 8fa7c79685 6168 2020-03-25 09:39:46 -07:00
Kartik Agaram 9470451cb1 6167 2020-03-25 09:21:06 -07:00
Kartik Agaram 7d117e4699 6166 2020-03-25 09:20:33 -07:00
Kartik Agaram 41d5e711f2 6165 2020-03-25 09:16:04 -07:00
Kartik Agaram e1de7e0661 6154 - include link to the Mu paper 2020-03-16 01:53:09 -07:00
Kartik Agaram e2a0b44073 6151 2020-03-15 10:54:25 -07:00
Kartik Agaram b7b24ec242 6142 2020-03-14 01:03:30 -07:00
Kartik Agaram 9f589350cf 6141 2020-03-14 00:58:52 -07:00