Skip to content

Commit 37e6d03

Browse files
committed
Rebuild rocky9_6 with kernel-5.14.0-570.60.1.el9_6
Rebuild_History BUILDABLE Rebuilding Kernel from rpm changelog with Fuzz Limit: 87.50% Number of commits in upstream range v5.14~1..kernel-mainline: 324124 Number of commits in rpm: 12 Number of commits matched with upstream: 10 (83.33%) Number of commits in upstream but not in rpm: 324114 Number of commits NOT found in upstream: 2 (16.67%) Rebuilding Kernel on Branch rocky9_6_rebuild_kernel-5.14.0-570.60.1.el9_6 for kernel-5.14.0-570.60.1.el9_6 Clean Cherry Picks: 5 (50.00%) Empty Cherry Picks: 5 (50.00%) _______________________________ Full Details Located here: ciq/ciq_backports/kernel-5.14.0-570.60.1.el9_6/rebuild.details.txt Includes: * git commit header above * Empty Commits with upstream SHA * RPM ChangeLog Entries that could not be matched Individual Empty Commit failures contained in the same containing directory. The git message for empty commits will have the path for the failed commit. File names are the first 8 characters of the upstream SHA
1 parent 7ed84ff commit 37e6d03

27 files changed

+129323
-138
lines changed
File renamed without changes.

Makefile.rhelver

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ RHEL_MINOR = 6
1212
#
1313
# Use this spot to avoid future merge conflicts.
1414
# Do not trim this comment.
15-
RHEL_RELEASE = 570.58.1
15+
RHEL_RELEASE = 570.60.1
1616

1717
#
1818
# ZSTREAM

arch/arm64/kvm/sys_regs.c

Lines changed: 79 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1527,6 +1527,9 @@ static u8 pmuver_to_perfmon(u8 pmuver)
15271527
}
15281528
}
15291529

