Skip to content

Commit f3b1dec

Browse files
author
Alex Shi
committed
Merge tag 'v4.4.80' into linux-linaro-lsk-v4.4
This is the 4.4.80 stable release
2 parents f5ca0eb + 09e6960 commit f3b1dec

103 files changed

Lines changed: 751 additions & 461 deletions

File tree

Some content is hidden

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

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
VERSION = 4
22
PATCHLEVEL = 4
3-
SUBLEVEL = 79
3+
SUBLEVEL = 80
44
EXTRAVERSION =
55
NAME = Blurry Fish Butt
66

arch/arm/boot/dts/omap3-n900.dts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -697,6 +697,8 @@
697697
vmmc_aux-supply = <&vsim>;
698698
bus-width = <8>;
699699
non-removable;
700+
no-sdio;
701+
no-sd;
700702
};
701703

702704
&mmc3 {

arch/arm/configs/s3c2410_defconfig

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -87,9 +87,9 @@ CONFIG_IPV6_TUNNEL=m
8787
CONFIG_NETFILTER=y
8888
CONFIG_NF_CONNTRACK=m
8989
CONFIG_NF_CONNTRACK_EVENTS=y
90-
CONFIG_NF_CT_PROTO_DCCP=m
91-
CONFIG_NF_CT_PROTO_SCTP=m
92-
CONFIG_NF_CT_PROTO_UDPLITE=m
90+
CONFIG_NF_CT_PROTO_DCCP=y
91+
CONFIG_NF_CT_PROTO_SCTP=y
92+
CONFIG_NF_CT_PROTO_UDPLITE=y
9393
CONFIG_NF_CONNTRACK_AMANDA=m
9494
CONFIG_NF_CONNTRACK_FTP=m
9595
CONFIG_NF_CONNTRACK_H323=m

arch/arm64/boot/dts/xilinx/zynqmp-ep108.dts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
stdout-path = "serial0:115200n8";
2727
};
2828

29-
memory {
29+
memory@0 {
3030
device_type = "memory";
3131
reg = <0x0 0x0 0x40000000>;
3232
};

arch/arm64/boot/dts/xilinx/zynqmp.dtsi

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@
7171
<1 10 0xf01>;
7272
};
7373

74-
amba_apu {
74+
amba_apu: amba_apu@0 {
7575
compatible = "simple-bus";
7676
#address-cells = <2>;
7777
#size-cells = <1>;
@@ -191,7 +191,7 @@
191191
};
192192

193193
i2c0: i2c@ff020000 {
194-
compatible = "cdns,i2c-r1p10";
194+
compatible = "cdns,i2c-r1p14", "cdns,i2c-r1p10";
195195
status = "disabled";
196196
interrupt-parent = <&gic>;
197197
interrupts = <0 17 4>;
@@ -202,7 +202,7 @@
202202
};
203203

204204
i2c1: i2c@ff030000 {
205-
compatible = "cdns,i2c-r1p10";
205+
compatible = "cdns,i2c-r1p14", "cdns,i2c-r1p10";
206206
status = "disabled";
207207
interrupt-parent = <&gic>;
208208
interrupts = <0 18 4>;

arch/arm64/mm/fault.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -88,21 +88,21 @@ void show_pte(struct mm_struct *mm, unsigned long addr)
8888
break;
8989

9090
pud = pud_offset(pgd, addr);
91-
printk(", *pud=%016llx", pud_val(*pud));
91+
pr_cont(", *pud=%016llx", pud_val(*pud));
9292
if (pud_none(*pud) || pud_bad(*pud))
9393
break;
9494

9595
pmd = pmd_offset(pud, addr);
96-
printk(", *pmd=%016llx", pmd_val(*pmd));
96+
pr_cont(", *pmd=%016llx", pmd_val(*pmd));
9797
if (pmd_none(*pmd) || pmd_bad(*pmd))
9898
break;
9999

100100
pte = pte_offset_map(pmd, addr);
101-
printk(", *pte=%016llx", pte_val(*pte));
101+
pr_cont(", *pte=%016llx", pte_val(*pte));
102102
pte_unmap(pte);
103103
} while(0);
104104

105-
printk("\n");
105+
pr_cont("\n");
106106
}
107107

108108
#ifdef CONFIG_ARM64_HW_AFDBM

arch/openrisc/kernel/vmlinux.lds.S

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,8 @@ SECTIONS
3838
/* Read-only sections, merged into text segment: */
3939
. = LOAD_BASE ;
4040

41+
_text = .;
42+
4143
/* _s_kernel_ro must be page aligned */
4244
. = ALIGN(PAGE_SIZE);
4345
_s_kernel_ro = .;

arch/powerpc/include/asm/topology.h

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -44,22 +44,8 @@ extern void __init dump_numa_cpu_topology(void);
4444
extern int sysfs_add_device_to_node(struct device *dev, int nid);
4545
extern void sysfs_remove_device_from_node(struct device *dev, int nid);
4646

47-
static inline int early_cpu_to_node(int cpu)
48-
{
49-
int nid;
50-
51-
nid = numa_cpu_lookup_table[cpu];
52-
53-
/*
54-
* Fall back to node 0 if nid is unset (it should be, except bugs).
55-
* This allows callers to safely do NODE_DATA(early_cpu_to_node(cpu)).
56-
*/
57-
return (nid < 0) ? 0 : nid;
58-
}
5947
#else
6048

