Convert machine registration to use module init functions

This cleans up quite a lot of #ifdefs, extern variables, and other ugliness.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
diff --git a/hw/ppc405_boards.c b/hw/ppc405_boards.c
index 0b4eb93..1ace32e 100644
--- a/hw/ppc405_boards.c
+++ b/hw/ppc405_boards.c
@@ -344,7 +344,7 @@
     printf("bdloc %016lx\n", (unsigned long)bdloc);
 }
 
-QEMUMachine ref405ep_machine = {
+static QEMUMachine ref405ep_machine = {
     .name = "ref405ep",
     .desc = "ref405ep",
     .init = ref405ep_init,
@@ -624,8 +624,16 @@
 #endif
 }
 
-QEMUMachine taihu_machine = {
+static QEMUMachine taihu_machine = {
     .name = "taihu",
     .desc = "taihu",
     .init = taihu_405ep_init,
 };
+
+static void ppc405_machine_init(void)
+{
+    qemu_register_machine(&ref405ep_machine);
+    qemu_register_machine(&taihu_machine);
+}
+
+machine_init(ppc405_machine_init);