Reworks MCS-PDR locks to avoid preempt storms
[akaros.git] / Makelocal.template
index f70aee2..d1138b1 100644 (file)
@@ -1,9 +1,10 @@
 # General Purpose configuration parameters
 #CFLAGS += $(CONFIG_APPSERVER)
-#CFLAGS += $(CONFIG_OSDI)
+#CFLAGS += $(CONFIG_DEMO_SLAVE)
 
 # Kernel configuration parameters
-#KERN_CFLAGS += $(CONFIG_KFS)
+KERN_CFLAGS += $(CONFIG_KFS)
+#KERN_CFLAGS += $(CONFIG_EXT2FS)
 #KERN_CFLAGS += $(CONFIG_SINGLE_CORE)
 #KERN_CFLAGS += $(CONFIG_NETWORKING)
 #KERN_CFLAGS += $(CONFIG_SERIAL_IO)
 # Enabling this can cause userspace to make the kernel panic.
 #KERN_CFLAGS += $(CONFIG_SEQLOCK_DEBUG)
 #KERN_CFLAGS += $(CONFIG_SPINLOCK_DEBUG)
+#KERN_CFLAGS += $(CONFIG_SPINPDR_NO_CAS)
 #KERN_CFLAGS += $(CONFIG_PAGE_COLORING)
-#KERN_CFLAGS += $(CONFIG_APPSERVER)
 #KERN_CFLAGS += $(CONFIG_DEMAND_PAGING)
 #KERN_CFLAGS += $(CONFIG_NOMTRRS)
 #KERN_CFLAGS += $(CONFIG_E1000_MMIO_HACK)
 #KERN_CFLAGS += $(CONFIG_E1000_ON_BOXBORO)
 #KERN_CFLAGS += $(CONFIG_E1000_ON_S142)
-#KERN_CFLAGS += $(CONFIG_DISABLE_MPTABLES)
-#KERN_CFLAGS += $(CONFIG_EXPER_TRADPROC)
+#KERN_CFLAGS += $(CONFIG_ENABLE_MPTABLES)
 #KERN_CFLAGS += $(CONFIG_MONITOR_ON_INT)
 #KERN_CFLAGS += $(CONFIG_DISABLE_SMT)
+#KERN_CFLAGS += $(CONFIG_BOXBORO)
+# Enable this to set up ARSC server
+#KERN_CFLAGS += $(CONFIG_ARSC_SERVER)
+# Resets stacks in smp_idle(), at the expense of backtrace
+#KERN_CFLAGS += $(CONFIG_RESET_STACKS)
+#KERN_CFLAGS += $(CONFIG_PCI_VERBOSE)
+# Rimas's Ethernet audio device
+#KERN_CFLAGS += $(CONFIG_ETH_AUDIO)
+# Avoid KB input on buggy nehalems (brho's machine)
+#KERN_CFLAGS += $(CONFIG_KB_CORE0_ONLY)
+#KERN_CFLAGS += $(CONFIG_KTHREAD_POISON)
+#KERN_CFLAGS += $(CONFIG_PRINTK_NO_BACKSPACE)
 
 #KERN_CFLAGS += -DDEVELOPER_NAME=waterman
 #KERN_CFLAGS += -DDEVELOPER_NAME=brho
 
+
+# Paths for the initramfs (need to be directories)
+#INITRAMFS_PATHS = kern/kfs obj/tests
+INITRAMFS_PATHS = kern/kfs
+# Program to execute before building the initramfs
+#INITRAMFS_BIN = tools/whatever.sh
+# Image for ext2 (RAM version) (only brho uses this )
+#EXT2_BDEV = mnt/ext2fs.img
+
 # Userspace configuration parameters
 #USER_CFLAGS += $(CONFIG_SYSCALL_TRAP)
 #USER_CFLAGS += $(CONFIG_USER_DEBUGINFO)
 # User tests configuration parameters
 #TESTS_CFLAGS += $(CONFIG_STATIC_APPS)
 
+# Number of jobs in make
+#MAKE_JOBS := 4
+#
 # Default for sparc (i.e. needs an appserver)
 ifeq ($(TARGET_ARCH),sparc)
 KERN_CFLAGS += $(CONFIG_APPSERVER)
 KERN_CFLAGS += -DDEVELOPER_NAME=waterman
 endif
 
+# brho's (edited) KVM, USB, PXE, ETC make targets
+#kvm: $(OBJDIR)/kern/kernel
+#      $(V)echo "+ (KVM) Copying to mnt/hdd"
+#      $(V)cp $(OBJDIR)/kern/kernel mnt/hdd/kernel
+#      $(V)sync
+#endif
+#
+#usb: $(OBJDIR)/kern/kernel
+#      $(V)echo "+ (USB) Copying to /dev/sdc4"
+#      $(V)mount /dev/sdc4
+#      $(V)cp $(OBJDIR)/kern/kernel /mnt/usbstick/kernel
+#      $(V)sync
+#      $(V)umount /mnt/usbstick
+#
+#pxe: $(OBJDIR)/kern/kernel
+#      $(V)echo "+ (PXE) Compressing..."
+#      $(V)gzip -c $(OBJDIR)/kern/kernel > $(OBJDIR)/kern/akaros-kernel.gz
+#      $(V)echo "+ (PXE) Copying to Watson"
+#      $(V)scp $(OBJDIR)/kern/akaros-kernel.gz watson.millennium.berkeley.edu:/tftpboot/akaros/akaros-kernel.gz
+
 x86:
        $(MAKE) TARGET_ARCH=i686
 
 ramp:
        $(MAKE) TARGET_ARCH=sparc
 
+riscv:
+       $(MAKE) TARGET_ARCH=riscv
+
 # various sparc functional simulator configurations
 NP ?= 1
 fs: all
@@ -54,4 +101,10 @@ fsd: all
 hw: all
        sparc_app -p$(NP) -fappserver_ros.conf hw obj/kern/kernel none
 
-.PHONY: fs fsd hw
+# risc-v functional simulator
+rvfs: all
+       riscv-isa-run -p$(NP) obj/kern/kernel
+rvfsd: all
+       riscv-isa-run -d -p$(NP) obj/kern/kernel
+
+.PHONY: fs fsd hw rvfs rvfsd