[raspi-internals] Re: ACK working code

  • From: David Given <dg@xxxxxxxxxxx>
  • To: raspi-internals@xxxxxxxxxxxxx
  • Date: Sun, 26 May 2013 20:11:54 +0100

On 23/05/13 00:32, David Given wrote:
[...]
> You don't get any runtime; the above compiles to a 4-byte file. The
> assembler understands all the scalar and float instructions (although I
> may have forgotten some), but I haven't done the vector ones. I haven't
> found any horrible bugs recently.

After fixing many, many, *many* codegen bugs, assembler bugs, bootstrap
bugs and just plain bugs, I now have the bulk of the C standard library
working (including malloc). You can trivially build stdin/stdout
programs that run bare metal and use the mini UART to talk to the
outside world. There's a crude README here:

http://tack.hg.sourceforge.net/hgweb/tack/tack/file/13725556750c/plat/rpi/README

...and for proof, I invite you to enjoy this:

http://cowlark.com/~dg/paranoia.bin

The code quality is now even *worse* as I've taken out the register
variable optimisation --- it was making the codegen table much more
complicated and wasn't really gaining me much. OTOH it is mostly
working. (Except for float. There are some support routines I haven't
written yet.)

Building as kernels still works, but you'll need to hack mailbox.c to
make the code buffer size 256kB (to fit the malloc heap. If you want to
use malloc).

What I actually want to *do* with this lot is to port an OS (I have one
in mind). First step is a proper boot loader; I see there's some
progress in deciphering ALTMMC, but does anyone have anything working yet?

-- 
┌─── dg@cowlark.com ───── http://www.cowlark.com ─────
│
│ "Home is where, when you have to go there, they have to take you in."
│ --- Cordelia Naismith (via Robert Frost)

Attachment: signature.asc
Description: OpenPGP digital signature

Other related posts: