Skip to content

Commit

Permalink
Merge tag 'arc-v3.10-rc1-part1' of git://git.kernel.org/pub/scm/linux…
Browse files Browse the repository at this point in the history
…/kernel/git/vgupta/arc

Pull ARC port updates from Vineet Gupta:
 "Support for two new platforms based on ARC700:
   - Abilis TB10x SoC [Chritisian/Pierrick]
   - Simulator only System-C Model [Mischa]

  ARC specific MM improvements:
   - Avoid full TLB flush (ASID increment) on munmap (even single page)
   - VIPT Cache Flushing improvements
     + Delayed dcache flush for non-aliasing dcache (big performance boost)
     + icache flush aliasing agnostic (no need to kill all possible aliases)

  Others:
   - Avoid needless rebuild of DTB files for every kernel build
   - Remove builtin cmdline as that is already provided by DeviceTree/bootargs
   - Fixing unaligned access emulation corner case
   - checkpatch fixes [Sachin]
   - Various fixlets [Noam]
   - Minor build failures/cleanups"

* tag 'arc-v3.10-rc1-part1' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc: (35 commits)
  ARC: [mm] Lazy D-cache flush (non aliasing VIPT)
  ARC: [mm] micro-optimize page size icache invalidate
  ARC: [mm] remove the pessimistic all-alias-invalidate icache helpers
  ARC: [mm] consolidate icache/dcache sync code
  ARC: [mm] optimise icache flush for kernel mappings
  ARC: [mm] optimise icache flush for user mappings
  ARC: [mm] optimize needless full mm TLB flush on munmap
  ARC: Add support for nSIM OSCI System C model
  ARC: [TB10x] Adapt device tree to new compatible string
  ARC: [TB10x] Add support for TB10x platform
  ARC: [TB10x] Device tree of TB100 and TB101 Development Kits
  ARC: Prepare interrupt code for external controllers
  ARC: Allow embedded arc-intc to be properly placed in DT intc hierarchy
  ARC: [cmdline] Don't overwrite u-boot provided bootargs
  ARC: [cmdline] Remove CONFIG_CMDLINE
  ARC: [plat-arcfpga] defconfig update
  ARC: unaligned access emulation broken if callee-reg dest of LD/ST
  ARC: unaligned access emulation error handling consolidation
  ARC: Debug/crash-printing Improvements
  ARC: fix typo with clock speed
  ...
  • Loading branch information
torvalds committed May 9, 2013
2 parents b32729b + eacd0e9 commit e30f419
Show file tree
Hide file tree
Showing 38 changed files with 1,840 additions and 342 deletions.
31 changes: 11 additions & 20 deletions arch/arc/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,6 @@ config ARC
select GENERIC_FIND_FIRST_BIT
# for now, we don't need GENERIC_IRQ_PROBE, CONFIG_GENERIC_IRQ_CHIP
select GENERIC_IRQ_SHOW
select GENERIC_KERNEL_EXECVE
select GENERIC_KERNEL_THREAD
select GENERIC_PENDING_IRQ if SMP
select GENERIC_SMP_IDLE_THREAD
select HAVE_ARCH_KGDB
Expand Down Expand Up @@ -61,9 +59,6 @@ config GENERIC_CALIBRATE_DELAY
config GENERIC_HWEIGHT
def_bool y

config BINFMT_ELF
def_bool y

config STACKTRACE_SUPPORT
def_bool y
select STACKTRACE
Expand All @@ -82,6 +77,7 @@ menu "ARC Architecture Configuration"
menu "ARC Platform/SoC/Board"

source "arch/arc/plat-arcfpga/Kconfig"
source "arch/arc/plat-tb10x/Kconfig"
#New platform adds here

endmenu
Expand Down Expand Up @@ -134,9 +130,6 @@ if SMP
config ARC_HAS_COH_CACHES
def_bool n

config ARC_HAS_COH_LLSC
def_bool n

config ARC_HAS_COH_RTSC
def_bool n

Expand Down Expand Up @@ -304,6 +297,9 @@ config ARC_FPU_SAVE_RESTORE
based on actual usage of FPU by a task. Thus our implemn does
this for all tasks in system.

config ARC_CANT_LLSC
def_bool n

menuconfig ARC_CPU_REL_4_10
bool "Enable support for Rel 4.10 features"
default n
Expand All @@ -314,9 +310,7 @@ menuconfig ARC_CPU_REL_4_10
config ARC_HAS_LLSC
bool "Insn: LLOCK/SCOND (efficient atomic ops)"
default y
depends on ARC_CPU_770
# if SMP, enable LLSC ONLY if ARC implementation has coherent atomics
depends on !SMP || ARC_HAS_COH_LLSC
depends on ARC_CPU_770 && !ARC_CANT_LLSC

