Skip to content

Commit 49deffe

Browse files
committed
Merge tag 'arc-4.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc
Pull ARC updates from Vineet Gupta: - ARCv2 support for native 64-bit atomics using LLOCK/SCONDD instructions - Support for upcoming 3.0 release of HS38 cores - Dwarf unwindinder improvements: - enable unwinding of hand written assembler code using CFI pseudo-ops - switch to .eh_frame (as opposed to historic .debug_frame) - get rid of a bunch of adhoc band-aids in the process - Misc fixes: - perf supporting generic cache-references and cache-misses (Alexey) - default NODE_SHIFT (Noam Camus) - usage of KFLAG instruction to set IE (Yuriy) - Platforms: - Add "model" property across the DT (Alexey) - Enable MODULE_* in defconfigs * tag 'arc-4.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc: ARC: [plat*] enables MODULE* ARCv2: fix local_save_flags ARC: CONFIG_NODES_SHIFT fix default values ARCv2: intc: Use kflag if STATUS32.IE must be reset ARC: .exit.* sections can be discarded in .eh_frame regime ARC: dw2 unwind: enable cfi pseudo ops in string lib ARC: dw2 unwind: add infrastructure for adding cfi pseudo ops to asm ARC: entry: make ret_from_system_call local label ARC: dw2 unwind: don't force dwarf 2 ARC: dw2 unwind: switch to .eh_frame based unwinding ARC: dw2 unwind: factor CIE specifics for .eh_frame/.debug_frame ARC: module: support R_ARC_32_PCREL relocation arc: perf: Enable generic "cache-references" and "cache-misses" events ARC: [plat-eznps] add missing atomic_fetch_xxx operations ARCv2: Implement atomic64 based on LLOCKD/SCONDD instructions ARCv2: Support dynamic peripheral address space in HS38 rel 3.0 cores ARCv2: identify HS38 rel 3.0 cores ARCv2: Add support for ZeBu Emulation platform for HS cores arc: Add "model" properly in device tree description of all boards
2 parents 5419e78 + ef25bac commit 49deffe

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

53 files changed

+769
-114
lines changed

arch/arc/Kconfig

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ config ARC
1313
select CLKSRC_OF
1414
select CLONE_BACKWARDS
1515
select COMMON_CLK
16-
select GENERIC_ATOMIC64
16+
select GENERIC_ATOMIC64 if !ISA_ARCV2 || !(ARC_HAS_LL64 && ARC_HAS_LLSC)
1717
select GENERIC_CLOCKEVENTS
1818
select GENERIC_FIND_FIRST_BIT
1919
# for now, we don't need GENERIC_IRQ_PROBE, CONFIG_GENERIC_IRQ_CHIP
@@ -353,8 +353,8 @@ endchoice
353353

354354
config NODES_SHIFT
355355
int "Maximum NUMA Nodes (as a power of 2)"
356-
default "1" if !DISCONTIGMEM
357-
default "2" if DISCONTIGMEM
356+
default "0" if !DISCONTIGMEM
357+
default "1" if DISCONTIGMEM
358358
depends on NEED_MULTIPLE_NODES
359359
---help---
360360
Accessing memory beyond 1GB (with or w/o PAE) requires 2 memory

arch/arc/Makefile

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,6 @@ endif
4747

4848
upto_gcc44 := $(call cc-ifversion, -le, 0404, y)
4949
atleast_gcc44 := $(call cc-ifversion, -ge, 0404, y)
50-
atleast_gcc48 := $(call cc-ifversion, -ge, 0408, y)
5150

5251
cflags-$(atleast_gcc44) += -fsection-anchors
5352

@@ -66,10 +65,8 @@ endif
6665

6766
endif
6867

69-
# By default gcc 4.8 generates dwarf4 which kernel unwinder can't grok
70-
ifeq ($(atleast_gcc48),y)
71-
cflags-$(CONFIG_ARC_DW2_UNWIND) += -gdwarf-2
72-
endif
68+
cfi := $(call as-instr,.cfi_startproc\n.cfi_endproc,-DARC_DW2_UNWIND_AS_CFI)
69+
cflags-$(CONFIG_ARC_DW2_UNWIND) += -fasynchronous-unwind-tables $(cfi)
7370

