Skip to content

Commit dc538a4

Browse files
authored
Merge pull request torvalds#121 from zandrey/5.4.x+fslc
Update 5.4.x+fslc to v5.4.62
2 parents 5070f80 + 364f4e4 commit dc538a4

File tree

231 files changed

+2124
-1013
lines changed

Some content is hidden

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

231 files changed

+2124
-1013
lines changed

Makefile

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# SPDX-License-Identifier: GPL-2.0
22
VERSION = 5
33
PATCHLEVEL = 4
4-
SUBLEVEL = 61
4+
SUBLEVEL = 62
55
EXTRAVERSION =
66
NAME = Kleptomaniac Octopus
77

@@ -442,6 +442,12 @@ PYTHON = python
442442
PYTHON3 = python3
443443
CHECK = sparse
444444
BASH = bash
445+
KGZIP = gzip
446+
KBZIP2 = bzip2
447+
KLZOP = lzop
448+
LZMA = lzma
449+
LZ4 = lz4c
450+
XZ = xz
445451

446452
CHECKFLAGS := -D__linux__ -Dlinux -D__STDC__ -Dunix -D__unix__ \
447453
-Wbitwise -Wno-return-void -Wno-unknown-attribute $(CF)
@@ -490,6 +496,7 @@ CLANG_FLAGS :=
490496
export ARCH SRCARCH CONFIG_SHELL BASH HOSTCC KBUILD_HOSTCFLAGS CROSS_COMPILE LD CC
491497
export CPP AR NM STRIP OBJCOPY OBJDUMP OBJSIZE READELF PAHOLE LEX YACC AWK INSTALLKERNEL
492498
export PERL PYTHON PYTHON3 CHECK CHECKFLAGS MAKE UTS_MACHINE HOSTCXX
499+
export KGZIP KBZIP2 KLZOP LZMA LZ4 XZ
493500
export KBUILD_HOSTCXXFLAGS KBUILD_HOSTLDFLAGS KBUILD_HOSTLDLIBS LDFLAGS_MODULE
494501

495502
export KBUILD_CPPFLAGS NOSTDINC_FLAGS LINUXINCLUDE OBJCOPYFLAGS KBUILD_LDFLAGS
@@ -997,10 +1004,10 @@ export mod_strip_cmd
9971004
mod_compress_cmd = true
9981005
ifdef CONFIG_MODULE_COMPRESS
9991006
ifdef CONFIG_MODULE_COMPRESS_GZIP
1000-
mod_compress_cmd = gzip -n -f
1007+
mod_compress_cmd = $(KGZIP) -n -f
10011008
endif # CONFIG_MODULE_COMPRESS_GZIP
10021009
ifdef CONFIG_MODULE_COMPRESS_XZ
1003-
mod_compress_cmd = xz -f
1010+
mod_compress_cmd = $(XZ) -f
10041011
endif # CONFIG_MODULE_COMPRESS_XZ
10051012
endif # CONFIG_MODULE_COMPRESS
10061013
export mod_compress_cmd

arch/arm/boot/deflate_xip_data.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ trap 'rm -f "$XIPIMAGE.tmp"; exit 1' 1 2 3
5656
# substitute the data section by a compressed version
5757
$DD if="$XIPIMAGE" count=$data_start iflag=count_bytes of="$XIPIMAGE.tmp"
5858
$DD if="$XIPIMAGE" skip=$data_start iflag=skip_bytes |
59-
gzip -9 >> "$XIPIMAGE.tmp"
59+
$KGZIP -9 >> "$XIPIMAGE.tmp"
6060

6161
# replace kernel binary
6262
mv -f "$XIPIMAGE.tmp" "$XIPIMAGE"

arch/arm/boot/dts/ls1021a.dtsi

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -753,7 +753,7 @@
753753
fsl,tmr-prsc = <2>;
754754
fsl,tmr-add = <0xaaaaaaab>;
755755
fsl,tmr-fiper1 = <999999995>;
756-
fsl,tmr-fiper2 = <99990>;
756+
fsl,tmr-fiper2 = <999999995>;
757757
fsl,max-adj = <499999999>;
758758
fsl,extts-fifo;
759759
};

arch/arm64/Makefile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,8 @@ zinstall install:
146146
PHONY += vdso_install
147147
vdso_install:
148148
$(Q)$(MAKE) $(build)=arch/arm64/kernel/vdso $@
149-
$(Q)$(MAKE) $(build)=arch/arm64/kernel/vdso32 $@
149+
$(if $(CONFIG_COMPAT_VDSO), \
150+
$(Q)$(MAKE) $(build)=arch/arm64/kernel/vdso32 $@)
150151

151152
# We use MRPROPER_FILES and CLEAN_FILES now
152153
archclean:

arch/arm64/boot/dts/qcom/msm8916-pins.dtsi

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -521,7 +521,7 @@
521521
pins = "gpio63", "gpio64", "gpio65", "gpio66",
522522
"gpio67", "gpio68";
523523
drive-strength = <2>;
524-
bias-disable;
524+
bias-pull-down;
525525
};
526526
};
527527
};