config ARC_HAS_SWAPE
bool "Insn: SWAPE (endian-swap)"
Expand Down Expand Up @@ -415,13 +409,6 @@ config ARC_DBG_TLB_MISS_COUNT
Counts number of I and D TLB Misses and exports them via Debugfs
The counters can be cleared via Debugfs as well

config CMDLINE
string "Kernel command line to built-in"
default "print-fatal-signals=1"
help
The default command line which will be appended to the optional
u-boot provided command line (see below)

config CMDLINE_UBOOT
bool "Support U-boot kernel command line passing"
default n
Expand All @@ -430,8 +417,8 @@ config CMDLINE_UBOOT
command line from the U-boot environment to the Linux kernel then
switch this option on.
ARC U-boot will setup the cmdline in RAM/flash and set r2 to point
to it. kernel startup code will copy the string into cmdline buffer
and also append CONFIG_CMDLINE.
to it. kernel startup code will append this to DeviceTree
/bootargs provided cmdline args.

config ARC_BUILTIN_DTB_NAME
string "Built in DTB"
Expand All @@ -441,6 +428,10 @@ config ARC_BUILTIN_DTB_NAME

source "kernel/Kconfig.preempt"

menu "Executable file formats"
source "fs/Kconfig.binfmt"
endmenu

endmenu # "ARC Architecture Configuration"

source "mm/Kconfig"
Expand Down
15 changes: 11 additions & 4 deletions arch/arc/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@

UTS_MACHINE := arc

ifeq ($(CROSS_COMPILE),)
CROSS_COMPILE := arc-elf32-
endif

KBUILD_DEFCONFIG := fpga_defconfig

cflags-y += -mA7 -fno-common -pipe -fno-builtin -D__linux__
Expand Down Expand Up @@ -87,20 +91,23 @@ core-y += arch/arc/
core-y += arch/arc/boot/dts/

core-$(CONFIG_ARC_PLAT_FPGA_LEGACY) += arch/arc/plat-arcfpga/
core-$(CONFIG_ARC_PLAT_TB10X) += arch/arc/plat-tb10x/

drivers-$(CONFIG_OPROFILE) += arch/arc/oprofile/

libs-y += arch/arc/lib/ $(LIBGCC)

boot := arch/arc/boot

#default target for make without any arguements.
KBUILD_IMAGE := bootpImage
KBUILD_IMAGE := bootpImage

all: $(KBUILD_IMAGE)
boot := arch/arc/boot

bootpImage: vmlinux

uImage: vmlinux
boot_targets += uImage uImage.bin uImage.gz

$(boot_targets): vmlinux
$(Q)$(MAKE) $(build)=$(boot) $(boot)/$@

%.dtb %.dtb.S %.dtb.o: scripts
Expand Down
19 changes: 14 additions & 5 deletions arch/arc/boot/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ targets := vmlinux.bin vmlinux.bin.gz uImage
# uImage build relies on mkimage being availble on your host for ARC target
# You will need to build u-boot for ARC, rename mkimage to arc-elf32-mkimage
# and make sure it's reacable from your PATH
MKIMAGE := $(srctree)/scripts/mkuboot.sh

OBJCOPYFLAGS= -O binary -R .note -R .note.gnu.build-id -R .comment -S

Expand All @@ -12,15 +11,25 @@ LINUX_START_TEXT = $$(readelf -h vmlinux | \

UIMAGE_LOADADDR = $(CONFIG_LINUX_LINK_BASE)
UIMAGE_ENTRYADDR = $(LINUX_START_TEXT)
UIMAGE_COMPRESSION = gzip

suffix-y := bin
suffix-$(CONFIG_KERNEL_GZIP) := gz

targets += uImage uImage.bin uImage.gz
extra-y += vmlinux.bin vmlinux.bin.gz

$(obj)/vmlinux.bin: vmlinux FORCE
$(call if_changed,objcopy)

$(obj)/vmlinux.bin.gz: $(obj)/vmlinux.bin FORCE
$(call if_changed,gzip)

$(obj)/uImage: $(obj)/vmlinux.bin.gz FORCE
$(call if_changed,uimage)
$(obj)/uImage.bin: $(obj)/vmlinux.bin FORCE
$(call if_changed,uimage,none)

$(obj)/uImage.gz: $(obj)/vmlinux.bin.gz FORCE
$(call if_changed,uimage,gzip)

PHONY += FORCE
$(obj)/uImage: $(obj)/uImage.$(suffix-y)
@ln -sf $(notdir $<) $@
@echo ' Image $@ is ready'
4 changes: 3 additions & 1 deletion arch/arc/boot/dts/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ endif
obj-y += $(builtindtb-y).dtb.o
targets += $(builtindtb-y).dtb

.SECONDARY: $(obj)/$(builtindtb-y).dtb.S

dtbs: $(addprefix $(obj)/, $(builtindtb-y).dtb)

clean-files := *.dtb
clean-files := *.dtb *.dtb.S
Loading

0 comments on commit e30f419

Please sign in to comment.