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