summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTreehugger Robot <android-test-infra-autosubmit@system.gserviceaccount.com>2024-01-30 11:47:50 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2024-01-30 11:47:50 +0000
commit4348e70ef1627d02b4725969f0396ac4edf40038 (patch)
treee6c201113eb65f311c9522484577de525bf192e8
parent9d5b9b1d2bd3d3009b2b5781f1aa76164243830c (diff)
parentfda83cf7c9247ad2f8a9a5f198c1905d195460d0 (diff)
downloadcommon-patches-4348e70ef1627d02b4725969f0396ac4edf40038.tar.gz
Merge changes Ia68c2ac5,I3e7c6f6e,I6a005820 into main
* changes: aosp/android-mainline: update series aosp/android-mainline: update series (rebase onto v6.6-10372-ge9806ff8a0f9e) aosp/android-mainline: update series
-rw-r--r--android-mainline/ANDROID-GKI-Disable-KUnit-built-in-testing.patch4
-rw-r--r--android-mainline/ANDROID-Initial-commit-of-Incremental-FS.patch2
-rw-r--r--android-mainline/ANDROID-Revert-io_uring-rely-solely-on-FMODE_NOWAIT.patch4
-rw-r--r--android-mainline/ANDROID-Revert-io_uring-remove-__io_file_supports_nowait.patch4
-rw-r--r--android-mainline/ANDROID-Revert-io_uring-remove-the-mode-variable-in-io_file_get_flags.patch2
-rw-r--r--android-mainline/ANDROID-block-add-basic-hardware-wrapped-key-support.patch2
-rw-r--r--android-mainline/ANDROID-cpufreq-track-per-task-time-in-state.patch4
-rw-r--r--android-mainline/ANDROID-dm-add-support-for-passing-through-derive_sw_secret.patch4
-rw-r--r--android-mainline/ANDROID-irqchip-Add-IRQChip-related-vendor-hooks.patch4
-rw-r--r--android-mainline/ANDROID-tools-Miscellaneous.patch353
-rw-r--r--android-mainline/ANDROID-tty-hvc_dcc-Add-parameter-to-enable-DCC.patch2
-rw-r--r--android-mainline/NOUPSTREAM-ANDROID-Add-vendor-hooks-to-the-scheduler.patch2
-rw-r--r--android-mainline/NOUPSTREAM-ANDROID-Kbuild-Add-support-for-KBUILD_MIXED_TREE.patch2
-rw-r--r--android-mainline/NOUPSTREAM-ANDROID-Kleaf-Bazel-based-GKI-kernel-build.patch66
-rw-r--r--android-mainline/NOUPSTREAM-ANDROID-arm64-ARM64-Exports.patch8
-rw-r--r--android-mainline/NOUPSTREAM-ANDROID-arm64-ARM64-related-vendor-hooks.patch4
-rw-r--r--android-mainline/NOUPSTREAM-ANDROID-gki_defconfigs.patch7
-rw-r--r--android-mainline/ONHOLD-ANDROID-net-xfrm-always-export-pktgen_xfrm_outer_mode_output.patch2
-rw-r--r--android-mainline/Revert-sched-core-Prevent-race-condition-between-cpuset-and-__sched_setscheduler.patch10
-rw-r--r--android-mainline/series4
20 files changed, 325 insertions, 165 deletions
diff --git a/android-mainline/ANDROID-GKI-Disable-KUnit-built-in-testing.patch b/android-mainline/ANDROID-GKI-Disable-KUnit-built-in-testing.patch
index 57b631e3..b4fcf3b9 100644
--- a/android-mainline/ANDROID-GKI-Disable-KUnit-built-in-testing.patch
+++ b/android-mainline/ANDROID-GKI-Disable-KUnit-built-in-testing.patch
@@ -25,7 +25,7 @@ Signed-off-by: Lee Jones <joneslee@google.com>
diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
--- a/Documentation/admin-guide/kernel-parameters.txt
+++ b/Documentation/admin-guide/kernel-parameters.txt
-@@ -2540,7 +2540,7 @@
+@@ -2534,7 +2534,7 @@
CONFIG_KUNIT to be set to be fully enabled. The
default value can be overridden via
KUNIT_DEFAULT_ENABLED.
@@ -65,7 +65,7 @@ diff --git a/init/main.c b/init/main.c
static int kernel_init(void *);
/*
-@@ -1546,8 +1544,6 @@ static noinline void __init kernel_init_freeable(void)
+@@ -1550,8 +1548,6 @@ static noinline void __init kernel_init_freeable(void)
do_basic_setup();
diff --git a/android-mainline/ANDROID-Initial-commit-of-Incremental-FS.patch b/android-mainline/ANDROID-Initial-commit-of-Incremental-FS.patch
index 0dda1787..fd999eca 100644
--- a/android-mainline/ANDROID-Initial-commit-of-Incremental-FS.patch
+++ b/android-mainline/ANDROID-Initial-commit-of-Incremental-FS.patch
@@ -230,7 +230,7 @@ new file mode 100644
diff --git a/MAINTAINERS b/MAINTAINERS
--- a/MAINTAINERS
+++ b/MAINTAINERS
-@@ -10312,6 +10312,13 @@ F: Documentation/hwmon/ina2xx.rst
+@@ -10346,6 +10346,13 @@ F: Documentation/hwmon/ina2xx.rst
F: drivers/hwmon/ina2xx.c
F: include/linux/platform_data/ina2xx.h
diff --git a/android-mainline/ANDROID-Revert-io_uring-rely-solely-on-FMODE_NOWAIT.patch b/android-mainline/ANDROID-Revert-io_uring-rely-solely-on-FMODE_NOWAIT.patch
index 7818d31b..d7416737 100644
--- a/android-mainline/ANDROID-Revert-io_uring-rely-solely-on-FMODE_NOWAIT.patch
+++ b/android-mainline/ANDROID-Revert-io_uring-rely-solely-on-FMODE_NOWAIT.patch
@@ -27,7 +27,7 @@ Signed-off-by: Lee Jones <joneslee@google.com>
diff --git a/io_uring/io_uring.c b/io_uring/io_uring.c
--- a/io_uring/io_uring.c
+++ b/io_uring/io_uring.c
-@@ -1753,6 +1753,11 @@ static void io_iopoll_req_issued(struct io_kiocb *req, unsigned int issue_flags)
+@@ -1760,6 +1760,11 @@ static void io_iopoll_req_issued(struct io_kiocb *req, unsigned int issue_flags)
}
}
@@ -39,7 +39,7 @@ diff --git a/io_uring/io_uring.c b/io_uring/io_uring.c
/*
* If we tracked the file through the SCM inflight mechanism, we could support
* any file. For now, just ensure that anything potentially problematic is done
-@@ -1760,6 +1765,22 @@ static void io_iopoll_req_issued(struct io_kiocb *req, unsigned int issue_flags)
+@@ -1767,6 +1772,22 @@ static void io_iopoll_req_issued(struct io_kiocb *req, unsigned int issue_flags)
*/
static bool __io_file_supports_nowait(struct file *file, umode_t mode)
{
diff --git a/android-mainline/ANDROID-Revert-io_uring-remove-__io_file_supports_nowait.patch b/android-mainline/ANDROID-Revert-io_uring-remove-__io_file_supports_nowait.patch
index bacaa08b..bc0b7ddf 100644
--- a/android-mainline/ANDROID-Revert-io_uring-remove-__io_file_supports_nowait.patch
+++ b/android-mainline/ANDROID-Revert-io_uring-remove-__io_file_supports_nowait.patch
@@ -25,7 +25,7 @@ Signed-off-by: Lee Jones <joneslee@google.com>
diff --git a/io_uring/io_uring.c b/io_uring/io_uring.c
--- a/io_uring/io_uring.c
+++ b/io_uring/io_uring.c
-@@ -1753,6 +1753,19 @@ static void io_iopoll_req_issued(struct io_kiocb *req, unsigned int issue_flags)
+@@ -1760,6 +1760,19 @@ static void io_iopoll_req_issued(struct io_kiocb *req, unsigned int issue_flags)
}
}
@@ -45,7 +45,7 @@ diff --git a/io_uring/io_uring.c b/io_uring/io_uring.c
unsigned int io_file_get_flags(struct file *file)
{
umode_t mode = file_inode(file)->i_mode;
-@@ -1760,7 +1773,7 @@ unsigned int io_file_get_flags(struct file *file)
+@@ -1767,7 +1780,7 @@ unsigned int io_file_get_flags(struct file *file)
if (S_ISREG(mode))
res |= REQ_F_ISREG;
diff --git a/android-mainline/ANDROID-Revert-io_uring-remove-the-mode-variable-in-io_file_get_flags.patch b/android-mainline/ANDROID-Revert-io_uring-remove-the-mode-variable-in-io_file_get_flags.patch
index 33183099..04c1a46f 100644
--- a/android-mainline/ANDROID-Revert-io_uring-remove-the-mode-variable-in-io_file_get_flags.patch
+++ b/android-mainline/ANDROID-Revert-io_uring-remove-the-mode-variable-in-io_file_get_flags.patch
@@ -26,7 +26,7 @@ Signed-off-by: Lee Jones <joneslee@google.com>
diff --git a/io_uring/io_uring.c b/io_uring/io_uring.c
--- a/io_uring/io_uring.c
+++ b/io_uring/io_uring.c
-@@ -1755,9 +1755,10 @@ static void io_iopoll_req_issued(struct io_kiocb *req, unsigned int issue_flags)
+@@ -1762,9 +1762,10 @@ static void io_iopoll_req_issued(struct io_kiocb *req, unsigned int issue_flags)
unsigned int io_file_get_flags(struct file *file)
{
diff --git a/android-mainline/ANDROID-block-add-basic-hardware-wrapped-key-support.patch b/android-mainline/ANDROID-block-add-basic-hardware-wrapped-key-support.patch
index 3e5a0d03..dbc6c972 100644
--- a/android-mainline/ANDROID-block-add-basic-hardware-wrapped-key-support.patch
+++ b/android-mainline/ANDROID-block-add-basic-hardware-wrapped-key-support.patch
@@ -554,7 +554,7 @@ diff --git a/block/blk-crypto.c b/block/blk-crypto.c
diff --git a/drivers/md/dm-table.c b/drivers/md/dm-table.c
--- a/drivers/md/dm-table.c
+++ b/drivers/md/dm-table.c
-@@ -1309,6 +1309,7 @@ static int dm_table_construct_crypto_profile(struct dm_table *t)
+@@ -1310,6 +1310,7 @@ static int dm_table_construct_crypto_profile(struct dm_table *t)
profile->max_dun_bytes_supported = UINT_MAX;
memset(profile->modes_supported, 0xFF,
sizeof(profile->modes_supported));
diff --git a/android-mainline/ANDROID-cpufreq-track-per-task-time-in-state.patch b/android-mainline/ANDROID-cpufreq-track-per-task-time-in-state.patch
index 239e63e6..a2f9aa51 100644
--- a/android-mainline/ANDROID-cpufreq-track-per-task-time-in-state.patch
+++ b/android-mainline/ANDROID-cpufreq-track-per-task-time-in-state.patch
@@ -421,7 +421,7 @@ diff --git a/kernel/fork.c b/kernel/fork.c
release_user_cpus_ptr(tsk);
scs_release(tsk);
-@@ -2339,6 +2341,8 @@ __latent_entropy struct task_struct *copy_process(
+@@ -2346,6 +2348,8 @@ __latent_entropy struct task_struct *copy_process(
if (args->io_thread)
p->flags |= PF_IO_WORKER;
@@ -430,7 +430,7 @@ diff --git a/kernel/fork.c b/kernel/fork.c
if (args->name)
strscpy_pad(p->comm, args->name, sizeof(p->comm));
-@@ -2910,6 +2914,8 @@ pid_t kernel_clone(struct kernel_clone_args *args)
+@@ -2917,6 +2921,8 @@ pid_t kernel_clone(struct kernel_clone_args *args)
if (IS_ERR(p))
return PTR_ERR(p);
diff --git a/android-mainline/ANDROID-dm-add-support-for-passing-through-derive_sw_secret.patch b/android-mainline/ANDROID-dm-add-support-for-passing-through-derive_sw_secret.patch
index 5053500c..7be7f829 100644
--- a/android-mainline/ANDROID-dm-add-support-for-passing-through-derive_sw_secret.patch
+++ b/android-mainline/ANDROID-dm-add-support-for-passing-through-derive_sw_secret.patch
@@ -46,7 +46,7 @@ diff --git a/block/blk-crypto-profile.c b/block/blk-crypto-profile.c
diff --git a/drivers/md/dm-table.c b/drivers/md/dm-table.c
--- a/drivers/md/dm-table.c
+++ b/drivers/md/dm-table.c
-@@ -1251,6 +1251,68 @@ static int dm_keyslot_evict(struct blk_crypto_profile *profile,
+@@ -1252,6 +1252,68 @@ static int dm_keyslot_evict(struct blk_crypto_profile *profile,
return 0;
}
@@ -115,7 +115,7 @@ diff --git a/drivers/md/dm-table.c b/drivers/md/dm-table.c
static int
device_intersect_crypto_capabilities(struct dm_target *ti, struct dm_dev *dev,
sector_t start, sector_t len, void *data)
-@@ -1306,6 +1368,7 @@ static int dm_table_construct_crypto_profile(struct dm_table *t)
+@@ -1307,6 +1369,7 @@ static int dm_table_construct_crypto_profile(struct dm_table *t)
profile = &dmcp->profile;
blk_crypto_profile_init(profile, 0);
profile->ll_ops.keyslot_evict = dm_keyslot_evict;
diff --git a/android-mainline/ANDROID-irqchip-Add-IRQChip-related-vendor-hooks.patch b/android-mainline/ANDROID-irqchip-Add-IRQChip-related-vendor-hooks.patch
index a38ad0d4..91d8eae6 100644
--- a/android-mainline/ANDROID-irqchip-Add-IRQChip-related-vendor-hooks.patch
+++ b/android-mainline/ANDROID-irqchip-Add-IRQChip-related-vendor-hooks.patch
@@ -53,7 +53,7 @@ diff --git a/drivers/irqchip/irq-gic-v3.c b/drivers/irqchip/irq-gic-v3.c
#include <linux/irqchip.h>
#include <linux/irqchip/arm-gic-common.h>
-@@ -957,11 +958,15 @@ static void __init gic_dist_init(void)
+@@ -969,11 +970,15 @@ static void __init gic_dist_init(void)
* enabled.
*/
affinity = gic_cpu_to_affinity(smp_processor_id());
@@ -71,7 +71,7 @@ diff --git a/drivers/irqchip/irq-gic-v3.c b/drivers/irqchip/irq-gic-v3.c
}
static int gic_iterate_rdists(int (*fn)(struct redist_region *, void __iomem *))
-@@ -1425,6 +1430,9 @@ static int gic_set_affinity(struct irq_data *d, const struct cpumask *mask_val,
+@@ -1437,6 +1442,9 @@ static int gic_set_affinity(struct irq_data *d, const struct cpumask *mask_val,
reg = gic_dist_base(d) + offset + (index * 8);
val = gic_cpu_to_affinity(cpu);
diff --git a/android-mainline/ANDROID-tools-Miscellaneous.patch b/android-mainline/ANDROID-tools-Miscellaneous.patch
index a6fca29f..218ee094 100644
--- a/android-mainline/ANDROID-tools-Miscellaneous.patch
+++ b/android-mainline/ANDROID-tools-Miscellaneous.patch
@@ -7,11 +7,16 @@ Signed-off-by: Lee Jones <joneslee@google.com>
Change-Id: Ic155709fbf07ec0575fa2fa954ee199e63051a97
---
tools/testing/android/OWNERS | 4 +
- tools/testing/android/bin/acloudb.sh | 43 +++++++++++
- tools/testing/android/bin/kselftest.sh | 76 +++++++++++++++++++
- .../selftests/android/config_arm64.xml | 55 ++++++++++++++
- .../selftests/android/config_x86_64.xml | 55 ++++++++++++++
- 5 files changed, 233 insertions(+)
+ tools/testing/android/bin/acloudb.sh | 43 +++++++++
+ tools/testing/android/bin/kselftest.sh | 88 +++++++++++++++++++
+ .../selftests/android/config_arm64.xml | 84 ++++++++++++++++++
+ .../selftests/android/config_x86_64.xml | 84 ++++++++++++++++++
+ .../filesystems/binderfs/binderfs_test.c | 10 +++
+ .../selftests/futex/functional/futex_wait.c | 6 ++
+ .../futex/functional/futex_wait_timeout.c | 11 ++-
+ .../futex/functional/futex_wait_wouldblock.c | 13 ++-
+ tools/testing/selftests/rtc/rtctest.c | 2 +
+ 10 files changed, 338 insertions(+), 7 deletions(-)
create mode 100644 tools/testing/android/OWNERS
create mode 100755 tools/testing/android/bin/acloudb.sh
create mode 100755 tools/testing/android/bin/kselftest.sh
@@ -79,7 +84,7 @@ diff --git a/tools/testing/android/bin/kselftest.sh b/tools/testing/android/bin/
new file mode 100755
--- /dev/null
+++ b/tools/testing/android/bin/kselftest.sh
-@@ -0,0 +1,76 @@
+@@ -0,0 +1,88 @@
+#!/usr/bin/env bash
+# SPDX-License-Identifier: GPL-2.0
+
@@ -147,7 +152,19 @@ new file mode 100755
+fi
+
+echo "Building selftests..."
-+$BAZEL build //common:kselftest_tests_x86_64
++ABI=$(adb shell getprop ro.product.cpu.abi)
++case $ABI in
++ arm64*)
++ $BAZEL build //common:kselftest_tests_arm64
++ ;;
++ x86_64*)
++ $BAZEL build //common:kselftest_tests_x86_64
++ ;;
++ *)
++ echo "$ABI not supported"
++ exit 1
++ ;;
++esac
+
+$TRADEFED run commandAndExit template/local_min --template:map test=suite/test_mapping_suite \
+--include-filter selftests --tests-dir=$TESTSDIR --primary-abi-only
@@ -160,11 +177,14 @@ diff --git a/tools/testing/selftests/android/config_arm64.xml b/tools/testing/se
new file mode 100644
--- /dev/null
+++ b/tools/testing/selftests/android/config_arm64.xml
-@@ -0,0 +1,55 @@
+@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2023 The Android Open Source Project
+SPDX-License-Identifier: GPL-2.0 OR Apache-2.0
+-->
++<!DOCTYPE configuration [
++<!ENTITY ktest_dir "/data/selftests/arm64">
++]>
+<configuration description="kselftest">
+ <option name="test-suite-tag" value="kernel-test" />
+ <target_preparer class="com.android.tradefed.targetprep.RootTargetPreparer" />
@@ -174,57 +194,86 @@ new file mode 100644
+ <option name="cleanup" value="true" />
+ <option name="push-file" key="selftests" value="/data/selftests" />
+ <option name="skip-abi-filtering" value="true" />
-+ <option name="post-push" value='chmod -R 755 /data/selftests; find /data/selftests; -type f | xargs grep -l -e "bin/sh" -e "bin/bash" | xargs sed -i -e "s?/bin/echo?echo?" -i -e "s?#!/bin/sh?#!/system/bin/sh?" -i -e "s?#!/bin/bash?#!/system/bin/sh?" || echo "There were no files to process"' />
++ <option name="post-push" value='chmod -R 755 /data/selftests; find /data/selftests -type f | xargs grep -l -e "bin/sh" -e "bin/bash" | xargs sed -i -e "s?/bin/echo?echo?" -i -e "s?#!/bin/sh?#!/system/bin/sh?" -i -e "s?#!/bin/bash?#!/system/bin/sh?" || echo "There were no files to process"' />
+ </target_preparer>
+
+ <test class="com.android.tradefed.testtype.binary.KernelTargetTest" >
+ <option name="exit-code-skip" value="4" />
+ <option name="skip-binary-check" value="true" />
-+ <option name="test-command-line" key="kselftest_binderfs_binderfs_test" value="/data/selftests/arm64/kselftest_binderfs_binderfs_test" />
-+ <option name="test-command-line" key="kselftest_breakpoints_breakpoint_test" value="/data/selftests/arm64/kselftest_breakpoints_breakpoint_test" />
-+ <option name="test-command-line" key="kselftest_breakpoints_step_after_suspend_test" value="/data/selftests/arm64/kselftest_breakpoints_step_after_suspend_test" />
-+ <option name="test-command-line" key="kselftest_futex_run" value="cd /data/selftests/arm64/;USE_COLOR=0 ./kselftest_futex_run" />
-+ <option name="test-command-line" key="kselftest_kcmp_kcmp_test" value="/data/selftests/arm64/kselftest_kcmp_kcmp_test" />
-+ <option name="test-command-line" key="kselftest_ptrace_peeksiginfo" value="/data/selftests/arm64/kselftest_ptrace_peeksiginfo" />
-+ <option name="test-command-line" key="kselftest_rtc_rtctest" value="/data/selftests/arm64/kselftest_rtc_rtctest" />
-+ <option name="test-command-line" key="kselftest_vdso_vdso_test_abi" value="/data/selftests/arm64/kselftest_vdso_vdso_test_abi" />
-+ <option name="test-command-line" key="kselftest_vdso_vdso_test_clock_getres" value="/data/selftests/arm64/kselftest_vdso_vdso_test_clock_getres" />
-+ <option name="test-command-line" key="kselftest_vdso_vdso_test_getcpu" value="/data/selftests/arm64/kselftest_vdso_vdso_test_getcpu" />
-+ <option name="test-command-line" key="kselftest_vdso_vdso_test_gettimeofday" value="/data/selftests/arm64/kselftest_vdso_vdso_test_gettimeofday" />
-+ <option name="test-command-line" key="kselftest_size_test_get_size" value="/data/selftests/arm64/kselftest_size_test_get_size" />
-+ <option name="test-command-line" key="kselftest_mm_mremap_dontunmap" value="/data/selftests/arm64/kselftest_mm_mremap_dontunmap" />
-+ <option name="test-command-line" key="kselftest_mm_mremap_test" value="/data/selftests/arm64/kselftest_mm_mremap_test" />
-+ <option name="test-command-line" key="kselftest_mm_uffd_unit_tests" value="/data/selftests/arm64/kselftest_mm_uffd_unit_tests" />
-+ <option name="test-command-line" key="kselftest_timers_adjtick" value="/data/selftests/arm64/kselftest_timers_adjtick" />
-+ <option name="test-command-line" key="kselftest_timers_alarmtimer_suspend" value="/data/selftests/arm64/kselftest_timers_alarmtimer_suspend" />
-+ <option name="test-command-line" key="kselftest_timers_change_skew" value="/data/selftests/arm64/kselftest_timers_change_skew" />
-+ <option name="test-command-line" key="kselftest_timers_clocksource_switch" value="/data/selftests/arm64/kselftest_timers_clocksource_switch" />
-+ <option name="test-command-line" key="kselftest_timers_freq_step" value="/data/selftests/arm64/kselftest_timers_freq_step" />
-+ <option name="test-command-line" key="kselftest_timers_inconsistency_check" value="/data/selftests/arm64/kselftest_timers_inconsistency_check" />
-+ <option name="test-command-line" key="kselftest_timers_leap_a_day" value="/data/selftests/arm64/kselftest_timers_leap_a_day" />
-+ <option name="test-command-line" key="kselftest_timers_leapcrash" value="/data/selftests/arm64/kselftest_timers_leapcrash" />
-+ <option name="test-command-line" key="kselftest_timers_nanosleep" value="/data/selftests/arm64/kselftest_timers_nanosleep" />
-+ <option name="test-command-line" key="kselftest_timers_nsleep_lat" value="/data/selftests/arm64/kselftest_timers_nsleep_lat" />
-+ <option name="test-command-line" key="kselftest_timers_posix_timers" value="/data/selftests/arm64/kselftest_timers_posix_timers" />
-+ <option name="test-command-line" key="kselftest_timers_set_2038" value="/data/selftests/arm64/kselftest_timers_set_2038" />
-+ <option name="test-command-line" key="kselftest_timers_set_tai" value="/data/selftests/arm64/kselftest_timers_set_tai" />
-+ <option name="test-command-line" key="kselftest_timers_set_timer_lat" value="/data/selftests/arm64/kselftest_timers_set_timer_lat" />
-+ <option name="test-command-line" key="kselftest_timers_set_tz" value="/data/selftests/arm64/kselftest_timers_set_tz" />
-+ <option name="test-command-line" key="kselftest_timers_skew_consistency" value="/data/selftests/arm64/kselftest_timers_skew_consistency" />
-+ <option name="test-command-line" key="kselftest_timers_tests_raw_skew" value="/data/selftests/arm64/kselftest_timers_tests_raw_skew" />
-+ <option name="test-command-line" key="kselftest_timers_threadtest" value="/data/selftests/arm64/kselftest_timers_threadtest" />
-+ <option name="test-command-line" key="kselftest_timers_valid_adjtimex" value="/data/selftests/arm64/kselftest_timers_valid_adjtimex" />
++ <option name="test-command-line" key="kselftest_binderfs_binderfs_test" value="cd &ktest_dir;; ./kselftest_binderfs_binderfs_test" />
++ <option name="test-command-line" key="kselftest_breakpoints_breakpoint_test" value="cd &ktest_dir;; ./kselftest_breakpoints_breakpoint_test" />
++ <option name="test-command-line" key="kselftest_futex_requeue" value="cd &ktest_dir;; ./futex_requeue" />
++ <option name="test-command-line" key="kselftest_futex_requeue_pi" value="cd &ktest_dir;; ./futex_requeue_pi" />
++ <option name="test-command-line" key="kselftest_futex_requeue_pi_b" value="cd &ktest_dir;; ./futex_requeue_pi -b" />
++ <option name="test-command-line" key="kselftest_futex_requeue_pi_bl" value="cd &ktest_dir;; ./futex_requeue_pi -b -l" />
++ <option name="test-command-line" key="kselftest_futex_requeue_pi_bo" value="cd &ktest_dir;; ./futex_requeue_pi -b -o" />
++ <option name="test-command-line" key="kselftest_futex_requeue_pi_l" value="cd &ktest_dir;; ./futex_requeue_pi -l" />
++ <option name="test-command-line" key="kselftest_futex_requeue_pi_o" value="cd &ktest_dir;; ./futex_requeue_pi -o" />
++ <option name="test-command-line" key="kselftest_futex_requeue_pi_5k" value="cd &ktest_dir;; ./futex_requeue_pi -t 5000" />
++ <option name="test-command-line" key="kselftest_futex_requeue_pi_b_5k" value="cd &ktest_dir;; ./futex_requeue_pi -b -t 5000" />
++ <option name="test-command-line" key="kselftest_futex_requeue_pi_bl_5k" value="cd &ktest_dir;; ./futex_requeue_pi -b -l -t 5000" />
++ <option name="test-command-line" key="kselftest_futex_requeue_pi_bo_5k" value="cd &ktest_dir;; ./futex_requeue_pi -b -o -t 5000" />
++ <option name="test-command-line" key="kselftest_futex_requeue_pi_l_5k" value="cd &ktest_dir;; ./futex_requeue_pi -l -t 5000" />
++ <option name="test-command-line" key="kselftest_futex_requeue_pi_o_5k" value="cd &ktest_dir;; ./futex_requeue_pi -o -t 5000" />
++ <option name="test-command-line" key="kselftest_futex_requeue_pi_500k" value="cd &ktest_dir;; ./futex_requeue_pi -t 500000" />
++ <option name="test-command-line" key="kselftest_futex_requeue_pi_b_500k" value="cd &ktest_dir;; ./futex_requeue_pi -b -t 500000" />
++ <option name="test-command-line" key="kselftest_futex_requeue_pi_bl_500k" value="cd &ktest_dir;; ./futex_requeue_pi -b -l -t 500000" />
++ <option name="test-command-line" key="kselftest_futex_requeue_pi_bo_500k" value="cd &ktest_dir;; ./futex_requeue_pi -b -o -t 500000" />
++ <option name="test-command-line" key="kselftest_futex_requeue_pi_l_500k" value="cd &ktest_dir;; ./futex_requeue_pi -l -t 500000" />
++ <option name="test-command-line" key="kselftest_futex_requeue_pi_o_500k" value="cd &ktest_dir;; ./futex_requeue_pi -o -t 500000" />
++ <option name="test-command-line" key="kselftest_futex_requeue_pi_bl_2G" value="cd &ktest_dir;; ./futex_requeue_pi -b -l -t 2000000000" />
++ <option name="test-command-line" key="kselftest_futex_requeue_pi_l_2G" value="cd &ktest_dir;; ./futex_requeue_pi -l -t 2000000000" />
++ <option name="test-command-line" key="kselftest_futex_requeue_pi_mismatched_ops" value="cd &ktest_dir;; ./futex_requeue_pi_mismatched_ops" />
++ <option name="test-command-line" key="kselftest_futex_requeue_pi_signal_restart" value="cd &ktest_dir;; ./futex_requeue_pi_signal_restart" />
++ <option name="test-command-line" key="kselftest_futex_wait" value="cd &ktest_dir;; ./futex_wait" />
++ <option name="test-command-line" key="kselftest_futex_wait_private_mapped_file" value="cd &ktest_dir;; ./futex_wait_private_mapped_file" />
++ <option name="test-command-line" key="kselftest_futex_wait_timeout" value="cd &ktest_dir;; ./futex_wait_timeout" />
++ <option name="test-command-line" key="kselftest_futex_wait_uninitialized_heap" value="cd &ktest_dir;; ./futex_wait_uninitialized_heap" />
++ <option name="test-command-line" key="kselftest_futex_wait_wouldblock" value="cd &ktest_dir;; ./futex_wait_wouldblock" />
++ <option name="test-command-line" key="kselftest_kcmp_kcmp_test" value="cd &ktest_dir;; ./kselftest_kcmp_kcmp_test" />
++ <option name="test-command-line" key="kselftest_mm_mremap_dontunmap" value="cd &ktest_dir;; ./kselftest_mm_mremap_dontunmap" />
++ <option name="test-command-line" key="kselftest_mm_mremap_test" value="cd &ktest_dir;; ./kselftest_mm_mremap_test" />
++ <option name="test-command-line" key="kselftest_mm_uffd_unit_tests" value="cd &ktest_dir;; ./kselftest_mm_uffd_unit_tests" />
++ <option name="test-command-line" key="kselftest_ptrace_peeksiginfo" value="cd &ktest_dir;; ./kselftest_ptrace_peeksiginfo" />
++ <option name="test-command-line" key="kselftest_rtc_rtctest" value="cd &ktest_dir;; ./kselftest_rtc_rtctest" />
++ <option name="test-command-line" key="kselftest_size_test_get_size" value="cd &ktest_dir;; ./kselftest_size_test_get_size" />
++ <option name="test-command-line" key="kselftest_timers_adjtick" value="cd &ktest_dir;; ./kselftest_timers_adjtick" />
++ <option name="test-command-line" key="kselftest_timers_alarmtimer_suspend" value="cd &ktest_dir;; ./kselftest_timers_alarmtimer_suspend" />
++ <option name="test-command-line" key="kselftest_timers_change_skew" value="cd &ktest_dir;; ./kselftest_timers_change_skew" />
++ <option name="test-command-line" key="kselftest_timers_clocksource_switch" value="cd &ktest_dir;; ./kselftest_timers_clocksource_switch" />
++ <option name="test-command-line" key="kselftest_timers_freq_step" value="cd &ktest_dir;; ./kselftest_timers_freq_step" />
++ <option name="test-command-line" key="kselftest_timers_inconsistency_check" value="cd &ktest_dir;; ./kselftest_timers_inconsistency_check" />
++ <option name="test-command-line" key="kselftest_timers_leap_a_day" value="cd &ktest_dir;; ./kselftest_timers_leap_a_day" />
++ <option name="test-command-line" key="kselftest_timers_leapcrash" value="cd &ktest_dir;; ./kselftest_timers_leapcrash" />
++ <option name="test-command-line" key="kselftest_timers_nanosleep" value="cd &ktest_dir;; ./kselftest_timers_nanosleep" />
++ <option name="test-command-line" key="kselftest_timers_nsleep_lat" value="cd &ktest_dir;; ./kselftest_timers_nsleep_lat" />
++ <option name="test-command-line" key="kselftest_timers_posix_timers" value="cd &ktest_dir;; ./kselftest_timers_posix_timers" />
++ <option name="test-command-line" key="kselftest_timers_set_2038" value="cd &ktest_dir;; ./kselftest_timers_set_2038" />
++ <option name="test-command-line" key="kselftest_timers_set_tai" value="cd &ktest_dir;; ./kselftest_timers_set_tai" />
++ <option name="test-command-line" key="kselftest_timers_set_timer_lat" value="cd &ktest_dir;; ./kselftest_timers_set_timer_lat" />
++ <option name="test-command-line" key="kselftest_timers_set_tz" value="cd &ktest_dir;; ./kselftest_timers_set_tz" />
++ <option name="test-command-line" key="kselftest_timers_skew_consistency" value="cd &ktest_dir;; ./kselftest_timers_skew_consistency" />
++ <option name="test-command-line" key="kselftest_timers_tests_raw_skew" value="cd &ktest_dir;; ./kselftest_timers_tests_raw_skew" />
++ <option name="test-command-line" key="kselftest_timers_threadtest" value="cd &ktest_dir;; ./kselftest_timers_threadtest" />
++ <option name="test-command-line" key="kselftest_timers_valid_adjtimex" value="cd &ktest_dir;; ./kselftest_timers_valid_adjtimex" />
++ <option name="test-command-line" key="kselftest_vdso_vdso_test_abi" value="cd &ktest_dir;; ./kselftest_vdso_vdso_test_abi" />
++ <option name="test-command-line" key="kselftest_vdso_vdso_test_clock_getres" value="cd &ktest_dir;; ./kselftest_vdso_vdso_test_clock_getres" />
++ <option name="test-command-line" key="kselftest_vdso_vdso_test_getcpu" value="cd &ktest_dir;; ./kselftest_vdso_vdso_test_getcpu" />
++ <option name="test-command-line" key="kselftest_vdso_vdso_test_gettimeofday" value="cd &ktest_dir;; ./kselftest_vdso_vdso_test_gettimeofday" />
+ </test>
+</configuration>
diff --git a/tools/testing/selftests/android/config_x86_64.xml b/tools/testing/selftests/android/config_x86_64.xml
new file mode 100644
--- /dev/null
+++ b/tools/testing/selftests/android/config_x86_64.xml
-@@ -0,0 +1,55 @@
+@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2023 The Android Open Source Project
+SPDX-License-Identifier: GPL-2.0 OR Apache-2.0
+-->
++<!DOCTYPE configuration [
++<!ENTITY ktest_dir "/data/selftests/x86_64">
++]>
+<configuration description="kselftest">
+ <option name="test-suite-tag" value="kernel-test" />
+ <target_preparer class="com.android.tradefed.targetprep.RootTargetPreparer" />
@@ -234,45 +283,191 @@ new file mode 100644
+ <option name="cleanup" value="true" />
+ <option name="push-file" key="selftests" value="/data/selftests" />
+ <option name="skip-abi-filtering" value="true" />
-+ <option name="post-push" value='chmod -R 755 /data/selftests; find /data/selftests; -type f | xargs grep -l -e "bin/sh" -e "bin/bash" | xargs sed -i -e "s?/bin/echo?echo?" -i -e "s?#!/bin/sh?#!/system/bin/sh?" -i -e "s?#!/bin/bash?#!/system/bin/sh?" || echo "There were no files to process"' />
++ <option name="post-push" value='chmod -R 755 /data/selftests; find /data/selftests -type f | xargs grep -l -e "bin/sh" -e "bin/bash" | xargs sed -i -e "s?/bin/echo?echo?" -i -e "s?#!/bin/sh?#!/system/bin/sh?" -i -e "s?#!/bin/bash?#!/system/bin/sh?" || echo "There were no files to process"' />
+ </target_preparer>
+
+ <test class="com.android.tradefed.testtype.binary.KernelTargetTest" >
+ <option name="exit-code-skip" value="4" />
+ <option name="skip-binary-check" value="true" />
-+ <option name="test-command-line" key="kselftest_binderfs_binderfs_test" value="/data/selftests/x86_64/kselftest_binderfs_binderfs_test" />
-+ <option name="test-command-line" key="kselftest_breakpoints_breakpoint_test" value="/data/selftests/x86_64/kselftest_breakpoints_breakpoint_test" />
-+ <option name="test-command-line" key="kselftest_breakpoints_step_after_suspend_test" value="/data/selftests/x86_64/kselftest_breakpoints_step_after_suspend_test" />
-+ <option name="test-command-line" key="kselftest_futex_run" value="cd /data/selftests/x86_64/;USE_COLOR=0 ./kselftest_futex_run" />
-+ <option name="test-command-line" key="kselftest_kcmp_kcmp_test" value="/data/selftests/x86_64/kselftest_kcmp_kcmp_test" />
-+ <option name="test-command-line" key="kselftest_ptrace_peeksiginfo" value="/data/selftests/x86_64/kselftest_ptrace_peeksiginfo" />
-+ <option name="test-command-line" key="kselftest_rtc_rtctest" value="/data/selftests/x86_64/kselftest_rtc_rtctest" />
-+ <option name="test-command-line" key="kselftest_vdso_vdso_test_abi" value="/data/selftests/x86_64/kselftest_vdso_vdso_test_abi" />
-+ <option name="test-command-line" key="kselftest_vdso_vdso_test_clock_getres" value="/data/selftests/x86_64/kselftest_vdso_vdso_test_clock_getres" />
-+ <option name="test-command-line" key="kselftest_vdso_vdso_test_getcpu" value="/data/selftests/x86_64/kselftest_vdso_vdso_test_getcpu" />
-+ <option name="test-command-line" key="kselftest_vdso_vdso_test_gettimeofday" value="/data/selftests/x86_64/kselftest_vdso_vdso_test_gettimeofday" />
-+ <option name="test-command-line" key="kselftest_size_test_get_size" value="/data/selftests/x86_64/kselftest_size_test_get_size" />
-+ <option name="test-command-line" key="kselftest_mm_mremap_dontunmap" value="/data/selftests/x86_64/kselftest_mm_mremap_dontunmap" />
-+ <option name="test-command-line" key="kselftest_mm_mremap_test" value="/data/selftests/x86_64/kselftest_mm_mremap_test" />
-+ <option name="test-command-line" key="kselftest_mm_uffd_unit_tests" value="/data/selftests/x86_64/kselftest_mm_uffd_unit_tests" />
-+ <option name="test-command-line" key="kselftest_timers_adjtick" value="/data/selftests/x86_64/kselftest_timers_adjtick" />
-+ <option name="test-command-line" key="kselftest_timers_alarmtimer_suspend" value="/data/selftests/x86_64/kselftest_timers_alarmtimer_suspend" />
-+ <option name="test-command-line" key="kselftest_timers_change_skew" value="/data/selftests/x86_64/kselftest_timers_change_skew" />
-+ <option name="test-command-line" key="kselftest_timers_clocksource_switch" value="/data/selftests/x86_64/kselftest_timers_clocksource_switch" />
-+ <option name="test-command-line" key="kselftest_timers_freq_step" value="/data/selftests/x86_64/kselftest_timers_freq_step" />
-+ <option name="test-command-line" key="kselftest_timers_inconsistency_check" value="/data/selftests/x86_64/kselftest_timers_inconsistency_check" />
-+ <option name="test-command-line" key="kselftest_timers_leap_a_day" value="/data/selftests/x86_64/kselftest_timers_leap_a_day" />
-+ <option name="test-command-line" key="kselftest_timers_leapcrash" value="/data/selftests/x86_64/kselftest_timers_leapcrash" />
-+ <option name="test-command-line" key="kselftest_timers_nanosleep" value="/data/selftests/x86_64/kselftest_timers_nanosleep" />
-+ <option name="test-command-line" key="kselftest_timers_nsleep_lat" value="/data/selftests/x86_64/kselftest_timers_nsleep_lat" />
-+ <option name="test-command-line" key="kselftest_timers_posix_timers" value="/data/selftests/x86_64/kselftest_timers_posix_timers" />
-+ <option name="test-command-line" key="kselftest_timers_set_2038" value="/data/selftests/x86_64/kselftest_timers_set_2038" />
-+ <option name="test-command-line" key="kselftest_timers_set_tai" value="/data/selftests/x86_64/kselftest_timers_set_tai" />
-+ <option name="test-command-line" key="kselftest_timers_set_timer_lat" value="/data/selftests/x86_64/kselftest_timers_set_timer_lat" />
-+ <option name="test-command-line" key="kselftest_timers_set_tz" value="/data/selftests/x86_64/kselftest_timers_set_tz" />
-+ <option name="test-command-line" key="kselftest_timers_skew_consistency" value="/data/selftests/x86_64/kselftest_timers_skew_consistency" />
-+ <option name="test-command-line" key="kselftest_timers_tests_raw_skew" value="/data/selftests/x86_64/kselftest_timers_tests_raw_skew" />
-+ <option name="test-command-line" key="kselftest_timers_threadtest" value="/data/selftests/x86_64/kselftest_timers_threadtest" />
-+ <option name="test-command-line" key="kselftest_timers_valid_adjtimex" value="/data/selftests/x86_64/kselftest_timers_valid_adjtimex" />
++ <option name="test-command-line" key="kselftest_binderfs_binderfs_test" value="cd &ktest_dir;; ./kselftest_binderfs_binderfs_test" />
++ <option name="test-command-line" key="kselftest_breakpoints_breakpoint_test" value="cd &ktest_dir;; ./kselftest_breakpoints_breakpoint_test" />
++ <option name="test-command-line" key="kselftest_futex_requeue" value="cd &ktest_dir;; ./futex_requeue" />
++ <option name="test-command-line" key="kselftest_futex_requeue_pi" value="cd &ktest_dir;; ./futex_requeue_pi" />
++ <option name="test-command-line" key="kselftest_futex_requeue_pi_b" value="cd &ktest_dir;; ./futex_requeue_pi -b" />
++ <option name="test-command-line" key="kselftest_futex_requeue_pi_bl" value="cd &ktest_dir;; ./futex_requeue_pi -b -l" />
++ <option name="test-command-line" key="kselftest_futex_requeue_pi_bo" value="cd &ktest_dir;; ./futex_requeue_pi -b -o" />
++ <option name="test-command-line" key="kselftest_futex_requeue_pi_l" value="cd &ktest_dir;; ./futex_requeue_pi -l" />
++ <option name="test-command-line" key="kselftest_futex_requeue_pi_o" value="cd &ktest_dir;; ./futex_requeue_pi -o" />
++ <option name="test-command-line" key="kselftest_futex_requeue_pi_5k" value="cd &ktest_dir;; ./futex_requeue_pi -t 5000" />
++ <option name="test-command-line" key="kselftest_futex_requeue_pi_b_5k" value="cd &ktest_dir;; ./futex_requeue_pi -b -t 5000" />
++ <option name="test-command-line" key="kselftest_futex_requeue_pi_bl_5k" value="cd &ktest_dir;; ./futex_requeue_pi -b -l -t 5000" />
++ <option name="test-command-line" key="kselftest_futex_requeue_pi_bo_5k" value="cd &ktest_dir;; ./futex_requeue_pi -b -o -t 5000" />
++ <option name="test-command-line" key="kselftest_futex_requeue_pi_l_5k" value="cd &ktest_dir;; ./futex_requeue_pi -l -t 5000" />
++ <option name="test-command-line" key="kselftest_futex_requeue_pi_o_5k" value="cd &ktest_dir;; ./futex_requeue_pi -o -t 5000" />
++ <option name="test-command-line" key="kselftest_futex_requeue_pi_500k" value="cd &ktest_dir;; ./futex_requeue_pi -t 500000" />
++ <option name="test-command-line" key="kselftest_futex_requeue_pi_b_500k" value="cd &ktest_dir;; ./futex_requeue_pi -b -t 500000" />
++ <option name="test-command-line" key="kselftest_futex_requeue_pi_bl_500k" value="cd &ktest_dir;; ./futex_requeue_pi -b -l -t 500000" />
++ <option name="test-command-line" key="kselftest_futex_requeue_pi_bo_500k" value="cd &ktest_dir;; ./futex_requeue_pi -b -o -t 500000" />
++ <option name="test-command-line" key="kselftest_futex_requeue_pi_l_500k" value="cd &ktest_dir;; ./futex_requeue_pi -l -t 500000" />
++ <option name="test-command-line" key="kselftest_futex_requeue_pi_o_500k" value="cd &ktest_dir;; ./futex_requeue_pi -o -t 500000" />
++ <option name="test-command-line" key="kselftest_futex_requeue_pi_bl_2G" value="cd &ktest_dir;; ./futex_requeue_pi -b -l -t 2000000000" />
++ <option name="test-command-line" key="kselftest_futex_requeue_pi_l_2G" value="cd &ktest_dir;; ./futex_requeue_pi -l -t 2000000000" />
++ <option name="test-command-line" key="kselftest_futex_requeue_pi_mismatched_ops" value="cd &ktest_dir;; ./futex_requeue_pi_mismatched_ops" />
++ <option name="test-command-line" key="kselftest_futex_requeue_pi_signal_restart" value="cd &ktest_dir;; ./futex_requeue_pi_signal_restart" />
++ <option name="test-command-line" key="kselftest_futex_wait" value="cd &ktest_dir;; ./futex_wait" />
++ <option name="test-command-line" key="kselftest_futex_wait_private_mapped_file" value="cd &ktest_dir;; ./futex_wait_private_mapped_file" />
++ <option name="test-command-line" key="kselftest_futex_wait_timeout" value="cd &ktest_dir;; ./futex_wait_timeout" />
++ <option name="test-command-line" key="kselftest_futex_wait_uninitialized_heap" value="cd &ktest_dir;; ./futex_wait_uninitialized_heap" />
++ <option name="test-command-line" key="kselftest_futex_wait_wouldblock" value="cd &ktest_dir;; ./futex_wait_wouldblock" />
++ <option name="test-command-line" key="kselftest_kcmp_kcmp_test" value="cd &ktest_dir;; ./kselftest_kcmp_kcmp_test" />
++ <option name="test-command-line" key="kselftest_mm_mremap_dontunmap" value="cd &ktest_dir;; ./kselftest_mm_mremap_dontunmap" />
++ <option name="test-command-line" key="kselftest_mm_mremap_test" value="cd &ktest_dir;; ./kselftest_mm_mremap_test" />
++ <option name="test-command-line" key="kselftest_mm_uffd_unit_tests" value="cd &ktest_dir;; ./kselftest_mm_uffd_unit_tests" />
++ <option name="test-command-line" key="kselftest_ptrace_peeksiginfo" value="cd &ktest_dir;; ./kselftest_ptrace_peeksiginfo" />
++ <option name="test-command-line" key="kselftest_rtc_rtctest" value="cd &ktest_dir;; ./kselftest_rtc_rtctest" />
++ <option name="test-command-line" key="kselftest_size_test_get_size" value="cd &ktest_dir;; ./kselftest_size_test_get_size" />
++ <option name="test-command-line" key="kselftest_timers_adjtick" value="cd &ktest_dir;; ./kselftest_timers_adjtick" />
++ <option name="test-command-line" key="kselftest_timers_alarmtimer_suspend" value="cd &ktest_dir;; ./kselftest_timers_alarmtimer_suspend" />
++ <option name="test-command-line" key="kselftest_timers_change_skew" value="cd &ktest_dir;; ./kselftest_timers_change_skew" />
++ <option name="test-command-line" key="kselftest_timers_clocksource_switch" value="cd &ktest_dir;; ./kselftest_timers_clocksource_switch" />
++ <option name="test-command-line" key="kselftest_timers_freq_step" value="cd &ktest_dir;; ./kselftest_timers_freq_step" />
++ <option name="test-command-line" key="kselftest_timers_inconsistency_check" value="cd &ktest_dir;; ./kselftest_timers_inconsistency_check" />
++ <option name="test-command-line" key="kselftest_timers_leap_a_day" value="cd &ktest_dir;; ./kselftest_timers_leap_a_day" />
++ <option name="test-command-line" key="kselftest_timers_leapcrash" value="cd &ktest_dir;; ./kselftest_timers_leapcrash" />
++ <option name="test-command-line" key="kselftest_timers_nanosleep" value="cd &ktest_dir;; ./kselftest_timers_nanosleep" />
++ <option name="test-command-line" key="kselftest_timers_nsleep_lat" value="cd &ktest_dir;; ./kselftest_timers_nsleep_lat" />
++ <option name="test-command-line" key="kselftest_timers_posix_timers" value="cd &ktest_dir;; ./kselftest_timers_posix_timers" />
++ <option name="test-command-line" key="kselftest_timers_set_2038" value="cd &ktest_dir;; ./kselftest_timers_set_2038" />
++ <option name="test-command-line" key="kselftest_timers_set_tai" value="cd &ktest_dir;; ./kselftest_timers_set_tai" />
++ <option name="test-command-line" key="kselftest_timers_set_timer_lat" value="cd &ktest_dir;; ./kselftest_timers_set_timer_lat" />
++ <option name="test-command-line" key="kselftest_timers_set_tz" value="cd &ktest_dir;; ./kselftest_timers_set_tz" />
++ <option name="test-command-line" key="kselftest_timers_skew_consistency" value="cd &ktest_dir;; ./kselftest_timers_skew_consistency" />
++ <option name="test-command-line" key="kselftest_timers_tests_raw_skew" value="cd &ktest_dir;; ./kselftest_timers_tests_raw_skew" />
++ <option name="test-command-line" key="kselftest_timers_threadtest" value="cd &ktest_dir;; ./kselftest_timers_threadtest" />
++ <option name="test-command-line" key="kselftest_timers_valid_adjtimex" value="cd &ktest_dir;; ./kselftest_timers_valid_adjtimex" />
++ <option name="test-command-line" key="kselftest_vdso_vdso_test_abi" value="cd &ktest_dir;; ./kselftest_vdso_vdso_test_abi" />
++ <option name="test-command-line" key="kselftest_vdso_vdso_test_clock_getres" value="cd &ktest_dir;; ./kselftest_vdso_vdso_test_clock_getres" />
++ <option name="test-command-line" key="kselftest_vdso_vdso_test_getcpu" value="cd &ktest_dir;; ./kselftest_vdso_vdso_test_getcpu" />
++ <option name="test-command-line" key="kselftest_vdso_vdso_test_gettimeofday" value="cd &ktest_dir;; ./kselftest_vdso_vdso_test_gettimeofday" />
+ </test>
+</configuration>
+diff --git a/tools/testing/selftests/filesystems/binderfs/binderfs_test.c b/tools/testing/selftests/filesystems/binderfs/binderfs_test.c
+--- a/tools/testing/selftests/filesystems/binderfs/binderfs_test.c
++++ b/tools/testing/selftests/filesystems/binderfs/binderfs_test.c
+@@ -291,6 +291,11 @@ static int write_id_mapping(enum idmap_type type, pid_t pid, const char *buf,
+ return 0;
+ }
+
++static bool has_userns(void)
++{
++ return (access("/proc/self/ns/user", F_OK) == 0);
++}
++
+ static void change_userns(struct __test_metadata *_metadata, int syncfds[2])
+ {
+ int ret;
+@@ -378,6 +383,9 @@ static void *binder_version_thread(void *data)
+ */
+ TEST(binderfs_stress)
+ {
++ if (!has_userns())
++ SKIP(return, "%s: user namespace not supported\n", __func__);
++
+ int fds[1000];
+ int syncfds[2];
+ pid_t pid;
+@@ -502,6 +510,8 @@ TEST(binderfs_test_privileged)
+
+ TEST(binderfs_test_unprivileged)
+ {
++ if (!has_userns())
++ SKIP(return, "%s: user namespace not supported\n", __func__);
+ int ret;
+ int syncfds[2];
+ pid_t pid;
+diff --git a/tools/testing/selftests/futex/functional/futex_wait.c b/tools/testing/selftests/futex/functional/futex_wait.c
+--- a/tools/testing/selftests/futex/functional/futex_wait.c
++++ b/tools/testing/selftests/futex/functional/futex_wait.c
+@@ -96,6 +96,11 @@ int main(int argc, char *argv[])
+ /* Testing an anon page shared memory */
+ shm_id = shmget(IPC_PRIVATE, 4096, IPC_CREAT | 0666);
+ if (shm_id < 0) {
++ if (errno == ENOSYS) {
++ ksft_test_result_skip("shmget returned: %d %s\n",
++ errno, strerror(errno));
++ goto skip_anon_page_shared_memory_test;
++ }
+ perror("shmget");
+ exit(1);
+ }
+@@ -121,6 +126,7 @@ int main(int argc, char *argv[])
+ ksft_test_result_pass("futex_wake shared (page anon) succeeds\n");
+ }
+
++skip_anon_page_shared_memory_test:
+
+ /* Testing a file backed shared memory */
+ fd = open(SHM_PATH, O_RDWR | O_CREAT, S_IRUSR | S_IWUSR);
+diff --git a/tools/testing/selftests/futex/functional/futex_wait_timeout.c b/tools/testing/selftests/futex/functional/futex_wait_timeout.c
+--- a/tools/testing/selftests/futex/functional/futex_wait_timeout.c
++++ b/tools/testing/selftests/futex/functional/futex_wait_timeout.c
+@@ -64,9 +64,14 @@ void *get_pi_lock(void *arg)
+ static void test_timeout(int res, int *ret, char *test_name, int err)
+ {
+ if (!res || errno != err) {
+- ksft_test_result_fail("%s returned %d\n", test_name,
+- res < 0 ? errno : res);
+- *ret = RET_FAIL;
++ if (errno == ENOSYS) {
++ ksft_test_result_skip("%s returned %d\n", test_name,
++ errno);
++ } else {
++ ksft_test_result_fail("%s returned %d\n", test_name,
++ res < 0 ? errno : res);
++ *ret = RET_FAIL;
++ }
+ } else {
+ ksft_test_result_pass("%s succeeds\n", test_name);
+ }
+diff --git a/tools/testing/selftests/futex/functional/futex_wait_wouldblock.c b/tools/testing/selftests/futex/functional/futex_wait_wouldblock.c
+--- a/tools/testing/selftests/futex/functional/futex_wait_wouldblock.c
++++ b/tools/testing/selftests/futex/functional/futex_wait_wouldblock.c
+@@ -98,10 +98,15 @@ int main(int argc, char *argv[])
+ info("Calling futex_waitv on f1: %u @ %p with val=%u\n", f1, &f1, f1+1);
+ res = futex_waitv(&waitv, 1, 0, &to, CLOCK_MONOTONIC);
+ if (!res || errno != EWOULDBLOCK) {
+- ksft_test_result_pass("futex_waitv returned: %d %s\n",
+- res ? errno : res,
+- res ? strerror(errno) : "");
+- ret = RET_FAIL;
++ if (errno == ENOSYS) {
++ ksft_test_result_skip("futex_waitv returned %d\n",
++ errno);
++ } else {
++ ksft_test_result_fail("futex_waitv returned: %d %s\n",
++ res ? errno : res,
++ res ? strerror(errno) : "");
++ ret = RET_FAIL;
++ }
+ } else {
+ ksft_test_result_pass("futex_waitv\n");
+ }
+diff --git a/tools/testing/selftests/rtc/rtctest.c b/tools/testing/selftests/rtc/rtctest.c
+--- a/tools/testing/selftests/rtc/rtctest.c
++++ b/tools/testing/selftests/rtc/rtctest.c
+@@ -122,6 +122,7 @@ TEST_F_TIMEOUT(rtc, date_read_loop, READ_LOOP_DURATION_SEC + 2) {
+ TH_LOG("Performed %ld RTC time reads.", iter_count);
+ }
+
++#ifndef __ANDROID__ // b/31578457
+ TEST_F_TIMEOUT(rtc, uie_read, NUM_UIE + 2) {
+ int i, rc, irq = 0;
+ unsigned long data;
+@@ -409,6 +410,7 @@ TEST_F_TIMEOUT(rtc, alarm_wkalm_set_minute, 65) {
+ new = timegm((struct tm *)&tm);
+ ASSERT_EQ(new, secs);
+ }
++#endif
+
+ static void __attribute__((constructor))
+ __constructor_order_last(void)
diff --git a/android-mainline/ANDROID-tty-hvc_dcc-Add-parameter-to-enable-DCC.patch b/android-mainline/ANDROID-tty-hvc_dcc-Add-parameter-to-enable-DCC.patch
index 0e570351..7700a01a 100644
--- a/android-mainline/ANDROID-tty-hvc_dcc-Add-parameter-to-enable-DCC.patch
+++ b/android-mainline/ANDROID-tty-hvc_dcc-Add-parameter-to-enable-DCC.patch
@@ -21,7 +21,7 @@ Signed-off-by: Lee Jones <joneslee@google.com>
diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
--- a/Documentation/admin-guide/kernel-parameters.txt
+++ b/Documentation/admin-guide/kernel-parameters.txt
-@@ -1840,6 +1840,10 @@
+@@ -1834,6 +1834,10 @@
If specified, z/VM IUCV HVC accepts connections
from listed z/VM user IDs only.
diff --git a/android-mainline/NOUPSTREAM-ANDROID-Add-vendor-hooks-to-the-scheduler.patch b/android-mainline/NOUPSTREAM-ANDROID-Add-vendor-hooks-to-the-scheduler.patch
index 9c028a64..3ae9f941 100644
--- a/android-mainline/NOUPSTREAM-ANDROID-Add-vendor-hooks-to-the-scheduler.patch
+++ b/android-mainline/NOUPSTREAM-ANDROID-Add-vendor-hooks-to-the-scheduler.patch
@@ -1152,7 +1152,7 @@ diff --git a/net/core/sock.c b/net/core/sock.c
#include <net/tcp.h>
#include <net/busy_poll.h>
-@@ -3342,9 +3343,19 @@ void sock_def_readable(struct sock *sk)
+@@ -3334,9 +3335,19 @@ void sock_def_readable(struct sock *sk)
rcu_read_lock();
wq = rcu_dereference(sk->sk_wq);
diff --git a/android-mainline/NOUPSTREAM-ANDROID-Kbuild-Add-support-for-KBUILD_MIXED_TREE.patch b/android-mainline/NOUPSTREAM-ANDROID-Kbuild-Add-support-for-KBUILD_MIXED_TREE.patch
index d911bb2c..52b51dd3 100644
--- a/android-mainline/NOUPSTREAM-ANDROID-Kbuild-Add-support-for-KBUILD_MIXED_TREE.patch
+++ b/android-mainline/NOUPSTREAM-ANDROID-Kbuild-Add-support-for-KBUILD_MIXED_TREE.patch
@@ -142,7 +142,7 @@ diff --git a/arch/arm64/Makefile b/arch/arm64/Makefile
diff --git a/arch/x86/Makefile b/arch/x86/Makefile
--- a/arch/x86/Makefile
+++ b/arch/x86/Makefile
-@@ -271,8 +271,11 @@ BOOT_TARGETS = bzdisk fdimage fdimage144 fdimage288 hdimage isoimage
+@@ -273,8 +273,11 @@ BOOT_TARGETS = bzdisk fdimage fdimage144 fdimage288 hdimage isoimage
PHONY += bzImage $(BOOT_TARGETS)
diff --git a/android-mainline/NOUPSTREAM-ANDROID-Kleaf-Bazel-based-GKI-kernel-build.patch b/android-mainline/NOUPSTREAM-ANDROID-Kleaf-Bazel-based-GKI-kernel-build.patch
index e5c54e93..cb05ea02 100644
--- a/android-mainline/NOUPSTREAM-ANDROID-Kleaf-Bazel-based-GKI-kernel-build.patch
+++ b/android-mainline/NOUPSTREAM-ANDROID-Kleaf-Bazel-based-GKI-kernel-build.patch
@@ -22,11 +22,11 @@ Change-Id: I2f06b2b79dbcbf197cb23d68b3c2f6786191e19d
Signed-off-by: Matthias Maennich <maennich@google.com>
Signed-off-by: Lee Jones <joneslee@google.com>
---
- BUILD.bazel | 1947 +++++++++++++++++++++++++++++++++++++++++++++++++++
+ BUILD.bazel | 1911 +++++++++++++++++++++++++++++++++++++++++++++++++++
Makefile | 4 +
abi.bzl | 136 ++++
modules.bzl | 132 ++++
- 4 files changed, 2219 insertions(+)
+ 4 files changed, 2183 insertions(+)
create mode 100644 BUILD.bazel
create mode 100644 abi.bzl
create mode 100644 modules.bzl
@@ -35,7 +35,7 @@ diff --git a/BUILD.bazel b/BUILD.bazel
new file mode 100644
--- /dev/null
+++ b/BUILD.bazel
-@@ -0,0 +1,1947 @@
+@@ -0,0 +1,1911 @@
+# SPDX-License-Identifier: GPL-2.0
+# Copyright (C) 2021 The Android Open Source Project
+
@@ -55,7 +55,7 @@ new file mode 100644
+ "kernel_modules_install",
+ "merged_kernel_uapi_headers",
+)
-+load(":abi.bzl", "cc_binary_with_abi", "sh_binary_with_abi")
++load(":abi.bzl", "cc_binary_with_abi")
+load(":modules.bzl", "get_gki_modules_list")
+
+package(
@@ -271,7 +271,7 @@ new file mode 100644
+ "drivers/dma/qcom/bam_dma.ko",
+ "drivers/dma/qcom/gpi.ko",
+ "drivers/extcon/extcon-usb-gpio.ko",
-+ "drivers/firmware/qcom-scm.ko",
++ "drivers/firmware/qcom/qcom-scm.ko",
+ "drivers/gpio/gpio-wcd934x.ko",
+ "drivers/gpu/drm/bridge/display-connector.ko",
+ "drivers/gpu/drm/bridge/lontium-lt9611.ko",
@@ -395,6 +395,7 @@ new file mode 100644
+ "drivers/usb/host/ohci-hcd.ko",
+ "drivers/usb/host/ohci-pci.ko",
+ "drivers/usb/host/ohci-platform.ko",
++ "drivers/usb/typec/mux/nb7vpq904m.ko",
+ "drivers/usb/typec/tcpm/qcom/qcom_pmic_tcpm.ko",
+ "net/qrtr/qrtr.ko",
+ "net/qrtr/qrtr-mhi.ko",
@@ -1020,15 +1021,6 @@ new file mode 100644
+)
+
+cc_binary_with_abi(
-+ name = "kselftest_breakpoints_step_after_suspend_test",
-+ srcs = ["tools/testing/selftests/breakpoints/step_after_suspend_test.c"],
-+ path_prefix = _KSELFTEST_DIR,
-+ target_compatible_with = ["@platforms//os:android"],
-+ visibility = ["//visibility:private"],
-+ deps = [":kselftest_headers_lib"],
-+)
-+
-+cc_binary_with_abi(
+ name = "kselftest_breakpoints_breakpoint_test",
+ srcs = select({
+ ":x86_64": ["tools/testing/selftests/breakpoints/breakpoint_test.c"],
@@ -1321,36 +1313,6 @@ new file mode 100644
+)
+
+cc_binary_with_abi(
-+ name = "kselftest_futex_futex_waitv",
-+ srcs = ["tools/testing/selftests/futex/functional/futex_waitv.c"],
-+ out = "futex_waitv",
-+ copts = [
-+ "-D_GNU_SOURCE",
-+ "-pthread",
-+ ],
-+ includes = [
-+ "tools/testing/selftests",
-+ "tools/testing/selftests/futex/include",
-+ ],
-+ path_prefix = _KSELFTEST_DIR,
-+ target_compatible_with = ["@platforms//os:android"],
-+ visibility = ["//visibility:private"],
-+ deps = [
-+ ":kselftest_futex_headers_lib",
-+ ":kselftest_headers_lib",
-+ ],
-+)
-+
-+sh_binary_with_abi(
-+ name = "kselftest_futex_run",
-+ src = "tools/testing/selftests/futex/functional/run.sh",
-+ out = "kselftest_futex_run",
-+ path_prefix = _KSELFTEST_DIR,
-+ target_compatible_with = ["@platforms//os:android"],
-+ visibility = ["//visibility:private"],
-+)
-+
-+cc_binary_with_abi(
+ name = "kselftest_mm_compaction_test",
+ srcs = ["tools/testing/selftests/mm/compaction_test.c"],
+ includes = ["tools/testing/selftests"],
@@ -1584,7 +1546,7 @@ new file mode 100644
+ }),
+ includes = [
+ "tools/testing/selftests",
-+ "tools/testing/selftests/mm/",
++ "tools/testing/selftests/mm",
+ ],
+ linkopts = ["-nostartfiles"],
+ path_prefix = _KSELFTEST_DIR,
@@ -1661,6 +1623,8 @@ new file mode 100644
+cc_binary_with_abi(
+ name = "kselftest_timers_inconsistency_check",
+ srcs = ["tools/testing/selftests/timers/inconsistency-check.c"],
++ # Called by set-2038, skew_consistency, change_skew, clocksource-switch
++ out = "inconsistency-check",
+ copts = [
+ "-O3",
+ "-DKTEST",
@@ -1700,6 +1664,8 @@ new file mode 100644
+cc_binary_with_abi(
+ name = "kselftest_timers_nanosleep",
+ srcs = ["tools/testing/selftests/timers/nanosleep.c"],
++ # Called by clocksource-switch, change_skew, set-2038
++ out = "nanosleep",
+ copts = [
+ "-O3",
+ "-DKTEST",
@@ -1739,6 +1705,8 @@ new file mode 100644
+cc_binary_with_abi(
+ name = "kselftest_timers_tests_raw_skew",
+ srcs = ["tools/testing/selftests/timers/raw_skew.c"],
++ # Called by change_skew
++ out = "raw_skew",
+ copts = [
+ "-O3",
+ "-DKTEST",
@@ -1855,7 +1823,6 @@ new file mode 100644
+ srcs = [
+ ":kselftest_binderfs_binderfs_test_x86_64",
+ ":kselftest_breakpoints_breakpoint_test_x86_64",
-+ ":kselftest_breakpoints_step_after_suspend_test_x86_64",
+ ":kselftest_futex_futex_requeue_pi_mismatched_ops_x86_64",
+ ":kselftest_futex_futex_requeue_pi_signal_restart_x86_64",
+ ":kselftest_futex_futex_requeue_pi_x86_64",
@@ -1865,8 +1832,6 @@ new file mode 100644
+ ":kselftest_futex_futex_wait_uninitialized_heap_x86_64",
+ ":kselftest_futex_futex_wait_wouldblock_x86_64",
+ ":kselftest_futex_futex_wait_x86_64",
-+ ":kselftest_futex_futex_waitv_x86_64",
-+ ":kselftest_futex_run_x86_64",
+ ":kselftest_gen_config",
+ ":kselftest_kcmp_kcmp_test_x86_64",
+ ":kselftest_mm_compaction_test_x86_64",
@@ -1883,6 +1848,7 @@ new file mode 100644
+ ":kselftest_mm_uffd_unit_tests_x86_64",
+ ":kselftest_ptrace_peeksiginfo_x86_64",
+ ":kselftest_rtc_rtctest_x86_64",
++ ":kselftest_size_test_get_size_x86_64",
+ ":kselftest_timers_adjtick_x86_64",
+ ":kselftest_timers_alarmtimer_suspend_x86_64",
+ ":kselftest_timers_change_skew_x86_64",
@@ -1916,7 +1882,6 @@ new file mode 100644
+ srcs = [
+ ":kselftest_binderfs_binderfs_test_arm64",
+ ":kselftest_breakpoints_breakpoint_test_arm64",
-+ ":kselftest_breakpoints_step_after_suspend_test_arm64",
+ ":kselftest_futex_futex_requeue_arm64",
+ ":kselftest_futex_futex_requeue_pi_arm64",
+ ":kselftest_futex_futex_requeue_pi_mismatched_ops_arm64",
@@ -1926,8 +1891,6 @@ new file mode 100644
+ ":kselftest_futex_futex_wait_timeout_arm64",
+ ":kselftest_futex_futex_wait_uninitialized_heap_arm64",
+ ":kselftest_futex_futex_wait_wouldblock_arm64",
-+ ":kselftest_futex_futex_waitv_arm64",
-+ ":kselftest_futex_run_arm64",
+ ":kselftest_gen_config",
+ ":kselftest_kcmp_kcmp_test_arm64",
+ ":kselftest_mm_compaction_test_arm64",
@@ -1944,6 +1907,7 @@ new file mode 100644
+ ":kselftest_mm_uffd_unit_tests_arm64",
+ ":kselftest_ptrace_peeksiginfo_arm64",
+ ":kselftest_rtc_rtctest_arm64",
++ ":kselftest_size_test_get_size_arm64",
+ ":kselftest_timers_adjtick_arm64",
+ ":kselftest_timers_alarmtimer_suspend_arm64",
+ ":kselftest_timers_change_skew_arm64",
diff --git a/android-mainline/NOUPSTREAM-ANDROID-arm64-ARM64-Exports.patch b/android-mainline/NOUPSTREAM-ANDROID-arm64-ARM64-Exports.patch
index 65d6530a..1bb2eebd 100644
--- a/android-mainline/NOUPSTREAM-ANDROID-arm64-ARM64-Exports.patch
+++ b/android-mainline/NOUPSTREAM-ANDROID-arm64-ARM64-Exports.patch
@@ -44,11 +44,11 @@ diff --git a/arch/arm64/include/asm/smp.h b/arch/arm64/include/asm/smp.h
+extern struct irq_desc **ipi_desc_get(void);
#ifdef CONFIG_ARM64_ACPI_PARKING_PROTOCOL
- extern void arch_send_wakeup_ipi_mask(const struct cpumask *mask);
+ extern void arch_send_wakeup_ipi(unsigned int cpu);
diff --git a/arch/arm64/kernel/cpufeature.c b/arch/arm64/kernel/cpufeature.c
--- a/arch/arm64/kernel/cpufeature.c
+++ b/arch/arm64/kernel/cpufeature.c
-@@ -1494,6 +1494,7 @@ const struct cpumask *system_32bit_el0_cpumask(void)
+@@ -1486,6 +1486,7 @@ const struct cpumask *system_32bit_el0_cpumask(void)
return cpu_possible_mask;
}
@@ -99,7 +99,7 @@ diff --git a/arch/arm64/kernel/process.c b/arch/arm64/kernel/process.c
diff --git a/arch/arm64/kernel/smp.c b/arch/arm64/kernel/smp.c
--- a/arch/arm64/kernel/smp.c
+++ b/arch/arm64/kernel/smp.c
-@@ -57,6 +57,9 @@
+@@ -59,6 +59,9 @@
DEFINE_PER_CPU_READ_MOSTLY(int, cpu_number);
EXPORT_PER_CPU_SYMBOL(cpu_number);
@@ -109,7 +109,7 @@ diff --git a/arch/arm64/kernel/smp.c b/arch/arm64/kernel/smp.c
/*
* as from 2.5, kernels no longer have an init_tasks structure
-@@ -1097,3 +1100,15 @@ bool cpus_are_stuck_in_kernel(void)
+@@ -1184,3 +1187,15 @@ bool cpus_are_stuck_in_kernel(void)
return !!cpus_stuck_in_kernel || smp_spin_tables ||
is_protected_kvm_enabled();
}
diff --git a/android-mainline/NOUPSTREAM-ANDROID-arm64-ARM64-related-vendor-hooks.patch b/android-mainline/NOUPSTREAM-ANDROID-arm64-ARM64-related-vendor-hooks.patch
index 59bcc26f..9b3f74c1 100644
--- a/android-mainline/NOUPSTREAM-ANDROID-arm64-ARM64-related-vendor-hooks.patch
+++ b/android-mainline/NOUPSTREAM-ANDROID-arm64-ARM64-related-vendor-hooks.patch
@@ -66,7 +66,7 @@ diff --git a/arch/arm64/kernel/process.c b/arch/arm64/kernel/process.c
diff --git a/arch/arm64/kernel/smp.c b/arch/arm64/kernel/smp.c
--- a/arch/arm64/kernel/smp.c
+++ b/arch/arm64/kernel/smp.c
-@@ -52,6 +52,8 @@
+@@ -54,6 +54,8 @@
#include <asm/virt.h>
#include <trace/events/ipi.h>
@@ -75,7 +75,7 @@ diff --git a/arch/arm64/kernel/smp.c b/arch/arm64/kernel/smp.c
DEFINE_PER_CPU_READ_MOSTLY(int, cpu_number);
EXPORT_PER_CPU_SYMBOL(cpu_number);
-@@ -874,6 +876,7 @@ static void do_handle_IPI(int ipinr)
+@@ -907,6 +909,7 @@ static void do_handle_IPI(int ipinr)
break;
case IPI_CPU_STOP:
diff --git a/android-mainline/NOUPSTREAM-ANDROID-gki_defconfigs.patch b/android-mainline/NOUPSTREAM-ANDROID-gki_defconfigs.patch
index 55f3c0a7..53d21a84 100644
--- a/android-mainline/NOUPSTREAM-ANDROID-gki_defconfigs.patch
+++ b/android-mainline/NOUPSTREAM-ANDROID-gki_defconfigs.patch
@@ -23,14 +23,14 @@ Signed-off-by: Lee Jones <joneslee@google.com>
---
arch/arm64/configs/16k_gki.fragment | 3 +
arch/arm64/configs/crashdump_defconfig | 81 +++
- arch/arm64/configs/db845c_gki.fragment | 13 +-
+ arch/arm64/configs/db845c_gki.fragment | 14 +-
arch/arm64/configs/gki_defconfig | 709 ++++++++++++++++++++++++
arch/arm64/configs/microdroid_defconfig | 216 ++++++++
arch/riscv/configs/gki_defconfig | 651 ++++++++++++++++++++++
arch/x86/configs/crashdump_defconfig | 87 +++
arch/x86/configs/gki_defconfig | 657 ++++++++++++++++++++++
arch/x86/configs/microdroid_defconfig | 290 ++++++++++
- 9 files changed, 2704 insertions(+), 3 deletions(-)
+ 9 files changed, 2705 insertions(+), 3 deletions(-)
create mode 100644 arch/arm64/configs/16k_gki.fragment
create mode 100644 arch/arm64/configs/crashdump_defconfig
create mode 100644 arch/arm64/configs/gki_defconfig
@@ -179,12 +179,13 @@ diff --git a/arch/arm64/configs/db845c_gki.fragment b/arch/arm64/configs/db845c_
CONFIG_LEDS_QCOM_LPG=m
CONFIG_SM_GPUCC_8250=m
CONFIG_SM_DISPCC_8250=m
-@@ -301,3 +302,9 @@ CONFIG_CLK_GFM_LPASS_SM8250=m
+@@ -301,3 +302,10 @@ CONFIG_CLK_GFM_LPASS_SM8250=m
CONFIG_PHY_QCOM_USB_SNPS_FEMTO_V2=m
CONFIG_INTERCONNECT_QCOM_SM8250=m
CONFIG_CRYPTO_MICHAEL_MIC=m
+CONFIG_QCOM_CPR=m
+CONFIG_QCOM_SPM=m
++CONFIG_TYPEC_MUX_NB7VPQ904M=m
+# XXX SM8450 bits start here
+CONFIG_PINCTRL_SM8450=m
+CONFIG_SM_GCC_8450=m
diff --git a/android-mainline/ONHOLD-ANDROID-net-xfrm-always-export-pktgen_xfrm_outer_mode_output.patch b/android-mainline/ONHOLD-ANDROID-net-xfrm-always-export-pktgen_xfrm_outer_mode_output.patch
index aba15e71..6c41721c 100644
--- a/android-mainline/ONHOLD-ANDROID-net-xfrm-always-export-pktgen_xfrm_outer_mode_output.patch
+++ b/android-mainline/ONHOLD-ANDROID-net-xfrm-always-export-pktgen_xfrm_outer_mode_output.patch
@@ -38,7 +38,7 @@ diff --git a/include/net/xfrm.h b/include/net/xfrm.h
-#endif
void xfrm_local_error(struct sk_buff *skb, int mtu);
- int xfrm4_extract_input(struct xfrm_state *x, struct sk_buff *skb);
+ int xfrm4_rcv_encap(struct sk_buff *skb, int nexthdr, __be32 spi,
diff --git a/net/xfrm/xfrm_output.c b/net/xfrm/xfrm_output.c
--- a/net/xfrm/xfrm_output.c
+++ b/net/xfrm/xfrm_output.c
diff --git a/android-mainline/Revert-sched-core-Prevent-race-condition-between-cpuset-and-__sched_setscheduler.patch b/android-mainline/Revert-sched-core-Prevent-race-condition-between-cpuset-and-__sched_setscheduler.patch
index 41d2a47d..2856ea31 100644
--- a/android-mainline/Revert-sched-core-Prevent-race-condition-between-cpuset-and-__sched_setscheduler.patch
+++ b/android-mainline/Revert-sched-core-Prevent-race-condition-between-cpuset-and-__sched_setscheduler.patch
@@ -615,7 +615,7 @@ diff --git a/kernel/sched/core.c b/kernel/sched/core.c
dump_stack();
add_taint(TAINT_WARN, LOCKDEP_STILL_OK);
}
-@@ -10539,6 +10660,7 @@ static int cpu_cgroup_css_online(struct cgroup_subsys_state *css)
+@@ -10516,6 +10637,7 @@ static int cpu_cgroup_css_online(struct cgroup_subsys_state *css)
cpu_util_update_eff(css);
#endif
@@ -623,7 +623,7 @@ diff --git a/kernel/sched/core.c b/kernel/sched/core.c
return 0;
}
-@@ -10580,6 +10702,8 @@ static void cpu_cgroup_attach(struct cgroup_taskset *tset)
+@@ -10557,6 +10679,8 @@ static void cpu_cgroup_attach(struct cgroup_taskset *tset)
cgroup_taskset_for_each(task, css, tset)
sched_move_task(task);
@@ -632,7 +632,7 @@ diff --git a/kernel/sched/core.c b/kernel/sched/core.c
}
#ifdef CONFIG_UCLAMP_TASK_GROUP
-@@ -10754,6 +10878,27 @@ static int cpu_uclamp_max_show(struct seq_file *sf, void *v)
+@@ -10731,6 +10855,27 @@ static int cpu_uclamp_max_show(struct seq_file *sf, void *v)
cpu_uclamp_print(sf, UCLAMP_MAX);
return 0;
}
@@ -660,7 +660,7 @@ diff --git a/kernel/sched/core.c b/kernel/sched/core.c
#endif /* CONFIG_UCLAMP_TASK_GROUP */
#ifdef CONFIG_FAIR_GROUP_SCHED
-@@ -11222,6 +11367,12 @@ static struct cftype cpu_legacy_files[] = {
+@@ -11199,6 +11344,12 @@ static struct cftype cpu_legacy_files[] = {
.seq_show = cpu_uclamp_max_show,
.write = cpu_uclamp_max_write,
},
@@ -673,7 +673,7 @@ diff --git a/kernel/sched/core.c b/kernel/sched/core.c
#endif
{ } /* Terminate */
};
-@@ -11438,6 +11589,12 @@ static struct cftype cpu_files[] = {
+@@ -11415,6 +11566,12 @@ static struct cftype cpu_files[] = {
.seq_show = cpu_uclamp_max_show,
.write = cpu_uclamp_max_write,
},
diff --git a/android-mainline/series b/android-mainline/series
index 6ab846d2..6060f64a 100644
--- a/android-mainline/series
+++ b/android-mainline/series
@@ -1,8 +1,8 @@
#
# android-mainline patches
#
-# Applies onto upstream f9ae180416e04 Linux v6.6-6789-gf9ae180416e04
-# Matches android-mainline 2597aed6bcec2 ("ANDROID: Update license for selftest build and configs")
+# Applies onto upstream e9806ff8a0f9e Linux v6.6-10372-ge9806ff8a0f9e
+# Matches android-mainline 3851c83bf23ba ("ANDROID: timers: Use original names for outputs of some timer binaries")
# Status: Tested
#
Revert-sched-core-Prevent-race-condition-between-cpuset-and-__sched_setscheduler.patch