Unverified Commit 3b393e43 authored by openeuler-ci-bot's avatar openeuler-ci-bot Committed by Gitee
Browse files

!13906 [openEuler-24.03-LTS][linux-6.6.y sync] Backport 6.6.53-6.6.54 LTS Conflicts Patches

Merge Pull Request from: @wenzhiwei11 
 
Merged(5):
RDMA/hns: Don't modify rq next block addr in HIP09 QPC
RDMA/hns: Fix Use-After-Free of rsv_qp on HIP08
mm/filemap: return early if failed to allocate memory for split
lib/xarray: introduce a new helper xas_get_order
mm/filemap: optimize filemap folio adding

Not introduced(1):
lib/sbitmap: define swap_lock as raw_spinlock_t

Submit after modification(4):
btrfs: update comment for struct btrfs_inode::lock
arm64: errata: Enable the AC03_CPU_38 workaround for ampere1a
xen: allow mapping ACPI data using a different physical address
sched/fair: Make SCHED_IDLE entity be preempted in strict hierarchy 
 
Link:https://gitee.com/openeuler/kernel/pulls/13906

 

Reviewed-by: default avatarzhangyi (F) <yi.zhang@huawei.com>
Reviewed-by: default avatarZhang Jianhua <chris.zjh@huawei.com>
Signed-off-by: default avatarZhang Peng <zhangpeng362@huawei.com>
parents a5499e63 fd6e6752
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -54,6 +54,8 @@ stable kernels.
+----------------+-----------------+-----------------+-----------------------------+
| Ampere         | AmpereOne       | AC03_CPU_38     | AMPERE_ERRATUM_AC03_CPU_38  |
+----------------+-----------------+-----------------+-----------------------------+
| Ampere         | AmpereOne AC04  | AC04_CPU_10     | AMPERE_ERRATUM_AC03_CPU_38  |
+----------------+-----------------+-----------------+-----------------------------+
+----------------+-----------------+-----------------+-----------------------------+
| ARM            | Cortex-A510     | #2457168        | ARM64_ERRATUM_2457168       |
+----------------+-----------------+-----------------+-----------------------------+
+1 −1
Original line number Diff line number Diff line
@@ -430,7 +430,7 @@ config AMPERE_ERRATUM_AC03_CPU_38
	default y
	help
	  This option adds an alternative code sequence to work around Ampere
	  erratum AC03_CPU_38 on AmpereOne.
          errata AC03_CPU_38 and AC04_CPU_10 on AmpereOne.

	  The affected design reports FEAT_HAFDBS as not implemented in
	  ID_AA64MMFR1_EL1.HAFDBS, but (V)TCR_ELx.{HA,HD} are not RES0
+2 −0
Original line number Diff line number Diff line
@@ -152,6 +152,7 @@
#define APPLE_CPU_PART_M2_AVALANCHE_MAX	0x039

#define AMPERE_CPU_PART_AMPERE1		0xAC3
#define AMPERE_CPU_PART_AMPERE1A       0xAC4

#define MICROSOFT_CPU_PART_AZURE_COBALT_100	0xD49 /* Based on r0p0 of ARM Neoverse N2 */

@@ -229,6 +230,7 @@
#define MIDR_APPLE_M2_BLIZZARD_MAX MIDR_CPU_MODEL(ARM_CPU_IMP_APPLE, APPLE_CPU_PART_M2_BLIZZARD_MAX)
#define MIDR_APPLE_M2_AVALANCHE_MAX MIDR_CPU_MODEL(ARM_CPU_IMP_APPLE, APPLE_CPU_PART_M2_AVALANCHE_MAX)
#define MIDR_AMPERE1 MIDR_CPU_MODEL(ARM_CPU_IMP_AMPERE, AMPERE_CPU_PART_AMPERE1)
#define MIDR_AMPERE1A MIDR_CPU_MODEL(ARM_CPU_IMP_AMPERE, AMPERE_CPU_PART_AMPERE1A)
#define MIDR_MICROSOFT_AZURE_COBALT_100 MIDR_CPU_MODEL(ARM_CPU_IMP_MICROSOFT, MICROSOFT_CPU_PART_AZURE_COBALT_100)

/* Fujitsu Erratum 010001 affects A64FX 1.0 and 1.1, (v0r0 and v1r0) */
+9 −1
Original line number Diff line number Diff line
@@ -526,6 +526,14 @@ static const struct midr_range erratum_spec_unpriv_load_list[] = {
};
#endif

#ifdef CONFIG_AMPERE_ERRATUM_AC03_CPU_38
static const struct midr_range erratum_ac03_cpu_38_list[] = {
       MIDR_ALL_VERSIONS(MIDR_AMPERE1),
       MIDR_ALL_VERSIONS(MIDR_AMPERE1A),
       {},
};
#endif

const struct arm64_cpu_capabilities arm64_errata[] = {
#ifdef CONFIG_ARM64_WORKAROUND_CLEAN_CACHE
	{
@@ -852,7 +860,7 @@ const struct arm64_cpu_capabilities arm64_errata[] = {
	{
		.desc = "AmpereOne erratum AC03_CPU_38",
		.capability = ARM64_WORKAROUND_AMPERE_AC03_CPU_38,
		ERRATA_MIDR_ALL_VERSIONS(MIDR_AMPERE1),
		ERRATA_MIDR_RANGE_LIST(erratum_ac03_cpu_38_list),
	},
#endif
#ifdef CONFIG_HISILICON_ERRATUM_HIP08_RU_PREFETCH
+8 −0
Original line number Diff line number Diff line
@@ -166,6 +166,14 @@ void acpi_generic_reduced_hw_init(void);
void x86_default_set_root_pointer(u64 addr);
u64 x86_default_get_root_pointer(void);

#ifdef CONFIG_XEN_PV
/* A Xen PV domain needs a special acpi_os_ioremap() handling. */
extern void __iomem * (*acpi_os_ioremap)(acpi_physical_address phys,
                                        acpi_size size);
void __iomem *x86_acpi_os_ioremap(acpi_physical_address phys, acpi_size size);
#define acpi_os_ioremap acpi_os_ioremap
#endif

#else /* !CONFIG_ACPI */

#define acpi_lapic 0
Loading