1530+
static u64 sanitise_id_aa64pfr0_el1(const struct kvm_vcpu *vcpu, u64 val);
1531+
static u64 sanitise_id_aa64dfr0_el1(const struct kvm_vcpu *vcpu, u64 val);
1532+
15301533
/* Read a sanitised cpufeature ID register by sys_reg_desc */
15311534
static u64 __kvm_read_sanitised_id_reg(const struct kvm_vcpu *vcpu,
15321535
const struct sys_reg_desc *r)
@@ -1540,6 +1543,12 @@ static u64 __kvm_read_sanitised_id_reg(const struct kvm_vcpu *vcpu,
15401543
val = read_sanitised_ftr_reg(id);
15411544

15421545
switch (id) {
1546+
case SYS_ID_AA64DFR0_EL1:
1547+
val = sanitise_id_aa64dfr0_el1(vcpu, val);
1548+
break;
1549+
case SYS_ID_AA64PFR0_EL1:
1550+
val = sanitise_id_aa64pfr0_el1(vcpu, val);
1551+
break;
15431552
case SYS_ID_AA64PFR1_EL1:
15441553
if (!kvm_has_mte(vcpu->kvm))
15451554
val &= ~ARM64_FEATURE_MASK(ID_AA64PFR1_EL1_MTE);
@@ -1553,6 +1562,7 @@ static u64 __kvm_read_sanitised_id_reg(const struct kvm_vcpu *vcpu,
15531562
val &= ~ARM64_FEATURE_MASK(ID_AA64PFR1_EL1_MTEX);
15541563
val &= ~ARM64_FEATURE_MASK(ID_AA64PFR1_EL1_DF2);
15551564
val &= ~ARM64_FEATURE_MASK(ID_AA64PFR1_EL1_PFAR);
1565+
val &= ~ARM64_FEATURE_MASK(ID_AA64PFR1_EL1_MPAM_frac);
15561566
break;
15571567
case SYS_ID_AA64ISAR1_EL1:
15581568
if (!vcpu_has_ptrauth(vcpu))
@@ -1684,11 +1694,8 @@ static unsigned int sve_visibility(const struct kvm_vcpu *vcpu,
16841694
return REG_HIDDEN;
16851695
}
16861696

1687-
static u64 read_sanitised_id_aa64pfr0_el1(struct kvm_vcpu *vcpu,
1688-
const struct sys_reg_desc *rd)
1697+
static u64 sanitise_id_aa64pfr0_el1(const struct kvm_vcpu *vcpu, u64 val)
16891698
{
1690-
u64 val = read_sanitised_ftr_reg(SYS_ID_AA64PFR0_EL1);
1691-
16921699
if (!vcpu_has_sve(vcpu))
16931700
val &= ~ID_AA64PFR0_EL1_SVE_MASK;
16941701

@@ -1716,6 +1723,13 @@ static u64 read_sanitised_id_aa64pfr0_el1(struct kvm_vcpu *vcpu,
17161723

17171724
val &= ~ID_AA64PFR0_EL1_AMU_MASK;
17181725

1726+
/*
1727+
* MPAM is disabled by default as KVM also needs a set of PARTID to
1728+
* program the MPAMVPMx_EL2 PARTID remapping registers with. But some
1729+
* older kernels let the guest see the ID bit.
1730+
*/
1731+
val &= ~ID_AA64PFR0_EL1_MPAM_MASK;
1732+
17191733
return val;
17201734
}
17211735

@@ -1729,11 +1743,8 @@ static u64 read_sanitised_id_aa64pfr0_el1(struct kvm_vcpu *vcpu,
17291743
(val); \
17301744
})
17311745

1732-
static u64 read_sanitised_id_aa64dfr0_el1(struct kvm_vcpu *vcpu,
1733-
const struct sys_reg_desc *rd)
1746+
static u64 sanitise_id_aa64dfr0_el1(const struct kvm_vcpu *vcpu, u64 val)
17341747
{
1735-
u64 val = read_sanitised_ftr_reg(SYS_ID_AA64DFR0_EL1);
1736-
17371748
val = ID_REG_LIMIT_FIELD_ENUM(val, ID_AA64DFR0_EL1, DebugVer, V8P8);
17381749

17391750
/*
@@ -1826,6 +1837,42 @@ static int set_id_dfr0_el1(struct kvm_vcpu *vcpu,
18261837
return set_id_reg(vcpu, rd, val);
18271838
}
18281839

1840+
static int set_id_aa64pfr0_el1(struct kvm_vcpu *vcpu,
1841+
const struct sys_reg_desc *rd, u64 user_val)
1842+
{
1843+
u64 hw_val = read_sanitised_ftr_reg(SYS_ID_AA64PFR0_EL1);
1844+
u64 mpam_mask = ID_AA64PFR0_EL1_MPAM_MASK;
1845+
1846+
/*
1847+
* Commit 011e5f5bf529f ("arm64/cpufeature: Add remaining feature bits
1848+
* in ID_AA64PFR0 register") exposed the MPAM field of AA64PFR0_EL1 to
1849+
* guests, but didn't add trap handling. KVM doesn't support MPAM and
1850+
* always returns an UNDEF for these registers. The guest must see 0
1851+
* for this field.
1852+
*
1853+
* But KVM must also accept values from user-space that were provided
1854+
* by KVM. On CPUs that support MPAM, permit user-space to write
1855+
* the sanitizied value to ID_AA64PFR0_EL1.MPAM, but ignore this field.
1856+
*/
1857+
if ((hw_val & mpam_mask) == (user_val & mpam_mask))
1858+
user_val &= ~ID_AA64PFR0_EL1_MPAM_MASK;
1859+
1860+
return set_id_reg(vcpu, rd, user_val);
1861+
}
1862+
1863+
static int set_id_aa64pfr1_el1(struct kvm_vcpu *vcpu,
1864+
const struct sys_reg_desc *rd, u64 user_val)
1865+
{
1866+
u64 hw_val = read_sanitised_ftr_reg(SYS_ID_AA64PFR1_EL1);
1867+
u64 mpam_mask = ID_AA64PFR1_EL1_MPAM_frac_MASK;
1868+
1869+
/* See set_id_aa64pfr0_el1 for comment about MPAM */
1870+
if ((hw_val & mpam_mask) == (user_val & mpam_mask))
1871+
user_val &= ~ID_AA64PFR1_EL1_MPAM_frac_MASK;
1872+
1873+
return set_id_reg(vcpu, rd, user_val);
1874+
}
1875+
18291876
/*
18301877
* cpufeature ID register user accessors
18311878
*
@@ -2162,6 +2209,15 @@ static unsigned int hidden_user_visibility(const struct kvm_vcpu *vcpu,
21622209
.val = mask, \
21632210
}
21642211

2212+
/* sys_reg_desc initialiser for cpufeature ID registers that need filtering */
2213+
#define ID_FILTERED(sysreg, name, mask) { \
2214+
ID_DESC(sysreg), \
2215+
.set_user = set_##name, \
2216+
.visibility = id_visibility, \
2217+
.reset = kvm_read_sanitised_id_reg, \
2218+
.val = (mask), \
2219+
}
2220+
21652221
/*
21662222
* sys_reg_desc initialiser for architecturally unallocated cpufeature ID
21672223
* register with encoding Op0=3, Op1=0, CRn=0, CRm=crm, Op2=op2
@@ -2365,19 +2421,16 @@ static const struct sys_reg_desc sys_reg_descs[] = {
23652421

23662422
/* AArch64 ID registers */
23672423
/* CRm=4 */
2368-
{ SYS_DESC(SYS_ID_AA64PFR0_EL1),
2369-
.access = access_id_reg,
2370-
.get_user = get_id_reg,
2371-
.set_user = set_id_reg,
2372-
.reset = read_sanitised_id_aa64pfr0_el1,
2373-
.val = ~(ID_AA64PFR0_EL1_AMU |
2374-
ID_AA64PFR0_EL1_MPAM |
2375-
ID_AA64PFR0_EL1_SVE |
2376-
ID_AA64PFR0_EL1_RAS |
2377-
ID_AA64PFR0_EL1_GIC |
2378-
ID_AA64PFR0_EL1_AdvSIMD |
2379-
ID_AA64PFR0_EL1_FP), },
2380-
ID_WRITABLE(ID_AA64PFR1_EL1, ~(ID_AA64PFR1_EL1_PFAR |
2424+
ID_FILTERED(ID_AA64PFR0_EL1, id_aa64pfr0_el1,
2425+
~(ID_AA64PFR0_EL1_AMU |
2426+
ID_AA64PFR0_EL1_MPAM |
2427+
ID_AA64PFR0_EL1_SVE |
2428+
ID_AA64PFR0_EL1_RAS |
2429+
ID_AA64PFR0_EL1_GIC |
2430+
ID_AA64PFR0_EL1_AdvSIMD |
2431+
ID_AA64PFR0_EL1_FP)),
2432+
ID_FILTERED(ID_AA64PFR1_EL1, id_aa64pfr1_el1,
2433+
~(ID_AA64PFR1_EL1_PFAR |
23812434
ID_AA64PFR1_EL1_DF2 |
23822435
ID_AA64PFR1_EL1_MTEX |
23832436
ID_AA64PFR1_EL1_THE |
@@ -2398,11 +2451,6 @@ static const struct sys_reg_desc sys_reg_descs[] = {
23982451
ID_UNALLOCATED(4,7),
23992452

24002453
/* CRm=5 */
2401-
{ SYS_DESC(SYS_ID_AA64DFR0_EL1),
2402-
.access = access_id_reg,
2403-
.get_user = get_id_reg,
2404-
.set_user = set_id_aa64dfr0_el1,
2405-
.reset = read_sanitised_id_aa64dfr0_el1,
24062454
/*
24072455
* Prior to FEAT_Debugv8.9, the architecture defines context-aware
24082456
* breakpoints (CTX_CMPs) as the highest numbered breakpoints (BRPs).
@@ -2415,10 +2463,11 @@ static const struct sys_reg_desc sys_reg_descs[] = {
24152463
* See DDI0487K.a, section D2.8.3 Breakpoint types and linking
24162464
* of breakpoints for more details.
24172465
*/
2418-
.val = ID_AA64DFR0_EL1_DoubleLock_MASK |
2419-
ID_AA64DFR0_EL1_WRPs_MASK |
2420-
ID_AA64DFR0_EL1_PMUVer_MASK |
2421-
ID_AA64DFR0_EL1_DebugVer_MASK, },
2466+
ID_FILTERED(ID_AA64DFR0_EL1, id_aa64dfr0_el1,
2467+
ID_AA64DFR0_EL1_DoubleLock_MASK |
2468+
ID_AA64DFR0_EL1_WRPs_MASK |
2469+
ID_AA64DFR0_EL1_PMUVer_MASK |
2470+
ID_AA64DFR0_EL1_DebugVer_MASK),
24222471
ID_SANITISED(ID_AA64DFR1_EL1),
24232472
ID_UNALLOCATED(5,2),
24242473
ID_UNALLOCATED(5,3),

arch/powerpc/include/asm/hvcall.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -258,6 +258,7 @@
258258
#define H_QUERY_INT_STATE 0x1E4
259259
#define H_POLL_PENDING 0x1D8
260260
#define H_ILLAN_ATTRIBUTES 0x244
261+
#define H_ADD_LOGICAL_LAN_BUFFERS 0x248
261262
#define H_MODIFY_HEA_QP 0x250
262263
#define H_QUERY_HEA_QP 0x254
263264
#define H_QUERY_HEA 0x258
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
Rebuild_History BUILDABLE
2+
Rebuilding Kernel from rpm changelog with Fuzz Limit: 87.50%
3+
Number of commits in upstream range v5.14~1..kernel-mainline: 324124
4+
Number of commits in rpm: 12
5+
Number of commits matched with upstream: 10 (83.33%)
6+
Number of commits in upstream but not in rpm: 324114
7+
Number of commits NOT found in upstream: 2 (16.67%)
8+
9+
Rebuilding Kernel on Branch rocky9_6_rebuild_kernel-5.14.0-570.60.1.el9_6 for kernel-5.14.0-570.60.1.el9_6
10+
Clean Cherry Picks: 5 (50.00%)
11+
Empty Cherry Picks: 5 (50.00%)
12+
_______________________________
13+
14+
__EMPTY COMMITS__________________________
15+
8b3ac9fabaa825b7bae850ee7b4580c5cba32699 SUNRPC: Cleanup/fix initial rq_pages allocation
16+
7da540e29dea6016ed55d16450d3133c70761d21 KVM: arm64: Add a macro for creating filtered sys_reg_descs entries
17+
6685f5d572c22e1003e7c0d089afe1c64340ab1f KVM: arm64: Disable MPAM visibility by default and ignore VMM writes
18+
2c91e2319ed95f9b7608c9ac2ebd1a070918f1fc net: ibmveth: Reset the adapter when unexpected states are detected
19+
2094200b5f77e6710f9594571889f64f31966de1 ibmveth: Add multi buffers rx replenishment hcall support
20+
21+
__CHANGES NOT IN UPSTREAM________________
22+
Porting to Rocky Linux 9, debranding and Rocky branding'
23+
Ensure aarch64 kernel is not compressed'

0 commit comments

Comments
 (0)