I've spent a lot of time in airports/planes/hotels recently, which is good news for the moxie linux port. It runs about 6.5M instructions, booting up to the point where a couple of kernel threads are created. However, a few context switches later it all comes tumbling down …
I've just checked the start of the kernel port into moxiedev. Running "ant build" will produce tools, simulators, u-boot and now a vmlinux you can run with moxie-elf-run or in gdb. It crashes on startup right now, but that's to be expected. I just got it to the point where …
A few weeks ago I happened to be in Palo Alto and met up with my friend and long-time GDB hacker Michael Snyder. He told me about a new feature in GDB called "process recording". The basic idea is that when you tell GDB to enter into "record mode", it …
I've been playing around a little more with verilog. Here's a mostly complete moxie disassembler module written in verilog.
And here's a little driver for it. The driver reads a hex dump file into an array representing memory. On every clock cycle it updates the instruction and data output registers …
I've committed the PC-relative branch instruction changes upstream. But this is just one of many ISA improvements that need to happen. Here are a handful of other ideas off the top of my head. None of these projects should be particularly difficult.
- Shorten load/store offsets to 16-bits. They are …
The Moxie ISA still needs quite a bit of tuning. Take branches, for
instance. A beq
instruction currently encoded like so...
`00001111xxxxxxxx iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii`
...where the "x
"s represent "don't care" bits, and "i
"s are a
32-bit absolute branch target. That's right -- branch targets are not PC
relative! This …
So it turns out that hosting a git repo that is only accessible via slow http is no fun.
Fortunately, the great team at github.com were willing to take this on, so now the real repository is accessible via this command:
$ git clone git://github.com/atgreen/moxiedev.git …
I'll bottom line this one quickly:
- moxiedev is now maintained with git. Check it out like so..
$ git clone http://moxielogic.org/moxiedev.git
- moxiedev now contains a partial u-boot port. It's "partial" because I fat fingered some commands and blew away four or five important files. They will have …
There's a little more detail on the wiki, but basically...
$ rpm -ivh http://moxielogic.org/download/moxielogic-repo-1-1.noarch.rpm
$ yum groupinstall moxiedev
Your welcome.
Seriously though... release engineering is at times both tedious and fascinating. But mostly tedious. Still, I was interested in tackling a little releng work this week …