61-
static inline int early_cpu_to_node(int cpu) { return 0; }
62-
6349
static inline void dump_numa_cpu_topology(void) {}
6450

6551
static inline int sysfs_add_device_to_node(struct device *dev, int nid)

arch/powerpc/kernel/setup_64.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -751,7 +751,7 @@ void __init setup_arch(char **cmdline_p)
751751

752752
static void * __init pcpu_fc_alloc(unsigned int cpu, size_t size, size_t align)
753753
{
754-
return __alloc_bootmem_node(NODE_DATA(early_cpu_to_node(cpu)), size, align,
754+
return __alloc_bootmem_node(NODE_DATA(cpu_to_node(cpu)), size, align,
755755
__pa(MAX_DMA_ADDRESS));
756756
}
757757

@@ -762,7 +762,7 @@ static void __init pcpu_fc_free(void *ptr, size_t size)
762762

763763
static int pcpu_cpu_distance(unsigned int from, unsigned int to)
764764
{
765-
if (early_cpu_to_node(from) == early_cpu_to_node(to))
765+
if (cpu_to_node(from) == cpu_to_node(to))
766766
return LOCAL_DISTANCE;
767767
else
768768
return REMOTE_DISTANCE;

arch/powerpc/kvm/book3s_hv.c

Lines changed: 40 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2687,6 +2687,10 @@ static int kvmppc_vcpu_run_hv(struct kvm_run *run, struct kvm_vcpu *vcpu)
26872687
{
26882688
int r;
26892689
int srcu_idx;
2690+
unsigned long ebb_regs[3] = {}; /* shut up GCC */
2691+
unsigned long user_tar = 0;
2692+
unsigned long proc_fscr = 0;
2693+
unsigned int user_vrsave;
26902694

26912695
if (!vcpu->arch.sane) {
26922696
run->exit_reason = KVM_EXIT_INTERNAL_ERROR;
@@ -2707,10 +2711,11 @@ static int kvmppc_vcpu_run_hv(struct kvm_run *run, struct kvm_vcpu *vcpu)
27072711
run->fail_entry.hardware_entry_failure_reason = 0;
27082712
return -EINVAL;
27092713
}
2714+
/* Enable TM so we can read the TM SPRs */
2715+
mtmsr(mfmsr() | MSR_TM);
27102716
current->thread.tm_tfhar = mfspr(SPRN_TFHAR);
27112717
current->thread.tm_tfiar = mfspr(SPRN_TFIAR);
27122718
current->thread.tm_texasr = mfspr(SPRN_TEXASR);
2713-
current->thread.regs->msr &= ~MSR_TM;
27142719
}
27152720
#endif
27162721

@@ -2736,6 +2741,17 @@ static int kvmppc_vcpu_run_hv(struct kvm_run *run, struct kvm_vcpu *vcpu)
27362741
flush_fp_to_thread(current);
27372742
flush_altivec_to_thread(current);
27382743
flush_vsx_to_thread(current);
2744+
2745+
/* Save userspace EBB and other register values */
2746+
if (cpu_has_feature(CPU_FTR_ARCH_207S)) {
2747+
ebb_regs[0] = mfspr(SPRN_EBBHR);
2748+
ebb_regs[1] = mfspr(SPRN_EBBRR);
2749+
ebb_regs[2] = mfspr(SPRN_BESCR);
2750+
user_tar = mfspr(SPRN_TAR);
2751+
proc_fscr = mfspr(SPRN_FSCR);
2752+
}
2753+
user_vrsave = mfspr(SPRN_VRSAVE);
2754+
27392755
vcpu->arch.wqp = &vcpu->arch.vcore->wq;
27402756
vcpu->arch.pgdir = current->mm->pgd;
27412757
vcpu->arch.state = KVMPPC_VCPU_BUSY_IN_HOST;
@@ -2757,6 +2773,29 @@ static int kvmppc_vcpu_run_hv(struct kvm_run *run, struct kvm_vcpu *vcpu)
27572773
}
27582774
} while (is_kvmppc_resume_guest(r));
27592775

2776+
/* Restore userspace EBB and other register values */
2777+
if (cpu_has_feature(CPU_FTR_ARCH_207S)) {
2778+
mtspr(SPRN_EBBHR, ebb_regs[0]);
2779+
mtspr(SPRN_EBBRR, ebb_regs[1]);
2780+
mtspr(SPRN_BESCR, ebb_regs[2]);
2781+
mtspr(SPRN_TAR, user_tar);
2782+
mtspr(SPRN_FSCR, proc_fscr);
2783+
}
2784+
mtspr(SPRN_VRSAVE, user_vrsave);
2785+
2786+
/*
2787+
* Since we don't do lazy TM reload, we need to reload
2788+
* the TM registers here.
2789+
*/
2790+
#ifdef CONFIG_PPC_TRANSACTIONAL_MEM
2791+
if (cpu_has_feature(CPU_FTR_TM) && current->thread.regs &&
2792+
(current->thread.regs->msr & MSR_TM)) {
2793+
mtspr(SPRN_TFHAR, current->thread.tm_tfhar);
2794+
mtspr(SPRN_TFIAR, current->thread.tm_tfiar);
2795+
mtspr(SPRN_TEXASR, current->thread.tm_texasr);
2796+
}
2797+
#endif
2798+
27602799
out:
27612800
vcpu->arch.state = KVMPPC_VCPU_NOTREADY;
27622801
atomic_dec(&vcpu->kvm->arch.vcpus_running);

0 commit comments

Comments
 (0)