select ARCH_SPARSEMEM_ENABLE
        select FW_ARC
        select FW_ARC64
+       select ARC_CMDLINE_ONLY
        select BOOT_ELF64
        select DEFAULT_SGI_PARTITION
        select SYS_HAS_EARLY_PRINTK
 config HAVE_STD_PC_SERIAL_PORT
        bool
 
+config ARC_CMDLINE_ONLY
+       bool
+
 config ARC_CONSOLE
        bool "ARC console support"
        depends on SGI_IP22 || SGI_IP28 || (SNI_RM && CPU_LITTLE_ENDIAN)
 
 # Makefile for the ARC prom monitor library routines under Linux.
 #
 
+ifdef CONFIG_ARC_CMDLINE_ONLY
+lib-y                          += cmdline.o
+else
 lib-y                          += cmdline.o env.o file.o identify.o init.o \
                                   misc.o
+endif
 
 lib-$(CONFIG_ARC_MEMORY)       += memory.o
 lib-$(CONFIG_ARC_CONSOLE)      += arc_con.o
 
                .arcname        = "SGI-IP22",
                .liname         = "SGI Indy",
                .flags          = PROM_FLAG_ARCS,
-       }, {
-               .arcname        = "SGI-IP27",
-               .liname         = "SGI Origin",
-               .flags          = PROM_FLAG_ARCS,
        }, {
                .arcname        = "SGI-IP28",
                .liname         = "SGI IP28",
         */
        p = ArcGetChild(PROM_NULL_COMPONENT);
        if (p == NULL) {
-#ifdef CONFIG_SGI_IP27
-               /* IP27 PROM misbehaves, seems to not implement ARC
-                  GetChild().  So we just assume it's an IP27.  */
-               iname = "SGI-IP27";
-#else
                iname = "Unknown";
-#endif
        } else
                iname = (char *) (long) p->iname;
 
 
 #include <linux/mm.h>
 #include <linux/export.h>
 #include <linux/cpumask.h>
+#include <asm/bootinfo.h>
 #include <asm/cpu.h>
 #include <asm/io.h>
 #include <asm/pgtable.h>
+#include <asm/sgialib.h>
 #include <asm/time.h>
 #include <asm/sn/types.h>
 #include <asm/sn/sn0/addrs.h>
        ioport_resource.end = ~0UL;
        set_io_port_base(IO_BASE);
 }
+
+const char *get_system_type(void)
+{
+       return "SGI Origin";
+}
+
+void __init prom_init(void)
+{
+       prom_init_cmdline(fw_arg0, (LONG *)fw_arg1);
+       prom_meminit();
+}
+