7471
ifndef CONFIG_CC_OPTIMIZE_FOR_SIZE
7572
# Generic build system uses -O2, we want -O3

arch/arc/boot/dts/abilis_tb100_dvk.dts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
/include/ "abilis_tb100.dtsi"
2525

2626
/ {
27+
model = "abilis,tb100";
2728
chosen {
2829
bootargs = "earlycon=uart8250,mmio32,0xff100000,9600n8 console=ttyS0,9600n8";
2930
};

arch/arc/boot/dts/abilis_tb101_dvk.dts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
/include/ "abilis_tb101.dtsi"
2525

2626
/ {
27+
model = "abilis,tb101";
2728
chosen {
2829
bootargs = "earlycon=uart8250,mmio32,0xff100000,9600n8 console=ttyS0,9600n8";
2930
};

arch/arc/boot/dts/axs101.dts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
/include/ "axs10x_mb.dtsi"
1414

1515
/ {
16+
model = "snps,axs101";
1617
compatible = "snps,axs101", "snps,arc-sdp";
1718

1819
chosen {

arch/arc/boot/dts/axs103.dts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
/include/ "axs10x_mb.dtsi"
1717

1818
/ {
19+
model = "snps,axs103";
1920
compatible = "snps,axs103", "snps,arc-sdp";
2021

2122
chosen {

arch/arc/boot/dts/axs103_idu.dts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
/include/ "axs10x_mb.dtsi"
1717

1818
/ {
19+
model = "snps,axs103-smp";
1920
compatible = "snps,axs103", "snps,arc-sdp";
2021

2122
chosen {

arch/arc/boot/dts/nsim_700.dts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
/include/ "skeleton.dtsi"
1111

1212
/ {
13+
model = "snps,nsim";
1314
compatible = "snps,nsim";
1415
#address-cells = <1>;
1516
#size-cells = <1>;

arch/arc/boot/dts/nsim_hs.dts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
/include/ "skeleton_hs.dtsi"
1111

1212
/ {
13+
model = "snps,nsim_hs";
1314
compatible = "snps,nsim_hs";
1415
#address-cells = <2>;
1516
#size-cells = <2>;

arch/arc/boot/dts/nsim_hs_idu.dts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
/include/ "skeleton_hs_idu.dtsi"
1111

1212
/ {
13+
model = "snps,nsim_hs-smp";
1314
compatible = "snps,nsim_hs";
1415
interrupt-parent = <&core_intc>;
1516

arch/arc/boot/dts/nsimosci.dts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
/include/ "skeleton.dtsi"
1111

1212
/ {
13+
model = "snps,nsimosci";
1314
compatible = "snps,nsimosci";
1415
#address-cells = <1>;
1516
#size-cells = <1>;

arch/arc/boot/dts/nsimosci_hs.dts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
/include/ "skeleton_hs.dtsi"
1111

1212
/ {
13+
model = "snps,nsimosci_hs";
1314
compatible = "snps,nsimosci_hs";
1415
#address-cells = <1>;
1516
#size-cells = <1>;

arch/arc/boot/dts/nsimosci_hs_idu.dts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
/include/ "skeleton_hs_idu.dtsi"
1111

1212
/ {
13+
model = "snps,nsimosci_hs-smp";
1314
compatible = "snps,nsimosci_hs";
1415
#address-cells = <1>;
1516
#size-cells = <1>;

arch/arc/boot/dts/vdk_hs38.dts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
/include/ "vdk_axs10x_mb.dtsi"
1414

1515
/ {
16+
model = "snps,vdk_archs";
1617
compatible = "snps,axs103";
1718

1819
chosen {

arch/arc/boot/dts/vdk_hs38_smp.dts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
/include/ "vdk_axs10x_mb.dtsi"
1414

1515
/ {
16+
model = "snps,vdk_archs-smp";
1617
compatible = "snps,axs103";
1718

1819
chosen {

arch/arc/boot/dts/zebu_hs.dts

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
/*
2+
* Copyright (C) 2016-2014 Synopsys, Inc. (www.synopsys.com)
3+
*
4+
* This program is free software; you can redistribute it and/or modify
5+
* it under the terms of the GNU General Public License version 2 as
6+
* published by the Free Software Foundation.
7+
*/
8+
/dts-v1/;
9+
10+
/include/ "skeleton_hs.dtsi"
11+
12+
/ {
13+
model = "snps,zebu_hs";
14+
compatible = "snps,zebu_hs";
15+
#address-cells = <1>;
16+
#size-cells = <1>;
17+
interrupt-parent = <&core_intc>;
18+
19+
memory {
20+
device_type = "memory";
21+
reg = <0x80000000 0x20000000>; /* 512 */
22+
};
23+
24+
chosen {
25+
bootargs = "earlycon=uart8250,mmio32,0xf0000000,115200n8 console=ttyS0,115200n8 debug print-fatal-signals=1";
26+
};
27+
28+
aliases {
29+
serial0 = &uart0;
30+
};
31+
32+
fpga {
33+
compatible = "simple-bus";
34+
#address-cells = <1>;
35+
#size-cells = <1>;
36+
37+
/* child and parent address space 1:1 mapped */
38+
ranges;
39+
40+
core_clk: core_clk {
41+
#clock-cells = <0>;
42+
compatible = "fixed-clock";
43+
clock-frequency = <50000000>;
44+
};
45+
46+
core_intc: interrupt-controller {
47+
compatible = "snps,archs-intc";
48+
interrupt-controller;
49+
#interrupt-cells = <1>;
50+
};
51+
52+
uart0: serial@f0000000 {
53+
compatible = "ns8250";
54+
reg = <0xf0000000 0x2000>;
55+
interrupts = <24>;
56+
clock-frequency = <50000000>;
57+
baud = <115200>;
58+
reg-shift = <2>;
59+
reg-io-width = <4>;
60+
no-loopback-test = <1>;
61+
};
62+
63+
arcpct0: pct {
64+
compatible = "snps,archs-pct";
65+
#interrupt-cells = <1>;
66+
interrupts = <20>;
67+
};
68+
};
69+
};

arch/arc/boot/dts/zebu_hs_idu.dts

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
/*
2+
* Copyright (C) 2016-2014 Synopsys, Inc. (www.synopsys.com)
3+
*
4+
* This program is free software; you can redistribute it and/or modify
5+
* it under the terms of the GNU General Public License version 2 as
6+
* published by the Free Software Foundation.
7+
*/
8+
/dts-v1/;
9+
10+
/include/ "skeleton_hs_idu.dtsi"
11+
12+
/ {
13+
model = "snps,zebu_hs-smp";
14+
compatible = "snps,zebu_hs";
15+
#address-cells = <1>;
16+
#size-cells = <1>;
17+
interrupt-parent = <&core_intc>;
18+
19+
memory {
20+
device_type = "memory";
21+
reg = <0x80000000 0x20000000>; /* 512 */
22+
};
23+
24+
chosen {
25+
bootargs = "earlycon=uart8250,mmio32,0xf0000000,115200n8 console=ttyS0,115200n8 debug";
26+
};
27+
28+
aliases {
29+
serial0 = &uart0;
30+
};
31+
32+
fpga {
33+
compatible = "simple-bus";
34+
#address-cells = <1>;
35+
#size-cells = <1>;
36+
37+
/* child and parent address space 1:1 mapped */
38+
ranges;
39+
40+
core_clk: core_clk {
41+
#clock-cells = <0>;
42+
compatible = "fixed-clock";
43+
clock-frequency = <50000000>; /* 50 MHZ */
44+
};
45+
46+
core_intc: interrupt-controller {
47+
compatible = "snps,archs-intc";
48+
interrupt-controller;
49+
#interrupt-cells = <1>;
50+
/* interrupts = <16 17 18 19 20 21 22 23 24 25>; */
51+
};
52+
53+
idu_intc: idu-interrupt-controller {
54+
compatible = "snps,archs-idu-intc";
55+
interrupt-controller;
56+
interrupt-parent = <&core_intc>;
57+
/* <hwirq distribution>
58+
distribution: 0=RR; 1=cpu0, 2=cpu1, 4=cpu2, 8=cpu3 */
59+
#interrupt-cells = <2>;
60+
interrupts = <24 25 26 27 28 29 30 31>;
61+
62+
};
63+
64+
uart0: serial@f0000000 {
65+
/* compatible = "ns8250"; Doesn't use FIFOs */
66+
compatible = "ns16550a";
67+
reg = <0xf0000000 0x2000>;
68+
interrupt-parent = <&idu_intc>;
69+
/* interrupts = <0 1>; DEST=1*/
70+
/* interrupts = <0 2>; DEST=2*/
71+
interrupts = <0 0>; /* RR*/
72+
clock-frequency = <50000000>;
73+
baud = <115200>;
74+
reg-shift = <2>;
75+
reg-io-width = <4>;
76+
no-loopback-test = <1>;
77+
};
78+
79+
arcpct0: pct {
80+
compatible = "snps,archs-pct";
81+
#interrupt-cells = <1>;
82+
interrupts = <20>;
83+
};
84+
};
85+
};

arch/arc/configs/axs101_defconfig

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@ CONFIG_PERF_EVENTS=y
1818
# CONFIG_SLUB_DEBUG is not set
1919
# CONFIG_COMPAT_BRK is not set
2020
CONFIG_MODULES=y
21+
CONFIG_MODULE_FORCE_LOAD=y
22+
CONFIG_MODULE_UNLOAD=y
23+
CONFIG_MODULE_FORCE_UNLOAD=y
2124
CONFIG_PARTITION_ADVANCED=y
2225
CONFIG_ARC_PLAT_AXS10X=y
2326
CONFIG_AXS101=y

arch/arc/configs/axs103_defconfig

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@ CONFIG_PERF_EVENTS=y
1818
# CONFIG_SLUB_DEBUG is not set
1919
# CONFIG_COMPAT_BRK is not set
2020
CONFIG_MODULES=y
21+
CONFIG_MODULE_FORCE_LOAD=y
22+
CONFIG_MODULE_UNLOAD=y
23+
CONFIG_MODULE_FORCE_UNLOAD=y
2124
CONFIG_PARTITION_ADVANCED=y
2225
CONFIG_ARC_PLAT_AXS10X=y
2326
CONFIG_AXS103=y

arch/arc/configs/axs103_smp_defconfig

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@ CONFIG_PERF_EVENTS=y
1818
# CONFIG_COMPAT_BRK is not set
1919
CONFIG_SLAB=y
2020
CONFIG_MODULES=y
21+
CONFIG_MODULE_FORCE_LOAD=y
22+
CONFIG_MODULE_UNLOAD=y
23+
CONFIG_MODULE_FORCE_UNLOAD=y
2124
CONFIG_PARTITION_ADVANCED=y
2225
CONFIG_ARC_PLAT_AXS10X=y
2326
CONFIG_AXS103=y

arch/arc/configs/nsim_hs_defconfig

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,16 @@ CONFIG_NAMESPACES=y
1111
# CONFIG_UTS_NS is not set
1212
# CONFIG_PID_NS is not set
1313
CONFIG_BLK_DEV_INITRD=y
14-
CONFIG_INITRAMFS_SOURCE="../arc_initramfs_hs/"
14+
CONFIG_INITRAMFS_SOURCE="../../arc_initramfs_hs/"
1515
CONFIG_KALLSYMS_ALL=y
1616
CONFIG_EMBEDDED=y
1717
# CONFIG_SLUB_DEBUG is not set
1818
# CONFIG_COMPAT_BRK is not set
1919
CONFIG_KPROBES=y
2020
CONFIG_MODULES=y
21+
CONFIG_MODULE_FORCE_LOAD=y
22+
CONFIG_MODULE_UNLOAD=y
23+
CONFIG_MODULE_FORCE_UNLOAD=y
2124
# CONFIG_LBDAF is not set
2225
# CONFIG_BLK_DEV_BSG is not set
2326
# CONFIG_IOSCHED_DEADLINE is not set

arch/arc/configs/nsim_hs_smp_defconfig

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@ CONFIG_EMBEDDED=y
1616
# CONFIG_COMPAT_BRK is not set
1717
CONFIG_KPROBES=y
1818
CONFIG_MODULES=y
19+
CONFIG_MODULE_FORCE_LOAD=y
20+
CONFIG_MODULE_UNLOAD=y
21+
CONFIG_MODULE_FORCE_UNLOAD=y
1922
# CONFIG_LBDAF is not set
2023
# CONFIG_BLK_DEV_BSG is not set
2124
# CONFIG_IOSCHED_DEADLINE is not set

0 commit comments

Comments
 (0)