arch/arm64/include/asm/smp.h

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,12 @@ DECLARE_PER_CPU_READ_MOSTLY(int, cpu_number);
4646
* Logical CPU mapping.
4747
*/
4848
extern u64 __cpu_logical_map[NR_CPUS];
49-
#define cpu_logical_map(cpu) __cpu_logical_map[cpu]
49+
extern u64 cpu_logical_map(int cpu);
50+
51+
static inline void set_cpu_logical_map(int cpu, u64 hwid)
52+
{
53+
__cpu_logical_map[cpu] = hwid;
54+
}
5055

5156
struct seq_file;
5257

arch/arm64/kernel/cpu_errata.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -917,6 +917,8 @@ const struct arm64_cpu_capabilities arm64_errata[] = {
917917
.desc = "ARM erratum 1418040",
918918
.capability = ARM64_WORKAROUND_1418040,
919919
ERRATA_MIDR_RANGE_LIST(erratum_1418040_list),
920+
.type = (ARM64_CPUCAP_SCOPE_LOCAL_CPU |
921+
ARM64_CPUCAP_PERMITTED_FOR_LATE_CPU),
920922
},
921923
#endif
922924
#ifdef CONFIG_ARM64_ERRATUM_1165522

arch/arm64/kernel/process.c

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -498,6 +498,39 @@ static void entry_task_switch(struct task_struct *next)
498498
__this_cpu_write(__entry_task, next);
499499
}
500500

501+
/*
502+
* ARM erratum 1418040 handling, affecting the 32bit view of CNTVCT.
503+
* Assuming the virtual counter is enabled at the beginning of times:
504+
*
505+
* - disable access when switching from a 64bit task to a 32bit task
506+
* - enable access when switching from a 32bit task to a 64bit task
507+
*/
508+
static void erratum_1418040_thread_switch(struct task_struct *prev,
509+
struct task_struct *next)
510+
{
511+
bool prev32, next32;
512+
u64 val;
513+
514+
if (!(IS_ENABLED(CONFIG_ARM64_ERRATUM_1418040) &&
515+
cpus_have_const_cap(ARM64_WORKAROUND_1418040)))
516+
return;
517+
518+
prev32 = is_compat_thread(task_thread_info(prev));
519+
next32 = is_compat_thread(task_thread_info(next));
520+
521+
if (prev32 == next32)
522+
return;
523+
524+
val = read_sysreg(cntkctl_el1);
525+
526+
if (!next32)
527+
val |= ARCH_TIMER_USR_VCT_ACCESS_EN;
528+
else
529+
val &= ~ARCH_TIMER_USR_VCT_ACCESS_EN;
530+
531+
write_sysreg(val, cntkctl_el1);
532+
}
533+
501534
/*
502535
* Thread switching.
503536
*/
@@ -514,6 +547,7 @@ __notrace_funcgraph struct task_struct *__switch_to(struct task_struct *prev,
514547
uao_thread_switch(next);
515548
ptrauth_thread_switch(next);
516549
ssbs_thread_switch(next);
550+
erratum_1418040_thread_switch(prev, next);
517551

518552
/*
519553
* Complete any pending TLB or cache maintenance on this CPU in case

arch/arm64/kernel/setup.c

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ u64 __cacheline_aligned boot_args[4];
8585
void __init smp_setup_processor_id(void)
8686
{
8787
u64 mpidr = read_cpuid_mpidr() & MPIDR_HWID_BITMASK;
88-
cpu_logical_map(0) = mpidr;
88+
set_cpu_logical_map(0, mpidr);
8989

9090
/*
9191
* clear __my_cpu_offset on boot CPU to avoid hang caused by
@@ -276,6 +276,12 @@ arch_initcall(reserve_memblock_reserved_regions);
276276

277277
u64 __cpu_logical_map[NR_CPUS] = { [0 ... NR_CPUS-1] = INVALID_HWID };
278278

279+
u64 cpu_logical_map(int cpu)
280+
{
281+
return __cpu_logical_map[cpu];
282+
}
283+
EXPORT_SYMBOL_GPL(cpu_logical_map);
284+
279285
void __init setup_arch(char **cmdline_p)
280286
{
281287
init_mm.start_code = (unsigned long) _text;

arch/arm64/kernel/smp.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -549,7 +549,7 @@ acpi_map_gic_cpu_interface(struct acpi_madt_generic_interrupt *processor)
549549
return;
550550

551551
/* map the logical cpu id to cpu MPIDR */
552-
cpu_logical_map(cpu_count) = hwid;
552+
set_cpu_logical_map(cpu_count, hwid);
553553

554554
cpu_madt_gicc[cpu_count] = *processor;
555555

@@ -663,7 +663,7 @@ static void __init of_parse_and_init_cpus(void)
663663
goto next;
664664

665665
pr_debug("cpu logical map 0x%llx\n", hwid);
666-
cpu_logical_map(cpu_count) = hwid;
666+
set_cpu_logical_map(cpu_count, hwid);
667667

668668
early_map_cpu_to_node(cpu_count, of_node_to_nid(dn));
669669
next:
@@ -704,7 +704,7 @@ void __init smp_init_cpus(void)
704704
for (i = 1; i < nr_cpu_ids; i++) {
705705
if (cpu_logical_map(i) != INVALID_HWID) {
706706
if (smp_cpu_setup(i))
707-
cpu_logical_map(i) = INVALID_HWID;
707+
set_cpu_logical_map(i, INVALID_HWID);
708708
}
709709
}
710710
}

0 commit comments

Comments
 (0)