Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cec5455e authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge branch 'for-linus' of git://git.monstr.eu/linux-2.6-microblaze

* 'for-linus' of git://git.monstr.eu/linux-2.6-microblaze: (60 commits)
  microblaze_v8: Add MAINTAINERS fragment
  microblaze_v8: Uartlite for Microblaze
  microblaze_v8: Makefiles for Microblaze cpu
  microblaze_v8: Kconfig patches
  microblaze_v8: Interrupt handling and timer support
  microblaze_v8: syscalls.h
  microblaze_v8: pci headers
  microblaze_v8: Kbuild file
  microblaze_v8: string.h thread_info.h
  microblaze_v8: unistd.h
  microblaze_v8: fcntl.h sockios.h ucontext.h
  microblaze_v8: pool.h socket.h
  microblaze_v8: device.h param.h topology.h
  microblaze_v8: headers files entry.h current.h mman.h registers.h sembuf.h
  microblaze_v8: namei.h
  microblaze_v8: gpio.h, serial.h
  microblaze_v8: headers simple files - empty or redirect to asm-generic
  microblaze_v8: sigcontext.h siginfo.h
  microblaze_v8: termbits.h termios.h
  microblaze_v8: stats headers
  ...
parents b0cbc861 c6375b0a
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -2992,6 +2992,14 @@ L: linux-mtd@lists.infradead.org
T:	git git://git.infradead.org/mtd-2.6.git
S:	Maintained

MICROBLAZE ARCHITECTURE
P:	Michal Simek
M:	monstr@monstr.eu
L:	microblaze-uclinux@itee.uq.edu.au
W:	http://www.monstr.eu/fdt/
T:	git git://git.monstr.eu/linux-2.6-microblaze.git
S:	Supported

MICROTEK X6 SCANNER
P:	Oliver Neukum
M:	oliver@neukum.name
+141 −0
Original line number Diff line number Diff line
# For a description of the syntax of this configuration file,
# see Documentation/kbuild/kconfig-language.txt.

mainmenu "Linux/Microblaze Kernel Configuration"

config MICROBLAZE
	def_bool y
	select HAVE_LMB

config SWAP
	def_bool n

config RWSEM_GENERIC_SPINLOCK
	def_bool y

config RWSEM_XCHGADD_ALGORITHM
	bool

config ARCH_HAS_ILOG2_U32
	def_bool n

config ARCH_HAS_ILOG2_U64
	def_bool n

config GENERIC_FIND_NEXT_BIT
	def_bool y

config GENERIC_HWEIGHT
	def_bool y

config GENERIC_HARDIRQS
	def_bool y

config GENERIC_IRQ_PROBE
	def_bool y

config GENERIC_CALIBRATE_DELAY
	def_bool y

config GENERIC_TIME
	def_bool y

config GENERIC_TIME_VSYSCALL
	def_bool n

config GENERIC_CLOCKEVENTS
	def_bool y

config GENERIC_HARDIRQS_NO__DO_IRQ
	def_bool y

config PCI
	depends on !MMU
	def_bool n

config NO_DMA
	depends on !MMU
	def_bool n

source "init/Kconfig"

source "kernel/Kconfig.freezer"

source "arch/microblaze/platform/Kconfig.platform"

menu "Processor type and features"

source kernel/time/Kconfig

source "kernel/Kconfig.preempt"

source "kernel/Kconfig.hz"

config MMU
	def_bool n

config NO_MMU
	bool
	depends on !MMU
	default y

comment "Boot options"

config CMDLINE_BOOL
	bool "Default bootloader kernel arguments"

config CMDLINE
	string "Default kernel command string"
	depends on CMDLINE_BOOL
	default "console=ttyUL0,115200"
	help
	  On some architectures there is currently no way for the boot loader
	  to pass arguments to the kernel. For these architectures, you should
	  supply some command-line options at build time by entering them
	  here.

config CMDLINE_FORCE
	bool "Force default kernel command string"
	depends on CMDLINE_BOOL
	default n
	help
	  Set this to have arguments from the default kernel command string
	  override those passed by the boot loader.

config OF
	def_bool y

config OF_DEVICE
	def_bool y

config PROC_DEVICETREE
	bool "Support for device tree in /proc"
	depends on PROC_FS
	help
	  This option adds a device-tree directory under /proc which contains
	  an image of the device tree that the kernel copies from Open
	  Firmware or other boot firmware. If unsure, say Y here.

endmenu

source "mm/Kconfig"

menu "Exectuable file formats"

source "fs/Kconfig.binfmt"

endmenu

source "net/Kconfig"

source "drivers/Kconfig"

source "fs/Kconfig"

source "arch/microblaze/Kconfig.debug"

source "security/Kconfig"

source "crypto/Kconfig"

