config BOOT_RAW
        bool
 
+config CFE
+       bool
+
 config DMA_COHERENT
        bool
 
 
 # Firmware support
 #
 libs-$(CONFIG_ARC)             += arch/mips/arc/
+libs-$(CONFIG_CFE)             += arch/mips/fw/cfe/
 libs-$(CONFIG_SIBYTE_CFE)      += arch/mips/sibyte/cfe/
 
 #
 
--- /dev/null
+#
+# Makefile for the Broadcom Common Firmware Environment support
+#
+
+lib-y += cfe_api.o
 
     *
     ********************************************************************* */
 
-#include "cfe_api.h"
+#include <asm/fw/cfe/cfe_api.h>
 #include "cfe_api_int.h"
 
 /* Cast from a native pointer to a cfe_xptr_t and back.         */
 
 config SIBYTE_CFE
        bool "Booting from CFE"
        depends on SIBYTE_SB1xxx_SOC
+       select CFE
        select SYS_HAS_EARLY_PRINTK
        help
          Make use of the CFE API for enumerating available memory,
 
-lib-y                                  = cfe_api.o setup.o
+lib-y                                  = setup.o
 lib-$(CONFIG_SMP)                      += smp.o
 lib-$(CONFIG_SIBYTE_CFE_CONSOLE)       += console.o
 
 
 #include <asm/sibyte/board.h>
 
-#include "cfe_api.h"
-#include "cfe_error.h"
+#include <asm/fw/cfe/cfe_api.h>
+#include <asm/fw/cfe/cfe_error.h>
 
 extern int cfe_cons_handle;
 
 
 #include <asm/reboot.h>
 #include <asm/sibyte/board.h>
 
-#include "cfe_api.h"
-#include "cfe_error.h"
+#include <asm/fw/cfe/cfe_api.h>
+#include <asm/fw/cfe/cfe_error.h>
 
 /* Max ram addressable in 32-bit segments */
 #ifdef CONFIG_64BIT
 
 #include <linux/smp.h>
 #include <asm/processor.h>
 
-#include "cfe_api.h"
-#include "cfe_error.h"
+#include <asm/fw/cfe/cfe_api.h>
+#include <asm/fw/cfe/cfe_error.h>
 
 /*
  * Use CFE to find out how many CPUs are available, setting up