source "lib/Kconfig"
+26 −0
Original line number Diff line number Diff line
# For a description of the syntax of this configuration file,
# see Documentation/kbuild/kconfig-language.txt.

menu "Kernel hacking"

source "lib/Kconfig.debug"

config EARLY_PRINTK
	bool "Early printk function for kernel"
	default n
	help
	  This option turns on/off early printk messages to console.
	  First Uartlite node is taken.

config HEART_BEAT
	bool "Heart beat function for kernel"
	default n
	help
	  This option turns on/off heart beat kernel functionality.
	  First GPIO node is taken.

config DEBUG_BOOTMEM
	depends on DEBUG_KERNEL
	bool "Debug BOOTMEM initialization"

endmenu
+69 −0
Original line number Diff line number Diff line
UTS_SYSNAME = -DUTS_SYSNAME=\"uClinux\"

# What CPU vesion are we building for, and crack it open
# as major.minor.rev
CPU_VER=$(subst ",,$(CONFIG_XILINX_MICROBLAZE0_HW_VER) )
CPU_MAJOR=$(shell echo $(CPU_VER) | cut -d '.' -f 1)
CPU_MINOR=$(shell echo $(CPU_VER) | cut -d '.' -f 2)
CPU_REV=$(shell echo $(CPU_VER) | cut -d '.' -f 3)

export CPU_VER CPU_MAJOR CPU_MINOR CPU_REV

# Use cpu-related CONFIG_ vars to set compile options.

# Work out HW multipler support.  This is icky.
# 1. Spartan2 has no HW multiplers.
# 2. MicroBlaze v3.x always uses them, except in Spartan 2
# 3. All other FPGa/CPU ver combos, we can trust the CONFIG_ settings
ifeq (,$(findstring spartan2,$(CONFIG_XILINX_MICROBLAZE0_FAMILY)))
  ifeq ($(CPU_MAJOR),3)
    CPUFLAGS-1 += -mno-xl-soft-mul
  else
    # USE_HW_MUL can be 0, 1, or 2, defining a heirarchy of HW Mul support.
    CPUFLAGS-$(subst 1,,$(CONFIG_XILINX_MICROBLAZE0_USE_HW_MUL)) += -mxl-multiply-high
    CPUFLAGS-$(CONFIG_XILINX_MICROBLAZE0_USE_HW_MUL) += -mno-xl-soft-mul
  endif
endif
CPUFLAGS-$(CONFIG_XILINX_MICROBLAZE0_USE_DIV) += -mno-xl-soft-div
CPUFLAGS-$(CONFIG_XILINX_MICROBLAZE0_USE_BARREL) += -mxl-barrel-shift
CPUFLAGS-$(CONFIG_XILINX_MICROBLAZE0_USE_PCMP) += -mxl-pattern-compare

CPUFLAGS-1 += $(call cc-option,-mcpu=v$(CPU_VER))

# The various CONFIG_XILINX cpu features options are integers 0/1/2...
# rather than bools y/n
CFLAGS += $(CPUFLAGS-1)
CFLAGS += $(CPUFLAGS-2)

# r31 holds current when in kernel mode
CFLAGS += -ffixed-r31

LDFLAGS_BLOB := --format binary --oformat elf32-microblaze

LIBGCC := $(shell $(CC) $(CFLAGS) -print-libgcc-file-name)

head-y		:= arch/microblaze/kernel/head.o
libs-y		+= arch/microblaze/lib/ $(LIBGCC)
core-y		+= arch/microblaze/kernel/ arch/microblaze/mm/ \
		   arch/microblaze/platform/

boot := arch/$(ARCH)/boot

# defines filename extension depending memory management type
ifeq ($(CONFIG_MMU),)
MMUEXT		:= -nommu
endif
export	MMUEXT

all: linux.bin

archclean:
	$(Q)$(MAKE) $(clean)=$(boot)

linux.bin linux.bin.gz: vmlinux
	$(Q)$(MAKE) $(build)=$(boot) $(boot)/$@

define archhelp
  echo  '* linux.bin    - Create raw binary'
  echo  '  linux.bin.gz - Create compressed raw binary'
endef
+17 −0
Original line number Diff line number Diff line
#
# arch/microblaze/boot/Makefile
#

targets := linux.bin linux.bin.gz

OBJCOPYFLAGS_linux.bin  := -O binary

$(obj)/linux.bin: vmlinux FORCE
	$(call if_changed,objcopy)
	@echo 'Kernel: $@ is ready' ' (#'`cat .version`')'

$(obj)/linux.bin.gz: $(obj)/linux.bin FORCE
	$(call if_changed,gzip)
	@echo 'Kernel: $@ is ready' ' (#'`cat .version`')'

clean-kernel += linux.bin linux.bin.gz
Loading