mirror of
https://github.com/torvalds/linux.git
synced 2026-06-08 06:25:52 +02:00
ANDROID: android-mainline quilt series for 5.4-ic1
This introduces a quilt series that can be used to create a rebase version of the android-mainline branch. The series applies to mainline commit54ecb8f702("Linux 5.4-rc1") The generated tree matches android-mainline commitc8e152bc7d("ANDROID: staging: ion: Fix missing entry in kerneldoc header") Change-Id: I6fe8876981e342ae1f6a71afd6868d5c6e5de31e Signed-off-by: Todd Kjos <tkjos@google.com>
This commit is contained in:
parent
babfa38871
commit
abe0ec5a81
|
|
@ -0,0 +1,332 @@
|
|||
From d3c3722eb2abb01afead5f23f529cd3bca4ab710 Mon Sep 17 00:00:00 2001
|
||||
From: David Zeuthen <zeuthen@google.com>
|
||||
Date: Tue, 24 Jan 2017 13:17:01 -0500
|
||||
Subject: ANDROID: AVB error handler to invalidate vbmeta
|
||||
partition.
|
||||
|
||||
If androidboot.vbmeta.invalidate_on_error is 'yes' and
|
||||
androidboot.vbmeta.device is set and points to a device with vbmeta
|
||||
magic, this header will be overwritten upon an irrecoverable dm-verity
|
||||
error. The side-effect of this is that the slot will fail to verify on
|
||||
next reboot, effectively triggering the boot loader to fallback to
|
||||
another slot. This work both if the vbmeta struct is at the start of a
|
||||
partition or if there's an AVB footer at the end.
|
||||
|
||||
This code is based on drivers/md/dm-verity-chromeos.c from ChromiumOS.
|
||||
|
||||
Bug: 31622239
|
||||
Bug: 120445368
|
||||
Test: Manually tested (other arch).
|
||||
Signed-off-by: David Zeuthen <zeuthen@google.com>
|
||||
[astrachan: re-diffed against a kernel without dm-android-verity]
|
||||
Change-Id: I571b5a75461da38ad832a9bea33c298bef859e26
|
||||
Signed-off-by: Alistair Strachan <astrachan@google.com>
|
||||
---
|
||||
drivers/md/Kconfig | 9 ++
|
||||
drivers/md/Makefile | 4 +
|
||||
drivers/md/dm-verity-avb.c | 229 ++++++++++++++++++++++++++++++++++
|
||||
drivers/md/dm-verity-target.c | 6 +-
|
||||
drivers/md/dm-verity.h | 2 +
|
||||
5 files changed, 249 insertions(+), 1 deletion(-)
|
||||
create mode 100644 drivers/md/dm-verity-avb.c
|
||||
|
||||
Index: common/drivers/md/Kconfig
|
||||
===================================================================
|
||||
--- common.orig/drivers/md/Kconfig
|
||||
+++ common/drivers/md/Kconfig
|
||||
@@ -517,6 +517,17 @@ config DM_VERITY_VERIFY_ROOTHASH_SIG
|
||||
|
||||
If unsure, say N.
|
||||
|
||||
+config DM_VERITY_AVB
|
||||
+ tristate "Support AVB specific verity error behavior"
|
||||
+ depends on DM_VERITY
|
||||
+ ---help---
|
||||
+ Enables Android Verified Boot platform-specific error
|
||||
+ behavior. In particular, it will modify the vbmeta partition
|
||||
+ specified on the kernel command-line when non-transient error
|
||||
+ occurs (followed by a panic).
|
||||
+
|
||||
+ If unsure, say N.
|
||||
+
|
||||
config DM_VERITY_FEC
|
||||
bool "Verity forward error correction support"
|
||||
depends on DM_VERITY
|
||||
Index: common/drivers/md/Makefile
|
||||
===================================================================
|
||||
--- common.orig/drivers/md/Makefile
|
||||
+++ common/drivers/md/Makefile
|
||||
@@ -80,6 +80,10 @@ ifeq ($(CONFIG_DM_UEVENT),y)
|
||||
dm-mod-objs += dm-uevent.o
|
||||
endif
|
||||
|
||||
+ifeq ($(CONFIG_DM_VERITY_AVB),y)
|
||||
+dm-verity-objs += dm-verity-avb.o
|
||||
+endif
|
||||
+
|
||||
ifeq ($(CONFIG_DM_VERITY_FEC),y)
|
||||
dm-verity-objs += dm-verity-fec.o
|
||||
endif
|
||||
Index: common/drivers/md/dm-verity-avb.c
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ common/drivers/md/dm-verity-avb.c
|
||||
@@ -0,0 +1,229 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2017 Google.
|
||||
+ *
|
||||
+ * This file is released under the GPLv2.
|
||||
+ *
|
||||
+ * Based on drivers/md/dm-verity-chromeos.c
|
||||
+ */
|
||||
+
|
||||
+#include <linux/device-mapper.h>
|
||||
+#include <linux/module.h>
|
||||
+#include <linux/mount.h>
|
||||
+
|
||||
+#define DM_MSG_PREFIX "verity-avb"
|
||||
+
|
||||
+/* Set via module parameters. */
|
||||
+static char avb_vbmeta_device[64];
|
||||
+static char avb_invalidate_on_error[4];
|
||||
+
|
||||
+static void invalidate_vbmeta_endio(struct bio *bio)
|
||||
+{
|
||||
+ if (bio->bi_status)
|
||||
+ DMERR("invalidate_vbmeta_endio: error %d", bio->bi_status);
|
||||
+ complete(bio->bi_private);
|
||||
+}
|
||||
+
|
||||
+static int invalidate_vbmeta_submit(struct bio *bio,
|
||||
+ struct block_device *bdev,
|
||||
+ int op, int access_last_sector,
|
||||
+ struct page *page)
|
||||
+{
|
||||
+ DECLARE_COMPLETION_ONSTACK(wait);
|
||||
+
|
||||
+ bio->bi_private = &wait;
|
||||
+ bio->bi_end_io = invalidate_vbmeta_endio;
|
||||
+ bio_set_dev(bio, bdev);
|
||||
+ bio_set_op_attrs(bio, op, REQ_SYNC);
|
||||
+
|
||||
+ bio->bi_iter.bi_sector = 0;
|
||||
+ if (access_last_sector) {
|
||||
+ sector_t last_sector;
|
||||
+
|
||||
+ last_sector = (i_size_read(bdev->bd_inode)>>SECTOR_SHIFT) - 1;
|
||||
+ bio->bi_iter.bi_sector = last_sector;
|
||||
+ }
|
||||
+ if (!bio_add_page(bio, page, PAGE_SIZE, 0)) {
|
||||
+ DMERR("invalidate_vbmeta_submit: bio_add_page error");
|
||||
+ return -EIO;
|
||||
+ }
|
||||
+
|
||||
+ submit_bio(bio);
|
||||
+ /* Wait up to 2 seconds for completion or fail. */
|
||||
+ if (!wait_for_completion_timeout(&wait, msecs_to_jiffies(2000)))
|
||||
+ return -EIO;
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static int invalidate_vbmeta(dev_t vbmeta_devt)
|
||||
+{
|
||||
+ int ret = 0;
|
||||
+ struct block_device *bdev;
|
||||
+ struct bio *bio;
|
||||
+ struct page *page;
|
||||
+ fmode_t dev_mode;
|
||||
+ /* Ensure we do synchronous unblocked I/O. We may also need
|
||||
+ * sync_bdev() on completion, but it really shouldn't.
|
||||
+ */
|
||||
+ int access_last_sector = 0;
|
||||
+
|
||||
+ DMINFO("invalidate_vbmeta: acting on device %d:%d",
|
||||
+ MAJOR(vbmeta_devt), MINOR(vbmeta_devt));
|
||||
+
|
||||
+ /* First we open the device for reading. */
|
||||
+ dev_mode = FMODE_READ | FMODE_EXCL;
|
||||
+ bdev = blkdev_get_by_dev(vbmeta_devt, dev_mode,
|
||||
+ invalidate_vbmeta);
|
||||
+ if (IS_ERR(bdev)) {
|
||||
+ DMERR("invalidate_kernel: could not open device for reading");
|
||||
+ dev_mode = 0;
|
||||
+ ret = -ENOENT;
|
||||
+ goto failed_to_read;
|
||||
+ }
|
||||
+
|
||||
+ bio = bio_alloc(GFP_NOIO, 1);
|
||||
+ if (!bio) {
|
||||
+ ret = -ENOMEM;
|
||||
+ goto failed_bio_alloc;
|
||||
+ }
|
||||
+
|
||||
+ page = alloc_page(GFP_NOIO);
|
||||
+ if (!page) {
|
||||
+ ret = -ENOMEM;
|
||||
+ goto failed_to_alloc_page;
|
||||
+ }
|
||||
+
|
||||
+ access_last_sector = 0;
|
||||
+ ret = invalidate_vbmeta_submit(bio, bdev, REQ_OP_READ,
|
||||
+ access_last_sector, page);
|
||||
+ if (ret) {
|
||||
+ DMERR("invalidate_vbmeta: error reading");
|
||||
+ goto failed_to_submit_read;
|
||||
+ }
|
||||
+
|
||||
+ /* We have a page. Let's make sure it looks right. */
|
||||
+ if (memcmp("AVB0", page_address(page), 4) == 0) {
|
||||
+ /* Stamp it. */
|
||||
+ memcpy(page_address(page), "AVE0", 4);
|
||||
+ DMINFO("invalidate_vbmeta: found vbmeta partition");
|
||||
+ } else {
|
||||
+ /* Could be this is on a AVB footer, check. Also, since the
|
||||
+ * AVB footer is in the last 64 bytes, adjust for the fact that
|
||||
+ * we're dealing with 512-byte sectors.
|
||||
+ */
|
||||
+ size_t offset = (1<<SECTOR_SHIFT) - 64;
|
||||
+
|
||||
+ access_last_sector = 1;
|
||||
+ ret = invalidate_vbmeta_submit(bio, bdev, REQ_OP_READ,
|
||||
+ access_last_sector, page);
|
||||
+ if (ret) {
|
||||
+ DMERR("invalidate_vbmeta: error reading");
|
||||
+ goto failed_to_submit_read;
|
||||
+ }
|
||||
+ if (memcmp("AVBf", page_address(page) + offset, 4) != 0) {
|
||||
+ DMERR("invalidate_vbmeta on non-vbmeta partition");
|
||||
+ ret = -EINVAL;
|
||||
+ goto invalid_header;
|
||||
+ }
|
||||
+ /* Stamp it. */
|
||||
+ memcpy(page_address(page) + offset, "AVE0", 4);
|
||||
+ DMINFO("invalidate_vbmeta: found vbmeta footer partition");
|
||||
+ }
|
||||
+
|
||||
+ /* Now rewrite the changed page - the block dev was being
|
||||
+ * changed on read. Let's reopen here.
|
||||
+ */
|
||||
+ blkdev_put(bdev, dev_mode);
|
||||
+ dev_mode = FMODE_WRITE | FMODE_EXCL;
|
||||
+ bdev = blkdev_get_by_dev(vbmeta_devt, dev_mode,
|
||||
+ invalidate_vbmeta);
|
||||
+ if (IS_ERR(bdev)) {
|
||||
+ DMERR("invalidate_vbmeta: could not open device for writing");
|
||||
+ dev_mode = 0;
|
||||
+ ret = -ENOENT;
|
||||
+ goto failed_to_write;
|
||||
+ }
|
||||
+
|
||||
+ /* We re-use the same bio to do the write after the read. Need to reset
|
||||
+ * it to initialize bio->bi_remaining.
|
||||
+ */
|
||||
+ bio_reset(bio);
|
||||
+
|
||||
+ ret = invalidate_vbmeta_submit(bio, bdev, REQ_OP_WRITE,
|
||||
+ access_last_sector, page);
|
||||
+ if (ret) {
|
||||
+ DMERR("invalidate_vbmeta: error writing");
|
||||
+ goto failed_to_submit_write;
|
||||
+ }
|
||||
+
|
||||
+ DMERR("invalidate_vbmeta: completed.");
|
||||
+ ret = 0;
|
||||
+failed_to_submit_write:
|
||||
+failed_to_write:
|
||||
+invalid_header:
|
||||
+ __free_page(page);
|
||||
+failed_to_submit_read:
|
||||
+ /* Technically, we'll leak a page with the pending bio, but
|
||||
+ * we're about to reboot anyway.
|
||||
+ */
|
||||
+failed_to_alloc_page:
|
||||
+ bio_put(bio);
|
||||
+failed_bio_alloc:
|
||||
+ if (dev_mode)
|
||||
+ blkdev_put(bdev, dev_mode);
|
||||
+failed_to_read:
|
||||
+ return ret;
|
||||
+}
|
||||
+
|
||||
+void dm_verity_avb_error_handler(void)
|
||||
+{
|
||||
+ dev_t dev;
|
||||
+
|
||||
+ DMINFO("AVB error handler called for %s", avb_vbmeta_device);
|
||||
+
|
||||
+ if (strcmp(avb_invalidate_on_error, "yes") != 0) {
|
||||
+ DMINFO("Not configured to invalidate");
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ if (avb_vbmeta_device[0] == '\0') {
|
||||
+ DMERR("avb_vbmeta_device parameter not set");
|
||||
+ goto fail_no_dev;
|
||||
+ }
|
||||
+
|
||||
+ dev = name_to_dev_t(avb_vbmeta_device);
|
||||
+ if (!dev) {
|
||||
+ DMERR("No matching partition for device: %s",
|
||||
+ avb_vbmeta_device);
|
||||
+ goto fail_no_dev;
|
||||
+ }
|
||||
+
|
||||
+ invalidate_vbmeta(dev);
|
||||
+
|
||||
+fail_no_dev:
|
||||
+ ;
|
||||
+}
|
||||
+
|
||||
+static int __init dm_verity_avb_init(void)
|
||||
+{
|
||||
+ DMINFO("AVB error handler initialized with vbmeta device: %s",
|
||||
+ avb_vbmeta_device);
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static void __exit dm_verity_avb_exit(void)
|
||||
+{
|
||||
+}
|
||||
+
|
||||
+module_init(dm_verity_avb_init);
|
||||
+module_exit(dm_verity_avb_exit);
|
||||
+
|
||||
+MODULE_AUTHOR("David Zeuthen <zeuthen@google.com>");
|
||||
+MODULE_DESCRIPTION("AVB-specific error handler for dm-verity");
|
||||
+MODULE_LICENSE("GPL");
|
||||
+
|
||||
+/* Declare parameter with no module prefix */
|
||||
+#undef MODULE_PARAM_PREFIX
|
||||
+#define MODULE_PARAM_PREFIX "androidboot.vbmeta."
|
||||
+module_param_string(device, avb_vbmeta_device, sizeof(avb_vbmeta_device), 0);
|
||||
+module_param_string(invalidate_on_error, avb_invalidate_on_error,
|
||||
+ sizeof(avb_invalidate_on_error), 0);
|
||||
Index: common/drivers/md/dm-verity-target.c
|
||||
===================================================================
|
||||
--- common.orig/drivers/md/dm-verity-target.c
|
||||
+++ common/drivers/md/dm-verity-target.c
|
||||
@@ -251,8 +251,12 @@ out:
|
||||
if (v->mode == DM_VERITY_MODE_LOGGING)
|
||||
return 0;
|
||||
|
||||
- if (v->mode == DM_VERITY_MODE_RESTART)
|
||||
+ if (v->mode == DM_VERITY_MODE_RESTART) {
|
||||
+#ifdef CONFIG_DM_VERITY_AVB
|
||||
+ dm_verity_avb_error_handler();
|
||||
+#endif
|
||||
kernel_restart("dm-verity device corrupted");
|
||||
+ }
|
||||
|
||||
return 1;
|
||||
}
|
||||
Index: common/drivers/md/dm-verity.h
|
||||
===================================================================
|
||||
--- common.orig/drivers/md/dm-verity.h
|
||||
+++ common/drivers/md/dm-verity.h
|
||||
@@ -128,4 +128,6 @@ extern int verity_hash(struct dm_verity
|
||||
extern int verity_hash_for_block(struct dm_verity *v, struct dm_verity_io *io,
|
||||
sector_t block, u8 *digest, bool *is_zero);
|
||||
|
||||
+extern void dm_verity_avb_error_handler(void);
|
||||
+
|
||||
#endif /* DM_VERITY_H */
|
||||
39
patches/ANDROID-Add-dm-bow-to-cuttlefish-configuration.patch
Normal file
39
patches/ANDROID-Add-dm-bow-to-cuttlefish-configuration.patch
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
From a41cdee10376397a2139dbf4de41ec492cc1565e Mon Sep 17 00:00:00 2001
|
||||
From: Paul Lawrence <paullawrence@google.com>
|
||||
Date: Thu, 21 Mar 2019 13:23:03 -0700
|
||||
Subject: ANDROID: Add dm-bow to cuttlefish configuration
|
||||
|
||||
Change-Id: I7f265cb8c6274da414d2477da9953546510ce26b
|
||||
Signed-off-by: Paul Lawrence <paullawrence@google.com>
|
||||
---
|
||||
arch/arm64/configs/cuttlefish_defconfig | 1 +
|
||||
arch/x86/configs/x86_64_cuttlefish_defconfig | 1 +
|
||||
2 files changed, 2 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/configs/cuttlefish_defconfig b/arch/arm64/configs/cuttlefish_defconfig
|
||||
index b3116d935c841..76a68561f2fb1 100644
|
||||
--- a/arch/arm64/configs/cuttlefish_defconfig
|
||||
+++ b/arch/arm64/configs/cuttlefish_defconfig
|
||||
@@ -218,6 +218,7 @@ CONFIG_DM_UEVENT=y
|
||||
CONFIG_DM_VERITY=y
|
||||
CONFIG_DM_VERITY_AVB=y
|
||||
CONFIG_DM_VERITY_FEC=y
|
||||
+CONFIG_DM_BOW=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_NETCONSOLE=y
|
||||
CONFIG_NETCONSOLE_DYNAMIC=y
|
||||
diff --git a/arch/x86/configs/x86_64_cuttlefish_defconfig b/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
index abd24a4f017d4..b2ad519f11c70 100644
|
||||
--- a/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
+++ b/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
@@ -227,6 +227,7 @@ CONFIG_DM_UEVENT=y
|
||||
CONFIG_DM_VERITY=y
|
||||
CONFIG_DM_VERITY_AVB=y
|
||||
CONFIG_DM_VERITY_FEC=y
|
||||
+CONFIG_DM_BOW=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_NETCONSOLE=y
|
||||
CONFIG_NETCONSOLE_DYNAMIC=y
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
564
patches/ANDROID-Add-initial-rockpi4_defconfig.patch
Normal file
564
patches/ANDROID-Add-initial-rockpi4_defconfig.patch
Normal file
|
|
@ -0,0 +1,564 @@
|
|||
From 9a8189c272ac9fa2dd95aba34af9ce58fe541971 Mon Sep 17 00:00:00 2001
|
||||
From: Tristan Muntsinger <muntsinger@google.com>
|
||||
Date: Thu, 25 Jul 2019 13:48:04 -0700
|
||||
Subject: ANDROID: Add initial rockpi4_defconfig
|
||||
|
||||
This is for the Rock Pi 4B board from Radxa with Rockchip's RK3399.
|
||||
|
||||
Bug: 118442619
|
||||
Change-Id: If2ba4198ef268e5b249e909b1987d52f1c8d0def
|
||||
Signed-off-by: Tristan Muntsinger <muntsinger@google.com>
|
||||
---
|
||||
arch/arm64/configs/rockpi4_defconfig | 540 +++++++++++++++++++++++++++
|
||||
1 file changed, 540 insertions(+)
|
||||
create mode 100644 arch/arm64/configs/rockpi4_defconfig
|
||||
|
||||
diff --git a/arch/arm64/configs/rockpi4_defconfig b/arch/arm64/configs/rockpi4_defconfig
|
||||
new file mode 100644
|
||||
index 0000000000000..6d0cf70f37570
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/configs/rockpi4_defconfig
|
||||
@@ -0,0 +1,540 @@
|
||||
+CONFIG_AUDIT=y
|
||||
+CONFIG_NO_HZ=y
|
||||
+CONFIG_HIGH_RES_TIMERS=y
|
||||
+CONFIG_PREEMPT=y
|
||||
+CONFIG_TASKSTATS=y
|
||||
+CONFIG_TASK_XACCT=y
|
||||
+CONFIG_TASK_IO_ACCOUNTING=y
|
||||
+CONFIG_PSI=y
|
||||
+CONFIG_IKCONFIG=y
|
||||
+CONFIG_IKCONFIG_PROC=y
|
||||
+CONFIG_MEMCG=y
|
||||
+CONFIG_MEMCG_SWAP=y
|
||||
+CONFIG_BLK_CGROUP=y
|
||||
+CONFIG_RT_GROUP_SCHED=y
|
||||
+CONFIG_CGROUP_FREEZER=y
|
||||
+CONFIG_CPUSETS=y
|
||||
+CONFIG_CGROUP_CPUACCT=y
|
||||
+CONFIG_CGROUP_BPF=y
|
||||
+CONFIG_SCHED_AUTOGROUP=y
|
||||
+CONFIG_BLK_DEV_INITRD=y
|
||||
+# CONFIG_RD_BZIP2 is not set
|
||||
+# CONFIG_RD_LZMA is not set
|
||||
+# CONFIG_RD_XZ is not set
|
||||
+# CONFIG_RD_LZO is not set
|
||||
+# CONFIG_RD_LZ4 is not set
|
||||
+# CONFIG_SYSFS_SYSCALL is not set
|
||||
+CONFIG_FHANDLE=y
|
||||
+CONFIG_KALLSYMS_ALL=y
|
||||
+CONFIG_BPF_SYSCALL=y
|
||||
+# CONFIG_RSEQ is not set
|
||||
+CONFIG_EMBEDDED=y
|
||||
+# CONFIG_VM_EVENT_COUNTERS is not set
|
||||
+# CONFIG_COMPAT_BRK is not set
|
||||
+# CONFIG_SLAB_MERGE_DEFAULT is not set
|
||||
+CONFIG_SLAB_FREELIST_RANDOM=y
|
||||
+CONFIG_SLAB_FREELIST_HARDENED=y
|
||||
+CONFIG_PROFILING=y
|
||||
+CONFIG_ARCH_ROCKCHIP=y
|
||||
+CONFIG_SCHED_MC=y
|
||||
+CONFIG_SECCOMP=y
|
||||
+CONFIG_PARAVIRT=y
|
||||
+CONFIG_COMPAT=y
|
||||
+CONFIG_ARMV8_DEPRECATED=y
|
||||
+CONFIG_SWP_EMULATION=y
|
||||
+CONFIG_CP15_BARRIER_EMULATION=y
|
||||
+CONFIG_SETEND_EMULATION=y
|
||||
+CONFIG_RANDOMIZE_BASE=y
|
||||
+CONFIG_CMDLINE=""
|
||||
+# CONFIG_CMDLINE_FORCE is not set
|
||||
+# CONFIG_EFI is not set
|
||||
+CONFIG_PM_WAKELOCKS=y
|
||||
+CONFIG_PM_WAKELOCKS_LIMIT=0
|
||||
+# CONFIG_PM_WAKELOCKS_GC is not set
|
||||
+CONFIG_ENERGY_MODEL=y
|
||||
+CONFIG_CPU_IDLE=y
|
||||
+CONFIG_ARM_CPUIDLE=y
|
||||
+CONFIG_CPU_FREQ=y
|
||||
+CONFIG_CPU_FREQ_TIMES=y
|
||||
+CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL=y
|
||||
+CONFIG_CPU_FREQ_GOV_POWERSAVE=y
|
||||
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
|
||||
+CONFIG_ARM_SCPI_CPUFREQ=y
|
||||
+CONFIG_ARM_SCMI_CPUFREQ=y
|
||||
+CONFIG_ARM_SCMI_PROTOCOL=y
|
||||
+# CONFIG_ARM_SCMI_POWER_DOMAIN is not set
|
||||
+CONFIG_ARM_SCPI_PROTOCOL=y
|
||||
+# CONFIG_ARM_SCPI_POWER_DOMAIN is not set
|
||||
+CONFIG_VIRTUALIZATION=y
|
||||
+CONFIG_KVM=y
|
||||
+CONFIG_VHOST_VSOCK=y
|
||||
+CONFIG_ARM64_CRYPTO=y
|
||||
+CONFIG_CRYPTO_AES_ARM64=y
|
||||
+CONFIG_KPROBES=y
|
||||
+CONFIG_MODULES=y
|
||||
+CONFIG_MODULE_UNLOAD=y
|
||||
+CONFIG_MODVERSIONS=y
|
||||
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
|
||||
+CONFIG_BINFMT_MISC=y
|
||||
+# CONFIG_SPARSEMEM_VMEMMAP is not set
|
||||
+CONFIG_MEMORY_HOTPLUG=y
|
||||
+CONFIG_TRANSPARENT_HUGEPAGE=y
|
||||
+CONFIG_CMA=y
|
||||
+CONFIG_CMA_AREAS=16
|
||||
+CONFIG_ZSMALLOC=y
|
||||
+CONFIG_NET=y
|
||||
+CONFIG_PACKET=y
|
||||
+CONFIG_UNIX=y
|
||||
+CONFIG_XFRM_USER=y
|
||||
+CONFIG_XFRM_INTERFACE=y
|
||||
+CONFIG_XFRM_STATISTICS=y
|
||||
+CONFIG_NET_KEY=y
|
||||
+CONFIG_INET=y
|
||||
+CONFIG_IP_MULTICAST=y
|
||||
+CONFIG_IP_ADVANCED_ROUTER=y
|
||||
+CONFIG_IP_MULTIPLE_TABLES=y
|
||||
+CONFIG_IP_PNP=y
|
||||
+CONFIG_NET_IPGRE_DEMUX=y
|
||||
+CONFIG_NET_IPVTI=y
|
||||
+CONFIG_INET_ESP=y
|
||||
+CONFIG_INET_UDP_DIAG=y
|
||||
+CONFIG_INET_DIAG_DESTROY=y
|
||||
+CONFIG_IPV6_ROUTER_PREF=y
|
||||
+CONFIG_IPV6_ROUTE_INFO=y
|
||||
+CONFIG_IPV6_OPTIMISTIC_DAD=y
|
||||
+CONFIG_INET6_ESP=y
|
||||
+CONFIG_INET6_IPCOMP=y
|
||||
+CONFIG_IPV6_MIP6=y
|
||||
+CONFIG_IPV6_VTI=y
|
||||
+CONFIG_IPV6_MULTIPLE_TABLES=y
|
||||
+CONFIG_NETFILTER=y
|
||||
+CONFIG_NF_CONNTRACK=y
|
||||
+CONFIG_NF_CONNTRACK_SECMARK=y
|
||||
+CONFIG_NF_CONNTRACK_EVENTS=y
|
||||
+CONFIG_NF_CONNTRACK_AMANDA=y
|
||||
+CONFIG_NF_CONNTRACK_FTP=y
|
||||
+CONFIG_NF_CONNTRACK_H323=y
|
||||
+CONFIG_NF_CONNTRACK_IRC=y
|
||||
+CONFIG_NF_CONNTRACK_NETBIOS_NS=y
|
||||
+CONFIG_NF_CONNTRACK_PPTP=y
|
||||
+CONFIG_NF_CONNTRACK_SANE=y
|
||||
+CONFIG_NF_CONNTRACK_TFTP=y
|
||||
+CONFIG_NF_CT_NETLINK=y
|
||||
+CONFIG_NETFILTER_XT_TARGET_CLASSIFY=y
|
||||
+CONFIG_NETFILTER_XT_TARGET_CONNMARK=y
|
||||
+CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=y
|
||||
+CONFIG_NETFILTER_XT_TARGET_CT=y
|
||||
+CONFIG_NETFILTER_XT_TARGET_IDLETIMER=y
|
||||
+CONFIG_NETFILTER_XT_TARGET_MARK=y
|
||||
+CONFIG_NETFILTER_XT_TARGET_NFLOG=y
|
||||
+CONFIG_NETFILTER_XT_TARGET_NFQUEUE=y
|
||||
+CONFIG_NETFILTER_XT_TARGET_TPROXY=y
|
||||
+CONFIG_NETFILTER_XT_TARGET_TRACE=y
|
||||
+CONFIG_NETFILTER_XT_TARGET_SECMARK=y
|
||||
+CONFIG_NETFILTER_XT_TARGET_TCPMSS=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_BPF=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_COMMENT=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_CONNMARK=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_HELPER=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_IPRANGE=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_LENGTH=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_LIMIT=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_MAC=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_MARK=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_OWNER=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_POLICY=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_PKTTYPE=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_QUOTA=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_QUOTA2=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_SOCKET=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_STATE=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_STATISTIC=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_STRING=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_TIME=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_U32=y
|
||||
+CONFIG_IP_NF_IPTABLES=y
|
||||
+CONFIG_IP_NF_MATCH_ECN=y
|
||||
+CONFIG_IP_NF_MATCH_TTL=y
|
||||
+CONFIG_IP_NF_FILTER=y
|
||||
+CONFIG_IP_NF_TARGET_REJECT=y
|
||||
+CONFIG_IP_NF_NAT=y
|
||||
+CONFIG_IP_NF_TARGET_MASQUERADE=y
|
||||
+CONFIG_IP_NF_TARGET_NETMAP=y
|
||||
+CONFIG_IP_NF_TARGET_REDIRECT=y
|
||||
+CONFIG_IP_NF_MANGLE=y
|
||||
+CONFIG_IP_NF_RAW=y
|
||||
+CONFIG_IP_NF_SECURITY=y
|
||||
+CONFIG_IP_NF_ARPTABLES=y
|
||||
+CONFIG_IP_NF_ARPFILTER=y
|
||||
+CONFIG_IP_NF_ARP_MANGLE=y
|
||||
+CONFIG_IP6_NF_IPTABLES=y
|
||||
+CONFIG_IP6_NF_MATCH_RPFILTER=y
|
||||
+CONFIG_IP6_NF_FILTER=y
|
||||
+CONFIG_IP6_NF_TARGET_REJECT=y
|
||||
+CONFIG_IP6_NF_MANGLE=y
|
||||
+CONFIG_IP6_NF_RAW=y
|
||||
+CONFIG_L2TP=y
|
||||
+CONFIG_BRIDGE=y
|
||||
+CONFIG_NET_SCHED=y
|
||||
+CONFIG_NET_SCH_HTB=y
|
||||
+CONFIG_NET_SCH_INGRESS=y
|
||||
+CONFIG_NET_CLS_U32=y
|
||||
+CONFIG_NET_CLS_BPF=y
|
||||
+CONFIG_NET_EMATCH=y
|
||||
+CONFIG_NET_EMATCH_U32=y
|
||||
+CONFIG_NET_CLS_ACT=y
|
||||
+CONFIG_VSOCKETS=y
|
||||
+CONFIG_VIRTIO_VSOCKETS=y
|
||||
+CONFIG_BT=y
|
||||
+CONFIG_CFG80211=y
|
||||
+# CONFIG_CFG80211_DEFAULT_PS is not set
|
||||
+# CONFIG_CFG80211_CRDA_SUPPORT is not set
|
||||
+CONFIG_MAC80211=y
|
||||
+# CONFIG_MAC80211_RC_MINSTREL is not set
|
||||
+CONFIG_RFKILL=y
|
||||
+CONFIG_PCI=y
|
||||
+CONFIG_PCI_HOST_GENERIC=y
|
||||
+CONFIG_DEVTMPFS=y
|
||||
+# CONFIG_ALLOW_DEV_COREDUMP is not set
|
||||
+CONFIG_DEBUG_DEVRES=y
|
||||
+CONFIG_ZRAM=y
|
||||
+CONFIG_BLK_DEV_LOOP=y
|
||||
+CONFIG_BLK_DEV_RAM=y
|
||||
+CONFIG_BLK_DEV_RAM_SIZE=8192
|
||||
+CONFIG_VIRTIO_BLK=y
|
||||
+CONFIG_UID_SYS_STATS=y
|
||||
+CONFIG_SCSI=y
|
||||
+# CONFIG_SCSI_PROC_FS is not set
|
||||
+CONFIG_BLK_DEV_SD=y
|
||||
+CONFIG_SCSI_UFSHCD=y
|
||||
+CONFIG_SCSI_UFSHCD_PLATFORM=y
|
||||
+CONFIG_MD=y
|
||||
+CONFIG_BLK_DEV_DM=y
|
||||
+CONFIG_DM_CRYPT=y
|
||||
+CONFIG_DM_UEVENT=y
|
||||
+CONFIG_DM_VERITY=y
|
||||
+CONFIG_DM_VERITY_AVB=y
|
||||
+CONFIG_DM_VERITY_FEC=y
|
||||
+CONFIG_DM_BOW=y
|
||||
+CONFIG_NETDEVICES=y
|
||||
+CONFIG_TUN=y
|
||||
+CONFIG_VIRTIO_NET=y
|
||||
+# CONFIG_NET_VENDOR_3COM is not set
|
||||
+# CONFIG_NET_VENDOR_ADAPTEC is not set
|
||||
+# CONFIG_NET_VENDOR_AGERE is not set
|
||||
+# CONFIG_NET_VENDOR_ALACRITECH is not set
|
||||
+# CONFIG_NET_VENDOR_ALTEON is not set
|
||||
+# CONFIG_NET_VENDOR_AMAZON is not set
|
||||
+# CONFIG_NET_VENDOR_AMD is not set
|
||||
+# CONFIG_NET_VENDOR_AQUANTIA is not set
|
||||
+# CONFIG_NET_VENDOR_ARC is not set
|
||||
+# CONFIG_NET_VENDOR_ATHEROS is not set
|
||||
+# CONFIG_NET_VENDOR_AURORA is not set
|
||||
+# CONFIG_NET_VENDOR_BROADCOM is not set
|
||||
+# CONFIG_NET_VENDOR_BROCADE is not set
|
||||
+# CONFIG_NET_VENDOR_CADENCE is not set
|
||||
+# CONFIG_NET_VENDOR_CAVIUM is not set
|
||||
+# CONFIG_NET_VENDOR_CHELSIO is not set
|
||||
+# CONFIG_NET_VENDOR_CISCO is not set
|
||||
+# CONFIG_NET_VENDOR_CORTINA is not set
|
||||
+# CONFIG_NET_VENDOR_DEC is not set
|
||||
+# CONFIG_NET_VENDOR_DLINK is not set
|
||||
+# CONFIG_NET_VENDOR_EMULEX is not set
|
||||
+# CONFIG_NET_VENDOR_EZCHIP is not set
|
||||
+# CONFIG_NET_VENDOR_HISILICON is not set
|
||||
+# CONFIG_NET_VENDOR_HP is not set
|
||||
+# CONFIG_NET_VENDOR_HUAWEI is not set
|
||||
+# CONFIG_NET_VENDOR_INTEL is not set
|
||||
+# CONFIG_NET_VENDOR_MARVELL is not set
|
||||
+# CONFIG_NET_VENDOR_MELLANOX is not set
|
||||
+# CONFIG_NET_VENDOR_MICREL is not set
|
||||
+# CONFIG_NET_VENDOR_MICROCHIP is not set
|
||||
+# CONFIG_NET_VENDOR_MICROSEMI is not set
|
||||
+# CONFIG_NET_VENDOR_MYRI is not set
|
||||
+# CONFIG_NET_VENDOR_NATSEMI is not set
|
||||
+# CONFIG_NET_VENDOR_NETERION is not set
|
||||
+# CONFIG_NET_VENDOR_NETRONOME is not set
|
||||
+# CONFIG_NET_VENDOR_NI is not set
|
||||
+# CONFIG_NET_VENDOR_NVIDIA is not set
|
||||
+# CONFIG_NET_VENDOR_OKI is not set
|
||||
+# CONFIG_NET_VENDOR_PACKET_ENGINES is not set
|
||||
+# CONFIG_NET_VENDOR_QLOGIC is not set
|
||||
+# CONFIG_NET_VENDOR_QUALCOMM is not set
|
||||
+# CONFIG_NET_VENDOR_RDC is not set
|
||||
+# CONFIG_NET_VENDOR_REALTEK is not set
|
||||
+# CONFIG_NET_VENDOR_RENESAS is not set
|
||||
+# CONFIG_NET_VENDOR_ROCKER is not set
|
||||
+# CONFIG_NET_VENDOR_SAMSUNG is not set
|
||||
+# CONFIG_NET_VENDOR_SEEQ is not set
|
||||
+# CONFIG_NET_VENDOR_SOLARFLARE is not set
|
||||
+# CONFIG_NET_VENDOR_SILAN is not set
|
||||
+# CONFIG_NET_VENDOR_SIS is not set
|
||||
+# CONFIG_NET_VENDOR_SMSC is not set
|
||||
+# CONFIG_NET_VENDOR_SOCIONEXT is not set
|
||||
+CONFIG_STMMAC_ETH=y
|
||||
+# CONFIG_DWMAC_GENERIC is not set
|
||||
+# CONFIG_NET_VENDOR_SUN is not set
|
||||
+# CONFIG_NET_VENDOR_SYNOPSYS is not set
|
||||
+# CONFIG_NET_VENDOR_TEHUTI is not set
|
||||
+# CONFIG_NET_VENDOR_TI is not set
|
||||
+# CONFIG_NET_VENDOR_VIA is not set
|
||||
+# CONFIG_NET_VENDOR_WIZNET is not set
|
||||
+CONFIG_ROCKCHIP_PHY=y
|
||||
+CONFIG_PPP=y
|
||||
+CONFIG_PPP_BSDCOMP=y
|
||||
+CONFIG_PPP_DEFLATE=y
|
||||
+CONFIG_PPP_MPPE=y
|
||||
+CONFIG_PPTP=y
|
||||
+CONFIG_PPPOL2TP=y
|
||||
+CONFIG_USB_RTL8152=y
|
||||
+CONFIG_USB_USBNET=y
|
||||
+# CONFIG_USB_NET_AX8817X is not set
|
||||
+# CONFIG_USB_NET_AX88179_178A is not set
|
||||
+# CONFIG_USB_NET_CDCETHER is not set
|
||||
+# CONFIG_USB_NET_CDC_NCM is not set
|
||||
+# CONFIG_USB_NET_NET1080 is not set
|
||||
+# CONFIG_USB_NET_CDC_SUBSET is not set
|
||||
+# CONFIG_USB_NET_ZAURUS is not set
|
||||
+# CONFIG_WLAN_VENDOR_ADMTEK is not set
|
||||
+# CONFIG_WLAN_VENDOR_ATH is not set
|
||||
+# CONFIG_WLAN_VENDOR_ATMEL is not set
|
||||
+# CONFIG_WLAN_VENDOR_BROADCOM is not set
|
||||
+# CONFIG_WLAN_VENDOR_CISCO is not set
|
||||
+# CONFIG_WLAN_VENDOR_INTEL is not set
|
||||
+# CONFIG_WLAN_VENDOR_INTERSIL is not set
|
||||
+# CONFIG_WLAN_VENDOR_MARVELL is not set
|
||||
+# CONFIG_WLAN_VENDOR_MEDIATEK is not set
|
||||
+# CONFIG_WLAN_VENDOR_RALINK is not set
|
||||
+# CONFIG_WLAN_VENDOR_REALTEK is not set
|
||||
+# CONFIG_WLAN_VENDOR_RSI is not set
|
||||
+# CONFIG_WLAN_VENDOR_ST is not set
|
||||
+# CONFIG_WLAN_VENDOR_TI is not set
|
||||
+# CONFIG_WLAN_VENDOR_ZYDAS is not set
|
||||
+# CONFIG_WLAN_VENDOR_QUANTENNA is not set
|
||||
+CONFIG_VIRT_WIFI=y
|
||||
+CONFIG_INPUT_EVDEV=y
|
||||
+# CONFIG_INPUT_MOUSE is not set
|
||||
+CONFIG_INPUT_JOYSTICK=y
|
||||
+CONFIG_INPUT_MISC=y
|
||||
+CONFIG_INPUT_UINPUT=y
|
||||
+# CONFIG_VT is not set
|
||||
+# CONFIG_LEGACY_PTYS is not set
|
||||
+# CONFIG_DEVMEM is not set
|
||||
+CONFIG_SERIAL_8250=y
|
||||
+# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
|
||||
+CONFIG_SERIAL_8250_CONSOLE=y
|
||||
+# CONFIG_SERIAL_8250_EXAR is not set
|
||||
+CONFIG_SERIAL_8250_NR_UARTS=48
|
||||
+CONFIG_SERIAL_8250_EXTENDED=y
|
||||
+CONFIG_SERIAL_8250_MANY_PORTS=y
|
||||
+CONFIG_SERIAL_8250_SHARE_IRQ=y
|
||||
+CONFIG_SERIAL_8250_DW=y
|
||||
+CONFIG_SERIAL_OF_PLATFORM=y
|
||||
+CONFIG_SERIAL_AMBA_PL011=y
|
||||
+CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
|
||||
+CONFIG_VIRTIO_CONSOLE=y
|
||||
+CONFIG_HW_RANDOM=y
|
||||
+CONFIG_HW_RANDOM_VIRTIO=y
|
||||
+# CONFIG_HW_RANDOM_CAVIUM is not set
|
||||
+# CONFIG_DEVPORT is not set
|
||||
+# CONFIG_I2C_COMPAT is not set
|
||||
+CONFIG_I2C_MUX_PINCTRL=y
|
||||
+CONFIG_I2C_DEMUX_PINCTRL=y
|
||||
+# CONFIG_I2C_HELPER_AUTO is not set
|
||||
+CONFIG_I2C_DESIGNWARE_PLATFORM=y
|
||||
+CONFIG_I2C_DESIGNWARE_SLAVE=y
|
||||
+CONFIG_I2C_RK3X=y
|
||||
+CONFIG_SPI=y
|
||||
+CONFIG_SPI_ROCKCHIP=y
|
||||
+CONFIG_SPMI=y
|
||||
+CONFIG_DEBUG_PINCTRL=y
|
||||
+CONFIG_PINCTRL_AMD=y
|
||||
+CONFIG_PINCTRL_SINGLE=y
|
||||
+CONFIG_PINCTRL_RK805=y
|
||||
+CONFIG_GPIO_SYSFS=y
|
||||
+CONFIG_GPIO_GENERIC_PLATFORM=y
|
||||
+CONFIG_POWER_AVS=y
|
||||
+CONFIG_ROCKCHIP_IODOMAIN=y
|
||||
+CONFIG_POWER_RESET_GPIO=y
|
||||
+CONFIG_POWER_RESET_GPIO_RESTART=y
|
||||
+CONFIG_POWER_RESET_RESTART=y
|
||||
+CONFIG_POWER_RESET_SYSCON=y
|
||||
+CONFIG_POWER_RESET_SYSCON_POWEROFF=y
|
||||
+CONFIG_SYSCON_REBOOT_MODE=y
|
||||
+# CONFIG_HWMON is not set
|
||||
+CONFIG_THERMAL=y
|
||||
+CONFIG_THERMAL_GOV_USER_SPACE=y
|
||||
+CONFIG_CPU_THERMAL=y
|
||||
+CONFIG_DEVFREQ_THERMAL=y
|
||||
+CONFIG_ROCKCHIP_THERMAL=y
|
||||
+CONFIG_WATCHDOG=y
|
||||
+CONFIG_WATCHDOG_PRETIMEOUT_GOV=y
|
||||
+# CONFIG_WATCHDOG_PRETIMEOUT_GOV_NOOP is not set
|
||||
+CONFIG_DW_WATCHDOG=y
|
||||
+CONFIG_MFD_ACT8945A=y
|
||||
+CONFIG_MFD_RK808=y
|
||||
+CONFIG_REGULATOR=y
|
||||
+CONFIG_REGULATOR_DEBUG=y
|
||||
+CONFIG_REGULATOR_FIXED_VOLTAGE=y
|
||||
+CONFIG_REGULATOR_VIRTUAL_CONSUMER=y
|
||||
+CONFIG_REGULATOR_USERSPACE_CONSUMER=y
|
||||
+CONFIG_REGULATOR_GPIO=y
|
||||
+CONFIG_REGULATOR_PWM=y
|
||||
+CONFIG_REGULATOR_RK808=y
|
||||
+CONFIG_REGULATOR_VCTRL=y
|
||||
+CONFIG_MEDIA_SUPPORT=y
|
||||
+CONFIG_MEDIA_CAMERA_SUPPORT=y
|
||||
+CONFIG_MEDIA_CONTROLLER=y
|
||||
+CONFIG_VIDEO_V4L2_SUBDEV_API=y
|
||||
+# CONFIG_VGA_ARB is not set
|
||||
+CONFIG_DRM=y
|
||||
+# CONFIG_DRM_FBDEV_EMULATION is not set
|
||||
+CONFIG_DRM_ROCKCHIP=y
|
||||
+CONFIG_ROCKCHIP_DW_HDMI=y
|
||||
+CONFIG_DRM_VIRTIO_GPU=y
|
||||
+# CONFIG_LCD_CLASS_DEVICE is not set
|
||||
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
|
||||
+# CONFIG_BACKLIGHT_GENERIC is not set
|
||||
+CONFIG_SOUND=y
|
||||
+CONFIG_SND=y
|
||||
+CONFIG_SND_HRTIMER=y
|
||||
+CONFIG_SND_DYNAMIC_MINORS=y
|
||||
+# CONFIG_SND_SUPPORT_OLD_API is not set
|
||||
+# CONFIG_SND_VERBOSE_PROCFS is not set
|
||||
+# CONFIG_SND_DRIVERS is not set
|
||||
+CONFIG_SND_INTEL8X0=y
|
||||
+CONFIG_SND_USB_AUDIO=y
|
||||
+CONFIG_SND_SOC=y
|
||||
+CONFIG_SND_SOC_TS3A227E=y
|
||||
+CONFIG_HIDRAW=y
|
||||
+CONFIG_UHID=y
|
||||
+CONFIG_HID_APPLE=y
|
||||
+CONFIG_HID_ELECOM=y
|
||||
+CONFIG_HID_MAGICMOUSE=y
|
||||
+CONFIG_HID_MICROSOFT=y
|
||||
+CONFIG_HID_MULTITOUCH=y
|
||||
+CONFIG_USB_HIDDEV=y
|
||||
+CONFIG_USB=y
|
||||
+CONFIG_USB_OTG=y
|
||||
+CONFIG_USB_OTG_FSM=y
|
||||
+CONFIG_USB_EHCI_HCD=y
|
||||
+CONFIG_USB_EHCI_ROOT_HUB_TT=y
|
||||
+CONFIG_USB_EHCI_HCD_PLATFORM=y
|
||||
+CONFIG_USB_OHCI_HCD=y
|
||||
+# CONFIG_USB_OHCI_HCD_PCI is not set
|
||||
+CONFIG_USB_OHCI_HCD_PLATFORM=y
|
||||
+CONFIG_USB_GADGET=y
|
||||
+CONFIG_USB_CONFIGFS=y
|
||||
+CONFIG_USB_CONFIGFS_UEVENT=y
|
||||
+CONFIG_USB_CONFIGFS_F_FS=y
|
||||
+CONFIG_USB_CONFIGFS_F_ACC=y
|
||||
+CONFIG_USB_CONFIGFS_F_AUDIO_SRC=y
|
||||
+CONFIG_USB_CONFIGFS_F_MIDI=y
|
||||
+CONFIG_MMC=y
|
||||
+# CONFIG_PWRSEQ_EMMC is not set
|
||||
+# CONFIG_PWRSEQ_SIMPLE is not set
|
||||
+CONFIG_MMC_SDHCI=y
|
||||
+CONFIG_MMC_SDHCI_PLTFM=y
|
||||
+CONFIG_MMC_SDHCI_OF_ARASAN=y
|
||||
+CONFIG_MMC_SDHCI_OF_DWCMSHC=y
|
||||
+CONFIG_MMC_DW=y
|
||||
+CONFIG_MMC_DW_ROCKCHIP=y
|
||||
+CONFIG_MMC_CQHCI=y
|
||||
+CONFIG_NEW_LEDS=y
|
||||
+CONFIG_LEDS_CLASS=y
|
||||
+CONFIG_LEDS_TRIGGERS=y
|
||||
+CONFIG_RTC_CLASS=y
|
||||
+# CONFIG_RTC_SYSTOHC is not set
|
||||
+CONFIG_RTC_DRV_RK808=y
|
||||
+CONFIG_RTC_DRV_PL030=y
|
||||
+CONFIG_RTC_DRV_PL031=y
|
||||
+CONFIG_DMADEVICES=y
|
||||
+CONFIG_PL330_DMA=y
|
||||
+CONFIG_VIRTIO_PCI=y
|
||||
+# CONFIG_VIRTIO_PCI_LEGACY is not set
|
||||
+CONFIG_VIRTIO_INPUT=y
|
||||
+CONFIG_VIRTIO_MMIO=y
|
||||
+CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
|
||||
+CONFIG_STAGING=y
|
||||
+CONFIG_ASHMEM=y
|
||||
+CONFIG_ANDROID_VSOC=y
|
||||
+CONFIG_ION=y
|
||||
+CONFIG_COMMON_CLK_RK808=y
|
||||
+CONFIG_COMMON_CLK_SCPI=y
|
||||
+# CONFIG_COMMON_CLK_XGENE is not set
|
||||
+CONFIG_HWSPINLOCK=y
|
||||
+# CONFIG_FSL_ERRATUM_A008585 is not set
|
||||
+# CONFIG_HISILICON_ERRATUM_161010101 is not set
|
||||
+CONFIG_MAILBOX=y
|
||||
+CONFIG_ROCKCHIP_MBOX=y
|
||||
+CONFIG_ROCKCHIP_IOMMU=y
|
||||
+CONFIG_ARM_SMMU=y
|
||||
+CONFIG_ROCKCHIP_PM_DOMAINS=y
|
||||
+CONFIG_DEVFREQ_GOV_PERFORMANCE=y
|
||||
+CONFIG_DEVFREQ_GOV_POWERSAVE=y
|
||||
+CONFIG_DEVFREQ_GOV_USERSPACE=y
|
||||
+CONFIG_DEVFREQ_GOV_PASSIVE=y
|
||||
+CONFIG_ARM_RK3399_DMC_DEVFREQ=y
|
||||
+CONFIG_PWM=y
|
||||
+CONFIG_PWM_ROCKCHIP=y
|
||||
+CONFIG_PHY_ROCKCHIP_EMMC=y
|
||||
+CONFIG_PHY_ROCKCHIP_INNO_HDMI=y
|
||||
+CONFIG_PHY_ROCKCHIP_INNO_USB2=y
|
||||
+CONFIG_PHY_ROCKCHIP_USB=y
|
||||
+CONFIG_ANDROID=y
|
||||
+CONFIG_ANDROID_BINDER_IPC=y
|
||||
+CONFIG_ROCKCHIP_EFUSE=y
|
||||
+CONFIG_INTERCONNECT=y
|
||||
+CONFIG_EXT4_FS=y
|
||||
+CONFIG_EXT4_FS_SECURITY=y
|
||||
+CONFIG_F2FS_FS=y
|
||||
+CONFIG_F2FS_FS_SECURITY=y
|
||||
+CONFIG_FS_ENCRYPTION=y
|
||||
+# CONFIG_DNOTIFY is not set
|
||||
+CONFIG_QUOTA=y
|
||||
+CONFIG_QFMT_V2=y
|
||||
+CONFIG_FUSE_FS=y
|
||||
+CONFIG_OVERLAY_FS=y
|
||||
+CONFIG_MSDOS_FS=y
|
||||
+CONFIG_VFAT_FS=y
|
||||
+CONFIG_TMPFS=y
|
||||
+CONFIG_TMPFS_POSIX_ACL=y
|
||||
+CONFIG_ECRYPT_FS=y
|
||||
+CONFIG_PSTORE=y
|
||||
+CONFIG_PSTORE_CONSOLE=y
|
||||
+CONFIG_PSTORE_RAM=y
|
||||
+CONFIG_SECURITY_PERF_EVENTS_RESTRICT=y
|
||||
+CONFIG_SECURITY=y
|
||||
+CONFIG_SECURITY_NETWORK=y
|
||||
+CONFIG_HARDENED_USERCOPY=y
|
||||
+CONFIG_SECURITY_SELINUX=y
|
||||
+CONFIG_CRYPTO_ADIANTUM=y
|
||||
+CONFIG_CRYPTO_MD4=y
|
||||
+CONFIG_CRYPTO_SHA512=y
|
||||
+CONFIG_CRYPTO_LZ4=y
|
||||
+CONFIG_CRYPTO_ZSTD=y
|
||||
+CONFIG_CRYPTO_ANSI_CPRNG=y
|
||||
+CONFIG_CRYPTO_DEV_ROCKCHIP=y
|
||||
+CONFIG_CRYPTO_DEV_VIRTIO=y
|
||||
+CONFIG_CRC_CCITT=y
|
||||
+CONFIG_CRC8=y
|
||||
+CONFIG_XZ_DEC=y
|
||||
+CONFIG_DMA_CMA=y
|
||||
+CONFIG_PRINTK_TIME=y
|
||||
+CONFIG_DEBUG_INFO=y
|
||||
+# CONFIG_ENABLE_MUST_CHECK is not set
|
||||
+# CONFIG_SECTION_MISMATCH_WARN_ONLY is not set
|
||||
+CONFIG_MAGIC_SYSRQ=y
|
||||
+CONFIG_DEBUG_STACK_USAGE=y
|
||||
+CONFIG_DEBUG_MEMORY_INIT=y
|
||||
+CONFIG_SOFTLOCKUP_DETECTOR=y
|
||||
+# CONFIG_DETECT_HUNG_TASK is not set
|
||||
+CONFIG_PANIC_TIMEOUT=5
|
||||
+CONFIG_SCHEDSTATS=y
|
||||
+CONFIG_FUNCTION_TRACER=y
|
||||
+# CONFIG_RUNTIME_TESTING_MENU is not set
|
||||
+CONFIG_CORESIGHT=y
|
||||
+CONFIG_CORESIGHT_STM=y
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
464
patches/ANDROID-Add-initial-x86_64-gki_defconfig.patch
Normal file
464
patches/ANDROID-Add-initial-x86_64-gki_defconfig.patch
Normal file
|
|
@ -0,0 +1,464 @@
|
|||
From 7d1009ce0de9f6f018be997f32989c3b51d5d57f Mon Sep 17 00:00:00 2001
|
||||
From: Ram Muthiah <rammuthiah@google.com>
|
||||
Date: Fri, 17 May 2019 16:52:29 -0700
|
||||
Subject: ANDROID: Add initial x86_64 gki_defconfig
|
||||
|
||||
That is a copy from the aarch64 gki_defconfig.
|
||||
|
||||
To be able to build in this configuration,
|
||||
|
||||
+ CONFIG_UNWINDER_FRAME_POINTER=y
|
||||
|
||||
was necessary.
|
||||
|
||||
Bug: 132113225
|
||||
Bug: 132629930
|
||||
Change-Id: I685ccea29efc7ba14f7b0a24f41983e37203f9a2
|
||||
Signed-off-by: Ram Muthiah <rammuthiah@google.com>
|
||||
Signed-off-by: Matthias Maennich <maennich@google.com>
|
||||
---
|
||||
arch/x86/configs/gki_defconfig | 328 +++++++++++++++++++
|
||||
arch/x86/configs/x86_64_cuttlefish_defconfig | 8 +-
|
||||
build.config.cuttlefish.aarch64 | 3 +-
|
||||
build.config.cuttlefish.x86_64 | 3 +-
|
||||
build.config.gki.x86_64 | 17 +
|
||||
5 files changed, 352 insertions(+), 7 deletions(-)
|
||||
create mode 100644 arch/x86/configs/gki_defconfig
|
||||
create mode 100644 build.config.gki.x86_64
|
||||
|
||||
diff --git a/arch/x86/configs/gki_defconfig b/arch/x86/configs/gki_defconfig
|
||||
new file mode 100644
|
||||
index 0000000000000..18ba312d0a602
|
||||
--- /dev/null
|
||||
+++ b/arch/x86/configs/gki_defconfig
|
||||
@@ -0,0 +1,328 @@
|
||||
+CONFIG_AUDIT=y
|
||||
+CONFIG_NO_HZ=y
|
||||
+CONFIG_HIGH_RES_TIMERS=y
|
||||
+CONFIG_PREEMPT=y
|
||||
+CONFIG_TASKSTATS=y
|
||||
+CONFIG_TASK_XACCT=y
|
||||
+CONFIG_TASK_IO_ACCOUNTING=y
|
||||
+CONFIG_PSI=y
|
||||
+CONFIG_IKCONFIG=y
|
||||
+CONFIG_IKCONFIG_PROC=y
|
||||
+CONFIG_MEMCG=y
|
||||
+CONFIG_MEMCG_SWAP=y
|
||||
+CONFIG_RT_GROUP_SCHED=y
|
||||
+CONFIG_CGROUP_FREEZER=y
|
||||
+CONFIG_CGROUP_CPUACCT=y
|
||||
+CONFIG_CGROUP_BPF=y
|
||||
+CONFIG_SCHED_AUTOGROUP=y
|
||||
+CONFIG_BLK_DEV_INITRD=y
|
||||
+# CONFIG_RD_BZIP2 is not set
|
||||
+# CONFIG_RD_LZMA is not set
|
||||
+# CONFIG_RD_XZ is not set
|
||||
+# CONFIG_RD_LZO is not set
|
||||
+# CONFIG_RD_LZ4 is not set
|
||||
+# CONFIG_SYSFS_SYSCALL is not set
|
||||
+# CONFIG_FHANDLE is not set
|
||||
+CONFIG_KALLSYMS_ALL=y
|
||||
+CONFIG_BPF_SYSCALL=y
|
||||
+# CONFIG_RSEQ is not set
|
||||
+CONFIG_EMBEDDED=y
|
||||
+# CONFIG_VM_EVENT_COUNTERS is not set
|
||||
+# CONFIG_COMPAT_BRK is not set
|
||||
+# CONFIG_SLAB_MERGE_DEFAULT is not set
|
||||
+CONFIG_PROFILING=y
|
||||
+CONFIG_PM_WAKELOCKS=y
|
||||
+CONFIG_PM_WAKELOCKS_LIMIT=0
|
||||
+# CONFIG_PM_WAKELOCKS_GC is not set
|
||||
+CONFIG_CPU_FREQ=y
|
||||
+CONFIG_CPU_FREQ_TIMES=y
|
||||
+CONFIG_CPU_FREQ_GOV_POWERSAVE=y
|
||||
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
|
||||
+CONFIG_KPROBES=y
|
||||
+CONFIG_MODULES=y
|
||||
+CONFIG_MODULE_UNLOAD=y
|
||||
+CONFIG_MODVERSIONS=y
|
||||
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
|
||||
+# CONFIG_SPARSEMEM_VMEMMAP is not set
|
||||
+CONFIG_TRANSPARENT_HUGEPAGE=y
|
||||
+CONFIG_ZSMALLOC=y
|
||||
+CONFIG_NET=y
|
||||
+CONFIG_PACKET=y
|
||||
+CONFIG_UNIX=y
|
||||
+CONFIG_XFRM_USER=y
|
||||
+CONFIG_XFRM_INTERFACE=y
|
||||
+CONFIG_XFRM_STATISTICS=y
|
||||
+CONFIG_NET_KEY=y
|
||||
+CONFIG_INET=y
|
||||
+CONFIG_IP_MULTICAST=y
|
||||
+CONFIG_IP_ADVANCED_ROUTER=y
|
||||
+CONFIG_IP_MULTIPLE_TABLES=y
|
||||
+CONFIG_NET_IPGRE_DEMUX=y
|
||||
+CONFIG_NET_IPVTI=y
|
||||
+CONFIG_INET_ESP=y
|
||||
+CONFIG_INET_UDP_DIAG=y
|
||||
+CONFIG_INET_DIAG_DESTROY=y
|
||||
+CONFIG_IPV6_ROUTER_PREF=y
|
||||
+CONFIG_IPV6_ROUTE_INFO=y
|
||||
+CONFIG_IPV6_OPTIMISTIC_DAD=y
|
||||
+CONFIG_INET6_ESP=y
|
||||
+CONFIG_INET6_IPCOMP=y
|
||||
+CONFIG_IPV6_MIP6=y
|
||||
+CONFIG_IPV6_VTI=y
|
||||
+CONFIG_IPV6_MULTIPLE_TABLES=y
|
||||
+CONFIG_NETFILTER=y
|
||||
+CONFIG_NF_CONNTRACK=y
|
||||
+CONFIG_NF_CONNTRACK_SECMARK=y
|
||||
+CONFIG_NF_CONNTRACK_EVENTS=y
|
||||
+CONFIG_NF_CONNTRACK_AMANDA=y
|
||||
+CONFIG_NF_CONNTRACK_FTP=y
|
||||
+CONFIG_NF_CONNTRACK_H323=y
|
||||
+CONFIG_NF_CONNTRACK_IRC=y
|
||||
+CONFIG_NF_CONNTRACK_NETBIOS_NS=y
|
||||
+CONFIG_NF_CONNTRACK_PPTP=y
|
||||
+CONFIG_NF_CONNTRACK_SANE=y
|
||||
+CONFIG_NF_CONNTRACK_TFTP=y
|
||||
+CONFIG_NF_CT_NETLINK=y
|
||||
+CONFIG_NETFILTER_XT_TARGET_CLASSIFY=y
|
||||
+CONFIG_NETFILTER_XT_TARGET_CONNMARK=y
|
||||
+CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=y
|
||||
+CONFIG_NETFILTER_XT_TARGET_CT=y
|
||||
+CONFIG_NETFILTER_XT_TARGET_IDLETIMER=y
|
||||
+CONFIG_NETFILTER_XT_TARGET_MARK=y
|
||||
+CONFIG_NETFILTER_XT_TARGET_NFLOG=y
|
||||
+CONFIG_NETFILTER_XT_TARGET_NFQUEUE=y
|
||||
+CONFIG_NETFILTER_XT_TARGET_TPROXY=y
|
||||
+CONFIG_NETFILTER_XT_TARGET_TRACE=y
|
||||
+CONFIG_NETFILTER_XT_TARGET_SECMARK=y
|
||||
+CONFIG_NETFILTER_XT_TARGET_TCPMSS=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_BPF=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_COMMENT=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_CONNMARK=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_HELPER=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_IPRANGE=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_LENGTH=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_LIMIT=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_MAC=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_MARK=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_OWNER=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_POLICY=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_PKTTYPE=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_QUOTA=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_QUOTA2=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_SOCKET=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_STATE=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_STATISTIC=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_STRING=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_TIME=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_U32=y
|
||||
+CONFIG_IP_NF_IPTABLES=y
|
||||
+CONFIG_IP_NF_MATCH_ECN=y
|
||||
+CONFIG_IP_NF_MATCH_TTL=y
|
||||
+CONFIG_IP_NF_FILTER=y
|
||||
+CONFIG_IP_NF_TARGET_REJECT=y
|
||||
+CONFIG_IP_NF_NAT=y
|
||||
+CONFIG_IP_NF_TARGET_MASQUERADE=y
|
||||
+CONFIG_IP_NF_TARGET_NETMAP=y
|
||||
+CONFIG_IP_NF_TARGET_REDIRECT=y
|
||||
+CONFIG_IP_NF_MANGLE=y
|
||||
+CONFIG_IP_NF_RAW=y
|
||||
+CONFIG_IP_NF_SECURITY=y
|
||||
+CONFIG_IP_NF_ARPTABLES=y
|
||||
+CONFIG_IP_NF_ARPFILTER=y
|
||||
+CONFIG_IP_NF_ARP_MANGLE=y
|
||||
+CONFIG_IP6_NF_IPTABLES=y
|
||||
+CONFIG_IP6_NF_MATCH_RPFILTER=y
|
||||
+CONFIG_IP6_NF_FILTER=y
|
||||
+CONFIG_IP6_NF_TARGET_REJECT=y
|
||||
+CONFIG_IP6_NF_MANGLE=y
|
||||
+CONFIG_IP6_NF_RAW=y
|
||||
+CONFIG_L2TP=y
|
||||
+CONFIG_NET_SCHED=y
|
||||
+CONFIG_NET_SCH_HTB=y
|
||||
+CONFIG_NET_SCH_INGRESS=y
|
||||
+CONFIG_NET_CLS_U32=y
|
||||
+CONFIG_NET_CLS_BPF=y
|
||||
+CONFIG_NET_EMATCH=y
|
||||
+CONFIG_NET_EMATCH_U32=y
|
||||
+CONFIG_NET_CLS_ACT=y
|
||||
+CONFIG_VSOCKETS=y
|
||||
+CONFIG_VIRTIO_VSOCKETS=y
|
||||
+CONFIG_CFG80211=y
|
||||
+# CONFIG_CFG80211_DEFAULT_PS is not set
|
||||
+# CONFIG_CFG80211_CRDA_SUPPORT is not set
|
||||
+CONFIG_MAC80211=y
|
||||
+# CONFIG_MAC80211_RC_MINSTREL is not set
|
||||
+CONFIG_RFKILL=y
|
||||
+# CONFIG_ALLOW_DEV_COREDUMP is not set
|
||||
+CONFIG_DEBUG_DEVRES=y
|
||||
+CONFIG_ZRAM=y
|
||||
+CONFIG_BLK_DEV_LOOP=y
|
||||
+CONFIG_BLK_DEV_RAM=y
|
||||
+CONFIG_BLK_DEV_RAM_SIZE=8192
|
||||
+CONFIG_VIRTIO_BLK=y
|
||||
+CONFIG_UID_SYS_STATS=y
|
||||
+CONFIG_SCSI=y
|
||||
+# CONFIG_SCSI_PROC_FS is not set
|
||||
+CONFIG_BLK_DEV_SD=y
|
||||
+CONFIG_SCSI_VIRTIO=y
|
||||
+CONFIG_MD=y
|
||||
+CONFIG_BLK_DEV_DM=y
|
||||
+CONFIG_DM_CRYPT=y
|
||||
+CONFIG_DM_UEVENT=y
|
||||
+CONFIG_DM_VERITY=y
|
||||
+CONFIG_DM_VERITY_AVB=y
|
||||
+CONFIG_DM_VERITY_FEC=y
|
||||
+CONFIG_DM_BOW=y
|
||||
+CONFIG_NETDEVICES=y
|
||||
+CONFIG_TUN=y
|
||||
+CONFIG_VIRTIO_NET=y
|
||||
+# CONFIG_ETHERNET is not set
|
||||
+CONFIG_PHYLIB=y
|
||||
+CONFIG_PPP=y
|
||||
+CONFIG_PPP_BSDCOMP=y
|
||||
+CONFIG_PPP_DEFLATE=y
|
||||
+CONFIG_PPP_MPPE=y
|
||||
+CONFIG_PPTP=y
|
||||
+CONFIG_PPPOL2TP=y
|
||||
+CONFIG_USB_RTL8152=y
|
||||
+CONFIG_USB_USBNET=y
|
||||
+# CONFIG_USB_NET_AX8817X is not set
|
||||
+# CONFIG_USB_NET_AX88179_178A is not set
|
||||
+# CONFIG_USB_NET_CDCETHER is not set
|
||||
+# CONFIG_USB_NET_CDC_NCM is not set
|
||||
+# CONFIG_USB_NET_NET1080 is not set
|
||||
+# CONFIG_USB_NET_CDC_SUBSET is not set
|
||||
+# CONFIG_USB_NET_ZAURUS is not set
|
||||
+# CONFIG_WLAN_VENDOR_ADMTEK is not set
|
||||
+# CONFIG_WLAN_VENDOR_ATH is not set
|
||||
+# CONFIG_WLAN_VENDOR_ATMEL is not set
|
||||
+# CONFIG_WLAN_VENDOR_BROADCOM is not set
|
||||
+# CONFIG_WLAN_VENDOR_CISCO is not set
|
||||
+# CONFIG_WLAN_VENDOR_INTEL is not set
|
||||
+# CONFIG_WLAN_VENDOR_INTERSIL is not set
|
||||
+# CONFIG_WLAN_VENDOR_MARVELL is not set
|
||||
+# CONFIG_WLAN_VENDOR_MEDIATEK is not set
|
||||
+# CONFIG_WLAN_VENDOR_RALINK is not set
|
||||
+# CONFIG_WLAN_VENDOR_REALTEK is not set
|
||||
+# CONFIG_WLAN_VENDOR_RSI is not set
|
||||
+# CONFIG_WLAN_VENDOR_ST is not set
|
||||
+# CONFIG_WLAN_VENDOR_TI is not set
|
||||
+# CONFIG_WLAN_VENDOR_ZYDAS is not set
|
||||
+# CONFIG_WLAN_VENDOR_QUANTENNA is not set
|
||||
+CONFIG_VIRT_WIFI=y
|
||||
+CONFIG_INPUT_EVDEV=y
|
||||
+# CONFIG_INPUT_KEYBOARD is not set
|
||||
+# CONFIG_INPUT_MOUSE is not set
|
||||
+CONFIG_INPUT_JOYSTICK=y
|
||||
+CONFIG_INPUT_MISC=y
|
||||
+CONFIG_INPUT_UINPUT=y
|
||||
+# CONFIG_VT is not set
|
||||
+# CONFIG_LEGACY_PTYS is not set
|
||||
+# CONFIG_DEVMEM is not set
|
||||
+CONFIG_SERIAL_8250=y
|
||||
+# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
|
||||
+CONFIG_SERIAL_8250_CONSOLE=y
|
||||
+CONFIG_SERIAL_8250_NR_UARTS=48
|
||||
+CONFIG_SERIAL_8250_EXTENDED=y
|
||||
+CONFIG_SERIAL_8250_MANY_PORTS=y
|
||||
+CONFIG_SERIAL_8250_SHARE_IRQ=y
|
||||
+CONFIG_VIRTIO_CONSOLE=y
|
||||
+CONFIG_HW_RANDOM=y
|
||||
+CONFIG_HW_RANDOM_VIRTIO=y
|
||||
+# CONFIG_I2C_COMPAT is not set
|
||||
+# CONFIG_I2C_HELPER_AUTO is not set
|
||||
+CONFIG_GPIOLIB=y
|
||||
+# CONFIG_HWMON is not set
|
||||
+CONFIG_DEVFREQ_THERMAL=y
|
||||
+CONFIG_MEDIA_SUPPORT=y
|
||||
+CONFIG_MEDIA_CAMERA_SUPPORT=y
|
||||
+CONFIG_DRM=y
|
||||
+# CONFIG_DRM_FBDEV_EMULATION is not set
|
||||
+CONFIG_DRM_VIRTIO_GPU=y
|
||||
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
|
||||
+CONFIG_SOUND=y
|
||||
+CONFIG_SND=y
|
||||
+CONFIG_SND_HRTIMER=y
|
||||
+CONFIG_SND_DYNAMIC_MINORS=y
|
||||
+# CONFIG_SND_SUPPORT_OLD_API is not set
|
||||
+# CONFIG_SND_VERBOSE_PROCFS is not set
|
||||
+# CONFIG_SND_DRIVERS is not set
|
||||
+# CONFIG_SND_USB is not set
|
||||
+CONFIG_HIDRAW=y
|
||||
+CONFIG_UHID=y
|
||||
+CONFIG_HID_APPLE=y
|
||||
+CONFIG_HID_ELECOM=y
|
||||
+CONFIG_HID_MAGICMOUSE=y
|
||||
+CONFIG_HID_MICROSOFT=y
|
||||
+CONFIG_HID_MULTITOUCH=y
|
||||
+CONFIG_USB_HIDDEV=y
|
||||
+CONFIG_USB=y
|
||||
+CONFIG_USB_GADGET=y
|
||||
+CONFIG_USB_CONFIGFS=y
|
||||
+CONFIG_USB_CONFIGFS_UEVENT=y
|
||||
+CONFIG_USB_CONFIGFS_F_FS=y
|
||||
+CONFIG_USB_CONFIGFS_F_ACC=y
|
||||
+CONFIG_USB_CONFIGFS_F_AUDIO_SRC=y
|
||||
+CONFIG_USB_CONFIGFS_F_MIDI=y
|
||||
+CONFIG_MMC=y
|
||||
+# CONFIG_MMC_BLOCK is not set
|
||||
+CONFIG_NEW_LEDS=y
|
||||
+CONFIG_LEDS_CLASS=y
|
||||
+CONFIG_LEDS_TRIGGERS=y
|
||||
+CONFIG_RTC_CLASS=y
|
||||
+# CONFIG_RTC_SYSTOHC is not set
|
||||
+CONFIG_VIRTIO_BALLOON=y
|
||||
+CONFIG_VIRTIO_INPUT=y
|
||||
+CONFIG_VIRTIO_MMIO=y
|
||||
+CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
|
||||
+CONFIG_STAGING=y
|
||||
+CONFIG_ASHMEM=y
|
||||
+CONFIG_ION=y
|
||||
+CONFIG_MAILBOX=y
|
||||
+CONFIG_PM_DEVFREQ=y
|
||||
+CONFIG_ANDROID=y
|
||||
+CONFIG_ANDROID_BINDER_IPC=y
|
||||
+CONFIG_EXT4_FS=y
|
||||
+CONFIG_EXT4_FS_SECURITY=y
|
||||
+CONFIG_F2FS_FS=y
|
||||
+CONFIG_F2FS_FS_SECURITY=y
|
||||
+# CONFIG_DNOTIFY is not set
|
||||
+CONFIG_QUOTA=y
|
||||
+CONFIG_QFMT_V2=y
|
||||
+CONFIG_FUSE_FS=y
|
||||
+CONFIG_MSDOS_FS=y
|
||||
+CONFIG_VFAT_FS=y
|
||||
+CONFIG_TMPFS=y
|
||||
+CONFIG_TMPFS_POSIX_ACL=y
|
||||
+CONFIG_PSTORE=y
|
||||
+CONFIG_PSTORE_CONSOLE=y
|
||||
+CONFIG_PSTORE_RAM=y
|
||||
+CONFIG_SECURITY_PERF_EVENTS_RESTRICT=y
|
||||
+CONFIG_SECURITY=y
|
||||
+CONFIG_SECURITY_NETWORK=y
|
||||
+CONFIG_HARDENED_USERCOPY=y
|
||||
+CONFIG_SECURITY_SELINUX=y
|
||||
+CONFIG_CRYPTO_ADIANTUM=y
|
||||
+CONFIG_CRYPTO_SHA512=y
|
||||
+CONFIG_CRYPTO_LZ4=y
|
||||
+CONFIG_CRYPTO_ZSTD=y
|
||||
+CONFIG_CRYPTO_ANSI_CPRNG=y
|
||||
+CONFIG_CRYPTO_DEV_VIRTIO=y
|
||||
+CONFIG_CRC8=y
|
||||
+CONFIG_XZ_DEC=y
|
||||
+CONFIG_PRINTK_TIME=y
|
||||
+CONFIG_DEBUG_INFO=y
|
||||
+# CONFIG_ENABLE_MUST_CHECK is not set
|
||||
+# CONFIG_SECTION_MISMATCH_WARN_ONLY is not set
|
||||
+CONFIG_MAGIC_SYSRQ=y
|
||||
+CONFIG_DEBUG_STACK_USAGE=y
|
||||
+CONFIG_DEBUG_MEMORY_INIT=y
|
||||
+CONFIG_SOFTLOCKUP_DETECTOR=y
|
||||
+# CONFIG_DETECT_HUNG_TASK is not set
|
||||
+CONFIG_PANIC_TIMEOUT=5
|
||||
+CONFIG_SCHEDSTATS=y
|
||||
+# CONFIG_RUNTIME_TESTING_MENU is not set
|
||||
+CONFIG_UNWINDER_FRAME_POINTER=y
|
||||
diff --git a/arch/x86/configs/x86_64_cuttlefish_defconfig b/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
index d1f0fa08eacfb..06c931405999c 100644
|
||||
--- a/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
+++ b/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
@@ -67,7 +67,6 @@ CONFIG_IA32_EMULATION=y
|
||||
# CONFIG_FIRMWARE_MEMMAP is not set
|
||||
CONFIG_OPROFILE=y
|
||||
CONFIG_KPROBES=y
|
||||
-CONFIG_JUMP_LABEL=y
|
||||
CONFIG_REFCOUNT_FULL=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
@@ -96,7 +95,6 @@ CONFIG_IP_PIMSM_V2=y
|
||||
CONFIG_SYN_COOKIES=y
|
||||
CONFIG_NET_IPVTI=y
|
||||
CONFIG_INET_ESP=y
|
||||
-# CONFIG_INET_XFRM_MODE_BEET is not set
|
||||
CONFIG_INET_UDP_DIAG=y
|
||||
CONFIG_INET_DIAG_DESTROY=y
|
||||
CONFIG_TCP_CONG_ADVANCED=y
|
||||
@@ -199,7 +197,8 @@ CONFIG_VIRTIO_VSOCKETS=y
|
||||
CONFIG_CFG80211=y
|
||||
CONFIG_MAC80211=y
|
||||
CONFIG_RFKILL=y
|
||||
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
|
||||
+CONFIG_PCI=y
|
||||
+CONFIG_PCI_MSI=y
|
||||
CONFIG_DEVTMPFS=y
|
||||
CONFIG_DEBUG_DEVRES=y
|
||||
CONFIG_OF=y
|
||||
@@ -459,10 +458,10 @@ CONFIG_DEBUG_INFO=y
|
||||
# CONFIG_ENABLE_MUST_CHECK is not set
|
||||
CONFIG_FRAME_WARN=1024
|
||||
# CONFIG_UNUSED_SYMBOLS is not set
|
||||
+CONFIG_OPTIMIZE_INLINING=y
|
||||
CONFIG_MAGIC_SYSRQ=y
|
||||
CONFIG_DEBUG_STACK_USAGE=y
|
||||
CONFIG_DEBUG_MEMORY_INIT=y
|
||||
-CONFIG_DEBUG_STACKOVERFLOW=y
|
||||
CONFIG_HARDLOCKUP_DETECTOR=y
|
||||
CONFIG_PANIC_TIMEOUT=5
|
||||
CONFIG_SCHEDSTATS=y
|
||||
@@ -470,5 +469,4 @@ CONFIG_RCU_CPU_STALL_TIMEOUT=60
|
||||
CONFIG_ENABLE_DEFAULT_TRACERS=y
|
||||
CONFIG_IO_DELAY_NONE=y
|
||||
CONFIG_DEBUG_BOOT_PARAMS=y
|
||||
-CONFIG_OPTIMIZE_INLINING=y
|
||||
CONFIG_UNWINDER_FRAME_POINTER=y
|
||||
diff --git a/build.config.cuttlefish.aarch64 b/build.config.cuttlefish.aarch64
|
||||
index ec53d6eac9ea3..bec1288d65e13 100644
|
||||
--- a/build.config.cuttlefish.aarch64
|
||||
+++ b/build.config.cuttlefish.aarch64
|
||||
@@ -1,7 +1,8 @@
|
||||
ARCH=arm64
|
||||
-BRANCH=android-4.19
|
||||
+BRANCH=android-mainline
|
||||
CLANG_TRIPLE=aarch64-linux-gnu-
|
||||
CROSS_COMPILE=aarch64-linux-androidkernel-
|
||||
+CC=clang
|
||||
DEFCONFIG=cuttlefish_defconfig
|
||||
EXTRA_CMDS=''
|
||||
KERNEL_DIR=common
|
||||
diff --git a/build.config.cuttlefish.x86_64 b/build.config.cuttlefish.x86_64
|
||||
index b49683d476d62..33063abed0edb 100644
|
||||
--- a/build.config.cuttlefish.x86_64
|
||||
+++ b/build.config.cuttlefish.x86_64
|
||||
@@ -1,7 +1,8 @@
|
||||
ARCH=x86_64
|
||||
-BRANCH=android-4.19
|
||||
+BRANCH=android-mainline
|
||||
CLANG_TRIPLE=x86_64-linux-gnu-
|
||||
CROSS_COMPILE=x86_64-linux-androidkernel-
|
||||
+CC=clang
|
||||
DEFCONFIG=x86_64_cuttlefish_defconfig
|
||||
EXTRA_CMDS=''
|
||||
KERNEL_DIR=common
|
||||
diff --git a/build.config.gki.x86_64 b/build.config.gki.x86_64
|
||||
new file mode 100644
|
||||
index 0000000000000..69d339dce4a0f
|
||||
--- /dev/null
|
||||
+++ b/build.config.gki.x86_64
|
||||
@@ -0,0 +1,17 @@
|
||||
+ARCH=x86_64
|
||||
+BRANCH=android-mainline
|
||||
+CLANG_TRIPLE=x86_64-linux-gnu-
|
||||
+CROSS_COMPILE=x86_64-linux-androidkernel-
|
||||
+CC=clang
|
||||
+DEFCONFIG=gki_defconfig
|
||||
+EXTRA_CMDS=''
|
||||
+KERNEL_DIR=common
|
||||
+POST_DEFCONFIG_CMDS="check_defconfig"
|
||||
+CLANG_PREBUILT_BIN=prebuilts-master/clang/host/linux-x86/clang-r353983c/bin
|
||||
+LINUX_GCC_CROSS_COMPILE_PREBUILTS_BIN=prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.9/bin
|
||||
+FILES="
|
||||
+arch/x86/boot/bzImage
|
||||
+vmlinux
|
||||
+System.map
|
||||
+"
|
||||
+STOP_SHIP_TRACEPRINTK=1
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
|
|
@ -0,0 +1,56 @@
|
|||
From 21019d4dee6cac07eebc9a624bf967fe22e1d902 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Rosenberg <drosen@google.com>
|
||||
Date: Tue, 16 Jul 2019 18:09:39 -0700
|
||||
Subject: ANDROID: Add show_options2 to view private mount data
|
||||
|
||||
Exposes private fs data via show_options2
|
||||
|
||||
Bug: 120446149
|
||||
Change-Id: I2d1c06fae274eeac03ac1924ef162f7bbb2f29d0
|
||||
Signed-off-by: Daniel Rosenberg <drosen@google.com>
|
||||
---
|
||||
fs/proc_namespace.c | 8 ++++++--
|
||||
include/linux/fs.h | 1 +
|
||||
2 files changed, 7 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/fs/proc_namespace.c b/fs/proc_namespace.c
|
||||
index e16fb8f2049e7..8fde658fdb112 100644
|
||||
--- a/fs/proc_namespace.c
|
||||
+++ b/fs/proc_namespace.c
|
||||
@@ -121,7 +121,9 @@ static int show_vfsmnt(struct seq_file *m, struct vfsmount *mnt)
|
||||
if (err)
|
||||
goto out;
|
||||
show_mnt_opts(m, mnt);
|
||||
- if (sb->s_op->show_options)
|
||||
+ if (sb->s_op->show_options2)
|
||||
+ err = sb->s_op->show_options2(mnt, m, mnt_path.dentry);
|
||||
+ else if (sb->s_op->show_options)
|
||||
err = sb->s_op->show_options(m, mnt_path.dentry);
|
||||
seq_puts(m, " 0 0\n");
|
||||
out:
|
||||
@@ -183,7 +185,9 @@ static int show_mountinfo(struct seq_file *m, struct vfsmount *mnt)
|
||||
err = show_sb_opts(m, sb);
|
||||
if (err)
|
||||
goto out;
|
||||
- if (sb->s_op->show_options)
|
||||
+ if (sb->s_op->show_options2) {
|
||||
+ err = sb->s_op->show_options2(mnt, m, mnt->mnt_root);
|
||||
+ } else if (sb->s_op->show_options)
|
||||
err = sb->s_op->show_options(m, mnt->mnt_root);
|
||||
seq_putc(m, '\n');
|
||||
out:
|
||||
diff --git a/include/linux/fs.h b/include/linux/fs.h
|
||||
index e9c1d5637c171..045bd6ff12ae1 100644
|
||||
--- a/include/linux/fs.h
|
||||
+++ b/include/linux/fs.h
|
||||
@@ -1940,6 +1940,7 @@ struct super_operations {
|
||||
void (*umount_begin) (struct super_block *);
|
||||
|
||||
int (*show_options)(struct seq_file *, struct dentry *);
|
||||
+ int (*show_options2)(struct vfsmount *,struct seq_file *, struct dentry *);
|
||||
int (*show_devname)(struct seq_file *, struct dentry *);
|
||||
int (*show_path)(struct seq_file *, struct dentry *);
|
||||
int (*show_stats)(struct seq_file *, struct dentry *);
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
|
|
@ -0,0 +1,176 @@
|
|||
From 8417edc3abbfaccc38e1bd89fd7f66232d73d541 Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Delva <adelva@google.com>
|
||||
Date: Wed, 4 Sep 2019 12:25:57 -0700
|
||||
Subject: ANDROID: Catch rockpi4_defconfig up with
|
||||
gki_defconfig
|
||||
|
||||
Change-Id: I640112a903d0b4944a087a4408241b901f37f6b8
|
||||
Signed-off-by: Alistair Delva <adelva@google.com>
|
||||
---
|
||||
arch/arm64/configs/rockpi4_defconfig | 31 +++++++++++++++-------------
|
||||
1 file changed, 17 insertions(+), 14 deletions(-)
|
||||
|
||||
diff --git a/arch/arm64/configs/rockpi4_defconfig b/arch/arm64/configs/rockpi4_defconfig
|
||||
index 6d0cf70f37570..2f97c1a8a60a6 100644
|
||||
--- a/arch/arm64/configs/rockpi4_defconfig
|
||||
+++ b/arch/arm64/configs/rockpi4_defconfig
|
||||
@@ -1,3 +1,4 @@
|
||||
+CONFIG_LOCALVERSION="-mainline"
|
||||
CONFIG_AUDIT=y
|
||||
CONFIG_NO_HZ=y
|
||||
CONFIG_HIGH_RES_TIMERS=y
|
||||
@@ -24,7 +25,6 @@ CONFIG_BLK_DEV_INITRD=y
|
||||
# CONFIG_RD_LZO is not set
|
||||
# CONFIG_RD_LZ4 is not set
|
||||
# CONFIG_SYSFS_SYSCALL is not set
|
||||
-CONFIG_FHANDLE=y
|
||||
CONFIG_KALLSYMS_ALL=y
|
||||
CONFIG_BPF_SYSCALL=y
|
||||
# CONFIG_RSEQ is not set
|
||||
@@ -35,8 +35,10 @@ CONFIG_EMBEDDED=y
|
||||
CONFIG_SLAB_FREELIST_RANDOM=y
|
||||
CONFIG_SLAB_FREELIST_HARDENED=y
|
||||
CONFIG_PROFILING=y
|
||||
+CONFIG_ARCH_QCOM=y
|
||||
CONFIG_ARCH_ROCKCHIP=y
|
||||
CONFIG_SCHED_MC=y
|
||||
+CONFIG_NR_CPUS=32
|
||||
CONFIG_SECCOMP=y
|
||||
CONFIG_PARAVIRT=y
|
||||
CONFIG_COMPAT=y
|
||||
@@ -45,9 +47,7 @@ CONFIG_SWP_EMULATION=y
|
||||
CONFIG_CP15_BARRIER_EMULATION=y
|
||||
CONFIG_SETEND_EMULATION=y
|
||||
CONFIG_RANDOMIZE_BASE=y
|
||||
-CONFIG_CMDLINE=""
|
||||
-# CONFIG_CMDLINE_FORCE is not set
|
||||
-# CONFIG_EFI is not set
|
||||
+# CONFIG_DMI is not set
|
||||
CONFIG_PM_WAKELOCKS=y
|
||||
CONFIG_PM_WAKELOCKS_LIMIT=0
|
||||
# CONFIG_PM_WAKELOCKS_GC is not set
|
||||
@@ -65,6 +65,7 @@ CONFIG_ARM_SCMI_PROTOCOL=y
|
||||
# CONFIG_ARM_SCMI_POWER_DOMAIN is not set
|
||||
CONFIG_ARM_SCPI_PROTOCOL=y
|
||||
# CONFIG_ARM_SCPI_POWER_DOMAIN is not set
|
||||
+# CONFIG_EFI_ARMSTUB_DTB_LOADER is not set
|
||||
CONFIG_VIRTUALIZATION=y
|
||||
CONFIG_KVM=y
|
||||
CONFIG_VHOST_VSOCK=y
|
||||
@@ -93,7 +94,6 @@ CONFIG_INET=y
|
||||
CONFIG_IP_MULTICAST=y
|
||||
CONFIG_IP_ADVANCED_ROUTER=y
|
||||
CONFIG_IP_MULTIPLE_TABLES=y
|
||||
-CONFIG_IP_PNP=y
|
||||
CONFIG_NET_IPGRE_DEMUX=y
|
||||
CONFIG_NET_IPVTI=y
|
||||
CONFIG_INET_ESP=y
|
||||
@@ -108,6 +108,7 @@ CONFIG_IPV6_MIP6=y
|
||||
CONFIG_IPV6_VTI=y
|
||||
CONFIG_IPV6_MULTIPLE_TABLES=y
|
||||
CONFIG_NETFILTER=y
|
||||
+# CONFIG_BRIDGE_NETFILTER is not set
|
||||
CONFIG_NF_CONNTRACK=y
|
||||
CONFIG_NF_CONNTRACK_SECMARK=y
|
||||
CONFIG_NF_CONNTRACK_EVENTS=y
|
||||
@@ -176,6 +177,7 @@ CONFIG_IP6_NF_FILTER=y
|
||||
CONFIG_IP6_NF_TARGET_REJECT=y
|
||||
CONFIG_IP6_NF_MANGLE=y
|
||||
CONFIG_IP6_NF_RAW=y
|
||||
+CONFIG_TIPC=y
|
||||
CONFIG_L2TP=y
|
||||
CONFIG_BRIDGE=y
|
||||
CONFIG_NET_SCHED=y
|
||||
@@ -376,7 +378,6 @@ CONFIG_WATCHDOG_PRETIMEOUT_GOV=y
|
||||
CONFIG_DW_WATCHDOG=y
|
||||
CONFIG_MFD_ACT8945A=y
|
||||
CONFIG_MFD_RK808=y
|
||||
-CONFIG_REGULATOR=y
|
||||
CONFIG_REGULATOR_DEBUG=y
|
||||
CONFIG_REGULATOR_FIXED_VOLTAGE=y
|
||||
CONFIG_REGULATOR_VIRTUAL_CONSUMER=y
|
||||
@@ -388,7 +389,6 @@ CONFIG_REGULATOR_VCTRL=y
|
||||
CONFIG_MEDIA_SUPPORT=y
|
||||
CONFIG_MEDIA_CAMERA_SUPPORT=y
|
||||
CONFIG_MEDIA_CONTROLLER=y
|
||||
-CONFIG_VIDEO_V4L2_SUBDEV_API=y
|
||||
# CONFIG_VGA_ARB is not set
|
||||
CONFIG_DRM=y
|
||||
# CONFIG_DRM_FBDEV_EMULATION is not set
|
||||
@@ -397,7 +397,6 @@ CONFIG_ROCKCHIP_DW_HDMI=y
|
||||
CONFIG_DRM_VIRTIO_GPU=y
|
||||
# CONFIG_LCD_CLASS_DEVICE is not set
|
||||
CONFIG_BACKLIGHT_CLASS_DEVICE=y
|
||||
-# CONFIG_BACKLIGHT_GENERIC is not set
|
||||
CONFIG_SOUND=y
|
||||
CONFIG_SND=y
|
||||
CONFIG_SND_HRTIMER=y
|
||||
@@ -427,6 +426,7 @@ CONFIG_USB_OHCI_HCD=y
|
||||
# CONFIG_USB_OHCI_HCD_PCI is not set
|
||||
CONFIG_USB_OHCI_HCD_PLATFORM=y
|
||||
CONFIG_USB_GADGET=y
|
||||
+CONFIG_USB_DUMMY_HCD=m
|
||||
CONFIG_USB_CONFIGFS=y
|
||||
CONFIG_USB_CONFIGFS_UEVENT=y
|
||||
CONFIG_USB_CONFIGFS_F_FS=y
|
||||
@@ -442,10 +442,10 @@ CONFIG_MMC_SDHCI_OF_ARASAN=y
|
||||
CONFIG_MMC_SDHCI_OF_DWCMSHC=y
|
||||
CONFIG_MMC_DW=y
|
||||
CONFIG_MMC_DW_ROCKCHIP=y
|
||||
-CONFIG_MMC_CQHCI=y
|
||||
CONFIG_NEW_LEDS=y
|
||||
CONFIG_LEDS_CLASS=y
|
||||
CONFIG_LEDS_TRIGGERS=y
|
||||
+CONFIG_EDAC=y
|
||||
CONFIG_RTC_CLASS=y
|
||||
# CONFIG_RTC_SYSTOHC is not set
|
||||
CONFIG_RTC_DRV_RK808=y
|
||||
@@ -462,16 +462,17 @@ CONFIG_STAGING=y
|
||||
CONFIG_ASHMEM=y
|
||||
CONFIG_ANDROID_VSOC=y
|
||||
CONFIG_ION=y
|
||||
+CONFIG_ION_SYSTEM_HEAP=y
|
||||
+CONFIG_ION_SYSTEM_CONTIG_HEAP=y
|
||||
CONFIG_COMMON_CLK_RK808=y
|
||||
CONFIG_COMMON_CLK_SCPI=y
|
||||
-# CONFIG_COMMON_CLK_XGENE is not set
|
||||
CONFIG_HWSPINLOCK=y
|
||||
-# CONFIG_FSL_ERRATUM_A008585 is not set
|
||||
-# CONFIG_HISILICON_ERRATUM_161010101 is not set
|
||||
CONFIG_MAILBOX=y
|
||||
CONFIG_ROCKCHIP_MBOX=y
|
||||
CONFIG_ROCKCHIP_IOMMU=y
|
||||
CONFIG_ARM_SMMU=y
|
||||
+CONFIG_QCOM_COMMAND_DB=y
|
||||
+CONFIG_QCOM_RPMH=y
|
||||
CONFIG_ROCKCHIP_PM_DOMAINS=y
|
||||
CONFIG_DEVFREQ_GOV_PERFORMANCE=y
|
||||
CONFIG_DEVFREQ_GOV_POWERSAVE=y
|
||||
@@ -480,10 +481,12 @@ CONFIG_DEVFREQ_GOV_PASSIVE=y
|
||||
CONFIG_ARM_RK3399_DMC_DEVFREQ=y
|
||||
CONFIG_PWM=y
|
||||
CONFIG_PWM_ROCKCHIP=y
|
||||
+CONFIG_QCOM_PDC=y
|
||||
CONFIG_PHY_ROCKCHIP_EMMC=y
|
||||
CONFIG_PHY_ROCKCHIP_INNO_HDMI=y
|
||||
CONFIG_PHY_ROCKCHIP_INNO_USB2=y
|
||||
CONFIG_PHY_ROCKCHIP_USB=y
|
||||
+CONFIG_RAS=y
|
||||
CONFIG_ANDROID=y
|
||||
CONFIG_ANDROID_BINDER_IPC=y
|
||||
CONFIG_ROCKCHIP_EFUSE=y
|
||||
@@ -500,9 +503,9 @@ CONFIG_FUSE_FS=y
|
||||
CONFIG_OVERLAY_FS=y
|
||||
CONFIG_MSDOS_FS=y
|
||||
CONFIG_VFAT_FS=y
|
||||
-CONFIG_TMPFS=y
|
||||
CONFIG_TMPFS_POSIX_ACL=y
|
||||
-CONFIG_ECRYPT_FS=y
|
||||
+# CONFIG_EFIVAR_FS is not set
|
||||
+CONFIG_SDCARD_FS=y
|
||||
CONFIG_PSTORE=y
|
||||
CONFIG_PSTORE_CONSOLE=y
|
||||
CONFIG_PSTORE_RAM=y
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
42
patches/ANDROID-Expose-gki_defconfig-to-build.config.patch
Normal file
42
patches/ANDROID-Expose-gki_defconfig-to-build.config.patch
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
From b2cb642b34dc982ed62783a109d7b73097942f6f Mon Sep 17 00:00:00 2001
|
||||
From: Matthias Maennich <maennich@google.com>
|
||||
Date: Wed, 8 May 2019 23:07:39 +0100
|
||||
Subject: ANDROID: Expose gki_defconfig to build.config
|
||||
|
||||
With this in place, the gki_defconfig can be build with build.sh
|
||||
machinery.
|
||||
|
||||
Bug: 132113225
|
||||
Change-Id: I4c623a866cd41aa4587e4fab1c4e5254f6680542
|
||||
Signed-off-by: Matthias Maennich <maennich@google.com>
|
||||
---
|
||||
build.config.gki.aarch64 | 17 +++++++++++++++++
|
||||
1 file changed, 17 insertions(+)
|
||||
create mode 100644 build.config.gki.aarch64
|
||||
|
||||
diff --git a/build.config.gki.aarch64 b/build.config.gki.aarch64
|
||||
new file mode 100644
|
||||
index 0000000000000..dec295284ffa0
|
||||
--- /dev/null
|
||||
+++ b/build.config.gki.aarch64
|
||||
@@ -0,0 +1,17 @@
|
||||
+ARCH=arm64
|
||||
+BRANCH=android-mainline
|
||||
+CLANG_TRIPLE=aarch64-linux-gnu-
|
||||
+CROSS_COMPILE=aarch64-linux-androidkernel-
|
||||
+CC=clang
|
||||
+DEFCONFIG=gki_defconfig
|
||||
+EXTRA_CMDS=''
|
||||
+KERNEL_DIR=common
|
||||
+POST_DEFCONFIG_CMDS="check_defconfig"
|
||||
+CLANG_PREBUILT_BIN=prebuilts-master/clang/host/linux-x86/clang-r349610/bin
|
||||
+LINUX_GCC_CROSS_COMPILE_PREBUILTS_BIN=prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/bin
|
||||
+FILES="
|
||||
+arch/arm64/boot/Image.gz
|
||||
+vmlinux
|
||||
+System.map
|
||||
+"
|
||||
+STOP_SHIP_TRACEPRINTK=1
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
37
patches/ANDROID-Fix-arm64-allmodconfig-build.patch
Normal file
37
patches/ANDROID-Fix-arm64-allmodconfig-build.patch
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
From 099f0261d93727c97aa0dea2ed22bedf991fe574 Mon Sep 17 00:00:00 2001
|
||||
From: Quentin Perret <qperret@google.com>
|
||||
Date: Tue, 24 Sep 2019 17:28:02 +0100
|
||||
Subject: ANDROID: Fix arm64 allmodconfig build
|
||||
|
||||
Allmodconfig on arm64 enables CPU_BIG_ENDIAN=y, which causes issues with
|
||||
ld.lld which doesn't support linking aarch64be-linux-gnu targets (see
|
||||
https://reviews.llvm.org/D58655#1410281). However, it is very unlikely
|
||||
that real android devices run with arm64 BE hardware in practice. So,
|
||||
until we can find a better fix, let's simply force CPU_BIG_ENDIAN=n for
|
||||
allmodconfig builds.
|
||||
|
||||
Bug: 141733632
|
||||
Bug: 140224784
|
||||
Signed-off-by: Quentin Perret <qperret@google.com>
|
||||
Change-Id: Ic4693ae1f462144c8219b397463ca341f6fe08a1
|
||||
---
|
||||
build.config.allmodconfig | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/build.config.allmodconfig b/build.config.allmodconfig
|
||||
index 6e0404b8de47..deaa8f3d5a69 100644
|
||||
--- a/build.config.allmodconfig
|
||||
+++ b/build.config.allmodconfig
|
||||
@@ -6,7 +6,8 @@ POST_DEFCONFIG_CMDS="update_config"
|
||||
function update_config() {
|
||||
${KERNEL_DIR}/scripts/config --file ${OUT_DIR}/.config \
|
||||
-d TEST_KMOD \
|
||||
- -d XFS_FS
|
||||
+ -d XFS_FS \
|
||||
+ -d CPU_BIG_ENDIAN
|
||||
(cd ${OUT_DIR} && \
|
||||
make O=${OUT_DIR} $archsubarch CC=${CC} CROSS_COMPILE=${CROSS_COMPILE} olddefconfig)
|
||||
}
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
46
patches/ANDROID-Fixed-x86-regression.patch
Normal file
46
patches/ANDROID-Fixed-x86-regression.patch
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
From 819b4d829053dd13e02aebc14f14b92078907655 Mon Sep 17 00:00:00 2001
|
||||
From: Ram Muthiah <rammuthiah@google.com>
|
||||
Date: Wed, 12 Jun 2019 14:25:25 -0700
|
||||
Subject: ANDROID: Fixed x86 regression
|
||||
|
||||
Added SMP and CMDLINE to defconfig
|
||||
|
||||
Test: Boot x86 gki
|
||||
Change-Id: I6930d60dceb5b180825337d5371d375259984a33
|
||||
Signed-off-by: Ram Muthiah <rammuthiah@google.com>
|
||||
---
|
||||
arch/x86/configs/gki_defconfig | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/arch/x86/configs/gki_defconfig b/arch/x86/configs/gki_defconfig
|
||||
index 864595c719e76..94690e9d016a2 100644
|
||||
--- a/arch/x86/configs/gki_defconfig
|
||||
+++ b/arch/x86/configs/gki_defconfig
|
||||
@@ -33,13 +33,14 @@ CONFIG_EMBEDDED=y
|
||||
CONFIG_SLAB_FREELIST_RANDOM=y
|
||||
CONFIG_SLAB_FREELIST_HARDENED=y
|
||||
CONFIG_PROFILING=y
|
||||
+CONFIG_SMP=y
|
||||
+CONFIG_CMDLINE_BOOL=y
|
||||
+CONFIG_CMDLINE="console=ttyS0 reboot=p"
|
||||
CONFIG_PM_WAKELOCKS=y
|
||||
CONFIG_PM_WAKELOCKS_LIMIT=0
|
||||
# CONFIG_PM_WAKELOCKS_GC is not set
|
||||
-CONFIG_CPU_FREQ=y
|
||||
CONFIG_CPU_FREQ_TIMES=y
|
||||
CONFIG_CPU_FREQ_GOV_POWERSAVE=y
|
||||
-CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
|
||||
CONFIG_IA32_EMULATION=y
|
||||
CONFIG_KPROBES=y
|
||||
CONFIG_MODULES=y
|
||||
@@ -288,7 +289,6 @@ CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
|
||||
CONFIG_STAGING=y
|
||||
CONFIG_ASHMEM=y
|
||||
CONFIG_ION=y
|
||||
-CONFIG_MAILBOX=y
|
||||
CONFIG_PM_DEVFREQ=y
|
||||
CONFIG_ANDROID=y
|
||||
CONFIG_ANDROID_BINDER_IPC=y
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
38
patches/ANDROID-Four-part-revert-of-asm-goto-usage-1-4.patch
Normal file
38
patches/ANDROID-Four-part-revert-of-asm-goto-usage-1-4.patch
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
From 1f523078f2c7bac8531c68f5b72e42157c202fce Mon Sep 17 00:00:00 2001
|
||||
From: Ram Muthiah <rammuthiah@google.com>
|
||||
Date: Tue, 21 May 2019 18:15:10 -0700
|
||||
Subject:
|
||||
|
||||
Revert "x86/uaccess: Dont leak the AC flag into __put_user() argument evaluation"
|
||||
This reverts commit 6ae865615fc43d014da2fd1f1bba7e81ee622d1b.
|
||||
|
||||
Bug: 120440614
|
||||
Bug: 132629930
|
||||
Change-Id: I38f78e20d255ab4b33546d2e9d98f64d7e590e1d
|
||||
Signed-off-by: Ram Muthiah <rammuthiah@google.com>
|
||||
---
|
||||
arch/x86/include/asm/uaccess.h | 7 +++----
|
||||
1 file changed, 3 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/arch/x86/include/asm/uaccess.h b/arch/x86/include/asm/uaccess.h
|
||||
index 35c225ede0e4f..29920ffb5df10 100644
|
||||
--- a/arch/x86/include/asm/uaccess.h
|
||||
+++ b/arch/x86/include/asm/uaccess.h
|
||||
@@ -429,11 +429,10 @@ do { \
|
||||
({ \
|
||||
__label__ __pu_label; \
|
||||
int __pu_err = -EFAULT; \
|
||||
- __typeof__(*(ptr)) __pu_val = (x); \
|
||||
- __typeof__(ptr) __pu_ptr = (ptr); \
|
||||
- __typeof__(size) __pu_size = (size); \
|
||||
+ __typeof__(*(ptr)) __pu_val; \
|
||||
+ __pu_val = x; \
|
||||
__uaccess_begin(); \
|
||||
- __put_user_size(__pu_val, __pu_ptr, __pu_size, __pu_label); \
|
||||
+ __put_user_size(__pu_val, (ptr), (size), __pu_label); \
|
||||
__pu_err = 0; \
|
||||
__pu_label: \
|
||||
__uaccess_end(); \
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
44
patches/ANDROID-Four-part-revert-of-asm-goto-usage-2-4.patch
Normal file
44
patches/ANDROID-Four-part-revert-of-asm-goto-usage-2-4.patch
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
From 6cbeaede2e4fdb044c67d99722a66b73b11b6701 Mon Sep 17 00:00:00 2001
|
||||
From: Ram Muthiah <rammuthiah@google.com>
|
||||
Date: Tue, 21 May 2019 18:15:21 -0700
|
||||
Subject:
|
||||
|
||||
Revert "x86/uaccess: Don't leak the AC flag into __put_user() value evaluation"
|
||||
This reverts commit 2a418cf3f5f1caf911af288e978d61c9844b0695.
|
||||
|
||||
Bug: 120440614
|
||||
Bug: 132629930
|
||||
Change-Id: Ib177230b39d1247060f425205d63d65065ed936a
|
||||
Signed-off-by: Ram Muthiah <rammuthiah@google.com>
|
||||
---
|
||||
arch/x86/include/asm/uaccess.h | 6 ++----
|
||||
1 file changed, 2 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/arch/x86/include/asm/uaccess.h b/arch/x86/include/asm/uaccess.h
|
||||
index 29920ffb5df10..c647784dd0c40 100644
|
||||
--- a/arch/x86/include/asm/uaccess.h
|
||||
+++ b/arch/x86/include/asm/uaccess.h
|
||||
@@ -282,7 +282,7 @@ do { \
|
||||
__put_user_goto(x, ptr, "l", "k", "ir", label); \
|
||||
break; \
|
||||
case 8: \
|
||||
- __put_user_goto_u64(x, ptr, label); \
|
||||
+ __put_user_goto_u64((__typeof__(*ptr))(x), ptr, label); \
|
||||
break; \
|
||||
default: \
|
||||
__put_user_bad(); \
|
||||
@@ -429,10 +429,8 @@ do { \
|
||||
({ \
|
||||
__label__ __pu_label; \
|
||||
int __pu_err = -EFAULT; \
|
||||
- __typeof__(*(ptr)) __pu_val; \
|
||||
- __pu_val = x; \
|
||||
__uaccess_begin(); \
|
||||
- __put_user_size(__pu_val, (ptr), (size), __pu_label); \
|
||||
+ __put_user_size((x), (ptr), (size), __pu_label); \
|
||||
__pu_err = 0; \
|
||||
__pu_label: \
|
||||
__uaccess_end(); \
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
127
patches/ANDROID-Four-part-revert-of-asm-goto-usage-3-4.patch
Normal file
127
patches/ANDROID-Four-part-revert-of-asm-goto-usage-3-4.patch
Normal file
|
|
@ -0,0 +1,127 @@
|
|||
From c4a6bc72fb2b9bd99de674d603b82ad74f5cbdb3 Mon Sep 17 00:00:00 2001
|
||||
From: Ram Muthiah <rammuthiah@google.com>
|
||||
Date: Tue, 21 May 2019 18:20:17 -0700
|
||||
Subject:
|
||||
|
||||
Revert "Use __put_user_goto in __put_user_size() and unsafe_put_user()"
|
||||
This reverts commit a959dc88f9c8900296ccf13e2f3e1cbc555a8917.
|
||||
|
||||
Bug: 120440614
|
||||
Bug: 132629930
|
||||
Change-Id: I07410ed2bc7552f16ec119fbc2001bb43ffef6f4
|
||||
Signed-off-by: Ram Muthiah <rammuthiah@google.com>
|
||||
---
|
||||
arch/x86/include/asm/uaccess.h | 57 ++++++++++++++++++++--------------
|
||||
1 file changed, 33 insertions(+), 24 deletions(-)
|
||||
|
||||
diff --git a/arch/x86/include/asm/uaccess.h b/arch/x86/include/asm/uaccess.h
|
||||
index c647784dd0c40..01e410fa97d99 100644
|
||||
--- a/arch/x86/include/asm/uaccess.h
|
||||
+++ b/arch/x86/include/asm/uaccess.h
|
||||
@@ -184,14 +184,19 @@ __typeof__(__builtin_choose_expr(sizeof(x) > sizeof(0UL), 0ULL, 0UL))
|
||||
|
||||
|
||||
#ifdef CONFIG_X86_32
|
||||
-#define __put_user_goto_u64(x, addr, label) \
|
||||
- asm_volatile_goto("\n" \
|
||||
- "1: movl %%eax,0(%1)\n" \
|
||||
- "2: movl %%edx,4(%1)\n" \
|
||||
- _ASM_EXTABLE_UA(1b, %l2) \
|
||||
- _ASM_EXTABLE_UA(2b, %l2) \
|
||||
- : : "A" (x), "r" (addr) \
|
||||
- : : label)
|
||||
+#define __put_user_asm_u64(x, addr, err, errret) \
|
||||
+ asm volatile("\n" \
|
||||
+ "1: movl %%eax,0(%2)\n" \
|
||||
+ "2: movl %%edx,4(%2)\n" \
|
||||
+ "3:" \
|
||||
+ ".section .fixup,\"ax\"\n" \
|
||||
+ "4: movl %3,%0\n" \
|
||||
+ " jmp 3b\n" \
|
||||
+ ".previous\n" \
|
||||
+ _ASM_EXTABLE_UA(1b, 4b) \
|
||||
+ _ASM_EXTABLE_UA(2b, 4b) \
|
||||
+ : "=r" (err) \
|
||||
+ : "A" (x), "r" (addr), "i" (errret), "0" (err))
|
||||
|
||||
#define __put_user_asm_ex_u64(x, addr) \
|
||||
asm volatile("\n" \
|
||||
@@ -206,8 +211,8 @@ __typeof__(__builtin_choose_expr(sizeof(x) > sizeof(0UL), 0ULL, 0UL))
|
||||
asm volatile("call __put_user_8" : "=a" (__ret_pu) \
|
||||
: "A" ((typeof(*(ptr)))(x)), "c" (ptr) : "ebx")
|
||||
#else
|
||||
-#define __put_user_goto_u64(x, ptr, label) \
|
||||
- __put_user_goto(x, ptr, "q", "", "er", label)
|
||||
+#define __put_user_asm_u64(x, ptr, retval, errret) \
|
||||
+ __put_user_asm(x, ptr, retval, "q", "", "er", errret)
|
||||
#define __put_user_asm_ex_u64(x, addr) \
|
||||
__put_user_asm_ex(x, addr, "q", "", "er")
|
||||
#define __put_user_x8(x, ptr, __ret_pu) __put_user_x(8, x, ptr, __ret_pu)
|
||||
@@ -268,21 +273,23 @@ extern void __put_user_8(void);
|
||||
__builtin_expect(__ret_pu, 0); \
|
||||
})
|
||||
|
||||
-#define __put_user_size(x, ptr, size, label) \
|
||||
+#define __put_user_size(x, ptr, size, retval, errret) \
|
||||
do { \
|
||||
+ retval = 0; \
|
||||
__chk_user_ptr(ptr); \
|
||||
switch (size) { \
|
||||
case 1: \
|
||||
- __put_user_goto(x, ptr, "b", "b", "iq", label); \
|
||||
+ __put_user_asm(x, ptr, retval, "b", "b", "iq", errret); \
|
||||
break; \
|
||||
case 2: \
|
||||
- __put_user_goto(x, ptr, "w", "w", "ir", label); \
|
||||
+ __put_user_asm(x, ptr, retval, "w", "w", "ir", errret); \
|
||||
break; \
|
||||
case 4: \
|
||||
- __put_user_goto(x, ptr, "l", "k", "ir", label); \
|
||||
+ __put_user_asm(x, ptr, retval, "l", "k", "ir", errret); \
|
||||
break; \
|
||||
case 8: \
|
||||
- __put_user_goto_u64((__typeof__(*ptr))(x), ptr, label); \
|
||||
+ __put_user_asm_u64((__typeof__(*ptr))(x), ptr, retval, \
|
||||
+ errret); \
|
||||
break; \
|
||||
default: \
|
||||
__put_user_bad(); \
|
||||
@@ -427,12 +434,9 @@ do { \
|
||||
|
||||
#define __put_user_nocheck(x, ptr, size) \
|
||||
({ \
|
||||
- __label__ __pu_label; \
|
||||
- int __pu_err = -EFAULT; \
|
||||
+ int __pu_err; \
|
||||
__uaccess_begin(); \
|
||||
- __put_user_size((x), (ptr), (size), __pu_label); \
|
||||
- __pu_err = 0; \
|
||||
-__pu_label: \
|
||||
+ __put_user_size((x), (ptr), (size), __pu_err, -EFAULT); \
|
||||
__uaccess_end(); \
|
||||
__builtin_expect(__pu_err, 0); \
|
||||
})
|
||||
@@ -716,11 +720,16 @@ static __must_check __always_inline bool user_access_begin(const void __user *pt
|
||||
#define user_access_begin(a,b) user_access_begin(a,b)
|
||||
#define user_access_end() __uaccess_end()
|
||||
|
||||
-#define user_access_save() smap_save()
|
||||
-#define user_access_restore(x) smap_restore(x)
|
||||
+#define user_access_save() smap_save()
|
||||
+#define user_access_restore(x) smap_restore(x)
|
||||
|
||||
-#define unsafe_put_user(x, ptr, label) \
|
||||
- __put_user_size((__typeof__(*(ptr)))(x), (ptr), sizeof(*(ptr)), label)
|
||||
+#define unsafe_put_user(x, ptr, err_label) \
|
||||
+do { \
|
||||
+ int __pu_err; \
|
||||
+ __typeof__(*(ptr)) __pu_val = (x); \
|
||||
+ __put_user_size(__pu_val, (ptr), sizeof(*(ptr)), __pu_err, -EFAULT); \
|
||||
+ if (unlikely(__pu_err)) goto err_label; \
|
||||
+} while (0)
|
||||
|
||||
#define unsafe_get_user(x, ptr, err_label) \
|
||||
do { \
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
58
patches/ANDROID-Four-part-revert-of-asm-goto-usage-4-4.patch
Normal file
58
patches/ANDROID-Four-part-revert-of-asm-goto-usage-4-4.patch
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
From 43da3e283a034446549fa6e8847a5dcbd3614422 Mon Sep 17 00:00:00 2001
|
||||
From: Ram Muthiah <rammuthiah@google.com>
|
||||
Date: Tue, 21 May 2019 18:21:54 -0700
|
||||
Subject:
|
||||
|
||||
Revert "x86 uaccess: Introduce __put_user_goto"
|
||||
This reverts commit 4a789213c9a54c8b618924d3421e56e98df8a447.
|
||||
|
||||
Bug: 120440614
|
||||
Bug: 132629930
|
||||
Change-Id: If5e90d475d74d9aa3505972f43bc4ee48bed038f
|
||||
Signed-off-by: Ram Muthiah <rammuthiah@google.com>
|
||||
---
|
||||
arch/x86/include/asm/uaccess.h | 28 +++++++++++-----------------
|
||||
1 file changed, 11 insertions(+), 17 deletions(-)
|
||||
|
||||
diff --git a/arch/x86/include/asm/uaccess.h b/arch/x86/include/asm/uaccess.h
|
||||
index 01e410fa97d99..b498ffae35cac 100644
|
||||
--- a/arch/x86/include/asm/uaccess.h
|
||||
+++ b/arch/x86/include/asm/uaccess.h
|
||||
@@ -463,23 +463,17 @@ struct __large_struct { unsigned long buf[100]; };
|
||||
* we do not write to any memory gcc knows about, so there are no
|
||||
* aliasing issues.
|
||||
*/
|
||||
-#define __put_user_goto(x, addr, itype, rtype, ltype, label) \
|
||||
- asm_volatile_goto("\n" \
|
||||
- "1: mov"itype" %"rtype"0,%1\n" \
|
||||
- _ASM_EXTABLE_UA(1b, %l2) \
|
||||
- : : ltype(x), "m" (__m(addr)) \
|
||||
- : : label)
|
||||
-
|
||||
-#define __put_user_failed(x, addr, itype, rtype, ltype, errret) \
|
||||
- ({ __label__ __puflab; \
|
||||
- int __pufret = errret; \
|
||||
- __put_user_goto(x,addr,itype,rtype,ltype,__puflab); \
|
||||
- __pufret = 0; \
|
||||
- __puflab: __pufret; })
|
||||
-
|
||||
-#define __put_user_asm(x, addr, retval, itype, rtype, ltype, errret) do { \
|
||||
- retval = __put_user_failed(x, addr, itype, rtype, ltype, errret); \
|
||||
-} while (0)
|
||||
+#define __put_user_asm(x, addr, err, itype, rtype, ltype, errret) \
|
||||
+ asm volatile("\n" \
|
||||
+ "1: mov"itype" %"rtype"1,%2\n" \
|
||||
+ "2:\n" \
|
||||
+ ".section .fixup,\"ax\"\n" \
|
||||
+ "3: mov %3,%0\n" \
|
||||
+ " jmp 2b\n" \
|
||||
+ ".previous\n" \
|
||||
+ _ASM_EXTABLE_UA(1b, 3b) \
|
||||
+ : "=r"(err) \
|
||||
+ : ltype(x), "m" (__m(addr)), "i" (errret), "0" (err))
|
||||
|
||||
#define __put_user_asm_ex(x, addr, itype, rtype, ltype) \
|
||||
asm volatile("1: mov"itype" %"rtype"0,%1\n" \
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
29
patches/ANDROID-GKI-enable-CONFIG_SPI-for-x86.patch
Normal file
29
patches/ANDROID-GKI-enable-CONFIG_SPI-for-x86.patch
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
From ec89293b2fdbe45c5af7a6e9d9456adb0f0ecf6b Mon Sep 17 00:00:00 2001
|
||||
From: Mark Salyzyn <salyzyn@google.com>
|
||||
Date: Tue, 3 Sep 2019 09:42:35 -0700
|
||||
Subject: ANDROID: GKI: enable CONFIG_SPI for x86
|
||||
|
||||
Adds compile coverage for SPI in the TH builds, runtime no so much.
|
||||
|
||||
Signed-off-by: Mark Salyzyn <salyzyn@google.com>
|
||||
Bug: 140290328
|
||||
Change-Id: I2d7777ab0e671248084880e5c1770b6ec6d7a650
|
||||
---
|
||||
arch/x86/configs/gki_defconfig | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/arch/x86/configs/gki_defconfig b/arch/x86/configs/gki_defconfig
|
||||
index e86cd1009a67c..9b76d55e8c413 100644
|
||||
--- a/arch/x86/configs/gki_defconfig
|
||||
+++ b/arch/x86/configs/gki_defconfig
|
||||
@@ -240,6 +240,7 @@ CONFIG_HW_RANDOM=y
|
||||
CONFIG_HW_RANDOM_VIRTIO=y
|
||||
# CONFIG_I2C_COMPAT is not set
|
||||
# CONFIG_I2C_HELPER_AUTO is not set
|
||||
+CONFIG_SPI=y
|
||||
CONFIG_GPIOLIB=y
|
||||
# CONFIG_HWMON is not set
|
||||
CONFIG_DEVFREQ_THERMAL=y
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
29
patches/ANDROID-GKI-enable-CONFIG_TIPC-for-x86.patch
Normal file
29
patches/ANDROID-GKI-enable-CONFIG_TIPC-for-x86.patch
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
From f88ffe6c2675a7ed714dc614478ab527669bfe4e Mon Sep 17 00:00:00 2001
|
||||
From: Mark Salyzyn <salyzyn@google.com>
|
||||
Date: Tue, 3 Sep 2019 13:17:23 -0700
|
||||
Subject: ANDROID: GKI: enable CONFIG_TIPC for x86
|
||||
|
||||
Adds compile coverage for TIPC in the TH builds, runtime not so much.
|
||||
|
||||
Signed-off-by: Mark Salyzyn <salyzyn@google.com>
|
||||
Bug: 140406060
|
||||
Change-Id: I7731157396372683c906f1f4eb2fdbdb7015f446
|
||||
---
|
||||
arch/x86/configs/gki_defconfig | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/arch/x86/configs/gki_defconfig b/arch/x86/configs/gki_defconfig
|
||||
index 9b76d55e8c413..6b0ff4ca236ab 100644
|
||||
--- a/arch/x86/configs/gki_defconfig
|
||||
+++ b/arch/x86/configs/gki_defconfig
|
||||
@@ -145,6 +145,7 @@ CONFIG_IP6_NF_FILTER=y
|
||||
CONFIG_IP6_NF_TARGET_REJECT=y
|
||||
CONFIG_IP6_NF_MANGLE=y
|
||||
CONFIG_IP6_NF_RAW=y
|
||||
+CONFIG_TIPC=y
|
||||
CONFIG_L2TP=y
|
||||
CONFIG_NET_SCHED=y
|
||||
CONFIG_NET_SCH_HTB=y
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
|
|
@ -0,0 +1,59 @@
|
|||
From 716306e82c3cdc7ef3347f3b84db5980c873bb22 Mon Sep 17 00:00:00 2001
|
||||
From: Sandeep Patil <sspatil@google.com>
|
||||
Date: Fri, 13 Sep 2019 14:50:38 -0700
|
||||
Subject: ANDROID: GKI: export cma symbols for cma heap as
|
||||
a module
|
||||
|
||||
Bug: 140294230
|
||||
Test: builds
|
||||
|
||||
Change-Id: I04c12174934c24a704d5c1e5be3e7e948c777a78
|
||||
Signed-off-by: Sandeep Patil <sspatil@google.com>
|
||||
---
|
||||
mm/cma.c | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/mm/cma.c b/mm/cma.c
|
||||
index 7fe0b8356775..db4642e58058 100644
|
||||
--- a/mm/cma.c
|
||||
+++ b/mm/cma.c
|
||||
@@ -24,6 +24,7 @@
|
||||
#include <linux/memblock.h>
|
||||
#include <linux/err.h>
|
||||
#include <linux/mm.h>
|
||||
+#include <linux/module.h>
|
||||
#include <linux/mutex.h>
|
||||
#include <linux/sizes.h>
|
||||
#include <linux/slab.h>
|
||||
@@ -54,6 +55,7 @@ const char *cma_get_name(const struct cma *cma)
|
||||
{
|
||||
return cma->name ? cma->name : "(undefined)";
|
||||
}
|
||||
+EXPORT_SYMBOL_GPL(cma_get_name);
|
||||
|
||||
static unsigned long cma_bitmap_aligned_mask(const struct cma *cma,
|
||||
unsigned int align_order)
|
||||
@@ -500,6 +502,7 @@ struct page *cma_alloc(struct cma *cma, size_t count, unsigned int align,
|
||||
pr_debug("%s(): returned %p\n", __func__, page);
|
||||
return page;
|
||||
}
|
||||
+EXPORT_SYMBOL_GPL(cma_alloc);
|
||||
|
||||
/**
|
||||
* cma_release() - release allocated pages
|
||||
@@ -533,6 +536,7 @@ bool cma_release(struct cma *cma, const struct page *pages, unsigned int count)
|
||||
|
||||
return true;
|
||||
}
|
||||
+EXPORT_SYMBOL_GPL(cma_release);
|
||||
|
||||
int cma_for_each_area(int (*it)(struct cma *cma, void *data), void *data)
|
||||
{
|
||||
@@ -547,3 +551,4 @@ int cma_for_each_area(int (*it)(struct cma *cma, void *data), void *data)
|
||||
|
||||
return 0;
|
||||
}
|
||||
+EXPORT_SYMBOL_GPL(cma_for_each_area);
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
60
patches/ANDROID-Initial-abi_gki_aarch64-definition.patch
Normal file
60
patches/ANDROID-Initial-abi_gki_aarch64-definition.patch
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
From 553049f81c5ad43603aa9b9a813d9c965ce6f2d7 Mon Sep 17 00:00:00 2001
|
||||
From: Matthias Maennich <maennich@google.com>
|
||||
Date: Tue, 28 May 2019 12:38:16 +0100
|
||||
Subject: ANDROID: Initial abi_gki_aarch64 definition
|
||||
|
||||
abi_gki_aarch64.out contains the ABI definition corresponding to the
|
||||
current sources and the configuration referred to in
|
||||
build.config.gki.aarch64.
|
||||
|
||||
As part of the build.sh tooling it will be copied over into the
|
||||
distribution for further inspection / analysis. See
|
||||
https://android-review.googlesource.com/970737 for details on that
|
||||
process.
|
||||
|
||||
This is the initial version of this definition to allow implementation
|
||||
of workflows around it. It is not considered stable at this point. It is
|
||||
expected that it will break with significant changes from either
|
||||
upstream or with changes implemented specific for this tree. Automated
|
||||
validation is supposed to catch differences between this definition and
|
||||
the actual binary before they are introduced into the tree. At a later
|
||||
stage this validation should be part of build.sh itself.
|
||||
|
||||
Bug: 133501930
|
||||
Change-Id: I815940ee13037ad450547e0ab0786e37f0b83d9b
|
||||
Signed-off-by: Matthias Maennich <maennich@google.com>
|
||||
---
|
||||
abi_gki_aarch64.out | 319440 ++++++++++++++++++++++++++++++++++++
|
||||
build.config.gki.aarch64 | 1 +
|
||||
2 files changed, 319441 insertions(+)
|
||||
create mode 100644 abi_gki_aarch64.out
|
||||
|
||||
Index: common/build.config.gki.aarch64
|
||||
===================================================================
|
||||
--- common.orig/build.config.gki.aarch64
|
||||
+++ common/build.config.gki.aarch64
|
||||
@@ -1,19 +1,5 @@
|
||||
-ARCH=arm64
|
||||
-BRANCH=android-mainline
|
||||
-CLANG_TRIPLE=aarch64-linux-gnu-
|
||||
-CROSS_COMPILE=aarch64-linux-androidkernel-
|
||||
-CC=clang
|
||||
-DEFCONFIG=gki_defconfig
|
||||
-EXTRA_CMDS=''
|
||||
-KERNEL_DIR=common
|
||||
-POST_DEFCONFIG_CMDS="check_defconfig"
|
||||
-CLANG_PREBUILT_BIN=prebuilts-master/clang/host/linux-x86/clang-r353983c/bin
|
||||
-BUILDTOOLS_PREBUILT_BIN=build/build-tools/path/linux-x86
|
||||
-LINUX_GCC_CROSS_COMPILE_PREBUILTS_BIN=prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/bin
|
||||
-FILES="
|
||||
-arch/arm64/boot/Image.gz
|
||||
-vmlinux
|
||||
-System.map
|
||||
-"
|
||||
-STOP_SHIP_TRACEPRINTK=1
|
||||
-BUILD_INITRAMFS=1
|
||||
+. ${ROOT_DIR}/common/build.config.common
|
||||
+. ${ROOT_DIR}/common/build.config.aarch64
|
||||
+. ${ROOT_DIR}/common/build.config.gki
|
||||
+
|
||||
+ABI_DEFINITION=abi_gki_aarch64.xml
|
||||
|
|
@ -0,0 +1,65 @@
|
|||
From 134911c36422e676c97964a4eddc66d6fbd00da9 Mon Sep 17 00:00:00 2001
|
||||
From: Greg Hackmann <ghackmann@google.com>
|
||||
Date: Tue, 25 Oct 2016 13:59:59 -0700
|
||||
Subject: ANDROID: Kbuild, LLVMLinux: allow overriding clang
|
||||
target triple
|
||||
|
||||
Android has an unusual setup where the kernel needs to target
|
||||
[arch]-linux-gnu to avoid Android userspace-specific flags and
|
||||
optimizations, but AOSP doesn't ship a matching binutils.
|
||||
|
||||
Add a new variable CLANG_TRIPLE which can override the "-target" triple
|
||||
used to compile the kernel, while using a different CROSS_COMPILE to
|
||||
pick the binutils/gcc installation. For Android you'd do something
|
||||
like:
|
||||
|
||||
export CLANG_TRIPLE=aarch64-linux-gnu-
|
||||
export CROSS_COMPILE=aarch64-linux-android-
|
||||
|
||||
If you don't need something like this, leave CLANG_TRIPLE unset and it
|
||||
will default to CROSS_COMPILE.
|
||||
|
||||
Change-Id: I85d63599c6ab8ed458071cdf9197d85b1f7f150b
|
||||
Signed-off-by: Greg Hackmann <ghackmann@google.com>
|
||||
[astrachan: Added a script to check for incorrectly falling back to the
|
||||
default when CLANG_TRIPLE is unset]
|
||||
Bug: 118439987
|
||||
Bug: 120440614
|
||||
Test: make CLANG_TRIPLE=x86_64-linux-gnu CC=clang
|
||||
Signed-off-by: Alistair Strachan <astrachan@google.com>
|
||||
---
|
||||
Makefile | 6 +++++-
|
||||
scripts/clang-android.sh | 4 ++++
|
||||
2 files changed, 9 insertions(+), 1 deletion(-)
|
||||
create mode 100755 scripts/clang-android.sh
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index 6886f22902c9c..4f2d1676df567 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -521,7 +521,11 @@ endif
|
||||
|
||||
ifneq ($(shell $(CC) --version 2>&1 | head -n 1 | grep clang),)
|
||||
ifneq ($(CROSS_COMPILE),)
|
||||
-CLANG_FLAGS += --target=$(notdir $(CROSS_COMPILE:%-=%))
|
||||
+CLANG_TRIPLE ?= $(CROSS_COMPILE)
|
||||
+CLANG_FLAGS += --target=$(notdir $(CLANG_TRIPLE:%-=%))
|
||||
+ifeq ($(shell $(srctree)/scripts/clang-android.sh $(CC) $(CLANG_FLAGS)), y)
|
||||
+$(error "Clang with Android --target detected. Did you specify CLANG_TRIPLE?")
|
||||
+endif
|
||||
GCC_TOOLCHAIN_DIR := $(dir $(shell which $(CROSS_COMPILE)elfedit))
|
||||
CLANG_FLAGS += --prefix=$(GCC_TOOLCHAIN_DIR)
|
||||
GCC_TOOLCHAIN := $(realpath $(GCC_TOOLCHAIN_DIR)/..)
|
||||
diff --git a/scripts/clang-android.sh b/scripts/clang-android.sh
|
||||
new file mode 100755
|
||||
index 0000000000000..9186c4f48576e
|
||||
--- /dev/null
|
||||
+++ b/scripts/clang-android.sh
|
||||
@@ -0,0 +1,4 @@
|
||||
+#!/bin/sh
|
||||
+# SPDX-License-Identifier: GPL-2.0
|
||||
+
|
||||
+$* -dM -E - </dev/null 2>&1 | grep -q __ANDROID__ && echo "y"
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
|
|
@ -0,0 +1,73 @@
|
|||
From 49c56f99b67531f610b33217b8e3840db1ea57e9 Mon Sep 17 00:00:00 2001
|
||||
From: zhuguangqing <zhuguangqing@xiaomi.com>
|
||||
Date: Fri, 23 Aug 2019 09:04:06 +0800
|
||||
Subject: ANDROID: Log which device failed to suspend in
|
||||
dpm_suspend_start()
|
||||
|
||||
Problem background: In the process of suspend, maybe some device suspend
|
||||
callback failed in dpm_suspend_start()/dpm_prepare()/dpm_suspend().
|
||||
Because it's after suspend_console(), so printf() is disabled now.
|
||||
Currently we can see "Some devices failed to suspend, or early wake
|
||||
event detected" by log_suspend_abort_reason() in bugreport. There are
|
||||
many devices but we don't know which exactly device failed. So we
|
||||
want to do a little change to record which device failed.
|
||||
|
||||
Note: I checked upstream LTS kernel, then I found the
|
||||
patch can not be sent upstream, because it uses function
|
||||
log_suspend_abort_reason() in wakeup_reason.c, the initial
|
||||
patch(https://patchwork.kernel.org/patch/3827331/) for adding
|
||||
/kernel/power/wakeup_reason.c is not accepted by upstream which
|
||||
was merged in AOSP common kernels. So maybe the patch could
|
||||
only be sent to AOSP common kernels.
|
||||
|
||||
Test: manual - Use modified version for daily use two days, from
|
||||
bugreport we can see which device failed.
|
||||
Bug: 120445600
|
||||
Change-Id: I326c87ca1263496db79d08ec615f12fc22452d7a
|
||||
Signed-off-by: zhuguangqing <zhuguangqing@xiaomi.com>
|
||||
---
|
||||
drivers/base/power/main.c | 1 +
|
||||
kernel/power/suspend.c | 7 +++++--
|
||||
2 files changed, 6 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/drivers/base/power/main.c b/drivers/base/power/main.c
|
||||
index 11d2eae19b07b..1f48fd8823197 100644
|
||||
--- a/drivers/base/power/main.c
|
||||
+++ b/drivers/base/power/main.c
|
||||
@@ -2007,6 +2007,7 @@ int dpm_prepare(pm_message_t state)
|
||||
}
|
||||
pr_info("Device %s not prepared for power transition: code %d\n",
|
||||
dev_name(dev), error);
|
||||
+ dpm_save_failed_dev(dev_name(dev));
|
||||
put_device(dev);
|
||||
break;
|
||||
}
|
||||
diff --git a/kernel/power/suspend.c b/kernel/power/suspend.c
|
||||
index 058c2be53d070..c528eb4ed84b8 100644
|
||||
--- a/kernel/power/suspend.c
|
||||
+++ b/kernel/power/suspend.c
|
||||
@@ -500,7 +500,7 @@ static int suspend_enter(suspend_state_t state, bool *wakeup)
|
||||
*/
|
||||
int suspend_devices_and_enter(suspend_state_t state)
|
||||
{
|
||||
- int error;
|
||||
+ int error, last_dev;
|
||||
bool wakeup = false;
|
||||
|
||||
if (!sleep_state_supported(state))
|
||||
@@ -519,8 +519,11 @@ int suspend_devices_and_enter(suspend_state_t state)
|
||||
suspend_test_start();
|
||||
error = dpm_suspend_start(PMSG_SUSPEND);
|
||||
if (error) {
|
||||
+ last_dev = suspend_stats.last_failed_dev + REC_FAILED_NUM - 1;
|
||||
+ last_dev %= REC_FAILED_NUM;
|
||||
pr_err("Some devices failed to suspend, or early wake event detected\n");
|
||||
- log_suspend_abort_reason("Some devices failed to suspend, or early wake event detected");
|
||||
+ log_suspend_abort_reason("%s device failed to suspend, or early wake event detected",
|
||||
+ suspend_stats.failed_devs[last_dev]);
|
||||
goto Recover_platform;
|
||||
}
|
||||
suspend_test_finish("suspend devices");
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
43
patches/ANDROID-Move-from-clang-r328903-to-r346389b.patch
Normal file
43
patches/ANDROID-Move-from-clang-r328903-to-r346389b.patch
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
From e73ed590cc04dd0c831b463e5e2b98bf1841dbcd Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Strachan <astrachan@google.com>
|
||||
Date: Fri, 7 Dec 2018 11:34:16 -0800
|
||||
Subject: ANDROID: Move from clang r328903 to r346389b.
|
||||
|
||||
Bug: 120439617
|
||||
Bug: 120503084
|
||||
Change-Id: I21bb183cac03753d1ba719a69305e2199c3f3227
|
||||
Signed-off-by: Alistair Strachan <astrachan@google.com>
|
||||
---
|
||||
build.config.cuttlefish.aarch64 | 2 +-
|
||||
build.config.cuttlefish.x86_64 | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/build.config.cuttlefish.aarch64 b/build.config.cuttlefish.aarch64
|
||||
index bfb1f560b2986..5fb372dce6a22 100644
|
||||
--- a/build.config.cuttlefish.aarch64
|
||||
+++ b/build.config.cuttlefish.aarch64
|
||||
@@ -6,7 +6,7 @@ DEFCONFIG=cuttlefish_defconfig
|
||||
EXTRA_CMDS=''
|
||||
KERNEL_DIR=common
|
||||
POST_DEFCONFIG_CMDS="check_defconfig"
|
||||
-CLANG_PREBUILT_BIN=prebuilts-master/clang/host/linux-x86/clang-r328903/bin
|
||||
+CLANG_PREBUILT_BIN=prebuilts-master/clang/host/linux-x86/clang-r346389b/bin
|
||||
LINUX_GCC_CROSS_COMPILE_PREBUILTS_BIN=prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/bin
|
||||
FILES="
|
||||
arch/arm64/boot/Image.gz
|
||||
diff --git a/build.config.cuttlefish.x86_64 b/build.config.cuttlefish.x86_64
|
||||
index 69813b30c8ea4..a81cb544f51a4 100644
|
||||
--- a/build.config.cuttlefish.x86_64
|
||||
+++ b/build.config.cuttlefish.x86_64
|
||||
@@ -6,7 +6,7 @@ DEFCONFIG=x86_64_cuttlefish_defconfig
|
||||
EXTRA_CMDS=''
|
||||
KERNEL_DIR=common
|
||||
POST_DEFCONFIG_CMDS="check_defconfig"
|
||||
-CLANG_PREBUILT_BIN=prebuilts-master/clang/host/linux-x86/clang-r328903/bin
|
||||
+CLANG_PREBUILT_BIN=prebuilts-master/clang/host/linux-x86/clang-r346389b/bin
|
||||
LINUX_GCC_CROSS_COMPILE_PREBUILTS_BIN=prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.9/bin
|
||||
FILES="
|
||||
arch/x86/boot/bzImage
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
44
patches/ANDROID-Move-from-clang-r346389b-to-r349610.patch
Normal file
44
patches/ANDROID-Move-from-clang-r346389b-to-r349610.patch
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
From 6ed72e9046b89a2821ad76f7250bcbee66316d09 Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Strachan <astrachan@google.com>
|
||||
Date: Tue, 12 Feb 2019 13:23:11 -0800
|
||||
Subject: ANDROID: Move from clang r346389b to r349610.
|
||||
|
||||
Bug: 123635022
|
||||
Test: make ARCH=arm64 cuttlefish_defconfig && make ARCH=arm64
|
||||
Test: make ARCH=x86_64 x86_64_cuttlefish_defconfig && make ARCH=x86_64
|
||||
Change-Id: Icc02ea92c13435fa5a6ecd33d8878629762fd2f7
|
||||
Signed-off-by: Alistair Strachan <astrachan@google.com>
|
||||
---
|
||||
build.config.cuttlefish.aarch64 | 2 +-
|
||||
build.config.cuttlefish.x86_64 | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/build.config.cuttlefish.aarch64 b/build.config.cuttlefish.aarch64
|
||||
index 5fb372dce6a22..fe921b46a9a8d 100644
|
||||
--- a/build.config.cuttlefish.aarch64
|
||||
+++ b/build.config.cuttlefish.aarch64
|
||||
@@ -6,7 +6,7 @@ DEFCONFIG=cuttlefish_defconfig
|
||||
EXTRA_CMDS=''
|
||||
KERNEL_DIR=common
|
||||
POST_DEFCONFIG_CMDS="check_defconfig"
|
||||
-CLANG_PREBUILT_BIN=prebuilts-master/clang/host/linux-x86/clang-r346389b/bin
|
||||
+CLANG_PREBUILT_BIN=prebuilts-master/clang/host/linux-x86/clang-r349610/bin
|
||||
LINUX_GCC_CROSS_COMPILE_PREBUILTS_BIN=prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/bin
|
||||
FILES="
|
||||
arch/arm64/boot/Image.gz
|
||||
diff --git a/build.config.cuttlefish.x86_64 b/build.config.cuttlefish.x86_64
|
||||
index a81cb544f51a4..31e4057673f41 100644
|
||||
--- a/build.config.cuttlefish.x86_64
|
||||
+++ b/build.config.cuttlefish.x86_64
|
||||
@@ -6,7 +6,7 @@ DEFCONFIG=x86_64_cuttlefish_defconfig
|
||||
EXTRA_CMDS=''
|
||||
KERNEL_DIR=common
|
||||
POST_DEFCONFIG_CMDS="check_defconfig"
|
||||
-CLANG_PREBUILT_BIN=prebuilts-master/clang/host/linux-x86/clang-r346389b/bin
|
||||
+CLANG_PREBUILT_BIN=prebuilts-master/clang/host/linux-x86/clang-r349610/bin
|
||||
LINUX_GCC_CROSS_COMPILE_PREBUILTS_BIN=prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.9/bin
|
||||
FILES="
|
||||
arch/x86/boot/bzImage
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
59
patches/ANDROID-Move-from-clang-r349610-to-r353983c.patch
Normal file
59
patches/ANDROID-Move-from-clang-r349610-to-r353983c.patch
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
From 04117ea579e13122c3c44954aa2b1233d65efa96 Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Strachan <astrachan@google.com>
|
||||
Date: Tue, 14 May 2019 16:07:58 -0700
|
||||
Subject: ANDROID: Move from clang r349610 to r353983c.
|
||||
|
||||
Bug: 120439617
|
||||
Bug: 132097678
|
||||
Test: make ARCH=arm64 cuttlefish_defconfig && make ARCH=arm64
|
||||
Test: make ARCH=x86_64 x86_64_cuttlefish_defconfig && make ARCH=x86_64
|
||||
Change-Id: If5542a39e36fb4de6dd4b4135a22e188f752dd84
|
||||
Signed-off-by: Alistair Strachan <astrachan@google.com>
|
||||
---
|
||||
build.config.cuttlefish.aarch64 | 2 +-
|
||||
build.config.cuttlefish.x86_64 | 2 +-
|
||||
build.config.gki.aarch64 | 2 +-
|
||||
3 files changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/build.config.cuttlefish.aarch64 b/build.config.cuttlefish.aarch64
|
||||
index fe921b46a9a8d..ec53d6eac9ea3 100644
|
||||
--- a/build.config.cuttlefish.aarch64
|
||||
+++ b/build.config.cuttlefish.aarch64
|
||||
@@ -6,7 +6,7 @@ DEFCONFIG=cuttlefish_defconfig
|
||||
EXTRA_CMDS=''
|
||||
KERNEL_DIR=common
|
||||
POST_DEFCONFIG_CMDS="check_defconfig"
|
||||
-CLANG_PREBUILT_BIN=prebuilts-master/clang/host/linux-x86/clang-r349610/bin
|
||||
+CLANG_PREBUILT_BIN=prebuilts-master/clang/host/linux-x86/clang-r353983c/bin
|
||||
LINUX_GCC_CROSS_COMPILE_PREBUILTS_BIN=prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/bin
|
||||
FILES="
|
||||
arch/arm64/boot/Image.gz
|
||||
diff --git a/build.config.cuttlefish.x86_64 b/build.config.cuttlefish.x86_64
|
||||
index 31e4057673f41..b49683d476d62 100644
|
||||
--- a/build.config.cuttlefish.x86_64
|
||||
+++ b/build.config.cuttlefish.x86_64
|
||||
@@ -6,7 +6,7 @@ DEFCONFIG=x86_64_cuttlefish_defconfig
|
||||
EXTRA_CMDS=''
|
||||
KERNEL_DIR=common
|
||||
POST_DEFCONFIG_CMDS="check_defconfig"
|
||||
-CLANG_PREBUILT_BIN=prebuilts-master/clang/host/linux-x86/clang-r349610/bin
|
||||
+CLANG_PREBUILT_BIN=prebuilts-master/clang/host/linux-x86/clang-r353983c/bin
|
||||
LINUX_GCC_CROSS_COMPILE_PREBUILTS_BIN=prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.9/bin
|
||||
FILES="
|
||||
arch/x86/boot/bzImage
|
||||
diff --git a/build.config.gki.aarch64 b/build.config.gki.aarch64
|
||||
index dec295284ffa0..ecc2985e92cb5 100644
|
||||
--- a/build.config.gki.aarch64
|
||||
+++ b/build.config.gki.aarch64
|
||||
@@ -7,7 +7,7 @@ DEFCONFIG=gki_defconfig
|
||||
EXTRA_CMDS=''
|
||||
KERNEL_DIR=common
|
||||
POST_DEFCONFIG_CMDS="check_defconfig"
|
||||
-CLANG_PREBUILT_BIN=prebuilts-master/clang/host/linux-x86/clang-r349610/bin
|
||||
+CLANG_PREBUILT_BIN=prebuilts-master/clang/host/linux-x86/clang-r353983c/bin
|
||||
LINUX_GCC_CROSS_COMPILE_PREBUILTS_BIN=prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/bin
|
||||
FILES="
|
||||
arch/arm64/boot/Image.gz
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
From a02c37bcdef853ce26e57f4697159820e655b7dc Mon Sep 17 00:00:00 2001
|
||||
From: Ram Muthiah <rammuthiah@google.com>
|
||||
Date: Fri, 20 Sep 2019 15:28:37 -0700
|
||||
Subject: ANDROID: Remove CONFIG_USELIB from x86 gki config
|
||||
|
||||
Bug: 138199351
|
||||
Change-Id: Ib517ad710337a38602bf7f30ecf616d6d02ca8af
|
||||
Signed-off-by: Ram Muthiah <rammuthiah@google.com>
|
||||
---
|
||||
arch/x86/configs/gki_defconfig | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/arch/x86/configs/gki_defconfig b/arch/x86/configs/gki_defconfig
|
||||
index bcd12981dff4..642729662b04 100644
|
||||
--- a/arch/x86/configs/gki_defconfig
|
||||
+++ b/arch/x86/configs/gki_defconfig
|
||||
@@ -1,4 +1,5 @@
|
||||
CONFIG_LOCALVERSION="-mainline"
|
||||
+# CONFIG_USELIB is not set
|
||||
CONFIG_AUDIT=y
|
||||
CONFIG_NO_HZ=y
|
||||
CONFIG_HIGH_RES_TIMERS=y
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
998
patches/ANDROID-Remove-unused-cuttlefish-build-infra.patch
Normal file
998
patches/ANDROID-Remove-unused-cuttlefish-build-infra.patch
Normal file
|
|
@ -0,0 +1,998 @@
|
|||
From 431e4d6c828bfe2ae7349f5f0221998a332119d7 Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Delva <adelva@google.com>
|
||||
Date: Mon, 12 Aug 2019 12:54:11 -0700
|
||||
Subject: ANDROID: Remove unused cuttlefish build infra
|
||||
|
||||
Cuttlefish will use gki_defconfig on this branch.
|
||||
|
||||
Change-Id: I20d37d538ca8f4de80282c4a3a98dbcfb7c33170
|
||||
Signed-off-by: Alistair Delva <adelva@google.com>
|
||||
---
|
||||
arch/arm64/configs/cuttlefish_defconfig | 443 -----------------
|
||||
arch/x86/configs/x86_64_cuttlefish_defconfig | 472 -------------------
|
||||
build.config.cuttlefish.aarch64 | 18 -
|
||||
build.config.cuttlefish.x86_64 | 18 -
|
||||
4 files changed, 951 deletions(-)
|
||||
delete mode 100644 arch/arm64/configs/cuttlefish_defconfig
|
||||
delete mode 100644 arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
delete mode 100644 build.config.cuttlefish.aarch64
|
||||
delete mode 100644 build.config.cuttlefish.x86_64
|
||||
|
||||
diff --git a/arch/arm64/configs/cuttlefish_defconfig b/arch/arm64/configs/cuttlefish_defconfig
|
||||
deleted file mode 100644
|
||||
index b84aad53e6d69..0000000000000
|
||||
--- a/arch/arm64/configs/cuttlefish_defconfig
|
||||
+++ /dev/null
|
||||
@@ -1,443 +0,0 @@
|
||||
-CONFIG_AUDIT=y
|
||||
-CONFIG_NO_HZ=y
|
||||
-CONFIG_HIGH_RES_TIMERS=y
|
||||
-CONFIG_PREEMPT=y
|
||||
-CONFIG_TASKSTATS=y
|
||||
-CONFIG_TASK_DELAY_ACCT=y
|
||||
-CONFIG_TASK_XACCT=y
|
||||
-CONFIG_TASK_IO_ACCOUNTING=y
|
||||
-CONFIG_PSI=y
|
||||
-CONFIG_IKCONFIG=y
|
||||
-CONFIG_IKCONFIG_PROC=y
|
||||
-CONFIG_MEMCG=y
|
||||
-CONFIG_MEMCG_SWAP=y
|
||||
-CONFIG_RT_GROUP_SCHED=y
|
||||
-CONFIG_CGROUP_FREEZER=y
|
||||
-CONFIG_CPUSETS=y
|
||||
-CONFIG_CGROUP_CPUACCT=y
|
||||
-CONFIG_CGROUP_BPF=y
|
||||
-CONFIG_SCHED_AUTOGROUP=y
|
||||
-CONFIG_BLK_DEV_INITRD=y
|
||||
-# CONFIG_RD_BZIP2 is not set
|
||||
-# CONFIG_RD_LZMA is not set
|
||||
-# CONFIG_RD_XZ is not set
|
||||
-# CONFIG_RD_LZO is not set
|
||||
-# CONFIG_RD_LZ4 is not set
|
||||
-CONFIG_SGETMASK_SYSCALL=y
|
||||
-# CONFIG_SYSFS_SYSCALL is not set
|
||||
-# CONFIG_FHANDLE is not set
|
||||
-CONFIG_KALLSYMS_ALL=y
|
||||
-CONFIG_BPF_SYSCALL=y
|
||||
-# CONFIG_RSEQ is not set
|
||||
-CONFIG_EMBEDDED=y
|
||||
-# CONFIG_VM_EVENT_COUNTERS is not set
|
||||
-# CONFIG_COMPAT_BRK is not set
|
||||
-# CONFIG_SLAB_MERGE_DEFAULT is not set
|
||||
-CONFIG_PROFILING=y
|
||||
-CONFIG_SCHED_MC=y
|
||||
-CONFIG_HZ_100=y
|
||||
-CONFIG_SECCOMP=y
|
||||
-CONFIG_PARAVIRT=y
|
||||
-CONFIG_ARM64_SW_TTBR0_PAN=y
|
||||
-CONFIG_COMPAT=y
|
||||
-CONFIG_ARMV8_DEPRECATED=y
|
||||
-CONFIG_SWP_EMULATION=y
|
||||
-CONFIG_CP15_BARRIER_EMULATION=y
|
||||
-CONFIG_SETEND_EMULATION=y
|
||||
-CONFIG_RANDOMIZE_BASE=y
|
||||
-# CONFIG_EFI is not set
|
||||
-CONFIG_PM_WAKELOCKS=y
|
||||
-CONFIG_PM_WAKELOCKS_LIMIT=0
|
||||
-# CONFIG_PM_WAKELOCKS_GC is not set
|
||||
-CONFIG_PM_DEBUG=y
|
||||
-CONFIG_ENERGY_MODEL=y
|
||||
-CONFIG_CPU_IDLE=y
|
||||
-CONFIG_ARM_CPUIDLE=y
|
||||
-CONFIG_CPU_FREQ=y
|
||||
-CONFIG_CPU_FREQ_TIMES=y
|
||||
-CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL=y
|
||||
-CONFIG_CPU_FREQ_GOV_POWERSAVE=y
|
||||
-CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
|
||||
-CONFIG_CPUFREQ_DT=y
|
||||
-CONFIG_ARM_SCPI_CPUFREQ=y
|
||||
-CONFIG_ARM_SCMI_CPUFREQ=y
|
||||
-CONFIG_ARM_SCMI_PROTOCOL=y
|
||||
-# CONFIG_ARM_SCMI_POWER_DOMAIN is not set
|
||||
-CONFIG_ARM_SCPI_PROTOCOL=y
|
||||
-# CONFIG_ARM_SCPI_POWER_DOMAIN is not set
|
||||
-CONFIG_KPROBES=y
|
||||
-CONFIG_MODULES=y
|
||||
-CONFIG_MODULE_UNLOAD=y
|
||||
-CONFIG_MODVERSIONS=y
|
||||
-# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
|
||||
-# CONFIG_SPARSEMEM_VMEMMAP is not set
|
||||
-CONFIG_KSM=y
|
||||
-CONFIG_TRANSPARENT_HUGEPAGE=y
|
||||
-CONFIG_ZSMALLOC=y
|
||||
-CONFIG_NET=y
|
||||
-CONFIG_PACKET=y
|
||||
-CONFIG_UNIX=y
|
||||
-CONFIG_XFRM_USER=y
|
||||
-CONFIG_XFRM_INTERFACE=y
|
||||
-CONFIG_XFRM_STATISTICS=y
|
||||
-CONFIG_NET_KEY=y
|
||||
-CONFIG_INET=y
|
||||
-CONFIG_IP_MULTICAST=y
|
||||
-CONFIG_IP_ADVANCED_ROUTER=y
|
||||
-CONFIG_IP_MULTIPLE_TABLES=y
|
||||
-CONFIG_NET_IPGRE_DEMUX=y
|
||||
-CONFIG_NET_IPVTI=y
|
||||
-CONFIG_INET_ESP=y
|
||||
-CONFIG_INET_UDP_DIAG=y
|
||||
-CONFIG_INET_DIAG_DESTROY=y
|
||||
-CONFIG_TCP_CONG_ADVANCED=y
|
||||
-# CONFIG_TCP_CONG_BIC is not set
|
||||
-# CONFIG_TCP_CONG_WESTWOOD is not set
|
||||
-# CONFIG_TCP_CONG_HTCP is not set
|
||||
-CONFIG_IPV6_ROUTER_PREF=y
|
||||
-CONFIG_IPV6_ROUTE_INFO=y
|
||||
-CONFIG_IPV6_OPTIMISTIC_DAD=y
|
||||
-CONFIG_INET6_ESP=y
|
||||
-CONFIG_INET6_IPCOMP=y
|
||||
-CONFIG_IPV6_MIP6=y
|
||||
-CONFIG_IPV6_VTI=y
|
||||
-CONFIG_IPV6_MULTIPLE_TABLES=y
|
||||
-CONFIG_NETFILTER=y
|
||||
-CONFIG_NF_CONNTRACK=y
|
||||
-CONFIG_NF_CONNTRACK_SECMARK=y
|
||||
-CONFIG_NF_CONNTRACK_EVENTS=y
|
||||
-CONFIG_NF_CONNTRACK_AMANDA=y
|
||||
-CONFIG_NF_CONNTRACK_FTP=y
|
||||
-CONFIG_NF_CONNTRACK_H323=y
|
||||
-CONFIG_NF_CONNTRACK_IRC=y
|
||||
-CONFIG_NF_CONNTRACK_NETBIOS_NS=y
|
||||
-CONFIG_NF_CONNTRACK_PPTP=y
|
||||
-CONFIG_NF_CONNTRACK_SANE=y
|
||||
-CONFIG_NF_CONNTRACK_TFTP=y
|
||||
-CONFIG_NF_CT_NETLINK=y
|
||||
-CONFIG_NETFILTER_XT_TARGET_CLASSIFY=y
|
||||
-CONFIG_NETFILTER_XT_TARGET_CONNMARK=y
|
||||
-CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=y
|
||||
-CONFIG_NETFILTER_XT_TARGET_CT=y
|
||||
-CONFIG_NETFILTER_XT_TARGET_IDLETIMER=y
|
||||
-CONFIG_NETFILTER_XT_TARGET_MARK=y
|
||||
-CONFIG_NETFILTER_XT_TARGET_NFLOG=y
|
||||
-CONFIG_NETFILTER_XT_TARGET_NFQUEUE=y
|
||||
-CONFIG_NETFILTER_XT_TARGET_TPROXY=y
|
||||
-CONFIG_NETFILTER_XT_TARGET_TRACE=y
|
||||
-CONFIG_NETFILTER_XT_TARGET_SECMARK=y
|
||||
-CONFIG_NETFILTER_XT_TARGET_TCPMSS=y
|
||||
-CONFIG_NETFILTER_XT_MATCH_BPF=y
|
||||
-CONFIG_NETFILTER_XT_MATCH_COMMENT=y
|
||||
-CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=y
|
||||
-CONFIG_NETFILTER_XT_MATCH_CONNMARK=y
|
||||
-CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y
|
||||
-CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=y
|
||||
-CONFIG_NETFILTER_XT_MATCH_HELPER=y
|
||||
-CONFIG_NETFILTER_XT_MATCH_IPRANGE=y
|
||||
-CONFIG_NETFILTER_XT_MATCH_LENGTH=y
|
||||
-CONFIG_NETFILTER_XT_MATCH_LIMIT=y
|
||||
-CONFIG_NETFILTER_XT_MATCH_MAC=y
|
||||
-CONFIG_NETFILTER_XT_MATCH_MARK=y
|
||||
-CONFIG_NETFILTER_XT_MATCH_OWNER=y
|
||||
-CONFIG_NETFILTER_XT_MATCH_POLICY=y
|
||||
-CONFIG_NETFILTER_XT_MATCH_PKTTYPE=y
|
||||
-CONFIG_NETFILTER_XT_MATCH_QUOTA=y
|
||||
-CONFIG_NETFILTER_XT_MATCH_QUOTA2=y
|
||||
-CONFIG_NETFILTER_XT_MATCH_SOCKET=y
|
||||
-CONFIG_NETFILTER_XT_MATCH_STATE=y
|
||||
-CONFIG_NETFILTER_XT_MATCH_STATISTIC=y
|
||||
-CONFIG_NETFILTER_XT_MATCH_STRING=y
|
||||
-CONFIG_NETFILTER_XT_MATCH_TIME=y
|
||||
-CONFIG_NETFILTER_XT_MATCH_U32=y
|
||||
-CONFIG_IP_NF_IPTABLES=y
|
||||
-CONFIG_IP_NF_MATCH_ECN=y
|
||||
-CONFIG_IP_NF_MATCH_TTL=y
|
||||
-CONFIG_IP_NF_FILTER=y
|
||||
-CONFIG_IP_NF_TARGET_REJECT=y
|
||||
-CONFIG_IP_NF_NAT=y
|
||||
-CONFIG_IP_NF_TARGET_MASQUERADE=y
|
||||
-CONFIG_IP_NF_TARGET_NETMAP=y
|
||||
-CONFIG_IP_NF_TARGET_REDIRECT=y
|
||||
-CONFIG_IP_NF_MANGLE=y
|
||||
-CONFIG_IP_NF_RAW=y
|
||||
-CONFIG_IP_NF_SECURITY=y
|
||||
-CONFIG_IP_NF_ARPTABLES=y
|
||||
-CONFIG_IP_NF_ARPFILTER=y
|
||||
-CONFIG_IP_NF_ARP_MANGLE=y
|
||||
-CONFIG_IP6_NF_IPTABLES=y
|
||||
-CONFIG_IP6_NF_MATCH_RPFILTER=y
|
||||
-CONFIG_IP6_NF_FILTER=y
|
||||
-CONFIG_IP6_NF_TARGET_REJECT=y
|
||||
-CONFIG_IP6_NF_MANGLE=y
|
||||
-CONFIG_IP6_NF_RAW=y
|
||||
-CONFIG_L2TP=y
|
||||
-CONFIG_NET_SCHED=y
|
||||
-CONFIG_NET_SCH_HTB=y
|
||||
-CONFIG_NET_SCH_NETEM=y
|
||||
-CONFIG_NET_SCH_INGRESS=y
|
||||
-CONFIG_NET_CLS_U32=y
|
||||
-CONFIG_NET_CLS_BPF=y
|
||||
-CONFIG_NET_EMATCH=y
|
||||
-CONFIG_NET_EMATCH_U32=y
|
||||
-CONFIG_NET_CLS_ACT=y
|
||||
-CONFIG_VSOCKETS=y
|
||||
-CONFIG_VIRTIO_VSOCKETS=y
|
||||
-CONFIG_CFG80211=y
|
||||
-# CONFIG_CFG80211_DEFAULT_PS is not set
|
||||
-# CONFIG_CFG80211_CRDA_SUPPORT is not set
|
||||
-CONFIG_MAC80211=y
|
||||
-# CONFIG_MAC80211_RC_MINSTREL is not set
|
||||
-CONFIG_RFKILL=y
|
||||
-CONFIG_PCI=y
|
||||
-CONFIG_PCI_HOST_GENERIC=y
|
||||
-CONFIG_DEVTMPFS=y
|
||||
-# CONFIG_ALLOW_DEV_COREDUMP is not set
|
||||
-CONFIG_DEBUG_DEVRES=y
|
||||
-CONFIG_OF_UNITTEST=y
|
||||
-CONFIG_ZRAM=y
|
||||
-CONFIG_BLK_DEV_LOOP=y
|
||||
-CONFIG_BLK_DEV_RAM=y
|
||||
-CONFIG_BLK_DEV_RAM_SIZE=8192
|
||||
-CONFIG_VIRTIO_BLK=y
|
||||
-CONFIG_UID_SYS_STATS=y
|
||||
-CONFIG_SCSI=y
|
||||
-# CONFIG_SCSI_PROC_FS is not set
|
||||
-CONFIG_BLK_DEV_SD=y
|
||||
-CONFIG_MD=y
|
||||
-CONFIG_BLK_DEV_DM=y
|
||||
-CONFIG_DM_CRYPT=y
|
||||
-CONFIG_DM_UEVENT=y
|
||||
-CONFIG_DM_VERITY=y
|
||||
-CONFIG_DM_VERITY_AVB=y
|
||||
-CONFIG_DM_VERITY_FEC=y
|
||||
-CONFIG_DM_BOW=y
|
||||
-CONFIG_NETDEVICES=y
|
||||
-CONFIG_NETCONSOLE=y
|
||||
-CONFIG_NETCONSOLE_DYNAMIC=y
|
||||
-CONFIG_TUN=y
|
||||
-CONFIG_VIRTIO_NET=y
|
||||
-# CONFIG_ETHERNET is not set
|
||||
-CONFIG_PHYLIB=y
|
||||
-CONFIG_PPP=y
|
||||
-CONFIG_PPP_BSDCOMP=y
|
||||
-CONFIG_PPP_DEFLATE=y
|
||||
-CONFIG_PPP_MPPE=y
|
||||
-CONFIG_PPTP=y
|
||||
-CONFIG_PPPOL2TP=y
|
||||
-CONFIG_USB_RTL8152=y
|
||||
-CONFIG_USB_USBNET=y
|
||||
-# CONFIG_USB_NET_AX8817X is not set
|
||||
-# CONFIG_USB_NET_AX88179_178A is not set
|
||||
-# CONFIG_USB_NET_CDCETHER is not set
|
||||
-# CONFIG_USB_NET_CDC_NCM is not set
|
||||
-# CONFIG_USB_NET_NET1080 is not set
|
||||
-# CONFIG_USB_NET_CDC_SUBSET is not set
|
||||
-# CONFIG_USB_NET_ZAURUS is not set
|
||||
-# CONFIG_WLAN_VENDOR_ADMTEK is not set
|
||||
-# CONFIG_WLAN_VENDOR_ATH is not set
|
||||
-# CONFIG_WLAN_VENDOR_ATMEL is not set
|
||||
-# CONFIG_WLAN_VENDOR_BROADCOM is not set
|
||||
-# CONFIG_WLAN_VENDOR_CISCO is not set
|
||||
-# CONFIG_WLAN_VENDOR_INTEL is not set
|
||||
-# CONFIG_WLAN_VENDOR_INTERSIL is not set
|
||||
-# CONFIG_WLAN_VENDOR_MARVELL is not set
|
||||
-# CONFIG_WLAN_VENDOR_MEDIATEK is not set
|
||||
-# CONFIG_WLAN_VENDOR_RALINK is not set
|
||||
-# CONFIG_WLAN_VENDOR_REALTEK is not set
|
||||
-# CONFIG_WLAN_VENDOR_RSI is not set
|
||||
-# CONFIG_WLAN_VENDOR_ST is not set
|
||||
-# CONFIG_WLAN_VENDOR_TI is not set
|
||||
-# CONFIG_WLAN_VENDOR_ZYDAS is not set
|
||||
-# CONFIG_WLAN_VENDOR_QUANTENNA is not set
|
||||
-CONFIG_VIRT_WIFI=y
|
||||
-CONFIG_INPUT_EVDEV=y
|
||||
-# CONFIG_INPUT_KEYBOARD is not set
|
||||
-# CONFIG_INPUT_MOUSE is not set
|
||||
-CONFIG_INPUT_JOYSTICK=y
|
||||
-CONFIG_JOYSTICK_XPAD=y
|
||||
-CONFIG_JOYSTICK_XPAD_FF=y
|
||||
-CONFIG_JOYSTICK_XPAD_LEDS=y
|
||||
-CONFIG_INPUT_TABLET=y
|
||||
-CONFIG_TABLET_USB_ACECAD=y
|
||||
-CONFIG_TABLET_USB_AIPTEK=y
|
||||
-CONFIG_TABLET_USB_GTCO=y
|
||||
-CONFIG_TABLET_USB_HANWANG=y
|
||||
-CONFIG_TABLET_USB_KBTAB=y
|
||||
-CONFIG_INPUT_MISC=y
|
||||
-CONFIG_INPUT_UINPUT=y
|
||||
-# CONFIG_VT is not set
|
||||
-# CONFIG_LEGACY_PTYS is not set
|
||||
-# CONFIG_DEVMEM is not set
|
||||
-CONFIG_SERIAL_8250=y
|
||||
-# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
|
||||
-CONFIG_SERIAL_8250_CONSOLE=y
|
||||
-# CONFIG_SERIAL_8250_EXAR is not set
|
||||
-CONFIG_SERIAL_8250_NR_UARTS=48
|
||||
-CONFIG_SERIAL_8250_EXTENDED=y
|
||||
-CONFIG_SERIAL_8250_MANY_PORTS=y
|
||||
-CONFIG_SERIAL_8250_SHARE_IRQ=y
|
||||
-CONFIG_SERIAL_OF_PLATFORM=y
|
||||
-CONFIG_SERIAL_AMBA_PL011=y
|
||||
-CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
|
||||
-CONFIG_VIRTIO_CONSOLE=y
|
||||
-CONFIG_HW_RANDOM=y
|
||||
-CONFIG_HW_RANDOM_VIRTIO=y
|
||||
-# CONFIG_HW_RANDOM_CAVIUM is not set
|
||||
-# CONFIG_DEVPORT is not set
|
||||
-# CONFIG_I2C_COMPAT is not set
|
||||
-# CONFIG_I2C_HELPER_AUTO is not set
|
||||
-# CONFIG_HWMON is not set
|
||||
-CONFIG_THERMAL=y
|
||||
-CONFIG_CPU_THERMAL=y
|
||||
-CONFIG_MEDIA_SUPPORT=y
|
||||
-# CONFIG_VGA_ARB is not set
|
||||
-CONFIG_DRM=y
|
||||
-# CONFIG_DRM_FBDEV_EMULATION is not set
|
||||
-CONFIG_DRM_VIRTIO_GPU=y
|
||||
-CONFIG_SOUND=y
|
||||
-CONFIG_SND=y
|
||||
-CONFIG_SND_HRTIMER=y
|
||||
-# CONFIG_SND_SUPPORT_OLD_API is not set
|
||||
-# CONFIG_SND_VERBOSE_PROCFS is not set
|
||||
-# CONFIG_SND_DRIVERS is not set
|
||||
-CONFIG_SND_INTEL8X0=y
|
||||
-# CONFIG_SND_USB is not set
|
||||
-CONFIG_HIDRAW=y
|
||||
-CONFIG_UHID=y
|
||||
-CONFIG_HID_A4TECH=y
|
||||
-CONFIG_HID_ACRUX=y
|
||||
-CONFIG_HID_ACRUX_FF=y
|
||||
-CONFIG_HID_APPLE=y
|
||||
-CONFIG_HID_BELKIN=y
|
||||
-CONFIG_HID_CHERRY=y
|
||||
-CONFIG_HID_CHICONY=y
|
||||
-CONFIG_HID_PRODIKEYS=y
|
||||
-CONFIG_HID_CYPRESS=y
|
||||
-CONFIG_HID_DRAGONRISE=y
|
||||
-CONFIG_DRAGONRISE_FF=y
|
||||
-CONFIG_HID_EMS_FF=y
|
||||
-CONFIG_HID_ELECOM=y
|
||||
-CONFIG_HID_EZKEY=y
|
||||
-CONFIG_HID_HOLTEK=y
|
||||
-CONFIG_HID_KEYTOUCH=y
|
||||
-CONFIG_HID_KYE=y
|
||||
-CONFIG_HID_UCLOGIC=y
|
||||
-CONFIG_HID_WALTOP=y
|
||||
-CONFIG_HID_GYRATION=y
|
||||
-CONFIG_HID_TWINHAN=y
|
||||
-CONFIG_HID_KENSINGTON=y
|
||||
-CONFIG_HID_LCPOWER=y
|
||||
-CONFIG_HID_LOGITECH=y
|
||||
-CONFIG_HID_LOGITECH_DJ=y
|
||||
-CONFIG_LOGITECH_FF=y
|
||||
-CONFIG_LOGIRUMBLEPAD2_FF=y
|
||||
-CONFIG_LOGIG940_FF=y
|
||||
-CONFIG_HID_MAGICMOUSE=y
|
||||
-CONFIG_HID_MICROSOFT=y
|
||||
-CONFIG_HID_MONTEREY=y
|
||||
-CONFIG_HID_MULTITOUCH=y
|
||||
-CONFIG_HID_NTRIG=y
|
||||
-CONFIG_HID_ORTEK=y
|
||||
-CONFIG_HID_PANTHERLORD=y
|
||||
-CONFIG_PANTHERLORD_FF=y
|
||||
-CONFIG_HID_PETALYNX=y
|
||||
-CONFIG_HID_PICOLCD=y
|
||||
-CONFIG_HID_PRIMAX=y
|
||||
-CONFIG_HID_ROCCAT=y
|
||||
-CONFIG_HID_SAITEK=y
|
||||
-CONFIG_HID_SAMSUNG=y
|
||||
-CONFIG_HID_SONY=y
|
||||
-CONFIG_HID_SPEEDLINK=y
|
||||
-CONFIG_HID_SUNPLUS=y
|
||||
-CONFIG_HID_GREENASIA=y
|
||||
-CONFIG_GREENASIA_FF=y
|
||||
-CONFIG_HID_SMARTJOYPLUS=y
|
||||
-CONFIG_SMARTJOYPLUS_FF=y
|
||||
-CONFIG_HID_TIVO=y
|
||||
-CONFIG_HID_TOPSEED=y
|
||||
-CONFIG_HID_THRUSTMASTER=y
|
||||
-CONFIG_HID_WACOM=y
|
||||
-CONFIG_HID_WIIMOTE=y
|
||||
-CONFIG_HID_ZEROPLUS=y
|
||||
-CONFIG_HID_ZYDACRON=y
|
||||
-CONFIG_USB_HIDDEV=y
|
||||
-CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
|
||||
-CONFIG_USB_EHCI_HCD=y
|
||||
-CONFIG_USB_GADGET=y
|
||||
-CONFIG_USB_CONFIGFS=y
|
||||
-CONFIG_USB_CONFIGFS_UEVENT=y
|
||||
-CONFIG_USB_CONFIGFS_F_FS=y
|
||||
-CONFIG_USB_CONFIGFS_F_ACC=y
|
||||
-CONFIG_USB_CONFIGFS_F_AUDIO_SRC=y
|
||||
-CONFIG_USB_CONFIGFS_F_MIDI=y
|
||||
-CONFIG_MMC=y
|
||||
-# CONFIG_PWRSEQ_EMMC is not set
|
||||
-# CONFIG_PWRSEQ_SIMPLE is not set
|
||||
-# CONFIG_MMC_BLOCK is not set
|
||||
-CONFIG_RTC_CLASS=y
|
||||
-# CONFIG_RTC_SYSTOHC is not set
|
||||
-CONFIG_RTC_DRV_PL030=y
|
||||
-CONFIG_RTC_DRV_PL031=y
|
||||
-CONFIG_VIRTIO_PCI=y
|
||||
-# CONFIG_VIRTIO_PCI_LEGACY is not set
|
||||
-CONFIG_VIRTIO_INPUT=y
|
||||
-CONFIG_VIRTIO_MMIO=y
|
||||
-CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
|
||||
-CONFIG_STAGING=y
|
||||
-CONFIG_ASHMEM=y
|
||||
-CONFIG_ANDROID_VSOC=y
|
||||
-CONFIG_ION=y
|
||||
-CONFIG_ION_SYSTEM_HEAP=y
|
||||
-CONFIG_COMMON_CLK_SCPI=y
|
||||
-# CONFIG_COMMON_CLK_XGENE is not set
|
||||
-CONFIG_MAILBOX=y
|
||||
-# CONFIG_IOMMU_SUPPORT is not set
|
||||
-CONFIG_ANDROID=y
|
||||
-CONFIG_ANDROID_BINDER_IPC=y
|
||||
-CONFIG_EXT4_FS=y
|
||||
-CONFIG_EXT4_FS_SECURITY=y
|
||||
-CONFIG_F2FS_FS=y
|
||||
-CONFIG_F2FS_FS_SECURITY=y
|
||||
-CONFIG_FS_ENCRYPTION=y
|
||||
-# CONFIG_DNOTIFY is not set
|
||||
-CONFIG_QUOTA=y
|
||||
-CONFIG_QFMT_V2=y
|
||||
-CONFIG_FUSE_FS=y
|
||||
-CONFIG_OVERLAY_FS=y
|
||||
-CONFIG_MSDOS_FS=y
|
||||
-CONFIG_VFAT_FS=y
|
||||
-CONFIG_TMPFS=y
|
||||
-CONFIG_TMPFS_POSIX_ACL=y
|
||||
-CONFIG_SDCARD_FS=y
|
||||
-CONFIG_PSTORE=y
|
||||
-CONFIG_PSTORE_CONSOLE=y
|
||||
-CONFIG_PSTORE_RAM=y
|
||||
-CONFIG_SECURITY_PERF_EVENTS_RESTRICT=y
|
||||
-CONFIG_SECURITY=y
|
||||
-CONFIG_SECURITY_NETWORK=y
|
||||
-CONFIG_LSM_MMAP_MIN_ADDR=65536
|
||||
-CONFIG_HARDENED_USERCOPY=y
|
||||
-CONFIG_SECURITY_SELINUX=y
|
||||
-CONFIG_CRYPTO_ADIANTUM=y
|
||||
-CONFIG_CRYPTO_SHA512=y
|
||||
-CONFIG_CRYPTO_LZ4=y
|
||||
-CONFIG_CRYPTO_ZSTD=y
|
||||
-CONFIG_CRYPTO_ANSI_CPRNG=y
|
||||
-CONFIG_CRYPTO_DEV_VIRTIO=y
|
||||
-CONFIG_XZ_DEC=y
|
||||
-CONFIG_PRINTK_TIME=y
|
||||
-CONFIG_DEBUG_INFO=y
|
||||
-# CONFIG_ENABLE_MUST_CHECK is not set
|
||||
-CONFIG_FRAME_WARN=1024
|
||||
-# CONFIG_SECTION_MISMATCH_WARN_ONLY is not set
|
||||
-CONFIG_MAGIC_SYSRQ=y
|
||||
-CONFIG_DEBUG_STACK_USAGE=y
|
||||
-CONFIG_DEBUG_MEMORY_INIT=y
|
||||
-CONFIG_SOFTLOCKUP_DETECTOR=y
|
||||
-# CONFIG_DETECT_HUNG_TASK is not set
|
||||
-CONFIG_PANIC_TIMEOUT=5
|
||||
-CONFIG_SCHEDSTATS=y
|
||||
-CONFIG_RCU_CPU_STALL_TIMEOUT=60
|
||||
-CONFIG_ENABLE_DEFAULT_TRACERS=y
|
||||
-# CONFIG_RUNTIME_TESTING_MENU is not set
|
||||
diff --git a/arch/x86/configs/x86_64_cuttlefish_defconfig b/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
deleted file mode 100644
|
||||
index cad481541d690..0000000000000
|
||||
--- a/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
+++ /dev/null
|
||||
@@ -1,472 +0,0 @@
|
||||
-CONFIG_POSIX_MQUEUE=y
|
||||
-# CONFIG_USELIB is not set
|
||||
-CONFIG_AUDIT=y
|
||||
-CONFIG_NO_HZ=y
|
||||
-CONFIG_HIGH_RES_TIMERS=y
|
||||
-CONFIG_PREEMPT=y
|
||||
-CONFIG_BSD_PROCESS_ACCT=y
|
||||
-CONFIG_TASKSTATS=y
|
||||
-CONFIG_TASK_DELAY_ACCT=y
|
||||
-CONFIG_TASK_XACCT=y
|
||||
-CONFIG_TASK_IO_ACCOUNTING=y
|
||||
-CONFIG_PSI=y
|
||||
-CONFIG_IKCONFIG=y
|
||||
-CONFIG_IKCONFIG_PROC=y
|
||||
-CONFIG_CGROUPS=y
|
||||
-CONFIG_MEMCG=y
|
||||
-CONFIG_MEMCG_SWAP=y
|
||||
-CONFIG_CGROUP_SCHED=y
|
||||
-CONFIG_RT_GROUP_SCHED=y
|
||||
-CONFIG_CGROUP_FREEZER=y
|
||||
-CONFIG_CPUSETS=y
|
||||
-# CONFIG_PROC_PID_CPUSET is not set
|
||||
-CONFIG_CGROUP_CPUACCT=y
|
||||
-CONFIG_CGROUP_BPF=y
|
||||
-CONFIG_NAMESPACES=y
|
||||
-CONFIG_BLK_DEV_INITRD=y
|
||||
-# CONFIG_RD_LZ4 is not set
|
||||
-# CONFIG_FHANDLE is not set
|
||||
-# CONFIG_PCSPKR_PLATFORM is not set
|
||||
-CONFIG_KALLSYMS_ALL=y
|
||||
-CONFIG_BPF_SYSCALL=y
|
||||
-CONFIG_EMBEDDED=y
|
||||
-# CONFIG_COMPAT_BRK is not set
|
||||
-CONFIG_PROFILING=y
|
||||
-CONFIG_SMP=y
|
||||
-CONFIG_HYPERVISOR_GUEST=y
|
||||
-CONFIG_PARAVIRT=y
|
||||
-CONFIG_PARAVIRT_SPINLOCKS=y
|
||||
-CONFIG_MCORE2=y
|
||||
-CONFIG_PROCESSOR_SELECT=y
|
||||
-# CONFIG_CPU_SUP_CENTAUR is not set
|
||||
-CONFIG_NR_CPUS=8
|
||||
-# CONFIG_MICROCODE is not set
|
||||
-CONFIG_X86_MSR=y
|
||||
-CONFIG_X86_CPUID=y
|
||||
-# CONFIG_MTRR is not set
|
||||
-CONFIG_HZ_100=y
|
||||
-CONFIG_KEXEC=y
|
||||
-CONFIG_CRASH_DUMP=y
|
||||
-CONFIG_PHYSICAL_START=0x200000
|
||||
-CONFIG_PHYSICAL_ALIGN=0x1000000
|
||||
-CONFIG_CMDLINE_BOOL=y
|
||||
-CONFIG_CMDLINE="console=ttyS0 reboot=p"
|
||||
-CONFIG_PM_WAKELOCKS=y
|
||||
-CONFIG_PM_WAKELOCKS_LIMIT=0
|
||||
-# CONFIG_PM_WAKELOCKS_GC is not set
|
||||
-CONFIG_PM_DEBUG=y
|
||||
-CONFIG_ACPI_PROCFS_POWER=y
|
||||
-# CONFIG_ACPI_FAN is not set
|
||||
-# CONFIG_ACPI_THERMAL is not set
|
||||
-# CONFIG_X86_PM_TIMER is not set
|
||||
-CONFIG_CPU_FREQ_TIMES=y
|
||||
-CONFIG_CPU_FREQ_GOV_ONDEMAND=y
|
||||
-CONFIG_X86_ACPI_CPUFREQ=y
|
||||
-CONFIG_PCI_MSI=y
|
||||
-CONFIG_IA32_EMULATION=y
|
||||
-# CONFIG_FIRMWARE_MEMMAP is not set
|
||||
-CONFIG_OPROFILE=y
|
||||
-CONFIG_KPROBES=y
|
||||
-CONFIG_REFCOUNT_FULL=y
|
||||
-CONFIG_MODULES=y
|
||||
-CONFIG_MODULE_UNLOAD=y
|
||||
-CONFIG_MODVERSIONS=y
|
||||
-CONFIG_PARTITION_ADVANCED=y
|
||||
-# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
|
||||
-CONFIG_BINFMT_MISC=y
|
||||
-CONFIG_KSM=y
|
||||
-CONFIG_DEFAULT_MMAP_MIN_ADDR=65536
|
||||
-CONFIG_TRANSPARENT_HUGEPAGE=y
|
||||
-CONFIG_ZSMALLOC=y
|
||||
-CONFIG_NET=y
|
||||
-CONFIG_PACKET=y
|
||||
-CONFIG_UNIX=y
|
||||
-CONFIG_XFRM_USER=y
|
||||
-CONFIG_NET_KEY=y
|
||||
-CONFIG_INET=y
|
||||
-CONFIG_IP_MULTICAST=y
|
||||
-CONFIG_IP_ADVANCED_ROUTER=y
|
||||
-CONFIG_IP_MULTIPLE_TABLES=y
|
||||
-CONFIG_IP_ROUTE_MULTIPATH=y
|
||||
-CONFIG_IP_ROUTE_VERBOSE=y
|
||||
-CONFIG_IP_MROUTE=y
|
||||
-CONFIG_IP_PIMSM_V1=y
|
||||
-CONFIG_IP_PIMSM_V2=y
|
||||
-CONFIG_SYN_COOKIES=y
|
||||
-CONFIG_NET_IPVTI=y
|
||||
-CONFIG_INET_ESP=y
|
||||
-CONFIG_INET_UDP_DIAG=y
|
||||
-CONFIG_INET_DIAG_DESTROY=y
|
||||
-CONFIG_TCP_CONG_ADVANCED=y
|
||||
-# CONFIG_TCP_CONG_BIC is not set
|
||||
-# CONFIG_TCP_CONG_WESTWOOD is not set
|
||||
-# CONFIG_TCP_CONG_HTCP is not set
|
||||
-CONFIG_TCP_MD5SIG=y
|
||||
-CONFIG_IPV6_ROUTER_PREF=y
|
||||
-CONFIG_IPV6_ROUTE_INFO=y
|
||||
-CONFIG_IPV6_OPTIMISTIC_DAD=y
|
||||
-CONFIG_INET6_AH=y
|
||||
-CONFIG_INET6_ESP=y
|
||||
-CONFIG_INET6_IPCOMP=y
|
||||
-CONFIG_IPV6_MIP6=y
|
||||
-CONFIG_IPV6_VTI=y
|
||||
-CONFIG_IPV6_MULTIPLE_TABLES=y
|
||||
-CONFIG_NETLABEL=y
|
||||
-CONFIG_NETFILTER=y
|
||||
-CONFIG_NF_CONNTRACK=y
|
||||
-CONFIG_NF_CONNTRACK_SECMARK=y
|
||||
-CONFIG_NF_CONNTRACK_EVENTS=y
|
||||
-CONFIG_NF_CONNTRACK_AMANDA=y
|
||||
-CONFIG_NF_CONNTRACK_FTP=y
|
||||
-CONFIG_NF_CONNTRACK_H323=y
|
||||
-CONFIG_NF_CONNTRACK_IRC=y
|
||||
-CONFIG_NF_CONNTRACK_NETBIOS_NS=y
|
||||
-CONFIG_NF_CONNTRACK_PPTP=y
|
||||
-CONFIG_NF_CONNTRACK_SANE=y
|
||||
-CONFIG_NF_CONNTRACK_TFTP=y
|
||||
-CONFIG_NF_CT_NETLINK=y
|
||||
-CONFIG_NETFILTER_XT_TARGET_CLASSIFY=y
|
||||
-CONFIG_NETFILTER_XT_TARGET_CONNMARK=y
|
||||
-CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=y
|
||||
-CONFIG_NETFILTER_XT_TARGET_CT=y
|
||||
-CONFIG_NETFILTER_XT_TARGET_IDLETIMER=y
|
||||
-CONFIG_NETFILTER_XT_TARGET_MARK=y
|
||||
-CONFIG_NETFILTER_XT_TARGET_NFLOG=y
|
||||
-CONFIG_NETFILTER_XT_TARGET_NFQUEUE=y
|
||||
-CONFIG_NETFILTER_XT_TARGET_TPROXY=y
|
||||
-CONFIG_NETFILTER_XT_TARGET_TRACE=y
|
||||
-CONFIG_NETFILTER_XT_TARGET_SECMARK=y
|
||||
-CONFIG_NETFILTER_XT_TARGET_TCPMSS=y
|
||||
-CONFIG_NETFILTER_XT_MATCH_BPF=y
|
||||
-CONFIG_NETFILTER_XT_MATCH_COMMENT=y
|
||||
-CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=y
|
||||
-CONFIG_NETFILTER_XT_MATCH_CONNMARK=y
|
||||
-CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y
|
||||
-CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=y
|
||||
-CONFIG_NETFILTER_XT_MATCH_HELPER=y
|
||||
-CONFIG_NETFILTER_XT_MATCH_IPRANGE=y
|
||||
-CONFIG_NETFILTER_XT_MATCH_LENGTH=y
|
||||
-CONFIG_NETFILTER_XT_MATCH_LIMIT=y
|
||||
-CONFIG_NETFILTER_XT_MATCH_MAC=y
|
||||
-CONFIG_NETFILTER_XT_MATCH_MARK=y
|
||||
-CONFIG_NETFILTER_XT_MATCH_OWNER=y
|
||||
-CONFIG_NETFILTER_XT_MATCH_POLICY=y
|
||||
-CONFIG_NETFILTER_XT_MATCH_PKTTYPE=y
|
||||
-CONFIG_NETFILTER_XT_MATCH_QUOTA=y
|
||||
-CONFIG_NETFILTER_XT_MATCH_QUOTA2=y
|
||||
-CONFIG_NETFILTER_XT_MATCH_SOCKET=y
|
||||
-CONFIG_NETFILTER_XT_MATCH_STATE=y
|
||||
-CONFIG_NETFILTER_XT_MATCH_STATISTIC=y
|
||||
-CONFIG_NETFILTER_XT_MATCH_STRING=y
|
||||
-CONFIG_NETFILTER_XT_MATCH_TIME=y
|
||||
-CONFIG_NETFILTER_XT_MATCH_U32=y
|
||||
-CONFIG_IP_NF_IPTABLES=y
|
||||
-CONFIG_IP_NF_MATCH_AH=y
|
||||
-CONFIG_IP_NF_MATCH_ECN=y
|
||||
-CONFIG_IP_NF_MATCH_TTL=y
|
||||
-CONFIG_IP_NF_FILTER=y
|
||||
-CONFIG_IP_NF_TARGET_REJECT=y
|
||||
-CONFIG_IP_NF_NAT=y
|
||||
-CONFIG_IP_NF_TARGET_MASQUERADE=y
|
||||
-CONFIG_IP_NF_TARGET_NETMAP=y
|
||||
-CONFIG_IP_NF_TARGET_REDIRECT=y
|
||||
-CONFIG_IP_NF_MANGLE=y
|
||||
-CONFIG_IP_NF_RAW=y
|
||||
-CONFIG_IP_NF_SECURITY=y
|
||||
-CONFIG_IP_NF_ARPTABLES=y
|
||||
-CONFIG_IP_NF_ARPFILTER=y
|
||||
-CONFIG_IP_NF_ARP_MANGLE=y
|
||||
-CONFIG_IP6_NF_IPTABLES=y
|
||||
-CONFIG_IP6_NF_MATCH_IPV6HEADER=y
|
||||
-CONFIG_IP6_NF_MATCH_RPFILTER=y
|
||||
-CONFIG_IP6_NF_FILTER=y
|
||||
-CONFIG_IP6_NF_TARGET_REJECT=y
|
||||
-CONFIG_IP6_NF_MANGLE=y
|
||||
-CONFIG_IP6_NF_RAW=y
|
||||
-CONFIG_NET_SCHED=y
|
||||
-CONFIG_NET_SCH_HTB=y
|
||||
-CONFIG_NET_SCH_NETEM=y
|
||||
-CONFIG_NET_SCH_INGRESS=y
|
||||
-CONFIG_NET_CLS_U32=y
|
||||
-CONFIG_NET_CLS_BPF=y
|
||||
-CONFIG_NET_EMATCH=y
|
||||
-CONFIG_NET_EMATCH_U32=y
|
||||
-CONFIG_NET_CLS_ACT=y
|
||||
-CONFIG_VSOCKETS=y
|
||||
-CONFIG_VIRTIO_VSOCKETS=y
|
||||
-CONFIG_CFG80211=y
|
||||
-CONFIG_MAC80211=y
|
||||
-CONFIG_RFKILL=y
|
||||
-CONFIG_PCI=y
|
||||
-CONFIG_PCI_MSI=y
|
||||
-CONFIG_DEVTMPFS=y
|
||||
-CONFIG_DEBUG_DEVRES=y
|
||||
-CONFIG_OF=y
|
||||
-CONFIG_OF_UNITTEST=y
|
||||
-# CONFIG_PNP_DEBUG_MESSAGES is not set
|
||||
-CONFIG_ZRAM=y
|
||||
-CONFIG_BLK_DEV_LOOP=y
|
||||
-CONFIG_BLK_DEV_RAM=y
|
||||
-CONFIG_BLK_DEV_RAM_SIZE=8192
|
||||
-CONFIG_VIRTIO_BLK=y
|
||||
-CONFIG_UID_SYS_STATS=y
|
||||
-CONFIG_SCSI=y
|
||||
-CONFIG_BLK_DEV_SD=y
|
||||
-CONFIG_BLK_DEV_SR=y
|
||||
-CONFIG_BLK_DEV_SR_VENDOR=y
|
||||
-CONFIG_CHR_DEV_SG=y
|
||||
-CONFIG_SCSI_CONSTANTS=y
|
||||
-CONFIG_SCSI_SPI_ATTRS=y
|
||||
-CONFIG_MD=y
|
||||
-CONFIG_BLK_DEV_DM=y
|
||||
-CONFIG_DM_CRYPT=y
|
||||
-CONFIG_DM_MIRROR=y
|
||||
-CONFIG_DM_ZERO=y
|
||||
-CONFIG_DM_UEVENT=y
|
||||
-CONFIG_DM_VERITY=y
|
||||
-CONFIG_DM_VERITY_AVB=y
|
||||
-CONFIG_DM_VERITY_FEC=y
|
||||
-CONFIG_DM_BOW=y
|
||||
-CONFIG_NETDEVICES=y
|
||||
-CONFIG_NETCONSOLE=y
|
||||
-CONFIG_NETCONSOLE_DYNAMIC=y
|
||||
-CONFIG_TUN=y
|
||||
-CONFIG_VIRTIO_NET=y
|
||||
-# CONFIG_ETHERNET is not set
|
||||
-CONFIG_PPP=y
|
||||
-CONFIG_PPP_BSDCOMP=y
|
||||
-CONFIG_PPP_DEFLATE=y
|
||||
-CONFIG_PPP_MPPE=y
|
||||
-CONFIG_USB_RTL8152=y
|
||||
-CONFIG_USB_USBNET=y
|
||||
-# CONFIG_USB_NET_AX8817X is not set
|
||||
-# CONFIG_USB_NET_AX88179_178A is not set
|
||||
-# CONFIG_USB_NET_CDCETHER is not set
|
||||
-# CONFIG_USB_NET_CDC_NCM is not set
|
||||
-# CONFIG_USB_NET_NET1080 is not set
|
||||
-# CONFIG_USB_NET_CDC_SUBSET is not set
|
||||
-# CONFIG_USB_NET_ZAURUS is not set
|
||||
-# CONFIG_WLAN_VENDOR_ADMTEK is not set
|
||||
-# CONFIG_WLAN_VENDOR_ATH is not set
|
||||
-# CONFIG_WLAN_VENDOR_ATMEL is not set
|
||||
-# CONFIG_WLAN_VENDOR_BROADCOM is not set
|
||||
-# CONFIG_WLAN_VENDOR_CISCO is not set
|
||||
-# CONFIG_WLAN_VENDOR_INTEL is not set
|
||||
-# CONFIG_WLAN_VENDOR_INTERSIL is not set
|
||||
-# CONFIG_WLAN_VENDOR_MARVELL is not set
|
||||
-# CONFIG_WLAN_VENDOR_MEDIATEK is not set
|
||||
-# CONFIG_WLAN_VENDOR_RALINK is not set
|
||||
-# CONFIG_WLAN_VENDOR_REALTEK is not set
|
||||
-# CONFIG_WLAN_VENDOR_RSI is not set
|
||||
-# CONFIG_WLAN_VENDOR_ST is not set
|
||||
-# CONFIG_WLAN_VENDOR_TI is not set
|
||||
-# CONFIG_WLAN_VENDOR_ZYDAS is not set
|
||||
-# CONFIG_WLAN_VENDOR_QUANTENNA is not set
|
||||
-CONFIG_MAC80211_HWSIM=y
|
||||
-CONFIG_VIRT_WIFI=y
|
||||
-CONFIG_INPUT_MOUSEDEV=y
|
||||
-CONFIG_INPUT_EVDEV=y
|
||||
-# CONFIG_INPUT_KEYBOARD is not set
|
||||
-# CONFIG_INPUT_MOUSE is not set
|
||||
-CONFIG_INPUT_JOYSTICK=y
|
||||
-CONFIG_JOYSTICK_XPAD=y
|
||||
-CONFIG_JOYSTICK_XPAD_FF=y
|
||||
-CONFIG_JOYSTICK_XPAD_LEDS=y
|
||||
-CONFIG_INPUT_TABLET=y
|
||||
-CONFIG_TABLET_USB_ACECAD=y
|
||||
-CONFIG_TABLET_USB_AIPTEK=y
|
||||
-CONFIG_TABLET_USB_GTCO=y
|
||||
-CONFIG_TABLET_USB_HANWANG=y
|
||||
-CONFIG_TABLET_USB_KBTAB=y
|
||||
-CONFIG_INPUT_MISC=y
|
||||
-CONFIG_INPUT_UINPUT=y
|
||||
-# CONFIG_SERIO_I8042 is not set
|
||||
-# CONFIG_VT is not set
|
||||
-# CONFIG_LEGACY_PTYS is not set
|
||||
-# CONFIG_DEVMEM is not set
|
||||
-CONFIG_SERIAL_8250=y
|
||||
-# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
|
||||
-CONFIG_SERIAL_8250_CONSOLE=y
|
||||
-# CONFIG_SERIAL_8250_EXAR is not set
|
||||
-CONFIG_SERIAL_8250_NR_UARTS=48
|
||||
-CONFIG_SERIAL_8250_EXTENDED=y
|
||||
-CONFIG_SERIAL_8250_MANY_PORTS=y
|
||||
-CONFIG_SERIAL_8250_SHARE_IRQ=y
|
||||
-CONFIG_VIRTIO_CONSOLE=y
|
||||
-CONFIG_HW_RANDOM=y
|
||||
-# CONFIG_HW_RANDOM_INTEL is not set
|
||||
-# CONFIG_HW_RANDOM_AMD is not set
|
||||
-# CONFIG_HW_RANDOM_VIA is not set
|
||||
-CONFIG_HW_RANDOM_VIRTIO=y
|
||||
-CONFIG_HPET=y
|
||||
-# CONFIG_HPET_MMAP_DEFAULT is not set
|
||||
-# CONFIG_DEVPORT is not set
|
||||
-# CONFIG_ACPI_I2C_OPREGION is not set
|
||||
-# CONFIG_I2C_COMPAT is not set
|
||||
-# CONFIG_I2C_HELPER_AUTO is not set
|
||||
-CONFIG_PTP_1588_CLOCK=y
|
||||
-# CONFIG_HWMON is not set
|
||||
-# CONFIG_X86_PKG_TEMP_THERMAL is not set
|
||||
-CONFIG_WATCHDOG=y
|
||||
-CONFIG_SOFT_WATCHDOG=y
|
||||
-CONFIG_MEDIA_SUPPORT=y
|
||||
-# CONFIG_VGA_ARB is not set
|
||||
-CONFIG_DRM=y
|
||||
-# CONFIG_DRM_FBDEV_EMULATION is not set
|
||||
-CONFIG_DRM_VIRTIO_GPU=y
|
||||
-CONFIG_SOUND=y
|
||||
-CONFIG_SND=y
|
||||
-CONFIG_SND_HRTIMER=y
|
||||
-# CONFIG_SND_SUPPORT_OLD_API is not set
|
||||
-# CONFIG_SND_VERBOSE_PROCFS is not set
|
||||
-# CONFIG_SND_DRIVERS is not set
|
||||
-CONFIG_SND_INTEL8X0=y
|
||||
-# CONFIG_SND_USB is not set
|
||||
-CONFIG_HIDRAW=y
|
||||
-CONFIG_UHID=y
|
||||
-CONFIG_HID_A4TECH=y
|
||||
-CONFIG_HID_ACRUX=y
|
||||
-CONFIG_HID_ACRUX_FF=y
|
||||
-CONFIG_HID_APPLE=y
|
||||
-CONFIG_HID_BELKIN=y
|
||||
-CONFIG_HID_CHERRY=y
|
||||
-CONFIG_HID_CHICONY=y
|
||||
-CONFIG_HID_PRODIKEYS=y
|
||||
-CONFIG_HID_CYPRESS=y
|
||||
-CONFIG_HID_DRAGONRISE=y
|
||||
-CONFIG_DRAGONRISE_FF=y
|
||||
-CONFIG_HID_EMS_FF=y
|
||||
-CONFIG_HID_ELECOM=y
|
||||
-CONFIG_HID_EZKEY=y
|
||||
-CONFIG_HID_HOLTEK=y
|
||||
-CONFIG_HID_KEYTOUCH=y
|
||||
-CONFIG_HID_KYE=y
|
||||
-CONFIG_HID_UCLOGIC=y
|
||||
-CONFIG_HID_WALTOP=y
|
||||
-CONFIG_HID_GYRATION=y
|
||||
-CONFIG_HID_TWINHAN=y
|
||||
-CONFIG_HID_KENSINGTON=y
|
||||
-CONFIG_HID_LCPOWER=y
|
||||
-CONFIG_HID_LOGITECH=y
|
||||
-CONFIG_HID_LOGITECH_DJ=y
|
||||
-CONFIG_LOGITECH_FF=y
|
||||
-CONFIG_LOGIRUMBLEPAD2_FF=y
|
||||
-CONFIG_LOGIG940_FF=y
|
||||
-CONFIG_HID_MAGICMOUSE=y
|
||||
-CONFIG_HID_MICROSOFT=y
|
||||
-CONFIG_HID_MONTEREY=y
|
||||
-CONFIG_HID_MULTITOUCH=y
|
||||
-CONFIG_HID_NTRIG=y
|
||||
-CONFIG_HID_ORTEK=y
|
||||
-CONFIG_HID_PANTHERLORD=y
|
||||
-CONFIG_PANTHERLORD_FF=y
|
||||
-CONFIG_HID_PETALYNX=y
|
||||
-CONFIG_HID_PICOLCD=y
|
||||
-CONFIG_HID_PRIMAX=y
|
||||
-CONFIG_HID_ROCCAT=y
|
||||
-CONFIG_HID_SAITEK=y
|
||||
-CONFIG_HID_SAMSUNG=y
|
||||
-CONFIG_HID_SONY=y
|
||||
-CONFIG_HID_SPEEDLINK=y
|
||||
-CONFIG_HID_SUNPLUS=y
|
||||
-CONFIG_HID_GREENASIA=y
|
||||
-CONFIG_GREENASIA_FF=y
|
||||
-CONFIG_HID_SMARTJOYPLUS=y
|
||||
-CONFIG_SMARTJOYPLUS_FF=y
|
||||
-CONFIG_HID_TIVO=y
|
||||
-CONFIG_HID_TOPSEED=y
|
||||
-CONFIG_HID_THRUSTMASTER=y
|
||||
-CONFIG_HID_WACOM=y
|
||||
-CONFIG_HID_WIIMOTE=y
|
||||
-CONFIG_HID_ZEROPLUS=y
|
||||
-CONFIG_HID_ZYDACRON=y
|
||||
-CONFIG_USB_HIDDEV=y
|
||||
-CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
|
||||
-CONFIG_USB_EHCI_HCD=y
|
||||
-CONFIG_USB_GADGET=y
|
||||
-CONFIG_USB_DUMMY_HCD=y
|
||||
-CONFIG_USB_CONFIGFS=y
|
||||
-CONFIG_USB_CONFIGFS_UEVENT=y
|
||||
-CONFIG_USB_CONFIGFS_F_FS=y
|
||||
-CONFIG_USB_CONFIGFS_F_ACC=y
|
||||
-CONFIG_USB_CONFIGFS_F_AUDIO_SRC=y
|
||||
-CONFIG_USB_CONFIGFS_F_MIDI=y
|
||||
-CONFIG_MMC=y
|
||||
-# CONFIG_PWRSEQ_EMMC is not set
|
||||
-# CONFIG_PWRSEQ_SIMPLE is not set
|
||||
-# CONFIG_MMC_BLOCK is not set
|
||||
-CONFIG_RTC_CLASS=y
|
||||
-CONFIG_SW_SYNC=y
|
||||
-CONFIG_VIRTIO_PCI=y
|
||||
-CONFIG_VIRTIO_INPUT=y
|
||||
-CONFIG_VIRTIO_MMIO=y
|
||||
-CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
|
||||
-CONFIG_STAGING=y
|
||||
-CONFIG_ASHMEM=y
|
||||
-CONFIG_ANDROID_VSOC=y
|
||||
-CONFIG_ION=y
|
||||
-CONFIG_ION_SYSTEM_HEAP=y
|
||||
-# CONFIG_X86_PLATFORM_DEVICES is not set
|
||||
-# CONFIG_IOMMU_SUPPORT is not set
|
||||
-CONFIG_ANDROID=y
|
||||
-CONFIG_ANDROID_BINDER_IPC=y
|
||||
-CONFIG_EXT4_FS=y
|
||||
-CONFIG_EXT4_FS_POSIX_ACL=y
|
||||
-CONFIG_EXT4_FS_SECURITY=y
|
||||
-CONFIG_EXT4_ENCRYPTION=y
|
||||
-CONFIG_F2FS_FS=y
|
||||
-CONFIG_F2FS_FS_SECURITY=y
|
||||
-CONFIG_F2FS_FS_ENCRYPTION=y
|
||||
-CONFIG_QUOTA=y
|
||||
-CONFIG_QUOTA_NETLINK_INTERFACE=y
|
||||
-# CONFIG_PRINT_QUOTA_WARNING is not set
|
||||
-CONFIG_QFMT_V2=y
|
||||
-CONFIG_AUTOFS4_FS=y
|
||||
-CONFIG_FUSE_FS=y
|
||||
-CONFIG_OVERLAY_FS=y
|
||||
-CONFIG_MSDOS_FS=y
|
||||
-CONFIG_VFAT_FS=y
|
||||
-CONFIG_PROC_KCORE=y
|
||||
-CONFIG_TMPFS=y
|
||||
-CONFIG_TMPFS_POSIX_ACL=y
|
||||
-CONFIG_HUGETLBFS=y
|
||||
-CONFIG_SDCARD_FS=y
|
||||
-CONFIG_PSTORE=y
|
||||
-CONFIG_PSTORE_CONSOLE=y
|
||||
-CONFIG_PSTORE_RAM=y
|
||||
-CONFIG_NLS_DEFAULT="utf8"
|
||||
-CONFIG_NLS_CODEPAGE_437=y
|
||||
-CONFIG_NLS_ASCII=y
|
||||
-CONFIG_NLS_ISO8859_1=y
|
||||
-CONFIG_NLS_UTF8=y
|
||||
-CONFIG_SECURITY_PERF_EVENTS_RESTRICT=y
|
||||
-CONFIG_SECURITY=y
|
||||
-CONFIG_SECURITY_NETWORK=y
|
||||
-CONFIG_SECURITY_PATH=y
|
||||
-CONFIG_HARDENED_USERCOPY=y
|
||||
-CONFIG_SECURITY_SELINUX=y
|
||||
-CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1
|
||||
-# CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set
|
||||
-CONFIG_CRYPTO_ADIANTUM=y
|
||||
-CONFIG_CRYPTO_SHA512=y
|
||||
-CONFIG_CRYPTO_AES_NI_INTEL=y
|
||||
-CONFIG_CRYPTO_LZ4=y
|
||||
-CONFIG_CRYPTO_ZSTD=y
|
||||
-CONFIG_CRYPTO_DEV_VIRTIO=y
|
||||
-CONFIG_PRINTK_TIME=y
|
||||
-CONFIG_DEBUG_INFO=y
|
||||
-# CONFIG_ENABLE_MUST_CHECK is not set
|
||||
-CONFIG_FRAME_WARN=1024
|
||||
-# CONFIG_UNUSED_SYMBOLS is not set
|
||||
-CONFIG_OPTIMIZE_INLINING=y
|
||||
-CONFIG_MAGIC_SYSRQ=y
|
||||
-CONFIG_DEBUG_STACK_USAGE=y
|
||||
-CONFIG_DEBUG_MEMORY_INIT=y
|
||||
-CONFIG_HARDLOCKUP_DETECTOR=y
|
||||
-CONFIG_PANIC_TIMEOUT=5
|
||||
-CONFIG_SCHEDSTATS=y
|
||||
-CONFIG_RCU_CPU_STALL_TIMEOUT=60
|
||||
-CONFIG_ENABLE_DEFAULT_TRACERS=y
|
||||
-CONFIG_IO_DELAY_NONE=y
|
||||
-CONFIG_DEBUG_BOOT_PARAMS=y
|
||||
-CONFIG_UNWINDER_FRAME_POINTER=y
|
||||
diff --git a/build.config.cuttlefish.aarch64 b/build.config.cuttlefish.aarch64
|
||||
deleted file mode 100644
|
||||
index b9115335e3fc1..0000000000000
|
||||
--- a/build.config.cuttlefish.aarch64
|
||||
+++ /dev/null
|
||||
@@ -1,18 +0,0 @@
|
||||
-ARCH=arm64
|
||||
-BRANCH=android-mainline
|
||||
-CLANG_TRIPLE=aarch64-linux-gnu-
|
||||
-CROSS_COMPILE=aarch64-linux-androidkernel-
|
||||
-CC=clang
|
||||
-DEFCONFIG=cuttlefish_defconfig
|
||||
-EXTRA_CMDS=''
|
||||
-KERNEL_DIR=common
|
||||
-POST_DEFCONFIG_CMDS="check_defconfig"
|
||||
-CLANG_PREBUILT_BIN=prebuilts-master/clang/host/linux-x86/clang-r353983c/bin
|
||||
-BUILDTOOLS_PREBUILT_BIN=build/build-tools/path/linux-x86
|
||||
-LINUX_GCC_CROSS_COMPILE_PREBUILTS_BIN=prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/bin
|
||||
-FILES="
|
||||
-arch/arm64/boot/Image.gz
|
||||
-vmlinux
|
||||
-System.map
|
||||
-"
|
||||
-STOP_SHIP_TRACEPRINTK=1
|
||||
diff --git a/build.config.cuttlefish.x86_64 b/build.config.cuttlefish.x86_64
|
||||
deleted file mode 100644
|
||||
index bdcbecea3ce11..0000000000000
|
||||
--- a/build.config.cuttlefish.x86_64
|
||||
+++ /dev/null
|
||||
@@ -1,18 +0,0 @@
|
||||
-ARCH=x86_64
|
||||
-BRANCH=android-mainline
|
||||
-CLANG_TRIPLE=x86_64-linux-gnu-
|
||||
-CROSS_COMPILE=x86_64-linux-androidkernel-
|
||||
-CC=clang
|
||||
-DEFCONFIG=x86_64_cuttlefish_defconfig
|
||||
-EXTRA_CMDS=''
|
||||
-KERNEL_DIR=common
|
||||
-POST_DEFCONFIG_CMDS="check_defconfig"
|
||||
-CLANG_PREBUILT_BIN=prebuilts-master/clang/host/linux-x86/clang-r353983c/bin
|
||||
-BUILDTOOLS_PREBUILT_BIN=build/build-tools/path/linux-x86
|
||||
-LINUX_GCC_CROSS_COMPILE_PREBUILTS_BIN=prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.9/bin
|
||||
-FILES="
|
||||
-arch/x86/boot/bzImage
|
||||
-vmlinux
|
||||
-System.map
|
||||
-"
|
||||
-STOP_SHIP_TRACEPRINTK=1
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
44
patches/ANDROID-Removed-check-for-asm-goto.patch
Normal file
44
patches/ANDROID-Removed-check-for-asm-goto.patch
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
From 28dd583e21a3d424a245e5927c5d79eb6f6aa3ac Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Strachan <astrachan@google.com>
|
||||
Date: Wed, 24 Oct 2018 13:58:11 -0700
|
||||
Subject: ANDROID: Removed check for asm-goto
|
||||
|
||||
Cherry pick was manually applied due to conflicts with
|
||||
upstream commits: e9666d10a56 and 829fe4aa9ac
|
||||
--------
|
||||
Revert "x86: Force asm-goto"
|
||||
|
||||
This reverts commit e501ce957a786ecd076ea0cfb10b114e6e4d0f40.
|
||||
|
||||
This change broke building the x86_64 kernel with clang. The kernel
|
||||
still builds and works fine without asm-goto support. Revert this
|
||||
change to unblock testing clang kernels on cuttlefish.
|
||||
|
||||
Bug: 118142806
|
||||
Bug: 120440614
|
||||
Bug: 132629930
|
||||
Change-Id: Ib32498acc0596264f8cd15de0b603579dd643dd7
|
||||
Signed-off-by: Alistair Strachan <astrachan@google.com>
|
||||
Signed-off-by: Ram Muthiah <rammuthiah@google.com>
|
||||
---
|
||||
arch/x86/Makefile | 4 ----
|
||||
1 file changed, 4 deletions(-)
|
||||
|
||||
diff --git a/arch/x86/Makefile b/arch/x86/Makefile
|
||||
index 94df0868804bc..408bb5532d1ba 100644
|
||||
--- a/arch/x86/Makefile
|
||||
+++ b/arch/x86/Makefile
|
||||
@@ -298,10 +298,6 @@ vdso_install:
|
||||
|
||||
archprepare: checkbin
|
||||
checkbin:
|
||||
-ifndef CONFIG_CC_HAS_ASM_GOTO
|
||||
- @echo Compiler lacks asm-goto support.
|
||||
- @exit 1
|
||||
-endif
|
||||
ifdef CONFIG_RETPOLINE
|
||||
ifeq ($(RETPOLINE_CFLAGS),)
|
||||
@echo "You are building kernel with non-retpoline compiler." >&2
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
98
patches/ANDROID-Removed-extraneous-configs-from-gki.patch
Normal file
98
patches/ANDROID-Removed-extraneous-configs-from-gki.patch
Normal file
|
|
@ -0,0 +1,98 @@
|
|||
From c7a44084de83b1737175e87662b02a0038de71a8 Mon Sep 17 00:00:00 2001
|
||||
From: Ram Muthiah <rammuthiah@google.com>
|
||||
Date: Wed, 12 Jun 2019 18:05:43 -0700
|
||||
Subject: ANDROID: Removed extraneous configs from gki
|
||||
|
||||
Removed SCSI_VIRTIO and VIRTIO_BALLOON
|
||||
|
||||
Test: Boot x86 cuttlefish and gki
|
||||
Signed-off-by: Ram Muthiah <rammuthiah@google.com>
|
||||
Change-Id: I342ee9a9a2c715565ce5304f37d40575c234efd6
|
||||
---
|
||||
abi_gki_aarch64.xml | 252456 ++++++++--------
|
||||
arch/arm64/configs/cuttlefish_defconfig | 2 -
|
||||
arch/arm64/configs/gki_defconfig | 2 -
|
||||
arch/x86/configs/gki_defconfig | 2 -
|
||||
arch/x86/configs/x86_64_cuttlefish_defconfig | 2 -
|
||||
5 files changed, 127295 insertions(+), 125169 deletions(-)
|
||||
|
||||
Index: common/arch/arm64/configs/cuttlefish_defconfig
|
||||
===================================================================
|
||||
--- common.orig/arch/arm64/configs/cuttlefish_defconfig
|
||||
+++ common/arch/arm64/configs/cuttlefish_defconfig
|
||||
@@ -204,7 +204,6 @@ CONFIG_UID_SYS_STATS=y
|
||||
CONFIG_SCSI=y
|
||||
# CONFIG_SCSI_PROC_FS is not set
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
-CONFIG_SCSI_VIRTIO=y
|
||||
CONFIG_MD=y
|
||||
CONFIG_BLK_DEV_DM=y
|
||||
CONFIG_DM_CRYPT=y
|
||||
@@ -382,7 +381,6 @@ CONFIG_RTC_DRV_PL030=y
|
||||
CONFIG_RTC_DRV_PL031=y
|
||||
CONFIG_VIRTIO_PCI=y
|
||||
# CONFIG_VIRTIO_PCI_LEGACY is not set
|
||||
-CONFIG_VIRTIO_BALLOON=y
|
||||
CONFIG_VIRTIO_INPUT=y
|
||||
CONFIG_VIRTIO_MMIO=y
|
||||
CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
|
||||
Index: common/arch/arm64/configs/gki_defconfig
|
||||
===================================================================
|
||||
--- common.orig/arch/arm64/configs/gki_defconfig
|
||||
+++ common/arch/arm64/configs/gki_defconfig
|
||||
@@ -196,7 +196,6 @@ CONFIG_SCSI=y
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
CONFIG_SCSI_UFSHCD=y
|
||||
CONFIG_SCSI_UFSHCD_PLATFORM=y
|
||||
-CONFIG_SCSI_VIRTIO=y
|
||||
CONFIG_MD=y
|
||||
CONFIG_BLK_DEV_DM=y
|
||||
CONFIG_DM_CRYPT=y
|
||||
@@ -327,7 +326,6 @@ CONFIG_RTC_DRV_PL030=y
|
||||
CONFIG_RTC_DRV_PL031=y
|
||||
CONFIG_VIRTIO_PCI=y
|
||||
# CONFIG_VIRTIO_PCI_LEGACY is not set
|
||||
-CONFIG_VIRTIO_BALLOON=y
|
||||
CONFIG_VIRTIO_INPUT=y
|
||||
CONFIG_VIRTIO_MMIO=y
|
||||
CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
|
||||
Index: common/arch/x86/configs/gki_defconfig
|
||||
===================================================================
|
||||
--- common.orig/arch/x86/configs/gki_defconfig
|
||||
+++ common/arch/x86/configs/gki_defconfig
|
||||
@@ -174,7 +174,6 @@ CONFIG_UID_SYS_STATS=y
|
||||
CONFIG_SCSI=y
|
||||
# CONFIG_SCSI_PROC_FS is not set
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
-CONFIG_SCSI_VIRTIO=y
|
||||
CONFIG_MD=y
|
||||
CONFIG_BLK_DEV_DM=y
|
||||
CONFIG_DM_CRYPT=y
|
||||
@@ -282,7 +281,6 @@ CONFIG_LEDS_TRIGGERS=y
|
||||
CONFIG_RTC_CLASS=y
|
||||
# CONFIG_RTC_SYSTOHC is not set
|
||||
CONFIG_VIRTIO_PCI=y
|
||||
-CONFIG_VIRTIO_BALLOON=y
|
||||
CONFIG_VIRTIO_INPUT=y
|
||||
CONFIG_VIRTIO_MMIO=y
|
||||
CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
|
||||
Index: common/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
===================================================================
|
||||
--- common.orig/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
+++ common/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
@@ -217,7 +217,6 @@ CONFIG_BLK_DEV_SR_VENDOR=y
|
||||
CONFIG_CHR_DEV_SG=y
|
||||
CONFIG_SCSI_CONSTANTS=y
|
||||
CONFIG_SCSI_SPI_ATTRS=y
|
||||
-CONFIG_SCSI_VIRTIO=y
|
||||
CONFIG_MD=y
|
||||
CONFIG_BLK_DEV_DM=y
|
||||
CONFIG_DM_CRYPT=y
|
||||
@@ -399,7 +398,6 @@ CONFIG_MMC=y
|
||||
CONFIG_RTC_CLASS=y
|
||||
CONFIG_SW_SYNC=y
|
||||
CONFIG_VIRTIO_PCI=y
|
||||
-CONFIG_VIRTIO_BALLOON=y
|
||||
CONFIG_VIRTIO_INPUT=y
|
||||
CONFIG_VIRTIO_MMIO=y
|
||||
CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
|
||||
47
patches/ANDROID-Removed-extraneous-serial-8250-configs.patch
Normal file
47
patches/ANDROID-Removed-extraneous-serial-8250-configs.patch
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
From caf3327044b78551610869db4eb5f3a50fb037bc Mon Sep 17 00:00:00 2001
|
||||
From: Ram Muthiah <rammuthiah@google.com>
|
||||
Date: Sun, 15 Sep 2019 23:24:48 -0700
|
||||
Subject: ANDROID: Removed extraneous serial 8250 configs
|
||||
|
||||
Signed-off-by: Ram Muthiah <rammuthiah@google.com>
|
||||
Test: Local Boot of cuttlefish with this kernel
|
||||
Bug: 132629930
|
||||
Change-Id: I12afb2b95105bfdbaa81cc51367664fa36a4f60c
|
||||
---
|
||||
arch/arm64/configs/gki_defconfig | 4 ----
|
||||
arch/x86/configs/gki_defconfig | 4 ----
|
||||
2 files changed, 8 deletions(-)
|
||||
|
||||
diff --git a/arch/arm64/configs/gki_defconfig b/arch/arm64/configs/gki_defconfig
|
||||
index d650f7d141e7f..ea9960028cfd3 100644
|
||||
--- a/arch/arm64/configs/gki_defconfig
|
||||
+++ b/arch/arm64/configs/gki_defconfig
|
||||
@@ -264,10 +264,6 @@ CONFIG_SERIAL_8250=y
|
||||
# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
|
||||
CONFIG_SERIAL_8250_CONSOLE=y
|
||||
# CONFIG_SERIAL_8250_EXAR is not set
|
||||
-CONFIG_SERIAL_8250_NR_UARTS=48
|
||||
-CONFIG_SERIAL_8250_EXTENDED=y
|
||||
-CONFIG_SERIAL_8250_MANY_PORTS=y
|
||||
-CONFIG_SERIAL_8250_SHARE_IRQ=y
|
||||
CONFIG_SERIAL_OF_PLATFORM=m
|
||||
CONFIG_SERIAL_AMBA_PL011=y
|
||||
CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
|
||||
diff --git a/arch/x86/configs/gki_defconfig b/arch/x86/configs/gki_defconfig
|
||||
index 511a763add373..a5953d43d480e 100644
|
||||
--- a/arch/x86/configs/gki_defconfig
|
||||
+++ b/arch/x86/configs/gki_defconfig
|
||||
@@ -237,10 +237,6 @@ CONFIG_INPUT_UINPUT=y
|
||||
CONFIG_SERIAL_8250=y
|
||||
# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
|
||||
CONFIG_SERIAL_8250_CONSOLE=y
|
||||
-CONFIG_SERIAL_8250_NR_UARTS=48
|
||||
-CONFIG_SERIAL_8250_EXTENDED=y
|
||||
-CONFIG_SERIAL_8250_MANY_PORTS=y
|
||||
-CONFIG_SERIAL_8250_SHARE_IRQ=y
|
||||
CONFIG_SERIAL_OF_PLATFORM=m
|
||||
CONFIG_HW_RANDOM=y
|
||||
CONFIG_HW_RANDOM_VIRTIO=m
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
From 0cff3964418be2e6ae15a66c815fae8fe5d1d2b5 Mon Sep 17 00:00:00 2001
|
||||
From: Ram Muthiah <rammuthiah@google.com>
|
||||
Date: Sun, 4 Aug 2019 13:37:09 -0700
|
||||
Subject: ANDROID: Removed hardcoded kernel command line
|
||||
arguments
|
||||
|
||||
Test: Booted mainline on cuttlefish locally
|
||||
Signed-off-by: Ram Muthiah <rammuthiah@google.com>
|
||||
Change-Id: I5a32dcc1bc4faaff08b032f4ff8350adf2bbb5c1
|
||||
---
|
||||
arch/x86/configs/gki_defconfig | 2 --
|
||||
1 file changed, 2 deletions(-)
|
||||
|
||||
diff --git a/arch/x86/configs/gki_defconfig b/arch/x86/configs/gki_defconfig
|
||||
index 4016f8be75c52..731cec5e1bc30 100644
|
||||
--- a/arch/x86/configs/gki_defconfig
|
||||
+++ b/arch/x86/configs/gki_defconfig
|
||||
@@ -35,8 +35,6 @@ CONFIG_SLAB_FREELIST_RANDOM=y
|
||||
CONFIG_SLAB_FREELIST_HARDENED=y
|
||||
CONFIG_PROFILING=y
|
||||
CONFIG_SMP=y
|
||||
-CONFIG_CMDLINE_BOOL=y
|
||||
-CONFIG_CMDLINE="console=ttyS0 reboot=p"
|
||||
CONFIG_PM_WAKELOCKS=y
|
||||
CONFIG_PM_WAKELOCKS_LIMIT=0
|
||||
# CONFIG_PM_WAKELOCKS_GC is not set
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
From 1d9332540b0ea68ffa85fa577a58c9f1de7fd468 Mon Sep 17 00:00:00 2001
|
||||
From: Ram Muthiah <rammuthiah@google.com>
|
||||
Date: Fri, 9 Aug 2019 12:48:12 -0700
|
||||
Subject: ANDROID: Removed unnecessary modules from cuttlefish.
|
||||
|
||||
Modules do not succesfuly load on cuttlefish and are not needed for gki.
|
||||
|
||||
Bug: 132629930
|
||||
Test: Treehugger + Launch local KO Ramdisk
|
||||
Signed-of-by: Ram Muthiah <rammuthiah@google.com>
|
||||
Change-Id: I07b6c140e4c474d66132a4fb5630d18933b69e81
|
||||
---
|
||||
arch/x86/configs/gki_defconfig | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/arch/x86/configs/gki_defconfig b/arch/x86/configs/gki_defconfig
|
||||
index 731cec5e1bc30..2d5f55d7b9669 100644
|
||||
--- a/arch/x86/configs/gki_defconfig
|
||||
+++ b/arch/x86/configs/gki_defconfig
|
||||
@@ -242,11 +242,13 @@ CONFIG_HW_RANDOM_VIRTIO=y
|
||||
CONFIG_GPIOLIB=y
|
||||
# CONFIG_HWMON is not set
|
||||
CONFIG_DEVFREQ_THERMAL=y
|
||||
+# CONFIG_X86_PKG_TEMP_THERMAL is not set
|
||||
CONFIG_MEDIA_SUPPORT=y
|
||||
CONFIG_MEDIA_CAMERA_SUPPORT=y
|
||||
CONFIG_DRM=y
|
||||
# CONFIG_DRM_FBDEV_EMULATION is not set
|
||||
CONFIG_DRM_VIRTIO_GPU=y
|
||||
+# CONFIG_LCD_CLASS_DEVICE is not set
|
||||
CONFIG_BACKLIGHT_CLASS_DEVICE=y
|
||||
CONFIG_SOUND=y
|
||||
CONFIG_SND=y
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
48
patches/ANDROID-Turn-xt_owner-module-on.patch
Normal file
48
patches/ANDROID-Turn-xt_owner-module-on.patch
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
From ef0ddecd14b7a66b6b36d7354b2f8f1fb5ab8ca1 Mon Sep 17 00:00:00 2001
|
||||
From: Chenbo Feng <fengc@google.com>
|
||||
Date: Fri, 8 Feb 2019 15:53:02 -0800
|
||||
Subject: ANDROID: Turn xt_owner module on
|
||||
|
||||
Once xt_qtaguid module is deprecated, the netd strictController which
|
||||
uses owner match to filter egress traffic will not work because
|
||||
xt_qtaguid masquerades as (and implements/extends) the "owner" module on
|
||||
android devices. It can be resolved by turning upstream xt_owner module
|
||||
back on since strictController only targets egress traffic and the
|
||||
upstream xt_owner module works fine in this case.
|
||||
|
||||
Signed-off-by: Chenbo Feng <fengc@google.com>
|
||||
Bug: 79938294
|
||||
Test: manual cherry-pick and compile
|
||||
Change-Id: Ia099db025f17f6042384c9f0caf7b941a40b8b84
|
||||
---
|
||||
arch/arm64/configs/cuttlefish_defconfig | 1 +
|
||||
arch/x86/configs/x86_64_cuttlefish_defconfig | 1 +
|
||||
2 files changed, 2 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/configs/cuttlefish_defconfig b/arch/arm64/configs/cuttlefish_defconfig
|
||||
index d74af2e0e4b1f..87a90ea32c2de 100644
|
||||
--- a/arch/arm64/configs/cuttlefish_defconfig
|
||||
+++ b/arch/arm64/configs/cuttlefish_defconfig
|
||||
@@ -143,6 +143,7 @@ CONFIG_NETFILTER_XT_MATCH_LENGTH=y
|
||||
CONFIG_NETFILTER_XT_MATCH_LIMIT=y
|
||||
CONFIG_NETFILTER_XT_MATCH_MAC=y
|
||||
CONFIG_NETFILTER_XT_MATCH_MARK=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_OWNER=y
|
||||
CONFIG_NETFILTER_XT_MATCH_POLICY=y
|
||||
CONFIG_NETFILTER_XT_MATCH_PKTTYPE=y
|
||||
CONFIG_NETFILTER_XT_MATCH_QUOTA=y
|
||||
diff --git a/arch/x86/configs/x86_64_cuttlefish_defconfig b/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
index 35c800c4bb40e..e889c64f64f80 100644
|
||||
--- a/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
+++ b/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
@@ -147,6 +147,7 @@ CONFIG_NETFILTER_XT_MATCH_LENGTH=y
|
||||
CONFIG_NETFILTER_XT_MATCH_LIMIT=y
|
||||
CONFIG_NETFILTER_XT_MATCH_MAC=y
|
||||
CONFIG_NETFILTER_XT_MATCH_MARK=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_OWNER=y
|
||||
CONFIG_NETFILTER_XT_MATCH_POLICY=y
|
||||
CONFIG_NETFILTER_XT_MATCH_PKTTYPE=y
|
||||
CONFIG_NETFILTER_XT_MATCH_QUOTA=y
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
181
patches/ANDROID-add-extra-free-kbytes-tunable.patch
Normal file
181
patches/ANDROID-add-extra-free-kbytes-tunable.patch
Normal file
|
|
@ -0,0 +1,181 @@
|
|||
From e0e3dae468e3ddf181cd22c2a8cbe44f449a909e Mon Sep 17 00:00:00 2001
|
||||
From: Rik van Riel <riel@redhat.com>
|
||||
Date: Thu, 1 Sep 2011 15:26:50 -0400
|
||||
Subject: ANDROID: add extra free kbytes tunable
|
||||
|
||||
Add a userspace visible knob to tell the VM to keep an extra amount
|
||||
of memory free, by increasing the gap between each zone's min and
|
||||
low watermarks.
|
||||
|
||||
This is useful for realtime applications that call system
|
||||
calls and have a bound on the number of allocations that happen
|
||||
in any short time period. In this application, extra_free_kbytes
|
||||
would be left at an amount equal to or larger than than the
|
||||
maximum number of allocations that happen in any burst.
|
||||
|
||||
It may also be useful to reduce the memory use of virtual
|
||||
machines (temporarily?), in a way that does not cause memory
|
||||
fragmentation like ballooning does.
|
||||
|
||||
[ccross]
|
||||
Revived for use on old kernels where no other solution exists.
|
||||
The tunable will be removed on kernels that do better at avoiding
|
||||
direct reclaim.
|
||||
|
||||
[surenb]
|
||||
Will be reverted as soon as Android framework is reworked to
|
||||
use upstream-supported watermark_scale_factor instead of
|
||||
extra_free_kbytes.
|
||||
|
||||
Bug: 86445363
|
||||
Bug: 109664768
|
||||
Bug: 120445732
|
||||
Change-Id: I765a42be8e964bfd3e2886d1ca85a29d60c3bb3e
|
||||
Signed-off-by: Rik van Riel <riel@redhat.com>
|
||||
Signed-off-by: Colin Cross <ccross@android.com>
|
||||
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
|
||||
---
|
||||
Documentation/admin-guide/sysctl/vm.rst | 16 ++++++++++++++++
|
||||
kernel/sysctl.c | 9 +++++++++
|
||||
mm/page_alloc.c | 25 +++++++++++++++++++++----
|
||||
3 files changed, 46 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/Documentation/admin-guide/sysctl/vm.rst b/Documentation/admin-guide/sysctl/vm.rst
|
||||
index 64aeee1009cab..9e84700082275 100644
|
||||
--- a/Documentation/admin-guide/sysctl/vm.rst
|
||||
+++ b/Documentation/admin-guide/sysctl/vm.rst
|
||||
@@ -37,6 +37,7 @@ Currently, these files are in /proc/sys/vm:
|
||||
- dirty_writeback_centisecs
|
||||
- drop_caches
|
||||
- extfrag_threshold
|
||||
+- extra_free_kbytes
|
||||
- hugetlb_shm_group
|
||||
- laptop_mode
|
||||
- legacy_va_layout
|
||||
@@ -287,6 +288,21 @@ only use the low memory and they can fill it up with dirty data without
|
||||
any throttling.
|
||||
|
||||
|
||||
+extra_free_kbytes
|
||||
+
|
||||
+This parameter tells the VM to keep extra free memory between the threshold
|
||||
+where background reclaim (kswapd) kicks in, and the threshold where direct
|
||||
+reclaim (by allocating processes) kicks in.
|
||||
+
|
||||
+This is useful for workloads that require low latency memory allocations
|
||||
+and have a bounded burstiness in memory allocations, for example a
|
||||
+realtime application that receives and transmits network traffic
|
||||
+(causing in-kernel memory allocations) with a maximum total message burst
|
||||
+size of 200MB may need 200MB of extra free memory to avoid direct reclaim
|
||||
+related latencies.
|
||||
+
|
||||
+==============================================================
|
||||
+
|
||||
hugetlb_shm_group
|
||||
=================
|
||||
|
||||
diff --git a/kernel/sysctl.c b/kernel/sysctl.c
|
||||
index 078950d9605ba..94cf7c5c1a3f9 100644
|
||||
--- a/kernel/sysctl.c
|
||||
+++ b/kernel/sysctl.c
|
||||
@@ -111,6 +111,7 @@ extern char core_pattern[];
|
||||
extern unsigned int core_pipe_limit;
|
||||
#endif
|
||||
extern int pid_max;
|
||||
+extern int extra_free_kbytes;
|
||||
extern int pid_max_min, pid_max_max;
|
||||
extern int percpu_pagelist_fraction;
|
||||
extern int latencytop_enabled;
|
||||
@@ -1523,6 +1524,14 @@ static struct ctl_table vm_table[] = {
|
||||
.extra1 = SYSCTL_ONE,
|
||||
.extra2 = &one_thousand,
|
||||
},
|
||||
+ {
|
||||
+ .procname = "extra_free_kbytes",
|
||||
+ .data = &extra_free_kbytes,
|
||||
+ .maxlen = sizeof(extra_free_kbytes),
|
||||
+ .mode = 0644,
|
||||
+ .proc_handler = min_free_kbytes_sysctl_handler,
|
||||
+ .extra1 = SYSCTL_ZERO,
|
||||
+ },
|
||||
{
|
||||
.procname = "percpu_pagelist_fraction",
|
||||
.data = &percpu_pagelist_fraction,
|
||||
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
|
||||
index 9c9194959271c..ff37c80783da3 100644
|
||||
--- a/mm/page_alloc.c
|
||||
+++ b/mm/page_alloc.c
|
||||
@@ -313,6 +313,11 @@ compound_page_dtor * const compound_page_dtors[] = {
|
||||
#endif
|
||||
};
|
||||
|
||||
+/*
|
||||
+ * Try to keep at least this much lowmem free. Do not allow normal
|
||||
+ * allocations below this point, only high priority ones. Automatically
|
||||
+ * tuned according to the amount of memory in the system.
|
||||
+ */
|
||||
int min_free_kbytes = 1024;
|
||||
int user_min_free_kbytes = -1;
|
||||
#ifdef CONFIG_DISCONTIGMEM
|
||||
@@ -331,6 +336,13 @@ int watermark_boost_factor __read_mostly = 15000;
|
||||
#endif
|
||||
int watermark_scale_factor = 10;
|
||||
|
||||
+/*
|
||||
+ * Extra memory for the system to try freeing. Used to temporarily
|
||||
+ * free memory, to make space for new workloads. Anyone can allocate
|
||||
+ * down to the min watermarks controlled by min_free_kbytes above.
|
||||
+ */
|
||||
+int extra_free_kbytes = 0;
|
||||
+
|
||||
static unsigned long nr_kernel_pages __initdata;
|
||||
static unsigned long nr_all_pages __initdata;
|
||||
static unsigned long dma_reserve __initdata;
|
||||
@@ -7692,6 +7704,7 @@ static void setup_per_zone_lowmem_reserve(void)
|
||||
static void __setup_per_zone_wmarks(void)
|
||||
{
|
||||
unsigned long pages_min = min_free_kbytes >> (PAGE_SHIFT - 10);
|
||||
+ unsigned long pages_low = extra_free_kbytes >> (PAGE_SHIFT - 10);
|
||||
unsigned long lowmem_pages = 0;
|
||||
struct zone *zone;
|
||||
unsigned long flags;
|
||||
@@ -7703,11 +7716,13 @@ static void __setup_per_zone_wmarks(void)
|
||||
}
|
||||
|
||||
for_each_zone(zone) {
|
||||
- u64 tmp;
|
||||
+ u64 tmp, low;
|
||||
|
||||
spin_lock_irqsave(&zone->lock, flags);
|
||||
tmp = (u64)pages_min * zone_managed_pages(zone);
|
||||
do_div(tmp, lowmem_pages);
|
||||
+ low = (u64)pages_low * zone_managed_pages(zone);
|
||||
+ do_div(low, vm_total_pages);
|
||||
if (is_highmem(zone)) {
|
||||
/*
|
||||
* __GFP_HIGH and PF_MEMALLOC allocations usually don't
|
||||
@@ -7740,8 +7755,10 @@ static void __setup_per_zone_wmarks(void)
|
||||
mult_frac(zone_managed_pages(zone),
|
||||
watermark_scale_factor, 10000));
|
||||
|
||||
- zone->_watermark[WMARK_LOW] = min_wmark_pages(zone) + tmp;
|
||||
- zone->_watermark[WMARK_HIGH] = min_wmark_pages(zone) + tmp * 2;
|
||||
+ zone->_watermark[WMARK_LOW] = min_wmark_pages(zone) +
|
||||
+ low + tmp;
|
||||
+ zone->_watermark[WMARK_HIGH] = min_wmark_pages(zone) +
|
||||
+ low + tmp * 2;
|
||||
zone->watermark_boost = 0;
|
||||
|
||||
spin_unlock_irqrestore(&zone->lock, flags);
|
||||
@@ -7825,7 +7842,7 @@ core_initcall(init_per_zone_wmark_min)
|
||||
/*
|
||||
* min_free_kbytes_sysctl_handler - just a wrapper around proc_dointvec() so
|
||||
* that we can call two helper functions whenever min_free_kbytes
|
||||
- * changes.
|
||||
+ * or extra_free_kbytes changes.
|
||||
*/
|
||||
int min_free_kbytes_sysctl_handler(struct ctl_table *table, int write,
|
||||
void __user *buffer, size_t *length, loff_t *ppos)
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
|
|
@ -0,0 +1,53 @@
|
|||
From 3b628b0636d640bbe7cf646192d325cbd33404ca Mon Sep 17 00:00:00 2001
|
||||
From: Ram Muthiah <rammuthiah@google.com>
|
||||
Date: Wed, 22 May 2019 20:11:24 -0700
|
||||
Subject: ANDROID: added configs so that GKI boots on x86
|
||||
cuttlefish
|
||||
|
||||
Bug: 132629930
|
||||
Test: built and ran gki on cuttlefish locally
|
||||
Change-Id: I2cbfef4fd97888edaa5b6413a2459160c7117bd5
|
||||
Signed-off-by: Ram Muthiah <rammuthiah@google.com>
|
||||
---
|
||||
arch/x86/configs/gki_defconfig | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/arch/x86/configs/gki_defconfig b/arch/x86/configs/gki_defconfig
|
||||
index 18ba312d0a602..cdaba53b7bb04 100644
|
||||
--- a/arch/x86/configs/gki_defconfig
|
||||
+++ b/arch/x86/configs/gki_defconfig
|
||||
@@ -38,6 +38,7 @@ CONFIG_CPU_FREQ=y
|
||||
CONFIG_CPU_FREQ_TIMES=y
|
||||
CONFIG_CPU_FREQ_GOV_POWERSAVE=y
|
||||
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
|
||||
+CONFIG_IA32_EMULATION=y
|
||||
CONFIG_KPROBES=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
@@ -156,6 +157,7 @@ CONFIG_CFG80211=y
|
||||
CONFIG_MAC80211=y
|
||||
# CONFIG_MAC80211_RC_MINSTREL is not set
|
||||
CONFIG_RFKILL=y
|
||||
+CONFIG_PCI=y
|
||||
# CONFIG_ALLOW_DEV_COREDUMP is not set
|
||||
CONFIG_DEBUG_DEVRES=y
|
||||
CONFIG_ZRAM=y
|
||||
@@ -274,6 +276,7 @@ CONFIG_LEDS_CLASS=y
|
||||
CONFIG_LEDS_TRIGGERS=y
|
||||
CONFIG_RTC_CLASS=y
|
||||
# CONFIG_RTC_SYSTOHC is not set
|
||||
+CONFIG_VIRTIO_PCI=y
|
||||
CONFIG_VIRTIO_BALLOON=y
|
||||
CONFIG_VIRTIO_INPUT=y
|
||||
CONFIG_VIRTIO_MMIO=y
|
||||
@@ -289,6 +292,7 @@ CONFIG_EXT4_FS=y
|
||||
CONFIG_EXT4_FS_SECURITY=y
|
||||
CONFIG_F2FS_FS=y
|
||||
CONFIG_F2FS_FS_SECURITY=y
|
||||
+CONFIG_FS_ENCRYPTION=y
|
||||
# CONFIG_DNOTIFY is not set
|
||||
CONFIG_QUOTA=y
|
||||
CONFIG_QFMT_V2=y
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
|
|
@ -0,0 +1,41 @@
|
|||
From ea4b5d09e53c6007ed1959f53c2968f785b07521 Mon Sep 17 00:00:00 2001
|
||||
From: Ram Muthiah <rammuthiah@google.com>
|
||||
Date: Wed, 3 Jul 2019 14:31:23 -0700
|
||||
Subject: ANDROID: adding usb HCD dummy config to permit usb
|
||||
write ops on init
|
||||
|
||||
Bug: 136021903
|
||||
Change-Id: I45ae272fd7243e290f0701a7f29722788ce0cd5a
|
||||
Signed-off-by: Ram Muthiah <rammuthiah@google.com>
|
||||
---
|
||||
arch/arm64/configs/gki_defconfig | 1 +
|
||||
arch/x86/configs/gki_defconfig | 1 +
|
||||
2 files changed, 2 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/configs/gki_defconfig b/arch/arm64/configs/gki_defconfig
|
||||
index ec05661160667..7c66f40c97398 100644
|
||||
--- a/arch/arm64/configs/gki_defconfig
|
||||
+++ b/arch/arm64/configs/gki_defconfig
|
||||
@@ -314,6 +314,7 @@ CONFIG_HID_MULTITOUCH=y
|
||||
CONFIG_USB_HIDDEV=y
|
||||
CONFIG_USB=y
|
||||
CONFIG_USB_GADGET=y
|
||||
+CONFIG_USB_DUMMY_HCD=y
|
||||
CONFIG_USB_CONFIGFS=y
|
||||
CONFIG_USB_CONFIGFS_UEVENT=y
|
||||
CONFIG_USB_CONFIGFS_F_FS=y
|
||||
diff --git a/arch/x86/configs/gki_defconfig b/arch/x86/configs/gki_defconfig
|
||||
index c0993920b94dd..65c67797fb74d 100644
|
||||
--- a/arch/x86/configs/gki_defconfig
|
||||
+++ b/arch/x86/configs/gki_defconfig
|
||||
@@ -267,6 +267,7 @@ CONFIG_HID_MULTITOUCH=y
|
||||
CONFIG_USB_HIDDEV=y
|
||||
CONFIG_USB=y
|
||||
CONFIG_USB_GADGET=y
|
||||
+CONFIG_USB_DUMMY_HCD=y
|
||||
CONFIG_USB_CONFIGFS=y
|
||||
CONFIG_USB_CONFIGFS_UEVENT=y
|
||||
CONFIG_USB_CONFIGFS_F_FS=y
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
From bdac6faf2dfdd42e3a101416dba539550d96ad05 Mon Sep 17 00:00:00 2001
|
||||
From: Quentin Perret <qperret@google.com>
|
||||
Date: Mon, 30 Sep 2019 16:23:52 +0100
|
||||
Subject: ANDROID: allmodconfig: Force gki_defconfig as
|
||||
base
|
||||
|
||||
Allmodconfig enables as many options as it can to maximize the number of
|
||||
modules it can build. While this is generally a good idea, this can also
|
||||
lead to very convoluted configurations (such as CPU_BIG_ENDIAN=y on
|
||||
arm64) which we don't necessarily want to support even if they break. On
|
||||
the other hand, gki_defconfig already contains the set of core options
|
||||
we definitely want to support, so it makes sense to use that as a base.
|
||||
|
||||
Point KCONFIG_ALLMODCONFIG to the relevant gki_defconfig file in order
|
||||
to ensure a minimally sensible config that allconfig is not allowed to
|
||||
modify.
|
||||
|
||||
Bug: 140224784
|
||||
Signed-off-by: Quentin Perret <qperret@google.com>
|
||||
Change-Id: Ib4cf3c9565f040a577ce3cec008293520be1af84
|
||||
---
|
||||
build.config.allmodconfig | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/build.config.allmodconfig b/build.config.allmodconfig
|
||||
index 43b1a70d5800..6e0404b8de47 100644
|
||||
--- a/build.config.allmodconfig
|
||||
+++ b/build.config.allmodconfig
|
||||
@@ -1,4 +1,5 @@
|
||||
DEFCONFIG=allmodconfig
|
||||
+KCONFIG_ALLCONFIG=${ROOT_DIR}/common/arch/${ARCH%_*}/configs/gki_defconfig
|
||||
|
||||
# XFS_FS is currently broken on this branch with clang-9
|
||||
POST_DEFCONFIG_CMDS="update_config"
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
33
patches/ANDROID-arm-enable-max-frequency-capping.patch
Normal file
33
patches/ANDROID-arm-enable-max-frequency-capping.patch
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
From 150b7ce48a29566d996bda293e8857ef45298bdc Mon Sep 17 00:00:00 2001
|
||||
From: Dietmar Eggemann <dietmar.eggemann@arm.com>
|
||||
Date: Thu, 10 May 2018 16:58:04 +0100
|
||||
Subject: ANDROID: arm: enable max frequency capping
|
||||
|
||||
Defines arch_scale_max_freq_capacity() to use the topology driver
|
||||
scale function.
|
||||
|
||||
Signed-off-by: Ionela Voinescu <ionela.voinescu@arm.com>
|
||||
Signed-off-by: Dietmar Eggemann <dietmar.eggemann@arm.com>
|
||||
Signed-off-by: Quentin Perret <quentin.perret@arm.com>
|
||||
Change-Id: I79f444399ea3b2948364fde80ccee52a9ece5b9a
|
||||
---
|
||||
arch/arm/include/asm/topology.h | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/include/asm/topology.h b/arch/arm/include/asm/topology.h
|
||||
index 8a0fae94d45e..a2edacb56459 100644
|
||||
--- a/arch/arm/include/asm/topology.h
|
||||
+++ b/arch/arm/include/asm/topology.h
|
||||
@@ -10,6 +10,9 @@
|
||||
/* Replace task scheduler's default frequency-invariant accounting */
|
||||
#define arch_scale_freq_capacity topology_get_freq_scale
|
||||
|
||||
+/* Replace task scheduler's default max-frequency-invariant accounting */
|
||||
+#define arch_scale_max_freq_capacity topology_get_max_freq_scale
|
||||
+
|
||||
/* Replace task scheduler's default cpu-invariant accounting */
|
||||
#define arch_scale_cpu_capacity topology_get_cpu_scale
|
||||
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
|
|
@ -0,0 +1,55 @@
|
|||
From fe16d6c073c3b27fd0d00caf8f9251b2335c3316 Mon Sep 17 00:00:00 2001
|
||||
From: Colin Cross <ccross@android.com>
|
||||
Date: Wed, 2 Apr 2014 18:02:15 -0700
|
||||
Subject: ANDROID: arm64: copy CONFIG_CMDLINE_EXTEND from ARM
|
||||
|
||||
Copy the config choice for CONFIG_CMDLINE_EXTEND from
|
||||
arch/arm/Kconfig, including CONFIG_CMDLINE_FROM_BOOTLOADER
|
||||
as the default. These will be used by drivers/of/fdt.c.
|
||||
|
||||
Bug: 120440972
|
||||
Change-Id: I8416038498ddf8fc1e99ab06109825eb1492aa7f
|
||||
Signed-off-by: Colin Cross <ccross@android.com>
|
||||
---
|
||||
arch/arm64/Kconfig | 18 ++++++++++++++++++
|
||||
1 file changed, 18 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
|
||||
index 3adcec05b1f67..b1dd948f96659 100644
|
||||
--- a/arch/arm64/Kconfig
|
||||
+++ b/arch/arm64/Kconfig
|
||||
@@ -1538,6 +1538,23 @@ config CMDLINE
|
||||
entering them here. As a minimum, you should specify the the
|
||||
root device (e.g. root=/dev/nfs).
|
||||
|
||||
+choice
|
||||
+ prompt "Kernel command line type" if CMDLINE != ""
|
||||
+ default CMDLINE_FROM_BOOTLOADER
|
||||
+
|
||||
+config CMDLINE_FROM_BOOTLOADER
|
||||
+ bool "Use bootloader kernel arguments if available"
|
||||
+ help
|
||||
+ Uses the command-line options passed by the boot loader. If
|
||||
+ the boot loader doesn't provide any, the default kernel command
|
||||
+ string provided in CMDLINE will be used.
|
||||
+
|
||||
+config CMDLINE_EXTEND
|
||||
+ bool "Extend bootloader kernel arguments"
|
||||
+ help
|
||||
+ The command-line arguments provided by the boot loader will be
|
||||
+ appended to the default kernel command string.
|
||||
+
|
||||
config CMDLINE_FORCE
|
||||
bool "Always use the default kernel command string"
|
||||
help
|
||||
@@ -1545,6 +1562,7 @@ config CMDLINE_FORCE
|
||||
loader passes other arguments to the kernel.
|
||||
This is useful if you cannot or don't want to change the
|
||||
command-line options your boot loader passes to the kernel.
|
||||
+endchoice
|
||||
|
||||
config EFI_STUB
|
||||
bool
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
47
patches/ANDROID-arm64-defconfig-Enable-EAS-by-default.patch
Normal file
47
patches/ANDROID-arm64-defconfig-Enable-EAS-by-default.patch
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
From 588085feb44fa553aec7eb98545a570e189eabad Mon Sep 17 00:00:00 2001
|
||||
From: Quentin Perret <quentin.perret@arm.com>
|
||||
Date: Wed, 3 Jul 2019 10:48:14 +0100
|
||||
Subject: ANDROID: arm64: defconfig: Enable EAS by default
|
||||
|
||||
Use schedutil as default cpufreq governor so EAS can start. Also, enable
|
||||
util-clamp to enable frequency selection biasing.
|
||||
|
||||
Change-Id: Iec9098f27c0353dabc23bd98efbca6479de41796
|
||||
Signed-off-by: Quentin Perret <quentin.perret@arm.com>
|
||||
---
|
||||
arch/arm64/configs/defconfig | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
|
||||
index 8e05c39eab08..2c029af5d7e0 100644
|
||||
--- a/arch/arm64/configs/defconfig
|
||||
+++ b/arch/arm64/configs/defconfig
|
||||
@@ -13,10 +13,12 @@ CONFIG_TASK_XACCT=y
|
||||
CONFIG_TASK_IO_ACCOUNTING=y
|
||||
CONFIG_IKCONFIG=y
|
||||
CONFIG_IKCONFIG_PROC=y
|
||||
+CONFIG_UCLAMP_TASK=y
|
||||
CONFIG_NUMA_BALANCING=y
|
||||
CONFIG_MEMCG=y
|
||||
CONFIG_MEMCG_SWAP=y
|
||||
CONFIG_BLK_CGROUP=y
|
||||
+CONFIG_UCLAMP_TASK_GROUP=y
|
||||
CONFIG_CGROUP_PIDS=y
|
||||
CONFIG_CGROUP_HUGETLB=y
|
||||
CONFIG_CPUSETS=y
|
||||
@@ -71,10 +73,12 @@ CONFIG_COMPAT=y
|
||||
CONFIG_RANDOMIZE_BASE=y
|
||||
CONFIG_HIBERNATION=y
|
||||
CONFIG_WQ_POWER_EFFICIENT_DEFAULT=y
|
||||
+CONFIG_ENERGY_MODEL=y
|
||||
CONFIG_ARM_CPUIDLE=y
|
||||
CONFIG_ARM_PSCI_CPUIDLE=y
|
||||
CONFIG_CPU_FREQ=y
|
||||
CONFIG_CPU_FREQ_STAT=y
|
||||
+CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL=y
|
||||
CONFIG_CPU_FREQ_GOV_POWERSAVE=m
|
||||
CONFIG_CPU_FREQ_GOV_USERSPACE=y
|
||||
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
33
patches/ANDROID-arm64-enable-max-frequency-capping.patch
Normal file
33
patches/ANDROID-arm64-enable-max-frequency-capping.patch
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
From a273512dafbf6322b134716873d50d1af803972f Mon Sep 17 00:00:00 2001
|
||||
From: Dietmar Eggemann <dietmar.eggemann@arm.com>
|
||||
Date: Thu, 10 May 2018 16:54:16 +0100
|
||||
Subject: ANDROID: arm64: enable max frequency capping
|
||||
|
||||
Defines arch_scale_max_freq_capacity() to use the topology driver
|
||||
scale function.
|
||||
|
||||
Change-Id: If7565747ec862e42ac55196240522ef8d22ca67d
|
||||
Signed-off-by: Ionela Voinescu <ionela.voinescu@arm.com>
|
||||
Signed-off-by: Dietmar Eggemann <dietmar.eggemann@arm.com>
|
||||
Signed-off-by: Quentin Perret <quentin.perret@arm.com>
|
||||
---
|
||||
arch/arm64/include/asm/topology.h | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/include/asm/topology.h b/arch/arm64/include/asm/topology.h
|
||||
index a4d945db95a2..70697177d6ec 100644
|
||||
--- a/arch/arm64/include/asm/topology.h
|
||||
+++ b/arch/arm64/include/asm/topology.h
|
||||
@@ -19,6 +19,9 @@ int pcibus_to_node(struct pci_bus *bus);
|
||||
/* Replace task scheduler's default frequency-invariant accounting */
|
||||
#define arch_scale_freq_capacity topology_get_freq_scale
|
||||
|
||||
+/* Replace task scheduler's default max-frequency-invariant accounting */
|
||||
+#define arch_scale_max_freq_capacity topology_get_max_freq_scale
|
||||
+
|
||||
/* Replace task scheduler's default cpu-invariant accounting */
|
||||
#define arch_scale_cpu_capacity topology_get_cpu_scale
|
||||
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
573
patches/ANDROID-binder-add-support-for-RT-prio-inheritance.patch
Normal file
573
patches/ANDROID-binder-add-support-for-RT-prio-inheritance.patch
Normal file
|
|
@ -0,0 +1,573 @@
|
|||
From f26f402c7656946b47df499d381fc51bc5a966a1 Mon Sep 17 00:00:00 2001
|
||||
From: Martijn Coenen <maco@google.com>
|
||||
Date: Tue, 6 Jun 2017 17:04:42 -0700
|
||||
Subject: ANDROID: binder: add support for RT prio inheritance.
|
||||
|
||||
Adds support for SCHED_BATCH/SCHED_FIFO/SCHED_RR
|
||||
priority inheritance.
|
||||
|
||||
Bug: 34461621
|
||||
Bug: 37293077
|
||||
Bug: 120446518
|
||||
Change-Id: I71f356e476be2933713a0ecfa2cc31aa141e2dc6
|
||||
Signed-off-by: Martijn Coenen <maco@google.com>
|
||||
[AmitP: Include <uapi/linux/sched/types.h> for struct sched_param]
|
||||
Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
|
||||
[astrachan: Folded the following changes into this patch:
|
||||
69308b3b07dd ("ANDROID: binder: add min sched_policy to node.")
|
||||
7a6edeb62d86 ("ANDROID: binder: improve priority inheritance.")
|
||||
22b061b17679 ("ANDROID: binder: don't check prio permissions on restore.")
|
||||
67cf97141d81 ("ANDROID: binder: Add tracing for binder priority inheritance.")
|
||||
fb92c34f7ba3 ("ANDROID: binder: add RT inheritance flag to node.")
|
||||
c847b48f8cda ("ANDROID: binder: init desired_prio.sched_policy before use it")]
|
||||
Signed-off-by: Alistair Strachan <astrachan@google.com>
|
||||
---
|
||||
drivers/android/binder.c | 243 ++++++++++++++++++++++++----
|
||||
drivers/android/binder_trace.h | 24 +++
|
||||
include/uapi/linux/android/binder.h | 50 +++++-
|
||||
3 files changed, 284 insertions(+), 33 deletions(-)
|
||||
|
||||
diff --git a/drivers/android/binder.c b/drivers/android/binder.c
|
||||
index dc1c83eafc225..f3cf51af833bf 100644
|
||||
--- a/drivers/android/binder.c
|
||||
+++ b/drivers/android/binder.c
|
||||
@@ -66,6 +66,7 @@
|
||||
#include <linux/task_work.h>
|
||||
|
||||
#include <uapi/linux/android/binder.h>
|
||||
+#include <uapi/linux/sched/types.h>
|
||||
|
||||
#include <asm/cacheflush.h>
|
||||
|
||||
@@ -316,10 +317,13 @@ struct binder_error {
|
||||
* and by @lock)
|
||||
* @has_async_transaction: async transaction to node in progress
|
||||
* (protected by @lock)
|
||||
+ * @sched_policy: minimum scheduling policy for node
|
||||
+ * (invariant after initialized)
|
||||
* @accept_fds: file descriptor operations supported for node
|
||||
* (invariant after initialized)
|
||||
* @min_priority: minimum scheduling priority
|
||||
* (invariant after initialized)
|
||||
+ * @inherit_rt: inherit RT scheduling policy from caller
|
||||
* @txn_security_ctx: require sender's security context
|
||||
* (invariant after initialized)
|
||||
* @async_todo: list of async work items
|
||||
@@ -357,6 +361,8 @@ struct binder_node {
|
||||
/*
|
||||
* invariant after initialization
|
||||
*/
|
||||
+ u8 sched_policy:2;
|
||||
+ u8 inherit_rt:1;
|
||||
u8 accept_fds:1;
|
||||
u8 txn_security_ctx:1;
|
||||
u8 min_priority;
|
||||
@@ -430,6 +436,22 @@ enum binder_deferred_state {
|
||||
BINDER_DEFERRED_RELEASE = 0x02,
|
||||
};
|
||||
|
||||
+/**
|
||||
+ * struct binder_priority - scheduler policy and priority
|
||||
+ * @sched_policy scheduler policy
|
||||
+ * @prio [100..139] for SCHED_NORMAL, [0..99] for FIFO/RT
|
||||
+ *
|
||||
+ * The binder driver supports inheriting the following scheduler policies:
|
||||
+ * SCHED_NORMAL
|
||||
+ * SCHED_BATCH
|
||||
+ * SCHED_FIFO
|
||||
+ * SCHED_RR
|
||||
+ */
|
||||
+struct binder_priority {
|
||||
+ unsigned int sched_policy;
|
||||
+ int prio;
|
||||
+};
|
||||
+
|
||||
/**
|
||||
* struct binder_proc - binder process bookkeeping
|
||||
* @proc_node: element for binder_procs list
|
||||
@@ -503,7 +525,7 @@ struct binder_proc {
|
||||
int requested_threads;
|
||||
int requested_threads_started;
|
||||
int tmp_ref;
|
||||
- long default_priority;
|
||||
+ struct binder_priority default_priority;
|
||||
struct dentry *debugfs_entry;
|
||||
struct binder_alloc alloc;
|
||||
struct binder_context *context;
|
||||
@@ -553,6 +575,7 @@ enum {
|
||||
* @is_dead: thread is dead and awaiting free
|
||||
* when outstanding transactions are cleaned up
|
||||
* (protected by @proc->inner_lock)
|
||||
+ * @task: struct task_struct for this thread
|
||||
*
|
||||
* Bookkeeping structure for binder threads.
|
||||
*/
|
||||
@@ -572,6 +595,7 @@ struct binder_thread {
|
||||
struct binder_stats stats;
|
||||
atomic_t tmp_ref;
|
||||
bool is_dead;
|
||||
+ struct task_struct *task;
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -605,8 +629,9 @@ struct binder_transaction {
|
||||
struct binder_buffer *buffer;
|
||||
unsigned int code;
|
||||
unsigned int flags;
|
||||
- long priority;
|
||||
- long saved_priority;
|
||||
+ struct binder_priority priority;
|
||||
+ struct binder_priority saved_priority;
|
||||
+ bool set_priority_called;
|
||||
kuid_t sender_euid;
|
||||
struct list_head fd_fixups;
|
||||
binder_uintptr_t security_ctx;
|
||||
@@ -1065,22 +1090,145 @@ static void binder_wakeup_proc_ilocked(struct binder_proc *proc)
|
||||
binder_wakeup_thread_ilocked(proc, thread, /* sync = */false);
|
||||
}
|
||||
|
||||
-static void binder_set_nice(long nice)
|
||||
+static bool is_rt_policy(int policy)
|
||||
+{
|
||||
+ return policy == SCHED_FIFO || policy == SCHED_RR;
|
||||
+}
|
||||
+
|
||||
+static bool is_fair_policy(int policy)
|
||||
+{
|
||||
+ return policy == SCHED_NORMAL || policy == SCHED_BATCH;
|
||||
+}
|
||||
+
|
||||
+static bool binder_supported_policy(int policy)
|
||||
+{
|
||||
+ return is_fair_policy(policy) || is_rt_policy(policy);
|
||||
+}
|
||||
+
|
||||
+static int to_userspace_prio(int policy, int kernel_priority)
|
||||
+{
|
||||
+ if (is_fair_policy(policy))
|
||||
+ return PRIO_TO_NICE(kernel_priority);
|
||||
+ else
|
||||
+ return MAX_USER_RT_PRIO - 1 - kernel_priority;
|
||||
+}
|
||||
+
|
||||
+static int to_kernel_prio(int policy, int user_priority)
|
||||
{
|
||||
- long min_nice;
|
||||
+ if (is_fair_policy(policy))
|
||||
+ return NICE_TO_PRIO(user_priority);
|
||||
+ else
|
||||
+ return MAX_USER_RT_PRIO - 1 - user_priority;
|
||||
+}
|
||||
|
||||
- if (can_nice(current, nice)) {
|
||||
- set_user_nice(current, nice);
|
||||
+static void binder_do_set_priority(struct task_struct *task,
|
||||
+ struct binder_priority desired,
|
||||
+ bool verify)
|
||||
+{
|
||||
+ int priority; /* user-space prio value */
|
||||
+ bool has_cap_nice;
|
||||
+ unsigned int policy = desired.sched_policy;
|
||||
+
|
||||
+ if (task->policy == policy && task->normal_prio == desired.prio)
|
||||
return;
|
||||
+
|
||||
+ has_cap_nice = has_capability_noaudit(task, CAP_SYS_NICE);
|
||||
+
|
||||
+ priority = to_userspace_prio(policy, desired.prio);
|
||||
+
|
||||
+ if (verify && is_rt_policy(policy) && !has_cap_nice) {
|
||||
+ long max_rtprio = task_rlimit(task, RLIMIT_RTPRIO);
|
||||
+
|
||||
+ if (max_rtprio == 0) {
|
||||
+ policy = SCHED_NORMAL;
|
||||
+ priority = MIN_NICE;
|
||||
+ } else if (priority > max_rtprio) {
|
||||
+ priority = max_rtprio;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ if (verify && is_fair_policy(policy) && !has_cap_nice) {
|
||||
+ long min_nice = rlimit_to_nice(task_rlimit(task, RLIMIT_NICE));
|
||||
+
|
||||
+ if (min_nice > MAX_NICE) {
|
||||
+ binder_user_error("%d RLIMIT_NICE not set\n",
|
||||
+ task->pid);
|
||||
+ return;
|
||||
+ } else if (priority < min_nice) {
|
||||
+ priority = min_nice;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ if (policy != desired.sched_policy ||
|
||||
+ to_kernel_prio(policy, priority) != desired.prio)
|
||||
+ binder_debug(BINDER_DEBUG_PRIORITY_CAP,
|
||||
+ "%d: priority %d not allowed, using %d instead\n",
|
||||
+ task->pid, desired.prio,
|
||||
+ to_kernel_prio(policy, priority));
|
||||
+
|
||||
+ trace_binder_set_priority(task->tgid, task->pid, task->normal_prio,
|
||||
+ to_kernel_prio(policy, priority),
|
||||
+ desired.prio);
|
||||
+
|
||||
+ /* Set the actual priority */
|
||||
+ if (task->policy != policy || is_rt_policy(policy)) {
|
||||
+ struct sched_param params;
|
||||
+
|
||||
+ params.sched_priority = is_rt_policy(policy) ? priority : 0;
|
||||
+
|
||||
+ sched_setscheduler_nocheck(task,
|
||||
+ policy | SCHED_RESET_ON_FORK,
|
||||
+ ¶ms);
|
||||
}
|
||||
- min_nice = rlimit_to_nice(rlimit(RLIMIT_NICE));
|
||||
- binder_debug(BINDER_DEBUG_PRIORITY_CAP,
|
||||
- "%d: nice value %ld not allowed use %ld instead\n",
|
||||
- current->pid, nice, min_nice);
|
||||
- set_user_nice(current, min_nice);
|
||||
- if (min_nice <= MAX_NICE)
|
||||
+ if (is_fair_policy(policy))
|
||||
+ set_user_nice(task, priority);
|
||||
+}
|
||||
+
|
||||
+static void binder_set_priority(struct task_struct *task,
|
||||
+ struct binder_priority desired)
|
||||
+{
|
||||
+ binder_do_set_priority(task, desired, /* verify = */ true);
|
||||
+}
|
||||
+
|
||||
+static void binder_restore_priority(struct task_struct *task,
|
||||
+ struct binder_priority desired)
|
||||
+{
|
||||
+ binder_do_set_priority(task, desired, /* verify = */ false);
|
||||
+}
|
||||
+
|
||||
+static void binder_transaction_priority(struct task_struct *task,
|
||||
+ struct binder_transaction *t,
|
||||
+ struct binder_priority node_prio,
|
||||
+ bool inherit_rt)
|
||||
+{
|
||||
+ struct binder_priority desired_prio = t->priority;
|
||||
+
|
||||
+ if (t->set_priority_called)
|
||||
return;
|
||||
- binder_user_error("%d RLIMIT_NICE not set\n", current->pid);
|
||||
+
|
||||
+ t->set_priority_called = true;
|
||||
+ t->saved_priority.sched_policy = task->policy;
|
||||
+ t->saved_priority.prio = task->normal_prio;
|
||||
+
|
||||
+ if (!inherit_rt && is_rt_policy(desired_prio.sched_policy)) {
|
||||
+ desired_prio.prio = NICE_TO_PRIO(0);
|
||||
+ desired_prio.sched_policy = SCHED_NORMAL;
|
||||
+ }
|
||||
+
|
||||
+ if (node_prio.prio < t->priority.prio ||
|
||||
+ (node_prio.prio == t->priority.prio &&
|
||||
+ node_prio.sched_policy == SCHED_FIFO)) {
|
||||
+ /*
|
||||
+ * In case the minimum priority on the node is
|
||||
+ * higher (lower value), use that priority. If
|
||||
+ * the priority is the same, but the node uses
|
||||
+ * SCHED_FIFO, prefer SCHED_FIFO, since it can
|
||||
+ * run unbounded, unlike SCHED_RR.
|
||||
+ */
|
||||
+ desired_prio = node_prio;
|
||||
+ }
|
||||
+
|
||||
+ binder_set_priority(task, desired_prio);
|
||||
}
|
||||
|
||||
static struct binder_node *binder_get_node_ilocked(struct binder_proc *proc,
|
||||
@@ -1133,6 +1281,7 @@ static struct binder_node *binder_init_node_ilocked(
|
||||
binder_uintptr_t ptr = fp ? fp->binder : 0;
|
||||
binder_uintptr_t cookie = fp ? fp->cookie : 0;
|
||||
__u32 flags = fp ? fp->flags : 0;
|
||||
+ s8 priority;
|
||||
|
||||
assert_spin_locked(&proc->inner_lock);
|
||||
|
||||
@@ -1165,8 +1314,12 @@ static struct binder_node *binder_init_node_ilocked(
|
||||
node->ptr = ptr;
|
||||
node->cookie = cookie;
|
||||
node->work.type = BINDER_WORK_NODE;
|
||||
- node->min_priority = flags & FLAT_BINDER_FLAG_PRIORITY_MASK;
|
||||
+ priority = flags & FLAT_BINDER_FLAG_PRIORITY_MASK;
|
||||
+ node->sched_policy = (flags & FLAT_BINDER_FLAG_SCHED_POLICY_MASK) >>
|
||||
+ FLAT_BINDER_FLAG_SCHED_POLICY_SHIFT;
|
||||
+ node->min_priority = to_kernel_prio(node->sched_policy, priority);
|
||||
node->accept_fds = !!(flags & FLAT_BINDER_FLAG_ACCEPTS_FDS);
|
||||
+ node->inherit_rt = !!(flags & FLAT_BINDER_FLAG_INHERIT_RT);
|
||||
node->txn_security_ctx = !!(flags & FLAT_BINDER_FLAG_TXN_SECURITY_CTX);
|
||||
spin_lock_init(&node->lock);
|
||||
INIT_LIST_HEAD(&node->work.entry);
|
||||
@@ -2777,11 +2930,15 @@ static bool binder_proc_transaction(struct binder_transaction *t,
|
||||
struct binder_thread *thread)
|
||||
{
|
||||
struct binder_node *node = t->buffer->target_node;
|
||||
+ struct binder_priority node_prio;
|
||||
bool oneway = !!(t->flags & TF_ONE_WAY);
|
||||
bool pending_async = false;
|
||||
|
||||
BUG_ON(!node);
|
||||
binder_node_lock(node);
|
||||
+ node_prio.prio = node->min_priority;
|
||||
+ node_prio.sched_policy = node->sched_policy;
|
||||
+
|
||||
if (oneway) {
|
||||
BUG_ON(thread);
|
||||
if (node->has_async_transaction) {
|
||||
@@ -2802,12 +2959,15 @@ static bool binder_proc_transaction(struct binder_transaction *t,
|
||||
if (!thread && !pending_async)
|
||||
thread = binder_select_thread_ilocked(proc);
|
||||
|
||||
- if (thread)
|
||||
+ if (thread) {
|
||||
+ binder_transaction_priority(thread->task, t, node_prio,
|
||||
+ node->inherit_rt);
|
||||
binder_enqueue_thread_work_ilocked(thread, &t->work);
|
||||
- else if (!pending_async)
|
||||
+ } else if (!pending_async) {
|
||||
binder_enqueue_work_ilocked(&t->work, &proc->todo);
|
||||
- else
|
||||
+ } else {
|
||||
binder_enqueue_work_ilocked(&t->work, &node->async_todo);
|
||||
+ }
|
||||
|
||||
if (!pending_async)
|
||||
binder_wakeup_thread_ilocked(proc, thread, !oneway /* sync */);
|
||||
@@ -2928,7 +3088,6 @@ static void binder_transaction(struct binder_proc *proc,
|
||||
}
|
||||
thread->transaction_stack = in_reply_to->to_parent;
|
||||
binder_inner_proc_unlock(proc);
|
||||
- binder_set_nice(in_reply_to->saved_priority);
|
||||
target_thread = binder_get_txn_from_and_acq_inner(in_reply_to);
|
||||
if (target_thread == NULL) {
|
||||
/* annotation for sparse */
|
||||
@@ -3127,7 +3286,15 @@ static void binder_transaction(struct binder_proc *proc,
|
||||
t->to_thread = target_thread;
|
||||
t->code = tr->code;
|
||||
t->flags = tr->flags;
|
||||
- t->priority = task_nice(current);
|
||||
+ if (!(t->flags & TF_ONE_WAY) &&
|
||||
+ binder_supported_policy(current->policy)) {
|
||||
+ /* Inherit supported policies for synchronous transactions */
|
||||
+ t->priority.sched_policy = current->policy;
|
||||
+ t->priority.prio = current->normal_prio;
|
||||
+ } else {
|
||||
+ /* Otherwise, fall back to the default priority */
|
||||
+ t->priority = target_proc->default_priority;
|
||||
+ }
|
||||
|
||||
if (target_node && target_node->txn_security_ctx) {
|
||||
u32 secid;
|
||||
@@ -3454,6 +3621,7 @@ static void binder_transaction(struct binder_proc *proc,
|
||||
binder_enqueue_thread_work_ilocked(target_thread, &t->work);
|
||||
binder_inner_proc_unlock(target_proc);
|
||||
wake_up_interruptible_sync(&target_thread->wait);
|
||||
+ binder_restore_priority(current, in_reply_to->saved_priority);
|
||||
binder_free_transaction(in_reply_to);
|
||||
} else if (!(t->flags & TF_ONE_WAY)) {
|
||||
BUG_ON(t->buffer->async_transaction != 0);
|
||||
@@ -3564,6 +3732,7 @@ static void binder_transaction(struct binder_proc *proc,
|
||||
|
||||
BUG_ON(thread->return_error.cmd != BR_OK);
|
||||
if (in_reply_to) {
|
||||
+ binder_restore_priority(current, in_reply_to->saved_priority);
|
||||
thread->return_error.cmd = BR_TRANSACTION_COMPLETE;
|
||||
binder_enqueue_thread_work(thread, &thread->return_error.work);
|
||||
binder_send_failed_reply(in_reply_to, return_error);
|
||||
@@ -4230,7 +4399,7 @@ static int binder_thread_read(struct binder_proc *proc,
|
||||
wait_event_interruptible(binder_user_error_wait,
|
||||
binder_stop_on_user_error < 2);
|
||||
}
|
||||
- binder_set_nice(proc->default_priority);
|
||||
+ binder_restore_priority(current, proc->default_priority);
|
||||
}
|
||||
|
||||
if (non_block) {
|
||||
@@ -4452,16 +4621,14 @@ static int binder_thread_read(struct binder_proc *proc,
|
||||
BUG_ON(t->buffer == NULL);
|
||||
if (t->buffer->target_node) {
|
||||
struct binder_node *target_node = t->buffer->target_node;
|
||||
+ struct binder_priority node_prio;
|
||||
|
||||
trd->target.ptr = target_node->ptr;
|
||||
trd->cookie = target_node->cookie;
|
||||
- t->saved_priority = task_nice(current);
|
||||
- if (t->priority < target_node->min_priority &&
|
||||
- !(t->flags & TF_ONE_WAY))
|
||||
- binder_set_nice(t->priority);
|
||||
- else if (!(t->flags & TF_ONE_WAY) ||
|
||||
- t->saved_priority > target_node->min_priority)
|
||||
- binder_set_nice(target_node->min_priority);
|
||||
+ node_prio.sched_policy = target_node->sched_policy;
|
||||
+ node_prio.prio = target_node->min_priority;
|
||||
+ binder_transaction_priority(current, t, node_prio,
|
||||
+ target_node->inherit_rt);
|
||||
cmd = BR_TRANSACTION;
|
||||
} else {
|
||||
trd->target.ptr = 0;
|
||||
@@ -4673,6 +4840,8 @@ static struct binder_thread *binder_get_thread_ilocked(
|
||||
binder_stats_created(BINDER_STAT_THREAD);
|
||||
thread->proc = proc;
|
||||
thread->pid = current->pid;
|
||||
+ get_task_struct(current);
|
||||
+ thread->task = current;
|
||||
atomic_set(&thread->tmp_ref, 0);
|
||||
init_waitqueue_head(&thread->wait);
|
||||
INIT_LIST_HEAD(&thread->todo);
|
||||
@@ -4723,6 +4892,7 @@ static void binder_free_thread(struct binder_thread *thread)
|
||||
BUG_ON(!list_empty(&thread->todo));
|
||||
binder_stats_deleted(BINDER_STAT_THREAD);
|
||||
binder_proc_dec_tmpref(thread->proc);
|
||||
+ put_task_struct(thread->task);
|
||||
kfree(thread);
|
||||
}
|
||||
|
||||
@@ -5242,7 +5412,14 @@ static int binder_open(struct inode *nodp, struct file *filp)
|
||||
get_task_struct(current->group_leader);
|
||||
proc->tsk = current->group_leader;
|
||||
INIT_LIST_HEAD(&proc->todo);
|
||||
- proc->default_priority = task_nice(current);
|
||||
+ if (binder_supported_policy(current->policy)) {
|
||||
+ proc->default_priority.sched_policy = current->policy;
|
||||
+ proc->default_priority.prio = current->normal_prio;
|
||||
+ } else {
|
||||
+ proc->default_priority.sched_policy = SCHED_NORMAL;
|
||||
+ proc->default_priority.prio = NICE_TO_PRIO(0);
|
||||
+ }
|
||||
+
|
||||
/* binderfs stashes devices in i_private */
|
||||
if (is_binderfs_device(nodp))
|
||||
binder_dev = nodp->i_private;
|
||||
@@ -5525,13 +5702,14 @@ static void print_binder_transaction_ilocked(struct seq_file *m,
|
||||
spin_lock(&t->lock);
|
||||
to_proc = t->to_proc;
|
||||
seq_printf(m,
|
||||
- "%s %d: %pK from %d:%d to %d:%d code %x flags %x pri %ld r%d",
|
||||
+ "%s %d: %pK from %d:%d to %d:%d code %x flags %x pri %d:%d r%d",
|
||||
prefix, t->debug_id, t,
|
||||
t->from ? t->from->proc->pid : 0,
|
||||
t->from ? t->from->pid : 0,
|
||||
to_proc ? to_proc->pid : 0,
|
||||
t->to_thread ? t->to_thread->pid : 0,
|
||||
- t->code, t->flags, t->priority, t->need_reply);
|
||||
+ t->code, t->flags, t->priority.sched_policy,
|
||||
+ t->priority.prio, t->need_reply);
|
||||
spin_unlock(&t->lock);
|
||||
|
||||
if (proc != to_proc) {
|
||||
@@ -5649,8 +5827,9 @@ static void print_binder_node_nilocked(struct seq_file *m,
|
||||
hlist_for_each_entry(ref, &node->refs, node_entry)
|
||||
count++;
|
||||
|
||||
- seq_printf(m, " node %d: u%016llx c%016llx hs %d hw %d ls %d lw %d is %d iw %d tr %d",
|
||||
+ seq_printf(m, " node %d: u%016llx c%016llx pri %d:%d hs %d hw %d ls %d lw %d is %d iw %d tr %d",
|
||||
node->debug_id, (u64)node->ptr, (u64)node->cookie,
|
||||
+ node->sched_policy, node->min_priority,
|
||||
node->has_strong_ref, node->has_weak_ref,
|
||||
node->local_strong_refs, node->local_weak_refs,
|
||||
node->internal_strong_refs, count, node->tmp_refs);
|
||||
diff --git a/drivers/android/binder_trace.h b/drivers/android/binder_trace.h
|
||||
index 6731c3cd81455..a70e23716ad04 100644
|
||||
--- a/drivers/android/binder_trace.h
|
||||
+++ b/drivers/android/binder_trace.h
|
||||
@@ -76,6 +76,30 @@ DEFINE_BINDER_FUNCTION_RETURN_EVENT(binder_ioctl_done);
|
||||
DEFINE_BINDER_FUNCTION_RETURN_EVENT(binder_write_done);
|
||||
DEFINE_BINDER_FUNCTION_RETURN_EVENT(binder_read_done);
|
||||
|
||||
+TRACE_EVENT(binder_set_priority,
|
||||
+ TP_PROTO(int proc, int thread, unsigned int old_prio,
|
||||
+ unsigned int desired_prio, unsigned int new_prio),
|
||||
+ TP_ARGS(proc, thread, old_prio, new_prio, desired_prio),
|
||||
+
|
||||
+ TP_STRUCT__entry(
|
||||
+ __field(int, proc)
|
||||
+ __field(int, thread)
|
||||
+ __field(unsigned int, old_prio)
|
||||
+ __field(unsigned int, new_prio)
|
||||
+ __field(unsigned int, desired_prio)
|
||||
+ ),
|
||||
+ TP_fast_assign(
|
||||
+ __entry->proc = proc;
|
||||
+ __entry->thread = thread;
|
||||
+ __entry->old_prio = old_prio;
|
||||
+ __entry->new_prio = new_prio;
|
||||
+ __entry->desired_prio = desired_prio;
|
||||
+ ),
|
||||
+ TP_printk("proc=%d thread=%d old=%d => new=%d desired=%d",
|
||||
+ __entry->proc, __entry->thread, __entry->old_prio,
|
||||
+ __entry->new_prio, __entry->desired_prio)
|
||||
+);
|
||||
+
|
||||
TRACE_EVENT(binder_wait_for_work,
|
||||
TP_PROTO(bool proc_work, bool transaction_stack, bool thread_todo),
|
||||
TP_ARGS(proc_work, transaction_stack, thread_todo),
|
||||
diff --git a/include/uapi/linux/android/binder.h b/include/uapi/linux/android/binder.h
|
||||
index 2832134e53971..11babae0339f2 100644
|
||||
--- a/include/uapi/linux/android/binder.h
|
||||
+++ b/include/uapi/linux/android/binder.h
|
||||
@@ -38,10 +38,58 @@ enum {
|
||||
BINDER_TYPE_PTR = B_PACK_CHARS('p', 't', '*', B_TYPE_LARGE),
|
||||
};
|
||||
|
||||
-enum {
|
||||
+/**
|
||||
+ * enum flat_binder_object_shifts: shift values for flat_binder_object_flags
|
||||
+ * @FLAT_BINDER_FLAG_SCHED_POLICY_SHIFT: shift for getting scheduler policy.
|
||||
+ *
|
||||
+ */
|
||||
+enum flat_binder_object_shifts {
|
||||
+ FLAT_BINDER_FLAG_SCHED_POLICY_SHIFT = 9,
|
||||
+};
|
||||
+
|
||||
+/**
|
||||
+ * enum flat_binder_object_flags - flags for use in flat_binder_object.flags
|
||||
+ */
|
||||
+enum flat_binder_object_flags {
|
||||
+ /**
|
||||
+ * @FLAT_BINDER_FLAG_PRIORITY_MASK: bit-mask for min scheduler priority
|
||||
+ *
|
||||
+ * These bits can be used to set the minimum scheduler priority
|
||||
+ * at which transactions into this node should run. Valid values
|
||||
+ * in these bits depend on the scheduler policy encoded in
|
||||
+ * @FLAT_BINDER_FLAG_SCHED_POLICY_MASK.
|
||||
+ *
|
||||
+ * For SCHED_NORMAL/SCHED_BATCH, the valid range is between [-20..19]
|
||||
+ * For SCHED_FIFO/SCHED_RR, the value can run between [1..99]
|
||||
+ */
|
||||
FLAT_BINDER_FLAG_PRIORITY_MASK = 0xff,
|
||||
+ /**
|
||||
+ * @FLAT_BINDER_FLAG_ACCEPTS_FDS: whether the node accepts fds.
|
||||
+ */
|
||||
FLAT_BINDER_FLAG_ACCEPTS_FDS = 0x100,
|
||||
|
||||
+ /**
|
||||
+ * @FLAT_BINDER_FLAG_SCHED_POLICY_MASK: bit-mask for scheduling policy
|
||||
+ *
|
||||
+ * These two bits can be used to set the min scheduling policy at which
|
||||
+ * transactions on this node should run. These match the UAPI
|
||||
+ * scheduler policy values, eg:
|
||||
+ * 00b: SCHED_NORMAL
|
||||
+ * 01b: SCHED_FIFO
|
||||
+ * 10b: SCHED_RR
|
||||
+ * 11b: SCHED_BATCH
|
||||
+ */
|
||||
+ FLAT_BINDER_FLAG_SCHED_POLICY_MASK =
|
||||
+ 3U << FLAT_BINDER_FLAG_SCHED_POLICY_SHIFT,
|
||||
+
|
||||
+ /**
|
||||
+ * @FLAT_BINDER_FLAG_INHERIT_RT: whether the node inherits RT policy
|
||||
+ *
|
||||
+ * Only when set, calls into this node will inherit a real-time
|
||||
+ * scheduling policy from the caller (for synchronous transactions).
|
||||
+ */
|
||||
+ FLAT_BINDER_FLAG_INHERIT_RT = 0x800,
|
||||
+
|
||||
/**
|
||||
* @FLAT_BINDER_FLAG_TXN_SECURITY_CTX: request security contexts
|
||||
*
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
|
|
@ -0,0 +1,72 @@
|
|||
From dbb653c4e2acb8205d230506edaa89c311205303 Mon Sep 17 00:00:00 2001
|
||||
From: Matthias Maennich <maennich@google.com>
|
||||
Date: Mon, 8 Jul 2019 22:21:06 +0100
|
||||
Subject: ANDROID: build configs: switch prebuilt path location
|
||||
|
||||
Move to a kernel specific prebuilt path.
|
||||
|
||||
Bug: 135922132
|
||||
Change-Id: I8755f8f0154eecc86ad598be7a7811e9d8f068ed
|
||||
Signed-off-by: Matthias Maennich <maennich@google.com>
|
||||
---
|
||||
build.config.cuttlefish.aarch64 | 2 +-
|
||||
build.config.cuttlefish.x86_64 | 2 +-
|
||||
build.config.gki.aarch64 | 2 +-
|
||||
build.config.gki.x86_64 | 2 +-
|
||||
4 files changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/build.config.cuttlefish.aarch64 b/build.config.cuttlefish.aarch64
|
||||
index 40c8d7a5219cc..b9115335e3fc1 100644
|
||||
--- a/build.config.cuttlefish.aarch64
|
||||
+++ b/build.config.cuttlefish.aarch64
|
||||
@@ -8,7 +8,7 @@ EXTRA_CMDS=''
|
||||
KERNEL_DIR=common
|
||||
POST_DEFCONFIG_CMDS="check_defconfig"
|
||||
CLANG_PREBUILT_BIN=prebuilts-master/clang/host/linux-x86/clang-r353983c/bin
|
||||
-BUILDTOOLS_PREBUILT_BIN=prebuilts/build-tools/path/linux-x86
|
||||
+BUILDTOOLS_PREBUILT_BIN=build/build-tools/path/linux-x86
|
||||
LINUX_GCC_CROSS_COMPILE_PREBUILTS_BIN=prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/bin
|
||||
FILES="
|
||||
arch/arm64/boot/Image.gz
|
||||
diff --git a/build.config.cuttlefish.x86_64 b/build.config.cuttlefish.x86_64
|
||||
index c9496b0d2ce6a..bdcbecea3ce11 100644
|
||||
--- a/build.config.cuttlefish.x86_64
|
||||
+++ b/build.config.cuttlefish.x86_64
|
||||
@@ -8,7 +8,7 @@ EXTRA_CMDS=''
|
||||
KERNEL_DIR=common
|
||||
POST_DEFCONFIG_CMDS="check_defconfig"
|
||||
CLANG_PREBUILT_BIN=prebuilts-master/clang/host/linux-x86/clang-r353983c/bin
|
||||
-BUILDTOOLS_PREBUILT_BIN=prebuilts/build-tools/path/linux-x86
|
||||
+BUILDTOOLS_PREBUILT_BIN=build/build-tools/path/linux-x86
|
||||
LINUX_GCC_CROSS_COMPILE_PREBUILTS_BIN=prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.9/bin
|
||||
FILES="
|
||||
arch/x86/boot/bzImage
|
||||
diff --git a/build.config.gki.aarch64 b/build.config.gki.aarch64
|
||||
index fce42ab0daa34..b2399812513ef 100644
|
||||
--- a/build.config.gki.aarch64
|
||||
+++ b/build.config.gki.aarch64
|
||||
@@ -8,7 +8,7 @@ EXTRA_CMDS=''
|
||||
KERNEL_DIR=common
|
||||
POST_DEFCONFIG_CMDS="check_defconfig"
|
||||
CLANG_PREBUILT_BIN=prebuilts-master/clang/host/linux-x86/clang-r353983c/bin
|
||||
-BUILDTOOLS_PREBUILT_BIN=prebuilts/build-tools/path/linux-x86
|
||||
+BUILDTOOLS_PREBUILT_BIN=build/build-tools/path/linux-x86
|
||||
LINUX_GCC_CROSS_COMPILE_PREBUILTS_BIN=prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/bin
|
||||
FILES="
|
||||
arch/arm64/boot/Image.gz
|
||||
diff --git a/build.config.gki.x86_64 b/build.config.gki.x86_64
|
||||
index 3ce45e962732b..b5a7f46001017 100644
|
||||
--- a/build.config.gki.x86_64
|
||||
+++ b/build.config.gki.x86_64
|
||||
@@ -8,7 +8,7 @@ EXTRA_CMDS=''
|
||||
KERNEL_DIR=common
|
||||
POST_DEFCONFIG_CMDS="check_defconfig"
|
||||
CLANG_PREBUILT_BIN=prebuilts-master/clang/host/linux-x86/clang-r353983c/bin
|
||||
-BUILDTOOLS_PREBUILT_BIN=prebuilts/build-tools/path/linux-x86
|
||||
+BUILDTOOLS_PREBUILT_BIN=build/build-tools/path/linux-x86
|
||||
LINUX_GCC_CROSS_COMPILE_PREBUILTS_BIN=prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.9/bin
|
||||
FILES="
|
||||
arch/x86/boot/bzImage
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
From a927064ed74a75193e0990bbce7b9f3b777cd94b Mon Sep 17 00:00:00 2001
|
||||
From: Thierry Strudel <tstrudel@google.com>
|
||||
Date: Tue, 14 Jun 2016 17:46:44 -0700
|
||||
Subject: ANDROID: cpu: send KOBJ_ONLINE event when enabling
|
||||
cpus
|
||||
|
||||
In case some sysfs nodes needs to be labeled with a different label than
|
||||
sysfs then user needs to be notified when a core is brought back online.
|
||||
|
||||
Bug: 29359497
|
||||
Bug: 120444461
|
||||
Change-Id: I0395c86e01cd49c348fda8f93087d26f88557c91
|
||||
Signed-off-by: Thierry Strudel <tstrudel@google.com>
|
||||
---
|
||||
kernel/cpu.c | 7 +++++++
|
||||
1 file changed, 7 insertions(+)
|
||||
|
||||
diff --git a/kernel/cpu.c b/kernel/cpu.c
|
||||
index e84c0873559ed..517da586013fe 100644
|
||||
--- a/kernel/cpu.c
|
||||
+++ b/kernel/cpu.c
|
||||
@@ -1266,6 +1266,7 @@ void __weak arch_enable_nonboot_cpus_end(void)
|
||||
void enable_nonboot_cpus(void)
|
||||
{
|
||||
int cpu, error;
|
||||
+ struct device *cpu_device;
|
||||
|
||||
/* Allow everyone to use the CPU hotplug again */
|
||||
cpu_maps_update_begin();
|
||||
@@ -1283,6 +1284,12 @@ void enable_nonboot_cpus(void)
|
||||
trace_suspend_resume(TPS("CPU_ON"), cpu, false);
|
||||
if (!error) {
|
||||
pr_info("CPU%d is up\n", cpu);
|
||||
+ cpu_device = get_cpu_device(cpu);
|
||||
+ if (!cpu_device)
|
||||
+ pr_err("%s: failed to get cpu%d device\n",
|
||||
+ __func__, cpu);
|
||||
+ else
|
||||
+ kobject_uevent(&cpu_device->kobj, KOBJ_ONLINE);
|
||||
continue;
|
||||
}
|
||||
pr_warn("Error taking CPU%d up: %d\n", cpu, error);
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
|
|
@ -0,0 +1,143 @@
|
|||
From 569e63e00af55d9f96cf0a32a8c4b10c21439480 Mon Sep 17 00:00:00 2001
|
||||
From: Connor O'Brien <connoro@google.com>
|
||||
Date: Mon, 22 Jan 2018 18:28:08 -0800
|
||||
Subject: ANDROID: cpufreq: Add time_in_state to /proc/uid
|
||||
directories
|
||||
|
||||
Add per-uid files that report the data in binary format rather than
|
||||
text, to allow faster reading & parsing by userspace.
|
||||
|
||||
Signed-off-by: Connor O'Brien <connoro@google.com>
|
||||
Bug: 72339335
|
||||
Bug: 127641090
|
||||
Test: compare values to those reported in /proc/uid_time_in_state
|
||||
Change-Id: I463039ea7f17b842be4c70024fe772539fe2ce02
|
||||
---
|
||||
drivers/cpufreq/cpufreq_times.c | 49 +++++++++++++++++++++++++++++++++
|
||||
fs/proc/uid.c | 16 ++++++++++-
|
||||
include/linux/cpufreq_times.h | 1 +
|
||||
3 files changed, 65 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/cpufreq/cpufreq_times.c b/drivers/cpufreq/cpufreq_times.c
|
||||
index 15b52e1f82fc6..a43eeee30e8e1 100644
|
||||
--- a/drivers/cpufreq/cpufreq_times.c
|
||||
+++ b/drivers/cpufreq/cpufreq_times.c
|
||||
@@ -58,6 +58,19 @@ static struct cpu_freqs *all_freqs[NR_CPUS];
|
||||
|
||||
static unsigned int next_offset;
|
||||
|
||||
+
|
||||
+/* Caller must hold rcu_read_lock() */
|
||||
+static struct uid_entry *find_uid_entry_rcu(uid_t uid)
|
||||
+{
|
||||
+ struct uid_entry *uid_entry;
|
||||
+
|
||||
+ hash_for_each_possible_rcu(uid_hash_table, uid_entry, hash, uid) {
|
||||
+ if (uid_entry->uid == uid)
|
||||
+ return uid_entry;
|
||||
+ }
|
||||
+ return NULL;
|
||||
+}
|
||||
+
|
||||
/* Caller must hold uid lock */
|
||||
static struct uid_entry *find_uid_entry_locked(uid_t uid)
|
||||
{
|
||||
@@ -127,6 +140,36 @@ static bool freq_index_invalid(unsigned int index)
|
||||
return true;
|
||||
}
|
||||
|
||||
+static int single_uid_time_in_state_show(struct seq_file *m, void *ptr)
|
||||
+{
|
||||
+ struct uid_entry *uid_entry;
|
||||
+ unsigned int i;
|
||||
+ u64 time;
|
||||
+ uid_t uid = from_kuid_munged(current_user_ns(), *(kuid_t *)m->private);
|
||||
+
|
||||
+ if (uid == overflowuid)
|
||||
+ return -EINVAL;
|
||||
+
|
||||
+ rcu_read_lock();
|
||||
+
|
||||
+ uid_entry = find_uid_entry_rcu(uid);
|
||||
+ if (!uid_entry) {
|
||||
+ rcu_read_unlock();
|
||||
+ return 0;
|
||||
+ }
|
||||
+
|
||||
+ for (i = 0; i < uid_entry->max_state; ++i) {
|
||||
+ if (freq_index_invalid(i))
|
||||
+ continue;
|
||||
+ time = nsec_to_clock_t(uid_entry->time_in_state[i]);
|
||||
+ seq_write(m, &time, sizeof(time));
|
||||
+ }
|
||||
+
|
||||
+ rcu_read_unlock();
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
static void *uid_seq_start(struct seq_file *seq, loff_t *pos)
|
||||
{
|
||||
if (*pos >= HASH_SIZE(uid_hash_table))
|
||||
@@ -397,6 +440,12 @@ static int uid_time_in_state_open(struct inode *inode, struct file *file)
|
||||
return seq_open(file, &uid_time_in_state_seq_ops);
|
||||
}
|
||||
|
||||
+int single_uid_time_in_state_open(struct inode *inode, struct file *file)
|
||||
+{
|
||||
+ return single_open(file, single_uid_time_in_state_show,
|
||||
+ &(inode->i_uid));
|
||||
+}
|
||||
+
|
||||
static const struct file_operations uid_time_in_state_fops = {
|
||||
.open = uid_time_in_state_open,
|
||||
.read = seq_read,
|
||||
diff --git a/fs/proc/uid.c b/fs/proc/uid.c
|
||||
index ae720b93a0ed2..311717ea199ab 100644
|
||||
--- a/fs/proc/uid.c
|
||||
+++ b/fs/proc/uid.c
|
||||
@@ -2,6 +2,7 @@
|
||||
* /proc/uid support
|
||||
*/
|
||||
|
||||
+#include <linux/cpufreq_times.h>
|
||||
#include <linux/fs.h>
|
||||
#include <linux/hashtable.h>
|
||||
#include <linux/init.h>
|
||||
@@ -82,7 +83,20 @@ struct uid_entry {
|
||||
.fop = FOP, \
|
||||
}
|
||||
|
||||
-static const struct uid_entry uid_base_stuff[] = {};
|
||||
+#ifdef CONFIG_CPU_FREQ_TIMES
|
||||
+static const struct file_operations proc_uid_time_in_state_operations = {
|
||||
+ .open = single_uid_time_in_state_open,
|
||||
+ .read = seq_read,
|
||||
+ .llseek = seq_lseek,
|
||||
+ .release = single_release,
|
||||
+};
|
||||
+#endif
|
||||
+
|
||||
+static const struct uid_entry uid_base_stuff[] = {
|
||||
+#ifdef CONFIG_CPU_FREQ_TIMES
|
||||
+ NOD("time_in_state", 0444, NULL, &proc_uid_time_in_state_operations),
|
||||
+#endif
|
||||
+};
|
||||
|
||||
static const struct inode_operations proc_uid_def_inode_operations = {
|
||||
.setattr = proc_setattr,
|
||||
diff --git a/include/linux/cpufreq_times.h b/include/linux/cpufreq_times.h
|
||||
index a03157f649a4f..757bf0cb60704 100644
|
||||
--- a/include/linux/cpufreq_times.h
|
||||
+++ b/include/linux/cpufreq_times.h
|
||||
@@ -29,6 +29,7 @@ void cpufreq_acct_update_power(struct task_struct *p, u64 cputime);
|
||||
void cpufreq_times_create_policy(struct cpufreq_policy *policy);
|
||||
void cpufreq_times_record_transition(struct cpufreq_freqs *freq);
|
||||
void cpufreq_task_times_remove_uids(uid_t uid_start, uid_t uid_end);
|
||||
+int single_uid_time_in_state_open(struct inode *inode, struct file *file);
|
||||
#else
|
||||
static inline void cpufreq_task_times_init(struct task_struct *p) {}
|
||||
static inline void cpufreq_task_times_alloc(struct task_struct *p) {}
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
|
|
@ -0,0 +1,139 @@
|
|||
From 0cfe39fe403ea6dbe2fdfb38edd36022b35d4d66 Mon Sep 17 00:00:00 2001
|
||||
From: Dietmar Eggemann <dietmar.eggemann@arm.com>
|
||||
Date: Thu, 10 May 2018 16:52:33 +0100
|
||||
Subject: ANDROID: cpufreq: arch_topology: implement max
|
||||
frequency capping
|
||||
|
||||
Implements the Max Frequency Capping Engine (MFCE) getter function
|
||||
topology_get_max_freq_scale() to provide the scheduler with a
|
||||
maximum frequency scaling correction factor for more accurate cpu
|
||||
capacity handling by being able to deal with max frequency capping.
|
||||
|
||||
This scaling factor describes the influence of running a cpu with a
|
||||
current maximum frequency (policy) lower than the maximum possible
|
||||
frequency (cpuinfo).
|
||||
|
||||
The factor is:
|
||||
|
||||
policy_max_freq(cpu) << SCHED_CAPACITY_SHIFT / cpuinfo_max_freq(cpu)
|
||||
|
||||
It also implements the MFCE setter function arch_set_max_freq_scale()
|
||||
which is called from cpufreq_set_policy().
|
||||
|
||||
Change-Id: I59e52861ee260755ab0518fe1f7183a2e4e3d0fc
|
||||
Signed-off-by: Ionela Voinescu <ionela.voinescu@arm.com>
|
||||
Signed-off-by: Dietmar Eggemann <dietmar.eggemann@arm.com>
|
||||
[Trivial cherry-pick issue in cpufreq.c]
|
||||
Signed-off-by: Quentin Perret <quentin.perret@arm.com>
|
||||
---
|
||||
drivers/base/arch_topology.c | 25 ++++++++++++++++++++++++-
|
||||
drivers/cpufreq/cpufreq.c | 8 ++++++++
|
||||
include/linux/arch_topology.h | 8 ++++++++
|
||||
include/linux/cpufreq.h | 2 ++
|
||||
4 files changed, 42 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/base/arch_topology.c b/drivers/base/arch_topology.c
|
||||
index 1eb81f113786..c0cf9ef5c2f5 100644
|
||||
--- a/drivers/base/arch_topology.c
|
||||
+++ b/drivers/base/arch_topology.c
|
||||
@@ -22,6 +22,8 @@
|
||||
#include <linux/smp.h>
|
||||
|
||||
DEFINE_PER_CPU(unsigned long, freq_scale) = SCHED_CAPACITY_SCALE;
|
||||
+DEFINE_PER_CPU(unsigned long, max_cpu_freq);
|
||||
+DEFINE_PER_CPU(unsigned long, max_freq_scale) = SCHED_CAPACITY_SCALE;
|
||||
|
||||
void arch_set_freq_scale(struct cpumask *cpus, unsigned long cur_freq,
|
||||
unsigned long max_freq)
|
||||
@@ -31,8 +33,29 @@ void arch_set_freq_scale(struct cpumask *cpus, unsigned long cur_freq,
|
||||
|
||||
scale = (cur_freq << SCHED_CAPACITY_SHIFT) / max_freq;
|
||||
|
||||
- for_each_cpu(i, cpus)
|
||||
+ for_each_cpu(i, cpus) {
|
||||
per_cpu(freq_scale, i) = scale;
|
||||
+ per_cpu(max_cpu_freq, i) = max_freq;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+void arch_set_max_freq_scale(struct cpumask *cpus,
|
||||
+ unsigned long policy_max_freq)
|
||||
+{
|
||||
+ unsigned long scale, max_freq;
|
||||
+ int cpu = cpumask_first(cpus);
|
||||
+
|
||||
+ if (cpu > nr_cpu_ids)
|
||||
+ return;
|
||||
+
|
||||
+ max_freq = per_cpu(max_cpu_freq, cpu);
|
||||
+ if (!max_freq)
|
||||
+ return;
|
||||
+
|
||||
+ scale = (policy_max_freq << SCHED_CAPACITY_SHIFT) / max_freq;
|
||||
+
|
||||
+ for_each_cpu(cpu, cpus)
|
||||
+ per_cpu(max_freq_scale, cpu) = scale;
|
||||
}
|
||||
|
||||
DEFINE_PER_CPU(unsigned long, cpu_scale) = SCHED_CAPACITY_SCALE;
|
||||
diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c
|
||||
index c52d6fa32aac..cf118aa0a83e 100644
|
||||
--- a/drivers/cpufreq/cpufreq.c
|
||||
+++ b/drivers/cpufreq/cpufreq.c
|
||||
@@ -152,6 +152,12 @@ __weak void arch_set_freq_scale(struct cpumask *cpus, unsigned long cur_freq,
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(arch_set_freq_scale);
|
||||
|
||||
+__weak void arch_set_max_freq_scale(struct cpumask *cpus,
|
||||
+ unsigned long policy_max_freq)
|
||||
+{
|
||||
+}
|
||||
+EXPORT_SYMBOL_GPL(arch_set_max_freq_scale);
|
||||
+
|
||||
/*
|
||||
* This is a generic cpufreq init() routine which can be used by cpufreq
|
||||
* drivers of SMP systems. It will do following:
|
||||
@@ -2398,6 +2404,8 @@ int cpufreq_set_policy(struct cpufreq_policy *policy,
|
||||
policy->max = new_policy->max;
|
||||
trace_cpu_frequency_limits(policy);
|
||||
|
||||
+ arch_set_max_freq_scale(policy->cpus, policy->max);
|
||||
+
|
||||
policy->cached_target_freq = UINT_MAX;
|
||||
|
||||
pr_debug("new min and max freqs are %u - %u kHz\n",
|
||||
diff --git a/include/linux/arch_topology.h b/include/linux/arch_topology.h
|
||||
index 42f2b5126094..5402bc0e2b1e 100644
|
||||
--- a/include/linux/arch_topology.h
|
||||
+++ b/include/linux/arch_topology.h
|
||||
@@ -33,6 +33,14 @@ unsigned long topology_get_freq_scale(int cpu)
|
||||
return per_cpu(freq_scale, cpu);
|
||||
}
|
||||
|
||||
+DECLARE_PER_CPU(unsigned long, max_freq_scale);
|
||||
+
|
||||
+static inline
|
||||
+unsigned long topology_get_max_freq_scale(struct sched_domain *sd, int cpu)
|
||||
+{
|
||||
+ return per_cpu(max_freq_scale, cpu);
|
||||
+}
|
||||
+
|
||||
struct cpu_topology {
|
||||
int thread_id;
|
||||
int core_id;
|
||||
diff --git a/include/linux/cpufreq.h b/include/linux/cpufreq.h
|
||||
index c57e88e85c41..fca45a2749d4 100644
|
||||
--- a/include/linux/cpufreq.h
|
||||
+++ b/include/linux/cpufreq.h
|
||||
@@ -984,6 +984,8 @@ extern unsigned int arch_freq_get_on_cpu(int cpu);
|
||||
|
||||
extern void arch_set_freq_scale(struct cpumask *cpus, unsigned long cur_freq,
|
||||
unsigned long max_freq);
|
||||
+extern void arch_set_max_freq_scale(struct cpumask *cpus,
|
||||
+ unsigned long policy_max_freq);
|
||||
|
||||
/* the following are really really optional */
|
||||
extern struct freq_attr cpufreq_freq_attr_scaling_available_freqs;
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
|
|
@ -0,0 +1,343 @@
|
|||
From d3266405f31f52159b55db03097131a6a201c041 Mon Sep 17 00:00:00 2001
|
||||
From: Connor O'Brien <connoro@google.com>
|
||||
Date: Fri, 5 Oct 2018 19:20:54 -0700
|
||||
Subject: ANDROID: cpufreq: times: add
|
||||
/proc/uid_concurrent_{active,policy}_time
|
||||
|
||||
In order to model the energy used by the cpu, we need to expose cpu
|
||||
time information to userspace. We can use this information to blame
|
||||
uids for the energy they are using.
|
||||
|
||||
This patch adds 2 files:
|
||||
|
||||
/proc/uid_concurrent_active_time outputs the time each uid spent
|
||||
running with 1 to num_possible_cpus online and not idle.
|
||||
|
||||
For instance, if 4 cores are online and active for 50ms and the uid is
|
||||
running on one of the cores, the uid should be blamed for 1/4 of the
|
||||
base energy used by the cpu when 1 or more cores is active.
|
||||
|
||||
/proc/uid_concurrent_policy_time outputs the time each uid spent
|
||||
running on group of cpu's with the same policy with 1 to
|
||||
num_related_cpus online and not idle.
|
||||
|
||||
For instance, if 2 cores that are a part of the same policy are online
|
||||
and active for 50ms and the uid is running on one of the cores, the
|
||||
uid should be blamed for 1/2 of the energy that is used everytime one
|
||||
or more cpus in the same policy is active.
|
||||
|
||||
This patch is based on commit c89e69136fec ("ANDROID: cpufreq:
|
||||
uid_concurrent_active_time") and commit 989212536842 ("ANDROID:
|
||||
cpufreq: uid_concurrent_policy_time") in the android-msm-wahoo-4.4
|
||||
kernel by Marissa Wall.
|
||||
|
||||
Bug: 111216804
|
||||
Bug: 127641090
|
||||
Test: cat files on hikey960 and confirm output is reasonable
|
||||
Change-Id: I1a342361af5c04ecee58d1ab667c91c1bce42445
|
||||
Signed-off-by: Connor O'Brien <connoro@google.com>
|
||||
---
|
||||
.../ABI/testing/procfs-concurrent_time | 16 ++
|
||||
drivers/cpufreq/cpufreq_times.c | 190 +++++++++++++++++-
|
||||
2 files changed, 204 insertions(+), 2 deletions(-)
|
||||
create mode 100644 Documentation/ABI/testing/procfs-concurrent_time
|
||||
|
||||
diff --git a/Documentation/ABI/testing/procfs-concurrent_time b/Documentation/ABI/testing/procfs-concurrent_time
|
||||
new file mode 100644
|
||||
index 0000000000000..55b414289b406
|
||||
--- /dev/null
|
||||
+++ b/Documentation/ABI/testing/procfs-concurrent_time
|
||||
@@ -0,0 +1,16 @@
|
||||
+What: /proc/uid_concurrent_active_time
|
||||
+Date: December 2018
|
||||
+Contact: Connor O'Brien <connoro@google.com>
|
||||
+Description:
|
||||
+ The /proc/uid_concurrent_active_time file displays aggregated cputime
|
||||
+ numbers for each uid, broken down by the total number of cores that were
|
||||
+ active while the uid's task was running.
|
||||
+
|
||||
+What: /proc/uid_concurrent_policy_time
|
||||
+Date: December 2018
|
||||
+Contact: Connor O'Brien <connoro@google.com>
|
||||
+Description:
|
||||
+ The /proc/uid_concurrent_policy_time file displays aggregated cputime
|
||||
+ numbers for each uid, broken down based on the cpufreq policy
|
||||
+ of the core used by the uid's task and the number of cores associated
|
||||
+ with that policy that were active while the uid's task was running.
|
||||
diff --git a/drivers/cpufreq/cpufreq_times.c b/drivers/cpufreq/cpufreq_times.c
|
||||
index a43eeee30e8e1..aaded60c9a21c 100644
|
||||
--- a/drivers/cpufreq/cpufreq_times.c
|
||||
+++ b/drivers/cpufreq/cpufreq_times.c
|
||||
@@ -32,11 +32,17 @@ static DECLARE_HASHTABLE(uid_hash_table, UID_HASH_BITS);
|
||||
static DEFINE_SPINLOCK(task_time_in_state_lock); /* task->time_in_state */
|
||||
static DEFINE_SPINLOCK(uid_lock); /* uid_hash_table */
|
||||
|
||||
+struct concurrent_times {
|
||||
+ atomic64_t active[NR_CPUS];
|
||||
+ atomic64_t policy[NR_CPUS];
|
||||
+};
|
||||
+
|
||||
struct uid_entry {
|
||||
uid_t uid;
|
||||
unsigned int max_state;
|
||||
struct hlist_node hash;
|
||||
struct rcu_head rcu;
|
||||
+ struct concurrent_times *concurrent_times;
|
||||
u64 time_in_state[0];
|
||||
};
|
||||
|
||||
@@ -87,6 +93,7 @@ static struct uid_entry *find_uid_entry_locked(uid_t uid)
|
||||
static struct uid_entry *find_or_register_uid_locked(uid_t uid)
|
||||
{
|
||||
struct uid_entry *uid_entry, *temp;
|
||||
+ struct concurrent_times *times;
|
||||
unsigned int max_state = READ_ONCE(next_offset);
|
||||
size_t alloc_size = sizeof(*uid_entry) + max_state *
|
||||
sizeof(uid_entry->time_in_state[0]);
|
||||
@@ -115,9 +122,15 @@ static struct uid_entry *find_or_register_uid_locked(uid_t uid)
|
||||
uid_entry = kzalloc(alloc_size, GFP_ATOMIC);
|
||||
if (!uid_entry)
|
||||
return NULL;
|
||||
+ times = kzalloc(sizeof(*times), GFP_ATOMIC);
|
||||
+ if (!times) {
|
||||
+ kfree(uid_entry);
|
||||
+ return NULL;
|
||||
+ }
|
||||
|
||||
uid_entry->uid = uid;
|
||||
uid_entry->max_state = max_state;
|
||||
+ uid_entry->concurrent_times = times;
|
||||
|
||||
hash_add_rcu(uid_hash_table, &uid_entry->hash, uid);
|
||||
|
||||
@@ -232,6 +245,86 @@ static int uid_time_in_state_seq_show(struct seq_file *m, void *v)
|
||||
return 0;
|
||||
}
|
||||
|
||||
+static int concurrent_time_seq_show(struct seq_file *m, void *v,
|
||||
+ atomic64_t *(*get_times)(struct concurrent_times *))
|
||||
+{
|
||||
+ struct uid_entry *uid_entry;
|
||||
+ int i, num_possible_cpus = num_possible_cpus();
|
||||
+
|
||||
+ rcu_read_lock();
|
||||
+
|
||||
+ hlist_for_each_entry_rcu(uid_entry, (struct hlist_head *)v, hash) {
|
||||
+ atomic64_t *times = get_times(uid_entry->concurrent_times);
|
||||
+
|
||||
+ seq_put_decimal_ull(m, "", (u64)uid_entry->uid);
|
||||
+ seq_putc(m, ':');
|
||||
+
|
||||
+ for (i = 0; i < num_possible_cpus; ++i) {
|
||||
+ u64 time = nsec_to_clock_t(atomic64_read(×[i]));
|
||||
+
|
||||
+ seq_put_decimal_ull(m, " ", time);
|
||||
+ }
|
||||
+ seq_putc(m, '\n');
|
||||
+ }
|
||||
+
|
||||
+ rcu_read_unlock();
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static inline atomic64_t *get_active_times(struct concurrent_times *times)
|
||||
+{
|
||||
+ return times->active;
|
||||
+}
|
||||
+
|
||||
+static int concurrent_active_time_seq_show(struct seq_file *m, void *v)
|
||||
+{
|
||||
+ if (v == uid_hash_table) {
|
||||
+ seq_put_decimal_ull(m, "cpus: ", num_possible_cpus());
|
||||
+ seq_putc(m, '\n');
|
||||
+ }
|
||||
+
|
||||
+ return concurrent_time_seq_show(m, v, get_active_times);
|
||||
+}
|
||||
+
|
||||
+static inline atomic64_t *get_policy_times(struct concurrent_times *times)
|
||||
+{
|
||||
+ return times->policy;
|
||||
+}
|
||||
+
|
||||
+static int concurrent_policy_time_seq_show(struct seq_file *m, void *v)
|
||||
+{
|
||||
+ int i;
|
||||
+ struct cpu_freqs *freqs, *last_freqs = NULL;
|
||||
+
|
||||
+ if (v == uid_hash_table) {
|
||||
+ int cnt = 0;
|
||||
+
|
||||
+ for_each_possible_cpu(i) {
|
||||
+ freqs = all_freqs[i];
|
||||
+ if (!freqs)
|
||||
+ continue;
|
||||
+ if (freqs != last_freqs) {
|
||||
+ if (last_freqs) {
|
||||
+ seq_put_decimal_ull(m, ": ", cnt);
|
||||
+ seq_putc(m, ' ');
|
||||
+ cnt = 0;
|
||||
+ }
|
||||
+ seq_put_decimal_ull(m, "policy", i);
|
||||
+
|
||||
+ last_freqs = freqs;
|
||||
+ }
|
||||
+ cnt++;
|
||||
+ }
|
||||
+ if (last_freqs) {
|
||||
+ seq_put_decimal_ull(m, ": ", cnt);
|
||||
+ seq_putc(m, '\n');
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ return concurrent_time_seq_show(m, v, get_policy_times);
|
||||
+}
|
||||
+
|
||||
void cpufreq_task_times_init(struct task_struct *p)
|
||||
{
|
||||
unsigned long flags;
|
||||
@@ -326,11 +419,16 @@ void cpufreq_acct_update_power(struct task_struct *p, u64 cputime)
|
||||
{
|
||||
unsigned long flags;
|
||||
unsigned int state;
|
||||
+ unsigned int active_cpu_cnt = 0;
|
||||
+ unsigned int policy_cpu_cnt = 0;
|
||||
+ unsigned int policy_first_cpu;
|
||||
struct uid_entry *uid_entry;
|
||||
struct cpu_freqs *freqs = all_freqs[task_cpu(p)];
|
||||
+ struct cpufreq_policy *policy;
|
||||
uid_t uid = from_kuid_munged(current_user_ns(), task_uid(p));
|
||||
+ int cpu = 0;
|
||||
|
||||
- if (!freqs || p->flags & PF_EXITING)
|
||||
+ if (!freqs || is_idle_task(p) || p->flags & PF_EXITING)
|
||||
return;
|
||||
|
||||
state = freqs->offset + READ_ONCE(freqs->last_index);
|
||||
@@ -346,6 +444,42 @@ void cpufreq_acct_update_power(struct task_struct *p, u64 cputime)
|
||||
if (uid_entry && state < uid_entry->max_state)
|
||||
uid_entry->time_in_state[state] += cputime;
|
||||
spin_unlock_irqrestore(&uid_lock, flags);
|
||||
+
|
||||
+ rcu_read_lock();
|
||||
+ uid_entry = find_uid_entry_rcu(uid);
|
||||
+ if (!uid_entry) {
|
||||
+ rcu_read_unlock();
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ for_each_possible_cpu(cpu)
|
||||
+ if (!idle_cpu(cpu))
|
||||
+ ++active_cpu_cnt;
|
||||
+
|
||||
+ atomic64_add(cputime,
|
||||
+ &uid_entry->concurrent_times->active[active_cpu_cnt - 1]);
|
||||
+
|
||||
+ policy = cpufreq_cpu_get(task_cpu(p));
|
||||
+ if (!policy) {
|
||||
+ /*
|
||||
+ * This CPU may have just come up and not have a cpufreq policy
|
||||
+ * yet.
|
||||
+ */
|
||||
+ rcu_read_unlock();
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ for_each_cpu(cpu, policy->related_cpus)
|
||||
+ if (!idle_cpu(cpu))
|
||||
+ ++policy_cpu_cnt;
|
||||
+
|
||||
+ policy_first_cpu = cpumask_first(policy->related_cpus);
|
||||
+ cpufreq_cpu_put(policy);
|
||||
+
|
||||
+ atomic64_add(cputime,
|
||||
+ &uid_entry->concurrent_times->policy[policy_first_cpu +
|
||||
+ policy_cpu_cnt - 1]);
|
||||
+ rcu_read_unlock();
|
||||
}
|
||||
|
||||
void cpufreq_times_create_policy(struct cpufreq_policy *policy)
|
||||
@@ -387,6 +521,14 @@ void cpufreq_times_create_policy(struct cpufreq_policy *policy)
|
||||
all_freqs[cpu] = freqs;
|
||||
}
|
||||
|
||||
+static void uid_entry_reclaim(struct rcu_head *rcu)
|
||||
+{
|
||||
+ struct uid_entry *uid_entry = container_of(rcu, struct uid_entry, rcu);
|
||||
+
|
||||
+ kfree(uid_entry->concurrent_times);
|
||||
+ kfree(uid_entry);
|
||||
+}
|
||||
+
|
||||
void cpufreq_task_times_remove_uids(uid_t uid_start, uid_t uid_end)
|
||||
{
|
||||
struct uid_entry *uid_entry;
|
||||
@@ -400,7 +542,7 @@ void cpufreq_task_times_remove_uids(uid_t uid_start, uid_t uid_end)
|
||||
hash, uid_start) {
|
||||
if (uid_start == uid_entry->uid) {
|
||||
hash_del_rcu(&uid_entry->hash);
|
||||
- kfree_rcu(uid_entry, rcu);
|
||||
+ call_rcu(&uid_entry->rcu, uid_entry_reclaim);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -453,11 +595,55 @@ static const struct file_operations uid_time_in_state_fops = {
|
||||
.release = seq_release,
|
||||
};
|
||||
|
||||
+static const struct seq_operations concurrent_active_time_seq_ops = {
|
||||
+ .start = uid_seq_start,
|
||||
+ .next = uid_seq_next,
|
||||
+ .stop = uid_seq_stop,
|
||||
+ .show = concurrent_active_time_seq_show,
|
||||
+};
|
||||
+
|
||||
+static int concurrent_active_time_open(struct inode *inode, struct file *file)
|
||||
+{
|
||||
+ return seq_open(file, &concurrent_active_time_seq_ops);
|
||||
+}
|
||||
+
|
||||
+static const struct file_operations concurrent_active_time_fops = {
|
||||
+ .open = concurrent_active_time_open,
|
||||
+ .read = seq_read,
|
||||
+ .llseek = seq_lseek,
|
||||
+ .release = seq_release,
|
||||
+};
|
||||
+
|
||||
+static const struct seq_operations concurrent_policy_time_seq_ops = {
|
||||
+ .start = uid_seq_start,
|
||||
+ .next = uid_seq_next,
|
||||
+ .stop = uid_seq_stop,
|
||||
+ .show = concurrent_policy_time_seq_show,
|
||||
+};
|
||||
+
|
||||
+static int concurrent_policy_time_open(struct inode *inode, struct file *file)
|
||||
+{
|
||||
+ return seq_open(file, &concurrent_policy_time_seq_ops);
|
||||
+}
|
||||
+
|
||||
+static const struct file_operations concurrent_policy_time_fops = {
|
||||
+ .open = concurrent_policy_time_open,
|
||||
+ .read = seq_read,
|
||||
+ .llseek = seq_lseek,
|
||||
+ .release = seq_release,
|
||||
+};
|
||||
+
|
||||
static int __init cpufreq_times_init(void)
|
||||
{
|
||||
proc_create_data("uid_time_in_state", 0444, NULL,
|
||||
&uid_time_in_state_fops, NULL);
|
||||
|
||||
+ proc_create_data("uid_concurrent_active_time", 0444, NULL,
|
||||
+ &concurrent_active_time_fops, NULL);
|
||||
+
|
||||
+ proc_create_data("uid_concurrent_policy_time", 0444, NULL,
|
||||
+ &concurrent_policy_time_fops, NULL);
|
||||
+
|
||||
return 0;
|
||||
}
|
||||
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
|
|
@ -0,0 +1,155 @@
|
|||
From ad7e0a2419f3f4c589d39a53b04720c9cd1ef5ae Mon Sep 17 00:00:00 2001
|
||||
From: Connor O'Brien <connoro@google.com>
|
||||
Date: Fri, 1 Mar 2019 15:40:30 -0800
|
||||
Subject: ANDROID: cpufreq: times: don't copy invalid freqs
|
||||
from freq table
|
||||
|
||||
Invalid frequency checks are a bottleneck in reading
|
||||
/proc/uid_time_in_state, but there's no reason to include invalid
|
||||
frequencies in our local copies of frequency tables. Revise
|
||||
cpufreq_times_create_policy() to only copy valid frequencies, and
|
||||
eliminate all the checks this change makes unnecessary.
|
||||
|
||||
Bug: 111216804
|
||||
Test: cat /proc/uid_time_in_state & confirm values & format are sane
|
||||
Test: /proc/uid_time_in_state read times reduced by ~40%
|
||||
Change-Id: I506420a6ac5fe8a6c87d01b16ad267b192d43f1d
|
||||
Signed-off-by: Connor O'Brien <connoro@google.com>
|
||||
---
|
||||
drivers/cpufreq/cpufreq_times.c | 55 ++++++++++++---------------------
|
||||
1 file changed, 19 insertions(+), 36 deletions(-)
|
||||
|
||||
diff --git a/drivers/cpufreq/cpufreq_times.c b/drivers/cpufreq/cpufreq_times.c
|
||||
index 2883d675b1eb7..5b5248a7c87c4 100644
|
||||
--- a/drivers/cpufreq/cpufreq_times.c
|
||||
+++ b/drivers/cpufreq/cpufreq_times.c
|
||||
@@ -137,27 +137,10 @@ static struct uid_entry *find_or_register_uid_locked(uid_t uid)
|
||||
return uid_entry;
|
||||
}
|
||||
|
||||
-static bool freq_index_invalid(unsigned int index)
|
||||
-{
|
||||
- unsigned int cpu;
|
||||
- struct cpu_freqs *freqs;
|
||||
-
|
||||
- for_each_possible_cpu(cpu) {
|
||||
- freqs = all_freqs[cpu];
|
||||
- if (!freqs || index < freqs->offset ||
|
||||
- freqs->offset + freqs->max_state <= index)
|
||||
- continue;
|
||||
- return freqs->freq_table[index - freqs->offset] ==
|
||||
- CPUFREQ_ENTRY_INVALID;
|
||||
- }
|
||||
- return true;
|
||||
-}
|
||||
-
|
||||
static int single_uid_time_in_state_show(struct seq_file *m, void *ptr)
|
||||
{
|
||||
struct uid_entry *uid_entry;
|
||||
unsigned int i;
|
||||
- u64 time;
|
||||
uid_t uid = from_kuid_munged(current_user_ns(), *(kuid_t *)m->private);
|
||||
|
||||
if (uid == overflowuid)
|
||||
@@ -172,9 +155,7 @@ static int single_uid_time_in_state_show(struct seq_file *m, void *ptr)
|
||||
}
|
||||
|
||||
for (i = 0; i < uid_entry->max_state; ++i) {
|
||||
- if (freq_index_invalid(i))
|
||||
- continue;
|
||||
- time = nsec_to_clock_t(uid_entry->time_in_state[i]);
|
||||
+ u64 time = nsec_to_clock_t(uid_entry->time_in_state[i]);
|
||||
seq_write(m, &time, sizeof(time));
|
||||
}
|
||||
|
||||
@@ -219,9 +200,6 @@ static int uid_time_in_state_seq_show(struct seq_file *m, void *v)
|
||||
continue;
|
||||
last_freqs = freqs;
|
||||
for (i = 0; i < freqs->max_state; i++) {
|
||||
- if (freqs->freq_table[i] ==
|
||||
- CPUFREQ_ENTRY_INVALID)
|
||||
- continue;
|
||||
seq_put_decimal_ull(m, " ",
|
||||
freqs->freq_table[i]);
|
||||
}
|
||||
@@ -237,10 +215,7 @@ static int uid_time_in_state_seq_show(struct seq_file *m, void *v)
|
||||
seq_putc(m, ':');
|
||||
}
|
||||
for (i = 0; i < uid_entry->max_state; ++i) {
|
||||
- u64 time;
|
||||
- if (freq_index_invalid(i))
|
||||
- continue;
|
||||
- time = nsec_to_clock_t(uid_entry->time_in_state[i]);
|
||||
+ u64 time = nsec_to_clock_t(uid_entry->time_in_state[i]);
|
||||
seq_put_decimal_ull(m, " ", time);
|
||||
}
|
||||
if (uid_entry->max_state)
|
||||
@@ -407,8 +382,6 @@ int proc_time_in_state_show(struct seq_file *m, struct pid_namespace *ns,
|
||||
|
||||
seq_printf(m, "cpu%u\n", cpu);
|
||||
for (i = 0; i < freqs->max_state; i++) {
|
||||
- if (freqs->freq_table[i] == CPUFREQ_ENTRY_INVALID)
|
||||
- continue;
|
||||
cputime = 0;
|
||||
if (freqs->offset + i < p->max_state &&
|
||||
p->time_in_state)
|
||||
@@ -488,9 +461,19 @@ void cpufreq_acct_update_power(struct task_struct *p, u64 cputime)
|
||||
rcu_read_unlock();
|
||||
}
|
||||
|
||||
+static int cpufreq_times_get_index(struct cpu_freqs *freqs, unsigned int freq)
|
||||
+{
|
||||
+ int index;
|
||||
+ for (index = 0; index < freqs->max_state; ++index) {
|
||||
+ if (freqs->freq_table[index] == freq)
|
||||
+ return index;
|
||||
+ }
|
||||
+ return -1;
|
||||
+}
|
||||
+
|
||||
void cpufreq_times_create_policy(struct cpufreq_policy *policy)
|
||||
{
|
||||
- int cpu, index;
|
||||
+ int cpu, index = 0;
|
||||
unsigned int count = 0;
|
||||
struct cpufreq_frequency_table *pos, *table;
|
||||
struct cpu_freqs *freqs;
|
||||
@@ -503,7 +486,7 @@ void cpufreq_times_create_policy(struct cpufreq_policy *policy)
|
||||
if (!table)
|
||||
return;
|
||||
|
||||
- cpufreq_for_each_entry(pos, table)
|
||||
+ cpufreq_for_each_valid_entry(pos, table)
|
||||
count++;
|
||||
|
||||
tmp = kzalloc(sizeof(*freqs) + sizeof(freqs->freq_table[0]) * count,
|
||||
@@ -514,13 +497,13 @@ void cpufreq_times_create_policy(struct cpufreq_policy *policy)
|
||||
freqs = tmp;
|
||||
freqs->max_state = count;
|
||||
|
||||
- index = cpufreq_frequency_table_get_index(policy, policy->cur);
|
||||
+ cpufreq_for_each_valid_entry(pos, table)
|
||||
+ freqs->freq_table[index++] = pos->frequency;
|
||||
+
|
||||
+ index = cpufreq_times_get_index(freqs, policy->cur);
|
||||
if (index >= 0)
|
||||
WRITE_ONCE(freqs->last_index, index);
|
||||
|
||||
- cpufreq_for_each_entry(pos, table)
|
||||
- freqs->freq_table[pos - table] = pos->frequency;
|
||||
-
|
||||
freqs->offset = next_offset;
|
||||
WRITE_ONCE(next_offset, freqs->offset + count);
|
||||
for_each_cpu(cpu, policy->related_cpus)
|
||||
@@ -564,7 +547,7 @@ void cpufreq_times_record_transition(struct cpufreq_policy *policy,
|
||||
if (!freqs)
|
||||
return;
|
||||
|
||||
- index = cpufreq_frequency_table_get_index(policy, new_freq);
|
||||
+ index = cpufreq_times_get_index(freqs, new_freq);
|
||||
if (index >= 0)
|
||||
WRITE_ONCE(freqs->last_index, index);
|
||||
}
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
75
patches/ANDROID-cpufreq-times-optimize-proc-files.patch
Normal file
75
patches/ANDROID-cpufreq-times-optimize-proc-files.patch
Normal file
|
|
@ -0,0 +1,75 @@
|
|||
From 7a7f965f733e896d06d2d3151bdea372551178b5 Mon Sep 17 00:00:00 2001
|
||||
From: Connor O'Brien <connoro@google.com>
|
||||
Date: Wed, 20 Feb 2019 12:17:48 -0800
|
||||
Subject: ANDROID: cpufreq: times: optimize proc files
|
||||
|
||||
The majority of the time spent reading /proc/uid_time_in_state is due
|
||||
to seq_printf calls. Use the faster seq_put_* variations instead.
|
||||
|
||||
Also skip empty hash buckets in uid_seq_next for a further performance
|
||||
improvement.
|
||||
|
||||
Bug: 111216804
|
||||
Bug: 127641090
|
||||
Test: Read /proc/uid_time_in_state and confirm output is sane
|
||||
Test: Compare read times to confirm performance improvement
|
||||
Change-Id: If8783b498ed73d2ddb186a49438af41ac5ab9957
|
||||
Signed-off-by: Connor O'Brien <connoro@google.com>
|
||||
---
|
||||
drivers/cpufreq/cpufreq_times.c | 22 ++++++++++++++--------
|
||||
1 file changed, 14 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/drivers/cpufreq/cpufreq_times.c b/drivers/cpufreq/cpufreq_times.c
|
||||
index 42420c5e1e6fc..2883d675b1eb7 100644
|
||||
--- a/drivers/cpufreq/cpufreq_times.c
|
||||
+++ b/drivers/cpufreq/cpufreq_times.c
|
||||
@@ -193,10 +193,12 @@ static void *uid_seq_start(struct seq_file *seq, loff_t *pos)
|
||||
|
||||
static void *uid_seq_next(struct seq_file *seq, void *v, loff_t *pos)
|
||||
{
|
||||
- (*pos)++;
|
||||
+ do {
|
||||
+ (*pos)++;
|
||||
|
||||
- if (*pos >= HASH_SIZE(uid_hash_table))
|
||||
- return NULL;
|
||||
+ if (*pos >= HASH_SIZE(uid_hash_table))
|
||||
+ return NULL;
|
||||
+ } while (hlist_empty(&uid_hash_table[*pos]));
|
||||
|
||||
return &uid_hash_table[*pos];
|
||||
}
|
||||
@@ -220,7 +222,8 @@ static int uid_time_in_state_seq_show(struct seq_file *m, void *v)
|
||||
if (freqs->freq_table[i] ==
|
||||
CPUFREQ_ENTRY_INVALID)
|
||||
continue;
|
||||
- seq_printf(m, " %d", freqs->freq_table[i]);
|
||||
+ seq_put_decimal_ull(m, " ",
|
||||
+ freqs->freq_table[i]);
|
||||
}
|
||||
}
|
||||
seq_putc(m, '\n');
|
||||
@@ -229,13 +232,16 @@ static int uid_time_in_state_seq_show(struct seq_file *m, void *v)
|
||||
rcu_read_lock();
|
||||
|
||||
hlist_for_each_entry_rcu(uid_entry, (struct hlist_head *)v, hash) {
|
||||
- if (uid_entry->max_state)
|
||||
- seq_printf(m, "%d:", uid_entry->uid);
|
||||
+ if (uid_entry->max_state) {
|
||||
+ seq_put_decimal_ull(m, "", uid_entry->uid);
|
||||
+ seq_putc(m, ':');
|
||||
+ }
|
||||
for (i = 0; i < uid_entry->max_state; ++i) {
|
||||
+ u64 time;
|
||||
if (freq_index_invalid(i))
|
||||
continue;
|
||||
- seq_printf(m, " %lu", (unsigned long)nsec_to_clock_t(
|
||||
- uid_entry->time_in_state[i]));
|
||||
+ time = nsec_to_clock_t(uid_entry->time_in_state[i]);
|
||||
+ seq_put_decimal_ull(m, " ", time);
|
||||
}
|
||||
if (uid_entry->max_state)
|
||||
seq_putc(m, '\n');
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
|
|
@ -0,0 +1,115 @@
|
|||
From dbf9a52e7afcf85ed8344a2db63172cd05940c43 Mon Sep 17 00:00:00 2001
|
||||
From: Connor O'Brien <connoro@google.com>
|
||||
Date: Fri, 8 Feb 2019 12:30:41 -0800
|
||||
Subject: ANDROID: cpufreq: times: record fast switch frequency
|
||||
transitions
|
||||
|
||||
cpufreq_times_record_transition() is not called when fast switch is
|
||||
enabled, leading /proc/uid_time_in_state to attribute all time on a
|
||||
cluster to a single frequency. To fix this, add a call to
|
||||
cpufreq_times_record_transition() in the fast switch path.
|
||||
|
||||
Also revise cpufreq_times_record_transition() to simplify the new call
|
||||
and more closely align with cpufreq_stats_record_transition().
|
||||
|
||||
Bug: 121287027
|
||||
Bug: 127641090
|
||||
Test: /proc/uid_time_in_state shows times for more than one freq per
|
||||
cluster
|
||||
Change-Id: Ib63d19006878fafb88475e401ef243bdd8b11979
|
||||
Signed-off-by: Connor O'Brien <connoro@google.com>
|
||||
---
|
||||
drivers/cpufreq/cpufreq.c | 10 ++++++++--
|
||||
drivers/cpufreq/cpufreq_times.c | 15 ++++-----------
|
||||
include/linux/cpufreq_times.h | 5 +++--
|
||||
3 files changed, 15 insertions(+), 15 deletions(-)
|
||||
|
||||
diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c
|
||||
index e1cb6e99c76df..642fc08b6c821 100644
|
||||
--- a/drivers/cpufreq/cpufreq.c
|
||||
+++ b/drivers/cpufreq/cpufreq.c
|
||||
@@ -380,7 +380,7 @@ static void cpufreq_notify_transition(struct cpufreq_policy *policy,
|
||||
CPUFREQ_POSTCHANGE, freqs);
|
||||
|
||||
cpufreq_stats_record_transition(policy, freqs->new);
|
||||
- cpufreq_times_record_transition(freqs);
|
||||
+ cpufreq_times_record_transition(policy, freqs->new);
|
||||
policy->cur = freqs->new;
|
||||
}
|
||||
}
|
||||
@@ -2010,9 +2010,15 @@ EXPORT_SYMBOL(cpufreq_unregister_notifier);
|
||||
unsigned int cpufreq_driver_fast_switch(struct cpufreq_policy *policy,
|
||||
unsigned int target_freq)
|
||||
{
|
||||
+ int ret;
|
||||
+
|
||||
target_freq = clamp_val(target_freq, policy->min, policy->max);
|
||||
|
||||
- return cpufreq_driver->fast_switch(policy, target_freq);
|
||||
+ ret = cpufreq_driver->fast_switch(policy, target_freq);
|
||||
+ if (ret)
|
||||
+ cpufreq_times_record_transition(policy, ret);
|
||||
+
|
||||
+ return ret;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(cpufreq_driver_fast_switch);
|
||||
|
||||
diff --git a/drivers/cpufreq/cpufreq_times.c b/drivers/cpufreq/cpufreq_times.c
|
||||
index aaded60c9a21c..42420c5e1e6fc 100644
|
||||
--- a/drivers/cpufreq/cpufreq_times.c
|
||||
+++ b/drivers/cpufreq/cpufreq_times.c
|
||||
@@ -550,24 +550,17 @@ void cpufreq_task_times_remove_uids(uid_t uid_start, uid_t uid_end)
|
||||
spin_unlock_irqrestore(&uid_lock, flags);
|
||||
}
|
||||
|
||||
-void cpufreq_times_record_transition(struct cpufreq_freqs *freq)
|
||||
+void cpufreq_times_record_transition(struct cpufreq_policy *policy,
|
||||
+ unsigned int new_freq)
|
||||
{
|
||||
int index;
|
||||
- struct cpu_freqs *freqs = all_freqs[freq->cpu];
|
||||
- struct cpufreq_policy *policy;
|
||||
-
|
||||
+ struct cpu_freqs *freqs = all_freqs[policy->cpu];
|
||||
if (!freqs)
|
||||
return;
|
||||
|
||||
- policy = cpufreq_cpu_get(freq->cpu);
|
||||
- if (!policy)
|
||||
- return;
|
||||
-
|
||||
- index = cpufreq_frequency_table_get_index(policy, freq->new);
|
||||
+ index = cpufreq_frequency_table_get_index(policy, new_freq);
|
||||
if (index >= 0)
|
||||
WRITE_ONCE(freqs->last_index, index);
|
||||
-
|
||||
- cpufreq_cpu_put(policy);
|
||||
}
|
||||
|
||||
static const struct seq_operations uid_time_in_state_seq_ops = {
|
||||
diff --git a/include/linux/cpufreq_times.h b/include/linux/cpufreq_times.h
|
||||
index 757bf0cb60704..0eb6dc9d0fe29 100644
|
||||
--- a/include/linux/cpufreq_times.h
|
||||
+++ b/include/linux/cpufreq_times.h
|
||||
@@ -27,7 +27,8 @@ int proc_time_in_state_show(struct seq_file *m, struct pid_namespace *ns,
|
||||
struct pid *pid, struct task_struct *p);
|
||||
void cpufreq_acct_update_power(struct task_struct *p, u64 cputime);
|
||||
void cpufreq_times_create_policy(struct cpufreq_policy *policy);
|
||||
-void cpufreq_times_record_transition(struct cpufreq_freqs *freq);
|
||||
+void cpufreq_times_record_transition(struct cpufreq_policy *policy,
|
||||
+ unsigned int new_freq);
|
||||
void cpufreq_task_times_remove_uids(uid_t uid_start, uid_t uid_end);
|
||||
int single_uid_time_in_state_open(struct inode *inode, struct file *file);
|
||||
#else
|
||||
@@ -38,7 +39,7 @@ static inline void cpufreq_acct_update_power(struct task_struct *p,
|
||||
u64 cputime) {}
|
||||
static inline void cpufreq_times_create_policy(struct cpufreq_policy *policy) {}
|
||||
static inline void cpufreq_times_record_transition(
|
||||
- struct cpufreq_freqs *freq) {}
|
||||
+ struct cpufreq_policy *policy, unsigned int new_freq) {}
|
||||
static inline void cpufreq_task_times_remove_uids(uid_t uid_start,
|
||||
uid_t uid_end) {}
|
||||
#endif /* CONFIG_CPU_FREQ_TIMES */
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
331
patches/ANDROID-cpufreq-times-track-per-uid-time-in-state.patch
Normal file
331
patches/ANDROID-cpufreq-times-track-per-uid-time-in-state.patch
Normal file
|
|
@ -0,0 +1,331 @@
|
|||
From 1ec486602e746651cb113cb6ae53df02a7c80031 Mon Sep 17 00:00:00 2001
|
||||
From: Connor O'Brien <connoro@google.com>
|
||||
Date: Tue, 6 Feb 2018 13:30:27 -0800
|
||||
Subject: ANDROID: cpufreq: times: track per-uid time in state
|
||||
|
||||
Add /proc/uid_time_in_state showing per uid/frequency/cluster
|
||||
times. Allow uid removal through /proc/uid_cputime/remove_uid_range.
|
||||
|
||||
Signed-off-by: Connor O'Brien <connoro@google.com>
|
||||
Bug: 72339335
|
||||
Bug: 127641090
|
||||
Test: Read /proc/uid_time_in_state
|
||||
Change-Id: I20ba3546a27c25b7e7991e2a86986e158aafa58c
|
||||
---
|
||||
drivers/cpufreq/cpufreq_times.c | 208 ++++++++++++++++++++++++++++++++
|
||||
drivers/misc/uid_sys_stats.c | 4 +
|
||||
include/linux/cpufreq_times.h | 3 +
|
||||
3 files changed, 215 insertions(+)
|
||||
|
||||
diff --git a/drivers/cpufreq/cpufreq_times.c b/drivers/cpufreq/cpufreq_times.c
|
||||
index 339a3e9cf0821..15b52e1f82fc6 100644
|
||||
--- a/drivers/cpufreq/cpufreq_times.c
|
||||
+++ b/drivers/cpufreq/cpufreq_times.c
|
||||
@@ -15,14 +15,30 @@
|
||||
|
||||
#include <linux/cpufreq.h>
|
||||
#include <linux/cpufreq_times.h>
|
||||
+#include <linux/hashtable.h>
|
||||
+#include <linux/init.h>
|
||||
#include <linux/jiffies.h>
|
||||
+#include <linux/proc_fs.h>
|
||||
#include <linux/sched.h>
|
||||
#include <linux/seq_file.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/spinlock.h>
|
||||
#include <linux/threads.h>
|
||||
|
||||
+#define UID_HASH_BITS 10
|
||||
+
|
||||
+static DECLARE_HASHTABLE(uid_hash_table, UID_HASH_BITS);
|
||||
+
|
||||
static DEFINE_SPINLOCK(task_time_in_state_lock); /* task->time_in_state */
|
||||
+static DEFINE_SPINLOCK(uid_lock); /* uid_hash_table */
|
||||
+
|
||||
+struct uid_entry {
|
||||
+ uid_t uid;
|
||||
+ unsigned int max_state;
|
||||
+ struct hlist_node hash;
|
||||
+ struct rcu_head rcu;
|
||||
+ u64 time_in_state[0];
|
||||
+};
|
||||
|
||||
/**
|
||||
* struct cpu_freqs - per-cpu frequency information
|
||||
@@ -42,6 +58,137 @@ static struct cpu_freqs *all_freqs[NR_CPUS];
|
||||
|
||||
static unsigned int next_offset;
|
||||
|
||||
+/* Caller must hold uid lock */
|
||||
+static struct uid_entry *find_uid_entry_locked(uid_t uid)
|
||||
+{
|
||||
+ struct uid_entry *uid_entry;
|
||||
+
|
||||
+ hash_for_each_possible(uid_hash_table, uid_entry, hash, uid) {
|
||||
+ if (uid_entry->uid == uid)
|
||||
+ return uid_entry;
|
||||
+ }
|
||||
+ return NULL;
|
||||
+}
|
||||
+
|
||||
+/* Caller must hold uid lock */
|
||||
+static struct uid_entry *find_or_register_uid_locked(uid_t uid)
|
||||
+{
|
||||
+ struct uid_entry *uid_entry, *temp;
|
||||
+ unsigned int max_state = READ_ONCE(next_offset);
|
||||
+ size_t alloc_size = sizeof(*uid_entry) + max_state *
|
||||
+ sizeof(uid_entry->time_in_state[0]);
|
||||
+
|
||||
+ uid_entry = find_uid_entry_locked(uid);
|
||||
+ if (uid_entry) {
|
||||
+ if (uid_entry->max_state == max_state)
|
||||
+ return uid_entry;
|
||||
+ /* uid_entry->time_in_state is too small to track all freqs, so
|
||||
+ * expand it.
|
||||
+ */
|
||||
+ temp = __krealloc(uid_entry, alloc_size, GFP_ATOMIC);
|
||||
+ if (!temp)
|
||||
+ return uid_entry;
|
||||
+ temp->max_state = max_state;
|
||||
+ memset(temp->time_in_state + uid_entry->max_state, 0,
|
||||
+ (max_state - uid_entry->max_state) *
|
||||
+ sizeof(uid_entry->time_in_state[0]));
|
||||
+ if (temp != uid_entry) {
|
||||
+ hlist_replace_rcu(&uid_entry->hash, &temp->hash);
|
||||
+ kfree_rcu(uid_entry, rcu);
|
||||
+ }
|
||||
+ return temp;
|
||||
+ }
|
||||
+
|
||||
+ uid_entry = kzalloc(alloc_size, GFP_ATOMIC);
|
||||
+ if (!uid_entry)
|
||||
+ return NULL;
|
||||
+
|
||||
+ uid_entry->uid = uid;
|
||||
+ uid_entry->max_state = max_state;
|
||||
+
|
||||
+ hash_add_rcu(uid_hash_table, &uid_entry->hash, uid);
|
||||
+
|
||||
+ return uid_entry;
|
||||
+}
|
||||
+
|
||||
+static bool freq_index_invalid(unsigned int index)
|
||||
+{
|
||||
+ unsigned int cpu;
|
||||
+ struct cpu_freqs *freqs;
|
||||
+
|
||||
+ for_each_possible_cpu(cpu) {
|
||||
+ freqs = all_freqs[cpu];
|
||||
+ if (!freqs || index < freqs->offset ||
|
||||
+ freqs->offset + freqs->max_state <= index)
|
||||
+ continue;
|
||||
+ return freqs->freq_table[index - freqs->offset] ==
|
||||
+ CPUFREQ_ENTRY_INVALID;
|
||||
+ }
|
||||
+ return true;
|
||||
+}
|
||||
+
|
||||
+static void *uid_seq_start(struct seq_file *seq, loff_t *pos)
|
||||
+{
|
||||
+ if (*pos >= HASH_SIZE(uid_hash_table))
|
||||
+ return NULL;
|
||||
+
|
||||
+ return &uid_hash_table[*pos];
|
||||
+}
|
||||
+
|
||||
+static void *uid_seq_next(struct seq_file *seq, void *v, loff_t *pos)
|
||||
+{
|
||||
+ (*pos)++;
|
||||
+
|
||||
+ if (*pos >= HASH_SIZE(uid_hash_table))
|
||||
+ return NULL;
|
||||
+
|
||||
+ return &uid_hash_table[*pos];
|
||||
+}
|
||||
+
|
||||
+static void uid_seq_stop(struct seq_file *seq, void *v) { }
|
||||
+
|
||||
+static int uid_time_in_state_seq_show(struct seq_file *m, void *v)
|
||||
+{
|
||||
+ struct uid_entry *uid_entry;
|
||||
+ struct cpu_freqs *freqs, *last_freqs = NULL;
|
||||
+ int i, cpu;
|
||||
+
|
||||
+ if (v == uid_hash_table) {
|
||||
+ seq_puts(m, "uid:");
|
||||
+ for_each_possible_cpu(cpu) {
|
||||
+ freqs = all_freqs[cpu];
|
||||
+ if (!freqs || freqs == last_freqs)
|
||||
+ continue;
|
||||
+ last_freqs = freqs;
|
||||
+ for (i = 0; i < freqs->max_state; i++) {
|
||||
+ if (freqs->freq_table[i] ==
|
||||
+ CPUFREQ_ENTRY_INVALID)
|
||||
+ continue;
|
||||
+ seq_printf(m, " %d", freqs->freq_table[i]);
|
||||
+ }
|
||||
+ }
|
||||
+ seq_putc(m, '\n');
|
||||
+ }
|
||||
+
|
||||
+ rcu_read_lock();
|
||||
+
|
||||
+ hlist_for_each_entry_rcu(uid_entry, (struct hlist_head *)v, hash) {
|
||||
+ if (uid_entry->max_state)
|
||||
+ seq_printf(m, "%d:", uid_entry->uid);
|
||||
+ for (i = 0; i < uid_entry->max_state; ++i) {
|
||||
+ if (freq_index_invalid(i))
|
||||
+ continue;
|
||||
+ seq_printf(m, " %lu", (unsigned long)nsec_to_clock_t(
|
||||
+ uid_entry->time_in_state[i]));
|
||||
+ }
|
||||
+ if (uid_entry->max_state)
|
||||
+ seq_putc(m, '\n');
|
||||
+ }
|
||||
+
|
||||
+ rcu_read_unlock();
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
void cpufreq_task_times_init(struct task_struct *p)
|
||||
{
|
||||
unsigned long flags;
|
||||
@@ -90,6 +237,9 @@ void cpufreq_task_times_exit(struct task_struct *p)
|
||||
unsigned long flags;
|
||||
void *temp;
|
||||
|
||||
+ if (!p->time_in_state)
|
||||
+ return;
|
||||
+
|
||||
spin_lock_irqsave(&task_time_in_state_lock, flags);
|
||||
temp = p->time_in_state;
|
||||
p->time_in_state = NULL;
|
||||
@@ -133,7 +283,9 @@ void cpufreq_acct_update_power(struct task_struct *p, u64 cputime)
|
||||
{
|
||||
unsigned long flags;
|
||||
unsigned int state;
|
||||
+ struct uid_entry *uid_entry;
|
||||
struct cpu_freqs *freqs = all_freqs[task_cpu(p)];
|
||||
+ uid_t uid = from_kuid_munged(current_user_ns(), task_uid(p));
|
||||
|
||||
if (!freqs || p->flags & PF_EXITING)
|
||||
return;
|
||||
@@ -145,6 +297,12 @@ void cpufreq_acct_update_power(struct task_struct *p, u64 cputime)
|
||||
p->time_in_state)
|
||||
p->time_in_state[state] += cputime;
|
||||
spin_unlock_irqrestore(&task_time_in_state_lock, flags);
|
||||
+
|
||||
+ spin_lock_irqsave(&uid_lock, flags);
|
||||
+ uid_entry = find_or_register_uid_locked(uid);
|
||||
+ if (uid_entry && state < uid_entry->max_state)
|
||||
+ uid_entry->time_in_state[state] += cputime;
|
||||
+ spin_unlock_irqrestore(&uid_lock, flags);
|
||||
}
|
||||
|
||||
void cpufreq_times_create_policy(struct cpufreq_policy *policy)
|
||||
@@ -186,6 +344,27 @@ void cpufreq_times_create_policy(struct cpufreq_policy *policy)
|
||||
all_freqs[cpu] = freqs;
|
||||
}
|
||||
|
||||
+void cpufreq_task_times_remove_uids(uid_t uid_start, uid_t uid_end)
|
||||
+{
|
||||
+ struct uid_entry *uid_entry;
|
||||
+ struct hlist_node *tmp;
|
||||
+ unsigned long flags;
|
||||
+
|
||||
+ spin_lock_irqsave(&uid_lock, flags);
|
||||
+
|
||||
+ for (; uid_start <= uid_end; uid_start++) {
|
||||
+ hash_for_each_possible_safe(uid_hash_table, uid_entry, tmp,
|
||||
+ hash, uid_start) {
|
||||
+ if (uid_start == uid_entry->uid) {
|
||||
+ hash_del_rcu(&uid_entry->hash);
|
||||
+ kfree_rcu(uid_entry, rcu);
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ spin_unlock_irqrestore(&uid_lock, flags);
|
||||
+}
|
||||
+
|
||||
void cpufreq_times_record_transition(struct cpufreq_freqs *freq)
|
||||
{
|
||||
int index;
|
||||
@@ -205,3 +384,32 @@ void cpufreq_times_record_transition(struct cpufreq_freqs *freq)
|
||||
|
||||
cpufreq_cpu_put(policy);
|
||||
}
|
||||
+
|
||||
+static const struct seq_operations uid_time_in_state_seq_ops = {
|
||||
+ .start = uid_seq_start,
|
||||
+ .next = uid_seq_next,
|
||||
+ .stop = uid_seq_stop,
|
||||
+ .show = uid_time_in_state_seq_show,
|
||||
+};
|
||||
+
|
||||
+static int uid_time_in_state_open(struct inode *inode, struct file *file)
|
||||
+{
|
||||
+ return seq_open(file, &uid_time_in_state_seq_ops);
|
||||
+}
|
||||
+
|
||||
+static const struct file_operations uid_time_in_state_fops = {
|
||||
+ .open = uid_time_in_state_open,
|
||||
+ .read = seq_read,
|
||||
+ .llseek = seq_lseek,
|
||||
+ .release = seq_release,
|
||||
+};
|
||||
+
|
||||
+static int __init cpufreq_times_init(void)
|
||||
+{
|
||||
+ proc_create_data("uid_time_in_state", 0444, NULL,
|
||||
+ &uid_time_in_state_fops, NULL);
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+early_initcall(cpufreq_times_init);
|
||||
diff --git a/drivers/misc/uid_sys_stats.c b/drivers/misc/uid_sys_stats.c
|
||||
index 36b5f37fca2f8..88dc1cd3a2046 100644
|
||||
--- a/drivers/misc/uid_sys_stats.c
|
||||
+++ b/drivers/misc/uid_sys_stats.c
|
||||
@@ -14,6 +14,7 @@
|
||||
*/
|
||||
|
||||
#include <linux/atomic.h>
|
||||
+#include <linux/cpufreq_times.h>
|
||||
#include <linux/err.h>
|
||||
#include <linux/hashtable.h>
|
||||
#include <linux/init.h>
|
||||
@@ -420,6 +421,9 @@ static ssize_t uid_remove_write(struct file *file,
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
+ /* Also remove uids from /proc/uid_time_in_state */
|
||||
+ cpufreq_task_times_remove_uids(uid_start, uid_end);
|
||||
+
|
||||
rt_mutex_lock(&uid_lock);
|
||||
|
||||
for (; uid_start <= uid_end; uid_start++) {
|
||||
diff --git a/include/linux/cpufreq_times.h b/include/linux/cpufreq_times.h
|
||||
index bfef6e62c68a1..a03157f649a4f 100644
|
||||
--- a/include/linux/cpufreq_times.h
|
||||
+++ b/include/linux/cpufreq_times.h
|
||||
@@ -28,6 +28,7 @@ int proc_time_in_state_show(struct seq_file *m, struct pid_namespace *ns,
|
||||
void cpufreq_acct_update_power(struct task_struct *p, u64 cputime);
|
||||
void cpufreq_times_create_policy(struct cpufreq_policy *policy);
|
||||
void cpufreq_times_record_transition(struct cpufreq_freqs *freq);
|
||||
+void cpufreq_task_times_remove_uids(uid_t uid_start, uid_t uid_end);
|
||||
#else
|
||||
static inline void cpufreq_task_times_init(struct task_struct *p) {}
|
||||
static inline void cpufreq_task_times_alloc(struct task_struct *p) {}
|
||||
@@ -37,5 +38,7 @@ static inline void cpufreq_acct_update_power(struct task_struct *p,
|
||||
static inline void cpufreq_times_create_policy(struct cpufreq_policy *policy) {}
|
||||
static inline void cpufreq_times_record_transition(
|
||||
struct cpufreq_freqs *freq) {}
|
||||
+static inline void cpufreq_task_times_remove_uids(uid_t uid_start,
|
||||
+ uid_t uid_end) {}
|
||||
#endif /* CONFIG_CPU_FREQ_TIMES */
|
||||
#endif /* _LINUX_CPUFREQ_TIMES_H */
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
476
patches/ANDROID-cpufreq-track-per-task-time-in-state.patch
Normal file
476
patches/ANDROID-cpufreq-track-per-task-time-in-state.patch
Normal file
|
|
@ -0,0 +1,476 @@
|
|||
From f9d4d5e2608b11e0af1c62a0b4f451294f9ab2f1 Mon Sep 17 00:00:00 2001
|
||||
From: Connor O'Brien <connoro@google.com>
|
||||
Date: Wed, 31 Jan 2018 18:11:57 -0800
|
||||
Subject: ANDROID: cpufreq: track per-task time in state
|
||||
|
||||
Add time in state data to task structs, and create
|
||||
/proc/<pid>/time_in_state files to show how long each individual task
|
||||
has run at each frequency.
|
||||
Create a CONFIG_CPU_FREQ_TIMES option to enable/disable this tracking.
|
||||
|
||||
Bug: 72339335
|
||||
Bug: 127641090
|
||||
Test: Read /proc/<pid>/time_in_state
|
||||
Change-Id: Ia6456754f4cb1e83b2bc35efa8fbe9f8696febc8
|
||||
Signed-off-by: Connor O'Brien <connoro@google.com>
|
||||
[astrachan: Folded the following changes into this patch:
|
||||
a6d3de6a7fba ("ANDROID: Reduce use of #ifdef CONFIG_CPU_FREQ_TIMES")
|
||||
b89ada5d9c09 ("ANDROID: Fix massive cpufreq_times memory leaks")]
|
||||
Signed-off-by: Alistair Strachan <astrachan@google.com>
|
||||
---
|
||||
drivers/cpufreq/Kconfig | 7 ++
|
||||
drivers/cpufreq/Makefile | 5 +-
|
||||
drivers/cpufreq/cpufreq.c | 3 +
|
||||
drivers/cpufreq/cpufreq_times.c | 207 ++++++++++++++++++++++++++++++++
|
||||
fs/proc/base.c | 7 ++
|
||||
include/linux/cpufreq_times.h | 41 +++++++
|
||||
include/linux/sched.h | 4 +
|
||||
kernel/fork.c | 7 ++
|
||||
kernel/sched/cputime.c | 7 ++
|
||||
9 files changed, 287 insertions(+), 1 deletion(-)
|
||||
create mode 100644 drivers/cpufreq/cpufreq_times.c
|
||||
create mode 100644 include/linux/cpufreq_times.h
|
||||
|
||||
diff --git a/drivers/cpufreq/Kconfig b/drivers/cpufreq/Kconfig
|
||||
index bff5295016ae0..f711715aa5797 100644
|
||||
--- a/drivers/cpufreq/Kconfig
|
||||
+++ b/drivers/cpufreq/Kconfig
|
||||
@@ -34,6 +34,13 @@ config CPU_FREQ_STAT
|
||||
|
||||
If in doubt, say N.
|
||||
|
||||
+config CPU_FREQ_TIMES
|
||||
+ bool "CPU frequency time-in-state statistics"
|
||||
+ help
|
||||
+ Export CPU time-in-state information through procfs.
|
||||
+
|
||||
+ If in doubt, say N.
|
||||
+
|
||||
choice
|
||||
prompt "Default CPUFreq governor"
|
||||
default CPU_FREQ_DEFAULT_GOV_USERSPACE if ARM_SA1100_CPUFREQ || ARM_SA1110_CPUFREQ
|
||||
diff --git a/drivers/cpufreq/Makefile b/drivers/cpufreq/Makefile
|
||||
index 5a6c70d26c985..d28709da43de5 100644
|
||||
--- a/drivers/cpufreq/Makefile
|
||||
+++ b/drivers/cpufreq/Makefile
|
||||
@@ -5,7 +5,10 @@ obj-$(CONFIG_CPU_FREQ) += cpufreq.o freq_table.o
|
||||
# CPUfreq stats
|
||||
obj-$(CONFIG_CPU_FREQ_STAT) += cpufreq_stats.o
|
||||
|
||||
-# CPUfreq governors
|
||||
+# CPUfreq times
|
||||
+obj-$(CONFIG_CPU_FREQ_TIMES) += cpufreq_times.o
|
||||
+
|
||||
+# CPUfreq governors
|
||||
obj-$(CONFIG_CPU_FREQ_GOV_PERFORMANCE) += cpufreq_performance.o
|
||||
obj-$(CONFIG_CPU_FREQ_GOV_POWERSAVE) += cpufreq_powersave.o
|
||||
obj-$(CONFIG_CPU_FREQ_GOV_USERSPACE) += cpufreq_userspace.o
|
||||
diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c
|
||||
index c28ebf2810f11..e1cb6e99c76df 100644
|
||||
--- a/drivers/cpufreq/cpufreq.c
|
||||
+++ b/drivers/cpufreq/cpufreq.c
|
||||
@@ -16,6 +16,7 @@
|
||||
|
||||
#include <linux/cpu.h>
|
||||
#include <linux/cpufreq.h>
|
||||
+#include <linux/cpufreq_times.h>
|
||||
#include <linux/cpu_cooling.h>
|
||||
#include <linux/delay.h>
|
||||
#include <linux/device.h>
|
||||
@@ -379,6 +380,7 @@ static void cpufreq_notify_transition(struct cpufreq_policy *policy,
|
||||
CPUFREQ_POSTCHANGE, freqs);
|
||||
|
||||
cpufreq_stats_record_transition(policy, freqs->new);
|
||||
+ cpufreq_times_record_transition(freqs);
|
||||
policy->cur = freqs->new;
|
||||
}
|
||||
}
|
||||
@@ -1447,6 +1449,7 @@ static int cpufreq_online(unsigned int cpu)
|
||||
goto out_destroy_policy;
|
||||
|
||||
cpufreq_stats_create_table(policy);
|
||||
+ cpufreq_times_create_policy(policy);
|
||||
|
||||
write_lock_irqsave(&cpufreq_driver_lock, flags);
|
||||
list_add(&policy->policy_list, &cpufreq_policy_list);
|
||||
diff --git a/drivers/cpufreq/cpufreq_times.c b/drivers/cpufreq/cpufreq_times.c
|
||||
new file mode 100644
|
||||
index 0000000000000..339a3e9cf0821
|
||||
--- /dev/null
|
||||
+++ b/drivers/cpufreq/cpufreq_times.c
|
||||
@@ -0,0 +1,207 @@
|
||||
+/* drivers/cpufreq/cpufreq_times.c
|
||||
+ *
|
||||
+ * Copyright (C) 2018 Google, Inc.
|
||||
+ *
|
||||
+ * This software is licensed under the terms of the GNU General Public
|
||||
+ * License version 2, as published by the Free Software Foundation, and
|
||||
+ * may be copied, distributed, and modified under those terms.
|
||||
+ *
|
||||
+ * This program is distributed in the hope that it will be useful,
|
||||
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+ * GNU General Public License for more details.
|
||||
+ *
|
||||
+ */
|
||||
+
|
||||
+#include <linux/cpufreq.h>
|
||||
+#include <linux/cpufreq_times.h>
|
||||
+#include <linux/jiffies.h>
|
||||
+#include <linux/sched.h>
|
||||
+#include <linux/seq_file.h>
|
||||
+#include <linux/slab.h>
|
||||
+#include <linux/spinlock.h>
|
||||
+#include <linux/threads.h>
|
||||
+
|
||||
+static DEFINE_SPINLOCK(task_time_in_state_lock); /* task->time_in_state */
|
||||
+
|
||||
+/**
|
||||
+ * struct cpu_freqs - per-cpu frequency information
|
||||
+ * @offset: start of these freqs' stats in task time_in_state array
|
||||
+ * @max_state: number of entries in freq_table
|
||||
+ * @last_index: index in freq_table of last frequency switched to
|
||||
+ * @freq_table: list of available frequencies
|
||||
+ */
|
||||
+struct cpu_freqs {
|
||||
+ unsigned int offset;
|
||||
+ unsigned int max_state;
|
||||
+ unsigned int last_index;
|
||||
+ unsigned int freq_table[0];
|
||||
+};
|
||||
+
|
||||
+static struct cpu_freqs *all_freqs[NR_CPUS];
|
||||
+
|
||||
+static unsigned int next_offset;
|
||||
+
|
||||
+void cpufreq_task_times_init(struct task_struct *p)
|
||||
+{
|
||||
+ unsigned long flags;
|
||||
+
|
||||
+ spin_lock_irqsave(&task_time_in_state_lock, flags);
|
||||
+ p->time_in_state = NULL;
|
||||
+ spin_unlock_irqrestore(&task_time_in_state_lock, flags);
|
||||
+ p->max_state = 0;
|
||||
+}
|
||||
+
|
||||
+void cpufreq_task_times_alloc(struct task_struct *p)
|
||||
+{
|
||||
+ void *temp;
|
||||
+ unsigned long flags;
|
||||
+ unsigned int max_state = READ_ONCE(next_offset);
|
||||
+
|
||||
+ /* We use one array to avoid multiple allocs per task */
|
||||
+ temp = kcalloc(max_state, sizeof(p->time_in_state[0]), GFP_ATOMIC);
|
||||
+ if (!temp)
|
||||
+ return;
|
||||
+
|
||||
+ spin_lock_irqsave(&task_time_in_state_lock, flags);
|
||||
+ p->time_in_state = temp;
|
||||
+ spin_unlock_irqrestore(&task_time_in_state_lock, flags);
|
||||
+ p->max_state = max_state;
|
||||
+}
|
||||
+
|
||||
+/* Caller must hold task_time_in_state_lock */
|
||||
+static int cpufreq_task_times_realloc_locked(struct task_struct *p)
|
||||
+{
|
||||
+ void *temp;
|
||||
+ unsigned int max_state = READ_ONCE(next_offset);
|
||||
+
|
||||
+ temp = krealloc(p->time_in_state, max_state * sizeof(u64), GFP_ATOMIC);
|
||||
+ if (!temp)
|
||||
+ return -ENOMEM;
|
||||
+ p->time_in_state = temp;
|
||||
+ memset(p->time_in_state + p->max_state, 0,
|
||||
+ (max_state - p->max_state) * sizeof(u64));
|
||||
+ p->max_state = max_state;
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+void cpufreq_task_times_exit(struct task_struct *p)
|
||||
+{
|
||||
+ unsigned long flags;
|
||||
+ void *temp;
|
||||
+
|
||||
+ spin_lock_irqsave(&task_time_in_state_lock, flags);
|
||||
+ temp = p->time_in_state;
|
||||
+ p->time_in_state = NULL;
|
||||
+ spin_unlock_irqrestore(&task_time_in_state_lock, flags);
|
||||
+ kfree(temp);
|
||||
+}
|
||||
+
|
||||
+int proc_time_in_state_show(struct seq_file *m, struct pid_namespace *ns,
|
||||
+ struct pid *pid, struct task_struct *p)
|
||||
+{
|
||||
+ unsigned int cpu, i;
|
||||
+ u64 cputime;
|
||||
+ unsigned long flags;
|
||||
+ struct cpu_freqs *freqs;
|
||||
+ struct cpu_freqs *last_freqs = NULL;
|
||||
+
|
||||
+ spin_lock_irqsave(&task_time_in_state_lock, flags);
|
||||
+ for_each_possible_cpu(cpu) {
|
||||
+ freqs = all_freqs[cpu];
|
||||
+ if (!freqs || freqs == last_freqs)
|
||||
+ continue;
|
||||
+ last_freqs = freqs;
|
||||
+
|
||||
+ seq_printf(m, "cpu%u\n", cpu);
|
||||
+ for (i = 0; i < freqs->max_state; i++) {
|
||||
+ if (freqs->freq_table[i] == CPUFREQ_ENTRY_INVALID)
|
||||
+ continue;
|
||||
+ cputime = 0;
|
||||
+ if (freqs->offset + i < p->max_state &&
|
||||
+ p->time_in_state)
|
||||
+ cputime = p->time_in_state[freqs->offset + i];
|
||||
+ seq_printf(m, "%u %lu\n", freqs->freq_table[i],
|
||||
+ (unsigned long)nsec_to_clock_t(cputime));
|
||||
+ }
|
||||
+ }
|
||||
+ spin_unlock_irqrestore(&task_time_in_state_lock, flags);
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+void cpufreq_acct_update_power(struct task_struct *p, u64 cputime)
|
||||
+{
|
||||
+ unsigned long flags;
|
||||
+ unsigned int state;
|
||||
+ struct cpu_freqs *freqs = all_freqs[task_cpu(p)];
|
||||
+
|
||||
+ if (!freqs || p->flags & PF_EXITING)
|
||||
+ return;
|
||||
+
|
||||
+ state = freqs->offset + READ_ONCE(freqs->last_index);
|
||||
+
|
||||
+ spin_lock_irqsave(&task_time_in_state_lock, flags);
|
||||
+ if ((state < p->max_state || !cpufreq_task_times_realloc_locked(p)) &&
|
||||
+ p->time_in_state)
|
||||
+ p->time_in_state[state] += cputime;
|
||||
+ spin_unlock_irqrestore(&task_time_in_state_lock, flags);
|
||||
+}
|
||||
+
|
||||
+void cpufreq_times_create_policy(struct cpufreq_policy *policy)
|
||||
+{
|
||||
+ int cpu, index;
|
||||
+ unsigned int count = 0;
|
||||
+ struct cpufreq_frequency_table *pos, *table;
|
||||
+ struct cpu_freqs *freqs;
|
||||
+ void *tmp;
|
||||
+
|
||||
+ if (all_freqs[policy->cpu])
|
||||
+ return;
|
||||
+
|
||||
+ table = policy->freq_table;
|
||||
+ if (!table)
|
||||
+ return;
|
||||
+
|
||||
+ cpufreq_for_each_entry(pos, table)
|
||||
+ count++;
|
||||
+
|
||||
+ tmp = kzalloc(sizeof(*freqs) + sizeof(freqs->freq_table[0]) * count,
|
||||
+ GFP_KERNEL);
|
||||
+ if (!tmp)
|
||||
+ return;
|
||||
+
|
||||
+ freqs = tmp;
|
||||
+ freqs->max_state = count;
|
||||
+
|
||||
+ index = cpufreq_frequency_table_get_index(policy, policy->cur);
|
||||
+ if (index >= 0)
|
||||
+ WRITE_ONCE(freqs->last_index, index);
|
||||
+
|
||||
+ cpufreq_for_each_entry(pos, table)
|
||||
+ freqs->freq_table[pos - table] = pos->frequency;
|
||||
+
|
||||
+ freqs->offset = next_offset;
|
||||
+ WRITE_ONCE(next_offset, freqs->offset + count);
|
||||
+ for_each_cpu(cpu, policy->related_cpus)
|
||||
+ all_freqs[cpu] = freqs;
|
||||
+}
|
||||
+
|
||||
+void cpufreq_times_record_transition(struct cpufreq_freqs *freq)
|
||||
+{
|
||||
+ int index;
|
||||
+ struct cpu_freqs *freqs = all_freqs[freq->cpu];
|
||||
+ struct cpufreq_policy *policy;
|
||||
+
|
||||
+ if (!freqs)
|
||||
+ return;
|
||||
+
|
||||
+ policy = cpufreq_cpu_get(freq->cpu);
|
||||
+ if (!policy)
|
||||
+ return;
|
||||
+
|
||||
+ index = cpufreq_frequency_table_get_index(policy, freq->new);
|
||||
+ if (index >= 0)
|
||||
+ WRITE_ONCE(freqs->last_index, index);
|
||||
+
|
||||
+ cpufreq_cpu_put(policy);
|
||||
+}
|
||||
diff --git a/fs/proc/base.c b/fs/proc/base.c
|
||||
index ebea9501afb84..7d13501910ee7 100644
|
||||
--- a/fs/proc/base.c
|
||||
+++ b/fs/proc/base.c
|
||||
@@ -94,6 +94,7 @@
|
||||
#include <linux/sched/debug.h>
|
||||
#include <linux/sched/stat.h>
|
||||
#include <linux/posix-timers.h>
|
||||
+#include <linux/cpufreq_times.h>
|
||||
#include <trace/events/oom.h>
|
||||
#include "internal.h"
|
||||
#include "fd.h"
|
||||
@@ -3091,6 +3092,9 @@ static const struct pid_entry tgid_base_stuff[] = {
|
||||
#ifdef CONFIG_LIVEPATCH
|
||||
ONE("patch_state", S_IRUSR, proc_pid_patch_state),
|
||||
#endif
|
||||
+#ifdef CONFIG_CPU_FREQ_TIMES
|
||||
+ ONE("time_in_state", 0444, proc_time_in_state_show),
|
||||
+#endif
|
||||
#ifdef CONFIG_STACKLEAK_METRICS
|
||||
ONE("stack_depth", S_IRUGO, proc_stack_depth),
|
||||
#endif
|
||||
@@ -3487,6 +3491,9 @@ static const struct pid_entry tid_base_stuff[] = {
|
||||
#ifdef CONFIG_PROC_PID_ARCH_STATUS
|
||||
ONE("arch_status", S_IRUGO, proc_pid_arch_status),
|
||||
#endif
|
||||
+#ifdef CONFIG_CPU_FREQ_TIMES
|
||||
+ ONE("time_in_state", 0444, proc_time_in_state_show),
|
||||
+#endif
|
||||
};
|
||||
|
||||
static int proc_tid_base_readdir(struct file *file, struct dir_context *ctx)
|
||||
diff --git a/include/linux/cpufreq_times.h b/include/linux/cpufreq_times.h
|
||||
new file mode 100644
|
||||
index 0000000000000..bfef6e62c68a1
|
||||
--- /dev/null
|
||||
+++ b/include/linux/cpufreq_times.h
|
||||
@@ -0,0 +1,41 @@
|
||||
+/* drivers/cpufreq/cpufreq_times.c
|
||||
+ *
|
||||
+ * Copyright (C) 2018 Google, Inc.
|
||||
+ *
|
||||
+ * This software is licensed under the terms of the GNU General Public
|
||||
+ * License version 2, as published by the Free Software Foundation, and
|
||||
+ * may be copied, distributed, and modified under those terms.
|
||||
+ *
|
||||
+ * This program is distributed in the hope that it will be useful,
|
||||
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+ * GNU General Public License for more details.
|
||||
+ *
|
||||
+ */
|
||||
+
|
||||
+#ifndef _LINUX_CPUFREQ_TIMES_H
|
||||
+#define _LINUX_CPUFREQ_TIMES_H
|
||||
+
|
||||
+#include <linux/cpufreq.h>
|
||||
+#include <linux/pid.h>
|
||||
+
|
||||
+#ifdef CONFIG_CPU_FREQ_TIMES
|
||||
+void cpufreq_task_times_init(struct task_struct *p);
|
||||
+void cpufreq_task_times_alloc(struct task_struct *p);
|
||||
+void cpufreq_task_times_exit(struct task_struct *p);
|
||||
+int proc_time_in_state_show(struct seq_file *m, struct pid_namespace *ns,
|
||||
+ struct pid *pid, struct task_struct *p);
|
||||
+void cpufreq_acct_update_power(struct task_struct *p, u64 cputime);
|
||||
+void cpufreq_times_create_policy(struct cpufreq_policy *policy);
|
||||
+void cpufreq_times_record_transition(struct cpufreq_freqs *freq);
|
||||
+#else
|
||||
+static inline void cpufreq_task_times_init(struct task_struct *p) {}
|
||||
+static inline void cpufreq_task_times_alloc(struct task_struct *p) {}
|
||||
+static inline void cpufreq_task_times_exit(struct task_struct *p) {}
|
||||
+static inline void cpufreq_acct_update_power(struct task_struct *p,
|
||||
+ u64 cputime) {}
|
||||
+static inline void cpufreq_times_create_policy(struct cpufreq_policy *policy) {}
|
||||
+static inline void cpufreq_times_record_transition(
|
||||
+ struct cpufreq_freqs *freq) {}
|
||||
+#endif /* CONFIG_CPU_FREQ_TIMES */
|
||||
+#endif /* _LINUX_CPUFREQ_TIMES_H */
|
||||
diff --git a/include/linux/sched.h b/include/linux/sched.h
|
||||
index 9f51932bd543f..47c90085f5e73 100644
|
||||
--- a/include/linux/sched.h
|
||||
+++ b/include/linux/sched.h
|
||||
@@ -854,6 +854,10 @@ struct task_struct {
|
||||
u64 stimescaled;
|
||||
#endif
|
||||
u64 gtime;
|
||||
+#ifdef CONFIG_CPU_FREQ_TIMES
|
||||
+ u64 *time_in_state;
|
||||
+ unsigned int max_state;
|
||||
+#endif
|
||||
struct prev_cputime prev_cputime;
|
||||
#ifdef CONFIG_VIRT_CPU_ACCOUNTING_GEN
|
||||
struct vtime vtime;
|
||||
diff --git a/kernel/fork.c b/kernel/fork.c
|
||||
index 541fd805fb888..6cde9f0e923d1 100644
|
||||
--- a/kernel/fork.c
|
||||
+++ b/kernel/fork.c
|
||||
@@ -93,6 +93,7 @@
|
||||
#include <linux/kcov.h>
|
||||
#include <linux/livepatch.h>
|
||||
#include <linux/thread_info.h>
|
||||
+#include <linux/cpufreq_times.h>
|
||||
#include <linux/stackleak.h>
|
||||
|
||||
#include <asm/pgtable.h>
|
||||
@@ -442,6 +443,8 @@ void put_task_stack(struct task_struct *tsk)
|
||||
|
||||
void free_task(struct task_struct *tsk)
|
||||
{
|
||||
+ cpufreq_task_times_exit(tsk);
|
||||
+
|
||||
#ifndef CONFIG_THREAD_INFO_IN_TASK
|
||||
/*
|
||||
* The task is finally done with both the stack and thread_info,
|
||||
@@ -1857,6 +1860,8 @@ static __latent_entropy struct task_struct *copy_process(
|
||||
if (!p)
|
||||
goto fork_out;
|
||||
|
||||
+ cpufreq_task_times_init(p);
|
||||
+
|
||||
/*
|
||||
* This _must_ happen before we call free_task(), i.e. before we jump
|
||||
* to any of the bad_fork_* labels. This is to avoid freeing
|
||||
@@ -2374,6 +2379,8 @@ long _do_fork(struct kernel_clone_args *args)
|
||||
if (IS_ERR(p))
|
||||
return PTR_ERR(p);
|
||||
|
||||
+ cpufreq_task_times_alloc(p);
|
||||
+
|
||||
/*
|
||||
* Do this prior waking up the new thread - the thread pointer
|
||||
* might get invalid after that point, if the thread exits quickly.
|
||||
diff --git a/kernel/sched/cputime.c b/kernel/sched/cputime.c
|
||||
index 2305ce89a26cf..cdcb00b5dc5ee 100644
|
||||
--- a/kernel/sched/cputime.c
|
||||
+++ b/kernel/sched/cputime.c
|
||||
@@ -2,6 +2,7 @@
|
||||
/*
|
||||
* Simple CPU accounting cgroup controller
|
||||
*/
|
||||
+#include <linux/cpufreq_times.h>
|
||||
#include "sched.h"
|
||||
|
||||
#ifdef CONFIG_IRQ_TIME_ACCOUNTING
|
||||
@@ -129,6 +130,9 @@ void account_user_time(struct task_struct *p, u64 cputime)
|
||||
|
||||
/* Account for user time used */
|
||||
acct_account_cputime(p);
|
||||
+
|
||||
+ /* Account power usage for user time */
|
||||
+ cpufreq_acct_update_power(p, cputime);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -173,6 +177,9 @@ void account_system_index_time(struct task_struct *p,
|
||||
|
||||
/* Account for system time used */
|
||||
acct_account_cputime(p);
|
||||
+
|
||||
+ /* Account power usage for system time */
|
||||
+ cpufreq_acct_update_power(p, cputime);
|
||||
}
|
||||
|
||||
/*
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
57
patches/ANDROID-create-build.configs-for-allmodconfig.patch
Normal file
57
patches/ANDROID-create-build.configs-for-allmodconfig.patch
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
From 884416f5176aeddc5b8d66b64407db8a4e5abe70 Mon Sep 17 00:00:00 2001
|
||||
From: Matthias Maennich <maennich@google.com>
|
||||
Date: Thu, 29 Aug 2019 12:41:43 +0100
|
||||
Subject: ANDROID: create build.configs for allmodconfig
|
||||
|
||||
Bug: 140224784
|
||||
Change-Id: I920e8737ee596e1b80428ff9831981c775570070
|
||||
Signed-off-by: Matthias Maennich <maennich@google.com>
|
||||
---
|
||||
build.config.allmodconfig | 11 +++++++++++
|
||||
build.config.allmodconfig.aarch64 | 4 ++++
|
||||
build.config.allmodconfig.x86_64 | 4 ++++
|
||||
3 files changed, 19 insertions(+)
|
||||
create mode 100644 build.config.allmodconfig
|
||||
create mode 100644 build.config.allmodconfig.aarch64
|
||||
create mode 100644 build.config.allmodconfig.x86_64
|
||||
|
||||
diff --git a/build.config.allmodconfig b/build.config.allmodconfig
|
||||
new file mode 100644
|
||||
index 000000000000..43b1a70d5800
|
||||
--- /dev/null
|
||||
+++ b/build.config.allmodconfig
|
||||
@@ -0,0 +1,11 @@
|
||||
+DEFCONFIG=allmodconfig
|
||||
+
|
||||
+# XFS_FS is currently broken on this branch with clang-9
|
||||
+POST_DEFCONFIG_CMDS="update_config"
|
||||
+function update_config() {
|
||||
+ ${KERNEL_DIR}/scripts/config --file ${OUT_DIR}/.config \
|
||||
+ -d TEST_KMOD \
|
||||
+ -d XFS_FS
|
||||
+ (cd ${OUT_DIR} && \
|
||||
+ make O=${OUT_DIR} $archsubarch CC=${CC} CROSS_COMPILE=${CROSS_COMPILE} olddefconfig)
|
||||
+}
|
||||
diff --git a/build.config.allmodconfig.aarch64 b/build.config.allmodconfig.aarch64
|
||||
new file mode 100644
|
||||
index 000000000000..863ab1caddab
|
||||
--- /dev/null
|
||||
+++ b/build.config.allmodconfig.aarch64
|
||||
@@ -0,0 +1,4 @@
|
||||
+. ${ROOT_DIR}/common/build.config.common
|
||||
+. ${ROOT_DIR}/common/build.config.aarch64
|
||||
+. ${ROOT_DIR}/common/build.config.allmodconfig
|
||||
+
|
||||
diff --git a/build.config.allmodconfig.x86_64 b/build.config.allmodconfig.x86_64
|
||||
new file mode 100644
|
||||
index 000000000000..bedb3869d99b
|
||||
--- /dev/null
|
||||
+++ b/build.config.allmodconfig.x86_64
|
||||
@@ -0,0 +1,4 @@
|
||||
+. ${ROOT_DIR}/common/build.config.common
|
||||
+. ${ROOT_DIR}/common/build.config.x86_64
|
||||
+. ${ROOT_DIR}/common/build.config.allmodconfig
|
||||
+
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
From 1fdc8c1e4dbae081228965ed9235e573740b6400 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Maciej=20=C5=BBenczykowski?= <maze@google.com>
|
||||
Date: Fri, 8 Mar 2019 12:59:37 -0800
|
||||
Subject: ANDROID: cuttlefish: enable CONFIG_INET_UDP_DIAG=y
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
This is to mirror:
|
||||
https://android-review.googlesource.com/c/kernel/configs/+/721208
|
||||
android-base.cfg: enable CONFIG_INET_UDP_DIAG
|
||||
|
||||
Generated via:
|
||||
echo 'CONFIG_INET_UDP_DIAG=y' >> arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
echo 'CONFIG_INET_UDP_DIAG=y' >> arch/arm64/configs/cuttlefish_defconfig
|
||||
make ARCH=x86_64 x86_64_cuttlefish_defconfig
|
||||
make ARCH=x86_64 savedefconfig
|
||||
cat defconfig > arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
make ARCH=arm64 cuttlefish_defconfig
|
||||
make ARCH=arm64 savedefconfig
|
||||
cat defconfig > arch/arm64/configs/cuttlefish_defconfig
|
||||
rm defconfig
|
||||
|
||||
Bug: 127981801
|
||||
Signed-off-by: Maciej Żenczykowski <maze@google.com>
|
||||
Change-Id: I5d4533b7c3b9a11e45e96b0346a70b3f93d4a812
|
||||
---
|
||||
arch/x86/configs/x86_64_cuttlefish_defconfig | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/arch/x86/configs/x86_64_cuttlefish_defconfig b/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
index 6bc11c09af2be..e0729ca6bd0e0 100644
|
||||
--- a/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
+++ b/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
@@ -96,6 +96,7 @@ CONFIG_SYN_COOKIES=y
|
||||
CONFIG_NET_IPVTI=y
|
||||
CONFIG_INET_ESP=y
|
||||
# CONFIG_INET_XFRM_MODE_BEET is not set
|
||||
+CONFIG_INET_UDP_DIAG=y
|
||||
CONFIG_INET_DIAG_DESTROY=y
|
||||
CONFIG_TCP_CONG_ADVANCED=y
|
||||
# CONFIG_TCP_CONG_BIC is not set
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
|
|
@ -0,0 +1,59 @@
|
|||
From e3ace526f9d00eed15557bb2425a4ff307a806ae Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Maciej=20=C5=BBenczykowski?= <maze@google.com>
|
||||
Date: Tue, 5 Mar 2019 23:04:17 -0800
|
||||
Subject: ANDROID: cuttlefish: enable
|
||||
CONFIG_NETFILTER_XT_TARGET_CT=y
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
This is to mirror:
|
||||
https://android-review.googlesource.com/c/kernel/configs/+/919855
|
||||
android-4.9+: add CONFIG_NETFILTER_XT_TARGET_CT=y to base config
|
||||
|
||||
Generated via:
|
||||
echo 'CONFIG_NETFILTER_XT_TARGET_CT=y' >> arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
echo 'CONFIG_NETFILTER_XT_TARGET_CT=y' >> arch/arm64/configs/cuttlefish_defconfig
|
||||
make ARCH=x86_64 x86_64_cuttlefish_defconfig
|
||||
make ARCH=x86_64 savedefconfig
|
||||
cat defconfig > arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
make ARCH=arm64 cuttlefish_defconfig
|
||||
make ARCH=arm64 savedefconfig
|
||||
cat defconfig > arch/arm64/configs/cuttlefish_defconfig
|
||||
rm defconfig
|
||||
|
||||
Bug: 124361845
|
||||
Signed-off-by: Maciej Żenczykowski <maze@google.com>
|
||||
Change-Id: I6035ef8e75f9daada706a9233999368a22904c4e
|
||||
---
|
||||
arch/arm64/configs/cuttlefish_defconfig | 1 +
|
||||
arch/x86/configs/x86_64_cuttlefish_defconfig | 1 +
|
||||
2 files changed, 2 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/configs/cuttlefish_defconfig b/arch/arm64/configs/cuttlefish_defconfig
|
||||
index 622db3a8c04b1..2bff38b2701fc 100644
|
||||
--- a/arch/arm64/configs/cuttlefish_defconfig
|
||||
+++ b/arch/arm64/configs/cuttlefish_defconfig
|
||||
@@ -123,6 +123,7 @@ CONFIG_NF_CT_NETLINK=y
|
||||
CONFIG_NETFILTER_XT_TARGET_CLASSIFY=y
|
||||
CONFIG_NETFILTER_XT_TARGET_CONNMARK=y
|
||||
CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=y
|
||||
+CONFIG_NETFILTER_XT_TARGET_CT=y
|
||||
CONFIG_NETFILTER_XT_TARGET_IDLETIMER=y
|
||||
CONFIG_NETFILTER_XT_TARGET_MARK=y
|
||||
CONFIG_NETFILTER_XT_TARGET_NFLOG=y
|
||||
diff --git a/arch/x86/configs/x86_64_cuttlefish_defconfig b/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
index e8da561819039..f2682d56232ba 100644
|
||||
--- a/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
+++ b/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
@@ -127,6 +127,7 @@ CONFIG_NF_CT_NETLINK=y
|
||||
CONFIG_NETFILTER_XT_TARGET_CLASSIFY=y
|
||||
CONFIG_NETFILTER_XT_TARGET_CONNMARK=y
|
||||
CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=y
|
||||
+CONFIG_NETFILTER_XT_TARGET_CT=y
|
||||
CONFIG_NETFILTER_XT_TARGET_IDLETIMER=y
|
||||
CONFIG_NETFILTER_XT_TARGET_MARK=y
|
||||
CONFIG_NETFILTER_XT_TARGET_NFLOG=y
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
57
patches/ANDROID-cuttlefish-enable-CONFIG_NET_CLS_BPF-y.patch
Normal file
57
patches/ANDROID-cuttlefish-enable-CONFIG_NET_CLS_BPF-y.patch
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
From 4d401c69ddd4131e1fd9a73e229686e1c6785dd7 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Maciej=20=C5=BBenczykowski?= <maze@google.com>
|
||||
Date: Tue, 15 Jan 2019 16:35:27 -0800
|
||||
Subject: ANDROID: cuttlefish: enable CONFIG_NET_CLS_BPF=y
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
This is to mirror
|
||||
https://android-review.googlesource.com/c/kernel/configs/+/870517
|
||||
android-4.9+: add CONFIG_NET_CLS_BPF to base
|
||||
|
||||
Generated via:
|
||||
echo 'CONFIG_NET_CLS_BPF=y' >> arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
echo 'CONFIG_NET_CLS_BPF=y' >> arch/arm64/configs/cuttlefish_defconfig
|
||||
make ARCH=x86_64 x86_64_cuttlefish_defconfig
|
||||
make ARCH=x86_64 savedefconfig
|
||||
cat defconfig > arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
make ARCH=arm64 cuttlefish_defconfig
|
||||
make ARCH=arm64 savedefconfig
|
||||
cat defconfig > arch/arm64/configs/cuttlefish_defconfig
|
||||
|
||||
Bug: 65674744
|
||||
Change-Id: I8e4dfe7a99d38fd5942001a1aab83b7ac9df30dd
|
||||
Signed-off-by: Maciej Żenczykowski <maze@google.com>
|
||||
---
|
||||
arch/arm64/configs/cuttlefish_defconfig | 1 +
|
||||
arch/x86/configs/x86_64_cuttlefish_defconfig | 1 +
|
||||
2 files changed, 2 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/configs/cuttlefish_defconfig b/arch/arm64/configs/cuttlefish_defconfig
|
||||
index 730006337b2c3..0aaf923e8c5a0 100644
|
||||
--- a/arch/arm64/configs/cuttlefish_defconfig
|
||||
+++ b/arch/arm64/configs/cuttlefish_defconfig
|
||||
@@ -178,6 +178,7 @@ CONFIG_L2TP=y
|
||||
CONFIG_NET_SCHED=y
|
||||
CONFIG_NET_SCH_HTB=y
|
||||
CONFIG_NET_CLS_U32=y
|
||||
+CONFIG_NET_CLS_BPF=y
|
||||
CONFIG_NET_EMATCH=y
|
||||
CONFIG_NET_EMATCH_U32=y
|
||||
CONFIG_NET_CLS_ACT=y
|
||||
diff --git a/arch/x86/configs/x86_64_cuttlefish_defconfig b/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
index 3bd7f24a945f5..183dd803421eb 100644
|
||||
--- a/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
+++ b/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
@@ -183,6 +183,7 @@ CONFIG_IP6_NF_RAW=y
|
||||
CONFIG_NET_SCHED=y
|
||||
CONFIG_NET_SCH_HTB=y
|
||||
CONFIG_NET_CLS_U32=y
|
||||
+CONFIG_NET_CLS_BPF=y
|
||||
CONFIG_NET_EMATCH=y
|
||||
CONFIG_NET_EMATCH_U32=y
|
||||
CONFIG_NET_CLS_ACT=y
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
|
|
@ -0,0 +1,58 @@
|
|||
From b9b64c04b9ba674d30ad0445f3fed0ac3be16eff Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Maciej=20=C5=BBenczykowski?= <maze@google.com>
|
||||
Date: Thu, 4 Apr 2019 00:40:13 -0700
|
||||
Subject: ANDROID: cuttlefish: enable CONFIG_NET_SCH_INGRESS=y
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
This is to mirror:
|
||||
https://android-review.googlesource.com/c/kernel/configs/+/939600
|
||||
android-4.9+ for Q: require CONFIG_NET_SCH_INGRESS=y
|
||||
|
||||
Generated via:
|
||||
echo 'CONFIG_NET_SCH_INGRESS=y' >> arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
echo 'CONFIG_NET_SCH_INGRESS=y' >> arch/arm64/configs/cuttlefish_defconfig
|
||||
make ARCH=x86_64 x86_64_cuttlefish_defconfig
|
||||
make ARCH=x86_64 savedefconfig
|
||||
cat defconfig > arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
make ARCH=arm64 cuttlefish_defconfig
|
||||
make ARCH=arm64 savedefconfig
|
||||
cat defconfig > arch/arm64/configs/cuttlefish_defconfig
|
||||
rm defconfig
|
||||
|
||||
Bug: 65674744
|
||||
Signed-off-by: Maciej Żenczykowski <maze@google.com>
|
||||
Change-Id: I3ad4fb15e450392e527563208587b18b8285b3a8
|
||||
---
|
||||
arch/arm64/configs/cuttlefish_defconfig | 1 +
|
||||
arch/x86/configs/x86_64_cuttlefish_defconfig | 1 +
|
||||
2 files changed, 2 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/configs/cuttlefish_defconfig b/arch/arm64/configs/cuttlefish_defconfig
|
||||
index 76a68561f2fb1..3e13e7149946a 100644
|
||||
--- a/arch/arm64/configs/cuttlefish_defconfig
|
||||
+++ b/arch/arm64/configs/cuttlefish_defconfig
|
||||
@@ -182,6 +182,7 @@ CONFIG_L2TP=y
|
||||
CONFIG_NET_SCHED=y
|
||||
CONFIG_NET_SCH_HTB=y
|
||||
CONFIG_NET_SCH_NETEM=y
|
||||
+CONFIG_NET_SCH_INGRESS=y
|
||||
CONFIG_NET_CLS_U32=y
|
||||
CONFIG_NET_CLS_BPF=y
|
||||
CONFIG_NET_EMATCH=y
|
||||
diff --git a/arch/x86/configs/x86_64_cuttlefish_defconfig b/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
index b2ad519f11c70..bc44933298024 100644
|
||||
--- a/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
+++ b/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
@@ -188,6 +188,7 @@ CONFIG_IP6_NF_RAW=y
|
||||
CONFIG_NET_SCHED=y
|
||||
CONFIG_NET_SCH_HTB=y
|
||||
CONFIG_NET_SCH_NETEM=y
|
||||
+CONFIG_NET_SCH_INGRESS=y
|
||||
CONFIG_NET_CLS_U32=y
|
||||
CONFIG_NET_CLS_BPF=y
|
||||
CONFIG_NET_EMATCH=y
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
|
|
@ -0,0 +1,58 @@
|
|||
From d3e51465208595209e34219aac3e6dd3a4360275 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Maciej=20=C5=BBenczykowski?= <maze@google.com>
|
||||
Date: Thu, 14 Feb 2019 15:32:55 -0800
|
||||
Subject: ANDROID: cuttlefish: enable CONFIG_NET_SCH_NETEM=y
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
This is to mirror:
|
||||
https://android-review.googlesource.com/c/kernel/configs/+/906713
|
||||
android-4.9+: add CONFIG_NET_SCH_NETEM=y to recommended config
|
||||
|
||||
Generated via:
|
||||
echo 'CONFIG_NET_SCH_NETEM=y' >> arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
echo 'CONFIG_NET_SCH_NETEM=y' >> arch/arm64/configs/cuttlefish_defconfig
|
||||
make ARCH=x86_64 x86_64_cuttlefish_defconfig
|
||||
make ARCH=x86_64 savedefconfig
|
||||
cat defconfig > arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
make ARCH=arm64 cuttlefish_defconfig
|
||||
make ARCH=arm64 savedefconfig
|
||||
cat defconfig > arch/arm64/configs/cuttlefish_defconfig
|
||||
rm defconfig
|
||||
|
||||
Bug: 124467469
|
||||
Signed-off-by: Maciej Żenczykowski <maze@google.com>
|
||||
Change-Id: If06da8f0e77d5523c56fea5d520131e456f9b529
|
||||
---
|
||||
arch/arm64/configs/cuttlefish_defconfig | 1 +
|
||||
arch/x86/configs/x86_64_cuttlefish_defconfig | 1 +
|
||||
2 files changed, 2 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/configs/cuttlefish_defconfig b/arch/arm64/configs/cuttlefish_defconfig
|
||||
index 87a90ea32c2de..622db3a8c04b1 100644
|
||||
--- a/arch/arm64/configs/cuttlefish_defconfig
|
||||
+++ b/arch/arm64/configs/cuttlefish_defconfig
|
||||
@@ -178,6 +178,7 @@ CONFIG_IP6_NF_RAW=y
|
||||
CONFIG_L2TP=y
|
||||
CONFIG_NET_SCHED=y
|
||||
CONFIG_NET_SCH_HTB=y
|
||||
+CONFIG_NET_SCH_NETEM=y
|
||||
CONFIG_NET_CLS_U32=y
|
||||
CONFIG_NET_CLS_BPF=y
|
||||
CONFIG_NET_EMATCH=y
|
||||
diff --git a/arch/x86/configs/x86_64_cuttlefish_defconfig b/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
index e889c64f64f80..e8da561819039 100644
|
||||
--- a/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
+++ b/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
@@ -183,6 +183,7 @@ CONFIG_IP6_NF_MANGLE=y
|
||||
CONFIG_IP6_NF_RAW=y
|
||||
CONFIG_NET_SCHED=y
|
||||
CONFIG_NET_SCH_HTB=y
|
||||
+CONFIG_NET_SCH_NETEM=y
|
||||
CONFIG_NET_CLS_U32=y
|
||||
CONFIG_NET_CLS_BPF=y
|
||||
CONFIG_NET_EMATCH=y
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
58
patches/ANDROID-cuttlefish-enable-CONFIG_USB_RTL8152-y.patch
Normal file
58
patches/ANDROID-cuttlefish-enable-CONFIG_USB_RTL8152-y.patch
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
From 9f4a749fc616c0da15a339d8aa740b66df81bf2a Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Maciej=20=C5=BBenczykowski?= <maze@google.com>
|
||||
Date: Wed, 6 Mar 2019 17:02:40 -0800
|
||||
Subject: ANDROID: cuttlefish: enable CONFIG_USB_RTL8152=y
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
This is to mirror:
|
||||
https://android-review.googlesource.com/c/kernel/configs/+/920741
|
||||
Require CONFIG_USB_RTL8152 != n if we have host usb support.
|
||||
|
||||
Generated via:
|
||||
echo 'CONFIG_USB_RTL8152=y' >> arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
echo 'CONFIG_USB_RTL8152=y' >> arch/arm64/configs/cuttlefish_defconfig
|
||||
make ARCH=x86_64 x86_64_cuttlefish_defconfig
|
||||
make ARCH=x86_64 savedefconfig
|
||||
cat defconfig > arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
make ARCH=arm64 cuttlefish_defconfig
|
||||
make ARCH=arm64 savedefconfig
|
||||
cat defconfig > arch/arm64/configs/cuttlefish_defconfig
|
||||
rm defconfig
|
||||
|
||||
Bug: 110755806
|
||||
Signed-off-by: Maciej Żenczykowski <maze@google.com>
|
||||
Change-Id: Iadca2a11b76296532aa42dde999ee73f58e0bd97
|
||||
---
|
||||
arch/arm64/configs/cuttlefish_defconfig | 1 +
|
||||
arch/x86/configs/x86_64_cuttlefish_defconfig | 1 +
|
||||
2 files changed, 2 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/configs/cuttlefish_defconfig b/arch/arm64/configs/cuttlefish_defconfig
|
||||
index 9740f417f74e8..4db58d634d7e4 100644
|
||||
--- a/arch/arm64/configs/cuttlefish_defconfig
|
||||
+++ b/arch/arm64/configs/cuttlefish_defconfig
|
||||
@@ -230,6 +230,7 @@ CONFIG_PPP_DEFLATE=y
|
||||
CONFIG_PPP_MPPE=y
|
||||
CONFIG_PPTP=y
|
||||
CONFIG_PPPOL2TP=y
|
||||
+CONFIG_USB_RTL8152=y
|
||||
CONFIG_USB_USBNET=y
|
||||
# CONFIG_USB_NET_AX8817X is not set
|
||||
# CONFIG_USB_NET_AX88179_178A is not set
|
||||
diff --git a/arch/x86/configs/x86_64_cuttlefish_defconfig b/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
index cef416b3a97d2..6bc11c09af2be 100644
|
||||
--- a/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
+++ b/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
@@ -235,6 +235,7 @@ CONFIG_PPP=y
|
||||
CONFIG_PPP_BSDCOMP=y
|
||||
CONFIG_PPP_DEFLATE=y
|
||||
CONFIG_PPP_MPPE=y
|
||||
+CONFIG_USB_RTL8152=y
|
||||
CONFIG_USB_USBNET=y
|
||||
# CONFIG_USB_NET_AX8817X is not set
|
||||
# CONFIG_USB_NET_AX88179_178A is not set
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
|
|
@ -0,0 +1,67 @@
|
|||
From 25659a1636e7fc447417d7d0fab7a78d01562aa1 Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Strachan <astrachan@google.com>
|
||||
Date: Fri, 26 Oct 2018 10:02:08 -0700
|
||||
Subject: ANDROID: {cuttlefish,gki}_defconfig: Enable
|
||||
CONFIG_SDCARD_FS
|
||||
|
||||
Bug: 118439987
|
||||
Change-Id: I020ec721d98c5612bfe76dcfc05caabb1f3588c1
|
||||
Signed-off-by: Alistair Strachan <astrachan@google.com>
|
||||
---
|
||||
arch/arm64/configs/cuttlefish_defconfig | 1 +
|
||||
arch/arm64/configs/gki_defconfig | 1 +
|
||||
arch/x86/configs/gki_defconfig | 1 +
|
||||
arch/x86/configs/x86_64_cuttlefish_defconfig | 1 +
|
||||
4 files changed, 4 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/configs/cuttlefish_defconfig b/arch/arm64/configs/cuttlefish_defconfig
|
||||
index 0b89a91037a84..b84aad53e6d69 100644
|
||||
--- a/arch/arm64/configs/cuttlefish_defconfig
|
||||
+++ b/arch/arm64/configs/cuttlefish_defconfig
|
||||
@@ -409,6 +409,7 @@ CONFIG_MSDOS_FS=y
|
||||
CONFIG_VFAT_FS=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_TMPFS_POSIX_ACL=y
|
||||
+CONFIG_SDCARD_FS=y
|
||||
CONFIG_PSTORE=y
|
||||
CONFIG_PSTORE_CONSOLE=y
|
||||
CONFIG_PSTORE_RAM=y
|
||||
diff --git a/arch/arm64/configs/gki_defconfig b/arch/arm64/configs/gki_defconfig
|
||||
index 140804afdd325..18e8f81cc0fb9 100644
|
||||
--- a/arch/arm64/configs/gki_defconfig
|
||||
+++ b/arch/arm64/configs/gki_defconfig
|
||||
@@ -379,6 +379,7 @@ CONFIG_VFAT_FS=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_TMPFS_POSIX_ACL=y
|
||||
CONFIG_ECRYPT_FS=y
|
||||
+CONFIG_SDCARD_FS=y
|
||||
CONFIG_PSTORE=y
|
||||
CONFIG_PSTORE_CONSOLE=y
|
||||
CONFIG_PSTORE_RAM=y
|
||||
diff --git a/arch/x86/configs/gki_defconfig b/arch/x86/configs/gki_defconfig
|
||||
index 65c67797fb74d..eacebe96e4224 100644
|
||||
--- a/arch/x86/configs/gki_defconfig
|
||||
+++ b/arch/x86/configs/gki_defconfig
|
||||
@@ -304,6 +304,7 @@ CONFIG_MSDOS_FS=y
|
||||
CONFIG_VFAT_FS=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_TMPFS_POSIX_ACL=y
|
||||
+CONFIG_SDCARD_FS=y
|
||||
CONFIG_PSTORE=y
|
||||
CONFIG_PSTORE_CONSOLE=y
|
||||
CONFIG_PSTORE_RAM=y
|
||||
diff --git a/arch/x86/configs/x86_64_cuttlefish_defconfig b/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
index 5baf17714b0c9..cad481541d690 100644
|
||||
--- a/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
+++ b/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
@@ -430,6 +430,7 @@ CONFIG_PROC_KCORE=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_TMPFS_POSIX_ACL=y
|
||||
CONFIG_HUGETLBFS=y
|
||||
+CONFIG_SDCARD_FS=y
|
||||
CONFIG_PSTORE=y
|
||||
CONFIG_PSTORE_CONSOLE=y
|
||||
CONFIG_PSTORE_RAM=y
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
35
patches/ANDROID-cuttlefish-overlayfs-regression.patch
Normal file
35
patches/ANDROID-cuttlefish-overlayfs-regression.patch
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
From 91ba1c1ab413488ffb50058863bd55296a8ebc97 Mon Sep 17 00:00:00 2001
|
||||
From: Mark Salyzyn <salyzyn@google.com>
|
||||
Date: Wed, 28 Aug 2019 09:38:07 -0700
|
||||
Subject: ANDROID: cuttlefish: overlayfs: regression
|
||||
|
||||
commit a77712c342a56420013625c93d8aa1501455a984
|
||||
("ANDROID: Remove unused cuttlefish build infra") caused a
|
||||
regression in availability of CONFIG_OVERLAY_FS configuration.
|
||||
|
||||
NB: The upstream work to add override_creds to overlayfs is
|
||||
required in order to pass adb-remount-test.sh.
|
||||
|
||||
Signed-off-by: Mark Salyzyn <salyzyn@google.com>
|
||||
Test: confirm overlay filesystem available in the build
|
||||
Bug: 138649540
|
||||
Change-Id: I9e51475f1025f726e69c6f513099248bf452cc2d
|
||||
---
|
||||
arch/x86/configs/gki_defconfig | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/arch/x86/configs/gki_defconfig b/arch/x86/configs/gki_defconfig
|
||||
index a37fa09bd107a..b3dad521ee8a2 100644
|
||||
--- a/arch/x86/configs/gki_defconfig
|
||||
+++ b/arch/x86/configs/gki_defconfig
|
||||
@@ -311,6 +311,7 @@ CONFIG_FS_ENCRYPTION=y
|
||||
CONFIG_QUOTA=y
|
||||
CONFIG_QFMT_V2=y
|
||||
CONFIG_FUSE_FS=y
|
||||
+CONFIG_OVERLAY_FS=y
|
||||
CONFIG_MSDOS_FS=y
|
||||
CONFIG_VFAT_FS=y
|
||||
CONFIG_TMPFS=y
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
|
|
@ -0,0 +1,56 @@
|
|||
From 9486a5baff11f9471265b5bc0a3d6430c92daecd Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Strachan <astrachan@google.com>
|
||||
Date: Tue, 5 Mar 2019 11:11:34 -0800
|
||||
Subject: ANDROID: cuttlefish_defconfig: Add support for AC97
|
||||
audio
|
||||
|
||||
Enable driver support for the ac97 emulation provided by QEMU and
|
||||
crosvm. This is for the older 'ac97' soundhw, not 'hda'.
|
||||
|
||||
Bug: 120439617
|
||||
Bug: 126955561
|
||||
Test: local build and test of sound from cuttlefish
|
||||
Change-Id: I6c29e352e0be161e2a1dc35fde50b888b7dbf86e
|
||||
Signed-off-by: Alistair Strachan <astrachan@google.com>
|
||||
---
|
||||
arch/arm64/configs/cuttlefish_defconfig | 6 ++++++
|
||||
arch/x86/configs/x86_64_cuttlefish_defconfig | 6 ++++++
|
||||
2 files changed, 12 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/configs/cuttlefish_defconfig b/arch/arm64/configs/cuttlefish_defconfig
|
||||
index 09b07573dc669..9740f417f74e8 100644
|
||||
--- a/arch/arm64/configs/cuttlefish_defconfig
|
||||
+++ b/arch/arm64/configs/cuttlefish_defconfig
|
||||
@@ -300,6 +300,12 @@ CONFIG_DRM=y
|
||||
CONFIG_DRM_VIRTIO_GPU=y
|
||||
CONFIG_SOUND=y
|
||||
CONFIG_SND=y
|
||||
+CONFIG_SND_HRTIMER=y
|
||||
+# CONFIG_SND_SUPPORT_OLD_API is not set
|
||||
+# CONFIG_SND_VERBOSE_PROCFS is not set
|
||||
+# CONFIG_SND_DRIVERS is not set
|
||||
+CONFIG_SND_INTEL8X0=y
|
||||
+# CONFIG_SND_USB is not set
|
||||
CONFIG_HIDRAW=y
|
||||
CONFIG_UHID=y
|
||||
CONFIG_HID_A4TECH=y
|
||||
diff --git a/arch/x86/configs/x86_64_cuttlefish_defconfig b/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
index de163e79ee0a9..cef416b3a97d2 100644
|
||||
--- a/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
+++ b/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
@@ -312,6 +312,12 @@ CONFIG_DRM=y
|
||||
CONFIG_DRM_VIRTIO_GPU=y
|
||||
CONFIG_SOUND=y
|
||||
CONFIG_SND=y
|
||||
+CONFIG_SND_HRTIMER=y
|
||||
+# CONFIG_SND_SUPPORT_OLD_API is not set
|
||||
+# CONFIG_SND_VERBOSE_PROCFS is not set
|
||||
+# CONFIG_SND_DRIVERS is not set
|
||||
+CONFIG_SND_INTEL8X0=y
|
||||
+# CONFIG_SND_USB is not set
|
||||
CONFIG_HIDRAW=y
|
||||
CONFIG_UHID=y
|
||||
CONFIG_HID_A4TECH=y
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
From 73ded33c53d5c358a50ece801c57fcbac0cffad2 Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Strachan <astrachan@google.com>
|
||||
Date: Fri, 7 Dec 2018 11:50:07 -0800
|
||||
Subject: ANDROID: cuttlefish_defconfig: Enable
|
||||
CONFIG_ARM64_LSE_ATOMICS
|
||||
|
||||
Enabling this was previously blocked by a lack of support for this
|
||||
feature in clang, but that problem has been resolved in a newer version
|
||||
of the compiler.
|
||||
|
||||
Bug: 120439617
|
||||
Change-Id: I0f5fd2439c5a71ee0988648970576b46b2c4d20b
|
||||
Signed-off-by: Alistair Strachan <astrachan@google.com>
|
||||
---
|
||||
arch/arm64/configs/cuttlefish_defconfig | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm64/configs/cuttlefish_defconfig b/arch/arm64/configs/cuttlefish_defconfig
|
||||
index 8d379eb47d343..3c799383ff401 100644
|
||||
--- a/arch/arm64/configs/cuttlefish_defconfig
|
||||
+++ b/arch/arm64/configs/cuttlefish_defconfig
|
||||
@@ -45,7 +45,6 @@ CONFIG_SWP_EMULATION=y
|
||||
CONFIG_CP15_BARRIER_EMULATION=y
|
||||
CONFIG_SETEND_EMULATION=y
|
||||
CONFIG_ARM64_SW_TTBR0_PAN=y
|
||||
-# CONFIG_ARM64_LSE_ATOMICS is not set
|
||||
CONFIG_RANDOMIZE_BASE=y
|
||||
CONFIG_CMDLINE="console=ttyAMA0"
|
||||
CONFIG_CMDLINE_EXTEND=y
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
From e6e20b789d3b91a28dd07c7627f80aaf6a1691a1 Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Strachan <astrachan@google.com>
|
||||
Date: Tue, 4 Dec 2018 17:49:30 -0800
|
||||
Subject: ANDROID: cuttlefish_defconfig: Enable
|
||||
CONFIG_CMDLINE_EXTEND
|
||||
|
||||
Bug: 118439987
|
||||
Bug: 120439617
|
||||
Change-Id: Ib00ea9b9fd0d841d23bc902ed57a0c910cad2310
|
||||
Signed-off-by: Alistair Strachan <astrachan@google.com>
|
||||
---
|
||||
arch/arm64/configs/cuttlefish_defconfig | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/arch/arm64/configs/cuttlefish_defconfig b/arch/arm64/configs/cuttlefish_defconfig
|
||||
index e9cfb27a7af31..b5ec7e3c81aae 100644
|
||||
--- a/arch/arm64/configs/cuttlefish_defconfig
|
||||
+++ b/arch/arm64/configs/cuttlefish_defconfig
|
||||
@@ -46,6 +46,7 @@ CONFIG_ARM64_SW_TTBR0_PAN=y
|
||||
# CONFIG_ARM64_LSE_ATOMICS is not set
|
||||
CONFIG_RANDOMIZE_BASE=y
|
||||
CONFIG_CMDLINE="console=ttyAMA0"
|
||||
+CONFIG_CMDLINE_EXTEND=y
|
||||
# CONFIG_EFI is not set
|
||||
CONFIG_COMPAT=y
|
||||
CONFIG_PM_WAKELOCKS=y
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
|
|
@ -0,0 +1,43 @@
|
|||
From bfc2be7fdbbfd01101a260678caa186072330b66 Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Strachan <astrachan@google.com>
|
||||
Date: Mon, 29 Oct 2018 14:34:22 -0700
|
||||
Subject: ANDROID: cuttlefish_defconfig: Enable CONFIG_CPUSETS
|
||||
|
||||
Bug: 118439987
|
||||
Bug: 120439617
|
||||
Change-Id: I2e730890db891b7c258ce21004b382556af434f5
|
||||
Signed-off-by: Alistair Strachan <astrachan@google.com>
|
||||
---
|
||||
arch/arm64/configs/cuttlefish_defconfig | 2 ++
|
||||
arch/x86/configs/x86_64_cuttlefish_defconfig | 2 ++
|
||||
2 files changed, 4 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/configs/cuttlefish_defconfig b/arch/arm64/configs/cuttlefish_defconfig
|
||||
index ca9d2b3413f20..fce6de5c89a10 100644
|
||||
--- a/arch/arm64/configs/cuttlefish_defconfig
|
||||
+++ b/arch/arm64/configs/cuttlefish_defconfig
|
||||
@@ -12,6 +12,8 @@ CONFIG_MEMCG=y
|
||||
CONFIG_MEMCG_SWAP=y
|
||||
CONFIG_RT_GROUP_SCHED=y
|
||||
CONFIG_CGROUP_FREEZER=y
|
||||
+CONFIG_CPUSETS=y
|
||||
+# CONFIG_PROC_PID_CPUSET is not set
|
||||
CONFIG_CGROUP_CPUACCT=y
|
||||
CONFIG_CGROUP_BPF=y
|
||||
CONFIG_SCHED_AUTOGROUP=y
|
||||
diff --git a/arch/x86/configs/x86_64_cuttlefish_defconfig b/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
index 918218ed6cf69..9b323d60aae56 100644
|
||||
--- a/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
+++ b/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
@@ -17,6 +17,8 @@ CONFIG_MEMCG_SWAP=y
|
||||
CONFIG_CGROUP_SCHED=y
|
||||
CONFIG_RT_GROUP_SCHED=y
|
||||
CONFIG_CGROUP_FREEZER=y
|
||||
+CONFIG_CPUSETS=y
|
||||
+# CONFIG_PROC_PID_CPUSET is not set
|
||||
CONFIG_CGROUP_CPUACCT=y
|
||||
CONFIG_CGROUP_BPF=y
|
||||
CONFIG_NAMESPACES=y
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
From c7dd7fbd8c9e1b8972f6563a5d655b5c8e489212 Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Strachan <astrachan@google.com>
|
||||
Date: Tue, 30 Oct 2018 17:29:12 -0700
|
||||
Subject: ANDROID: cuttlefish_defconfig: Enable
|
||||
CONFIG_CPU_FREQ_TIMES
|
||||
|
||||
Bug: 118439987
|
||||
Bug: 127641090
|
||||
Change-Id: If2a7c773f74dd9351815daa5a935eacc40fa5b84
|
||||
Signed-off-by: Alistair Strachan <astrachan@google.com>
|
||||
---
|
||||
arch/arm64/configs/cuttlefish_defconfig | 1 +
|
||||
arch/x86/configs/x86_64_cuttlefish_defconfig | 1 +
|
||||
2 files changed, 2 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/configs/cuttlefish_defconfig b/arch/arm64/configs/cuttlefish_defconfig
|
||||
index 2bff38b2701fc..09b07573dc669 100644
|
||||
--- a/arch/arm64/configs/cuttlefish_defconfig
|
||||
+++ b/arch/arm64/configs/cuttlefish_defconfig
|
||||
@@ -58,6 +58,7 @@ CONFIG_ENERGY_MODEL=y
|
||||
CONFIG_CPU_IDLE=y
|
||||
CONFIG_ARM_CPUIDLE=y
|
||||
CONFIG_CPU_FREQ=y
|
||||
+CONFIG_CPU_FREQ_TIMES=y
|
||||
CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL=y
|
||||
CONFIG_CPU_FREQ_GOV_POWERSAVE=y
|
||||
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
|
||||
diff --git a/arch/x86/configs/x86_64_cuttlefish_defconfig b/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
index f2682d56232ba..de163e79ee0a9 100644
|
||||
--- a/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
+++ b/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
@@ -58,6 +58,7 @@ CONFIG_ACPI_PROCFS_POWER=y
|
||||
# CONFIG_ACPI_FAN is not set
|
||||
# CONFIG_ACPI_THERMAL is not set
|
||||
# CONFIG_X86_PM_TIMER is not set
|
||||
+CONFIG_CPU_FREQ_TIMES=y
|
||||
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
|
||||
CONFIG_X86_ACPI_CPUFREQ=y
|
||||
CONFIG_PCI_MSI=y
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
From d1218cd77b0708ad858206a6b536b81aeae230c4 Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Strachan <astrachan@google.com>
|
||||
Date: Mon, 3 Dec 2018 12:53:02 -0800
|
||||
Subject: ANDROID: cuttlefish_defconfig: Enable
|
||||
CONFIG_CRYPTO_ADIANTUM
|
||||
|
||||
Bug: 118439987
|
||||
Bug: 120439617
|
||||
Change-Id: I0a192256b4bbf101221a3bb31c4f288581bbddc5
|
||||
Signed-off-by: Alistair Strachan <astrachan@google.com>
|
||||
---
|
||||
arch/arm64/configs/cuttlefish_defconfig | 1 +
|
||||
arch/x86/configs/x86_64_cuttlefish_defconfig | 1 +
|
||||
2 files changed, 2 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/configs/cuttlefish_defconfig b/arch/arm64/configs/cuttlefish_defconfig
|
||||
index 2a6b0a950bc92..8d379eb47d343 100644
|
||||
--- a/arch/arm64/configs/cuttlefish_defconfig
|
||||
+++ b/arch/arm64/configs/cuttlefish_defconfig
|
||||
@@ -407,6 +407,7 @@ CONFIG_SECURITY_NETWORK=y
|
||||
CONFIG_LSM_MMAP_MIN_ADDR=65536
|
||||
CONFIG_HARDENED_USERCOPY=y
|
||||
CONFIG_SECURITY_SELINUX=y
|
||||
+CONFIG_CRYPTO_ADIANTUM=y
|
||||
CONFIG_CRYPTO_SHA512=y
|
||||
CONFIG_CRYPTO_LZ4=y
|
||||
CONFIG_CRYPTO_ZSTD=y
|
||||
diff --git a/arch/x86/configs/x86_64_cuttlefish_defconfig b/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
index 937f715f5fee4..5fd2be0402c52 100644
|
||||
--- a/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
+++ b/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
@@ -426,6 +426,7 @@ CONFIG_HARDENED_USERCOPY=y
|
||||
CONFIG_SECURITY_SELINUX=y
|
||||
CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1
|
||||
# CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set
|
||||
+CONFIG_CRYPTO_ADIANTUM=y
|
||||
CONFIG_CRYPTO_SHA512=y
|
||||
CONFIG_CRYPTO_LZ4=y
|
||||
CONFIG_CRYPTO_ZSTD=y
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
From 81f3a056934fe8cdec7468bb73b0abeb69eb22b2 Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Strachan <astrachan@google.com>
|
||||
Date: Mon, 29 Oct 2018 14:35:52 -0700
|
||||
Subject: ANDROID: cuttlefish_defconfig: Enable
|
||||
CONFIG_DM_VERITY_AVB
|
||||
|
||||
Bug: 118439987
|
||||
Bug: 120439617
|
||||
Change-Id: If92a3c2f23f211ab9b73ea2b41ee339727ad1018
|
||||
Signed-off-by: Alistair Strachan <astrachan@google.com>
|
||||
---
|
||||
arch/arm64/configs/cuttlefish_defconfig | 1 +
|
||||
arch/x86/configs/x86_64_cuttlefish_defconfig | 1 +
|
||||
2 files changed, 2 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/configs/cuttlefish_defconfig b/arch/arm64/configs/cuttlefish_defconfig
|
||||
index fce6de5c89a10..86a3707faf27b 100644
|
||||
--- a/arch/arm64/configs/cuttlefish_defconfig
|
||||
+++ b/arch/arm64/configs/cuttlefish_defconfig
|
||||
@@ -208,6 +208,7 @@ CONFIG_BLK_DEV_DM=y
|
||||
CONFIG_DM_CRYPT=y
|
||||
CONFIG_DM_UEVENT=y
|
||||
CONFIG_DM_VERITY=y
|
||||
+CONFIG_DM_VERITY_AVB=y
|
||||
CONFIG_DM_VERITY_FEC=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_NETCONSOLE=y
|
||||
diff --git a/arch/x86/configs/x86_64_cuttlefish_defconfig b/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
index 9b323d60aae56..1c362f19e073f 100644
|
||||
--- a/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
+++ b/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
@@ -215,6 +215,7 @@ CONFIG_DM_MIRROR=y
|
||||
CONFIG_DM_ZERO=y
|
||||
CONFIG_DM_UEVENT=y
|
||||
CONFIG_DM_VERITY=y
|
||||
+CONFIG_DM_VERITY_AVB=y
|
||||
CONFIG_DM_VERITY_FEC=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_NETCONSOLE=y
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
|
|
@ -0,0 +1,41 @@
|
|||
From 742453be0b48330ad8ee253416a12d7ab28e8a70 Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Strachan <astrachan@google.com>
|
||||
Date: Tue, 2 Apr 2019 23:59:58 -0700
|
||||
Subject: ANDROID: cuttlefish_defconfig: Enable CONFIG_FUSE_FS
|
||||
|
||||
Bug: 120439617
|
||||
Bug: 129901600
|
||||
Change-Id: Iff554123147f7761ca639b89612138b82a4a400a
|
||||
Signed-off-by: Alistair Strachan <astrachan@google.com>
|
||||
---
|
||||
arch/arm64/configs/cuttlefish_defconfig | 1 +
|
||||
arch/x86/configs/x86_64_cuttlefish_defconfig | 1 +
|
||||
2 files changed, 2 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/configs/cuttlefish_defconfig b/arch/arm64/configs/cuttlefish_defconfig
|
||||
index 420ff37f91fb0..435332a066621 100644
|
||||
--- a/arch/arm64/configs/cuttlefish_defconfig
|
||||
+++ b/arch/arm64/configs/cuttlefish_defconfig
|
||||
@@ -411,6 +411,7 @@ CONFIG_F2FS_FS_ENCRYPTION=y
|
||||
# CONFIG_DNOTIFY is not set
|
||||
CONFIG_QUOTA=y
|
||||
CONFIG_QFMT_V2=y
|
||||
+CONFIG_FUSE_FS=y
|
||||
CONFIG_OVERLAY_FS=y
|
||||
CONFIG_MSDOS_FS=y
|
||||
CONFIG_VFAT_FS=y
|
||||
diff --git a/arch/x86/configs/x86_64_cuttlefish_defconfig b/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
index e93ce3c519d65..304c572750edb 100644
|
||||
--- a/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
+++ b/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
@@ -424,6 +424,7 @@ CONFIG_QUOTA_NETLINK_INTERFACE=y
|
||||
# CONFIG_PRINT_QUOTA_WARNING is not set
|
||||
CONFIG_QFMT_V2=y
|
||||
CONFIG_AUTOFS4_FS=y
|
||||
+CONFIG_FUSE_FS=y
|
||||
CONFIG_OVERLAY_FS=y
|
||||
CONFIG_MSDOS_FS=y
|
||||
CONFIG_VFAT_FS=y
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
From a0b707e7e51c42b4732567d4bd9d8f7f8b806f35 Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Strachan <astrachan@google.com>
|
||||
Date: Fri, 22 Mar 2019 16:52:47 -0700
|
||||
Subject: ANDROID: cuttlefish_defconfig: Enable
|
||||
CONFIG_INPUT_MOUSEDEV
|
||||
|
||||
Bug: 120439617
|
||||
Bug: 128633328
|
||||
Change-Id: I2186d8070f7885937925a25e85ce7b5722a73d57
|
||||
Signed-off-by: Alistair Strachan <astrachan@google.com>
|
||||
---
|
||||
arch/x86/configs/x86_64_cuttlefish_defconfig | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/arch/x86/configs/x86_64_cuttlefish_defconfig b/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
index 3deac5da306a3..abd24a4f017d4 100644
|
||||
--- a/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
+++ b/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
@@ -264,6 +264,7 @@ CONFIG_USB_USBNET=y
|
||||
# CONFIG_WLAN_VENDOR_QUANTENNA is not set
|
||||
CONFIG_MAC80211_HWSIM=y
|
||||
CONFIG_VIRT_WIFI=y
|
||||
+CONFIG_INPUT_MOUSEDEV=y
|
||||
CONFIG_INPUT_EVDEV=y
|
||||
# CONFIG_INPUT_KEYBOARD is not set
|
||||
# CONFIG_INPUT_MOUSE is not set
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
47
patches/ANDROID-cuttlefish_defconfig-Enable-CONFIG_MMC.patch
Normal file
47
patches/ANDROID-cuttlefish_defconfig-Enable-CONFIG_MMC.patch
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
From f5d4491da3480bf720f863958e82ae55ad846ab0 Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Strachan <astrachan@google.com>
|
||||
Date: Mon, 29 Oct 2018 14:37:18 -0700
|
||||
Subject: ANDROID: cuttlefish_defconfig: Enable CONFIG_MMC
|
||||
|
||||
Bug: 118439987
|
||||
Bug: 120439617
|
||||
Change-Id: I7c63e4b9462bfe6fe46c6f7d5661b48dcecdb5e8
|
||||
Signed-off-by: Alistair Strachan <astrachan@google.com>
|
||||
---
|
||||
arch/arm64/configs/cuttlefish_defconfig | 4 ++++
|
||||
arch/x86/configs/x86_64_cuttlefish_defconfig | 4 ++++
|
||||
2 files changed, 8 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/configs/cuttlefish_defconfig b/arch/arm64/configs/cuttlefish_defconfig
|
||||
index 97a45ba040a22..fa86d0682e214 100644
|
||||
--- a/arch/arm64/configs/cuttlefish_defconfig
|
||||
+++ b/arch/arm64/configs/cuttlefish_defconfig
|
||||
@@ -356,6 +356,10 @@ CONFIG_USB_CONFIGFS_F_FS=y
|
||||
CONFIG_USB_CONFIGFS_F_ACC=y
|
||||
CONFIG_USB_CONFIGFS_F_AUDIO_SRC=y
|
||||
CONFIG_USB_CONFIGFS_F_MIDI=y
|
||||
+CONFIG_MMC=y
|
||||
+# CONFIG_PWRSEQ_EMMC is not set
|
||||
+# CONFIG_PWRSEQ_SIMPLE is not set
|
||||
+# CONFIG_MMC_BLOCK is not set
|
||||
CONFIG_RTC_CLASS=y
|
||||
# CONFIG_RTC_HCTOSYS is not set
|
||||
# CONFIG_RTC_SYSTOHC is not set
|
||||
diff --git a/arch/x86/configs/x86_64_cuttlefish_defconfig b/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
index 3ad5e6d87a5d8..5ce93372e6a77 100644
|
||||
--- a/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
+++ b/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
@@ -368,6 +368,10 @@ CONFIG_USB_CONFIGFS_F_FS=y
|
||||
CONFIG_USB_CONFIGFS_F_ACC=y
|
||||
CONFIG_USB_CONFIGFS_F_AUDIO_SRC=y
|
||||
CONFIG_USB_CONFIGFS_F_MIDI=y
|
||||
+CONFIG_MMC=y
|
||||
+# CONFIG_PWRSEQ_EMMC is not set
|
||||
+# CONFIG_PWRSEQ_SIMPLE is not set
|
||||
+# CONFIG_MMC_BLOCK is not set
|
||||
CONFIG_RTC_CLASS=y
|
||||
# CONFIG_RTC_HCTOSYS is not set
|
||||
CONFIG_SW_SYNC=y
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
From 24500b897442f71355972f49f2fd41a5af55023c Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Strachan <astrachan@google.com>
|
||||
Date: Tue, 30 Oct 2018 17:29:12 -0700
|
||||
Subject: ANDROID: cuttlefish_defconfig: Enable
|
||||
CONFIG_NETFILTER_XT_MATCH_QUOTA2
|
||||
|
||||
Bug: 118439987
|
||||
Bug: 120439617
|
||||
Change-Id: I88fad3590ef2f37daedfd4fe005bd196649f2384
|
||||
Signed-off-by: Alistair Strachan <astrachan@google.com>
|
||||
---
|
||||
arch/arm64/configs/cuttlefish_defconfig | 1 +
|
||||
arch/x86/configs/x86_64_cuttlefish_defconfig | 1 +
|
||||
2 files changed, 2 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/configs/cuttlefish_defconfig b/arch/arm64/configs/cuttlefish_defconfig
|
||||
index 86a3707faf27b..8897572788d26 100644
|
||||
--- a/arch/arm64/configs/cuttlefish_defconfig
|
||||
+++ b/arch/arm64/configs/cuttlefish_defconfig
|
||||
@@ -147,6 +147,7 @@ CONFIG_NETFILTER_XT_MATCH_MARK=y
|
||||
CONFIG_NETFILTER_XT_MATCH_POLICY=y
|
||||
CONFIG_NETFILTER_XT_MATCH_PKTTYPE=y
|
||||
CONFIG_NETFILTER_XT_MATCH_QUOTA=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_QUOTA2=y
|
||||
CONFIG_NETFILTER_XT_MATCH_SOCKET=y
|
||||
CONFIG_NETFILTER_XT_MATCH_STATE=y
|
||||
CONFIG_NETFILTER_XT_MATCH_STATISTIC=y
|
||||
diff --git a/arch/x86/configs/x86_64_cuttlefish_defconfig b/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
index 1c362f19e073f..40026fb95672c 100644
|
||||
--- a/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
+++ b/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
@@ -150,6 +150,7 @@ CONFIG_NETFILTER_XT_MATCH_MARK=y
|
||||
CONFIG_NETFILTER_XT_MATCH_POLICY=y
|
||||
CONFIG_NETFILTER_XT_MATCH_PKTTYPE=y
|
||||
CONFIG_NETFILTER_XT_MATCH_QUOTA=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_QUOTA2=y
|
||||
CONFIG_NETFILTER_XT_MATCH_SOCKET=y
|
||||
CONFIG_NETFILTER_XT_MATCH_STATE=y
|
||||
CONFIG_NETFILTER_XT_MATCH_STATISTIC=y
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
From bbfb66341dafb76585b4d58cabdb1573cb0e5132 Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Strachan <astrachan@google.com>
|
||||
Date: Tue, 2 Apr 2019 23:59:58 -0700
|
||||
Subject: ANDROID: cuttlefish_defconfig: Enable
|
||||
CONFIG_OVERLAY_FS
|
||||
|
||||
Bug: 120439617
|
||||
Bug: 123755887
|
||||
Change-Id: I5e1225c0ba82ac6d12133ed0e118bf31c21b8da5
|
||||
Signed-off-by: Alistair Strachan <astrachan@google.com>
|
||||
---
|
||||
arch/arm64/configs/cuttlefish_defconfig | 1 +
|
||||
arch/x86/configs/x86_64_cuttlefish_defconfig | 1 +
|
||||
2 files changed, 2 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/configs/cuttlefish_defconfig b/arch/arm64/configs/cuttlefish_defconfig
|
||||
index 3e13e7149946a..420ff37f91fb0 100644
|
||||
--- a/arch/arm64/configs/cuttlefish_defconfig
|
||||
+++ b/arch/arm64/configs/cuttlefish_defconfig
|
||||
@@ -411,6 +411,7 @@ CONFIG_F2FS_FS_ENCRYPTION=y
|
||||
# CONFIG_DNOTIFY is not set
|
||||
CONFIG_QUOTA=y
|
||||
CONFIG_QFMT_V2=y
|
||||
+CONFIG_OVERLAY_FS=y
|
||||
CONFIG_MSDOS_FS=y
|
||||
CONFIG_VFAT_FS=y
|
||||
CONFIG_TMPFS=y
|
||||
diff --git a/arch/x86/configs/x86_64_cuttlefish_defconfig b/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
index bc44933298024..e93ce3c519d65 100644
|
||||
--- a/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
+++ b/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
@@ -424,6 +424,7 @@ CONFIG_QUOTA_NETLINK_INTERFACE=y
|
||||
# CONFIG_PRINT_QUOTA_WARNING is not set
|
||||
CONFIG_QFMT_V2=y
|
||||
CONFIG_AUTOFS4_FS=y
|
||||
+CONFIG_OVERLAY_FS=y
|
||||
CONFIG_MSDOS_FS=y
|
||||
CONFIG_VFAT_FS=y
|
||||
CONFIG_PROC_KCORE=y
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
41
patches/ANDROID-cuttlefish_defconfig-Enable-CONFIG_PSI.patch
Normal file
41
patches/ANDROID-cuttlefish_defconfig-Enable-CONFIG_PSI.patch
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
From 91370a10193baa0d4ce99942cfa0ca2ab73095f6 Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Strachan <astrachan@google.com>
|
||||
Date: Fri, 22 Mar 2019 14:10:59 -0700
|
||||
Subject: ANDROID: cuttlefish_defconfig: Enable CONFIG_PSI
|
||||
|
||||
Bug: 120439617
|
||||
Bug: 127712811
|
||||
Change-Id: Id3531e3573ccea1720047d502288f60ee151cbff
|
||||
Signed-off-by: Alistair Strachan <astrachan@google.com>
|
||||
---
|
||||
arch/arm64/configs/cuttlefish_defconfig | 1 +
|
||||
arch/x86/configs/x86_64_cuttlefish_defconfig | 1 +
|
||||
2 files changed, 2 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/configs/cuttlefish_defconfig b/arch/arm64/configs/cuttlefish_defconfig
|
||||
index 4db58d634d7e4..b3116d935c841 100644
|
||||
--- a/arch/arm64/configs/cuttlefish_defconfig
|
||||
+++ b/arch/arm64/configs/cuttlefish_defconfig
|
||||
@@ -6,6 +6,7 @@ CONFIG_TASKSTATS=y
|
||||
CONFIG_TASK_DELAY_ACCT=y
|
||||
CONFIG_TASK_XACCT=y
|
||||
CONFIG_TASK_IO_ACCOUNTING=y
|
||||
+CONFIG_PSI=y
|
||||
CONFIG_IKCONFIG=y
|
||||
CONFIG_IKCONFIG_PROC=y
|
||||
CONFIG_MEMCG=y
|
||||
diff --git a/arch/x86/configs/x86_64_cuttlefish_defconfig b/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
index e0729ca6bd0e0..3deac5da306a3 100644
|
||||
--- a/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
+++ b/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
@@ -9,6 +9,7 @@ CONFIG_TASKSTATS=y
|
||||
CONFIG_TASK_DELAY_ACCT=y
|
||||
CONFIG_TASK_XACCT=y
|
||||
CONFIG_TASK_IO_ACCOUNTING=y
|
||||
+CONFIG_PSI=y
|
||||
CONFIG_IKCONFIG=y
|
||||
CONFIG_IKCONFIG_PROC=y
|
||||
CONFIG_CGROUPS=y
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
From baaf5f3a09d9e415492b8dae667291f894c0f910 Mon Sep 17 00:00:00 2001
|
||||
From: Matthias Maennich <maennich@google.com>
|
||||
Date: Mon, 4 Feb 2019 17:33:19 +0000
|
||||
Subject: ANDROID: cuttlefish_defconfig: Enable
|
||||
CONFIG_RTC_HCTOSYS
|
||||
|
||||
This configuration is required for the VTS test
|
||||
VtsKernelApiSysfsTest#testRtcHctosys to pass.
|
||||
|
||||
Bug: 123860857
|
||||
Test: run vts-kernel -m VtsKernelApiSysfsTest
|
||||
Signed-off-by: Matthias Maennich <maennich@google.com>
|
||||
Change-Id: Icae17c74460bcd2aef4cf4e3ec5381de9ea0a66c
|
||||
---
|
||||
arch/arm64/configs/cuttlefish_defconfig | 1 -
|
||||
arch/x86/configs/x86_64_cuttlefish_defconfig | 1 -
|
||||
2 files changed, 2 deletions(-)
|
||||
|
||||
diff --git a/arch/arm64/configs/cuttlefish_defconfig b/arch/arm64/configs/cuttlefish_defconfig
|
||||
index ec0149bf7246c..d74af2e0e4b1f 100644
|
||||
--- a/arch/arm64/configs/cuttlefish_defconfig
|
||||
+++ b/arch/arm64/configs/cuttlefish_defconfig
|
||||
@@ -369,7 +369,6 @@ CONFIG_MMC=y
|
||||
# CONFIG_PWRSEQ_SIMPLE is not set
|
||||
# CONFIG_MMC_BLOCK is not set
|
||||
CONFIG_RTC_CLASS=y
|
||||
-# CONFIG_RTC_HCTOSYS is not set
|
||||
# CONFIG_RTC_SYSTOHC is not set
|
||||
CONFIG_RTC_DRV_PL031=y
|
||||
CONFIG_VIRTIO_PCI=y
|
||||
diff --git a/arch/x86/configs/x86_64_cuttlefish_defconfig b/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
index ab7fced951fa6..35c800c4bb40e 100644
|
||||
--- a/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
+++ b/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
@@ -382,7 +382,6 @@ CONFIG_MMC=y
|
||||
# CONFIG_PWRSEQ_SIMPLE is not set
|
||||
# CONFIG_MMC_BLOCK is not set
|
||||
CONFIG_RTC_CLASS=y
|
||||
-# CONFIG_RTC_HCTOSYS is not set
|
||||
CONFIG_SW_SYNC=y
|
||||
CONFIG_VIRTIO_PCI=y
|
||||
CONFIG_VIRTIO_BALLOON=y
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
From 8e5cc068cd10e9301bef8d9545360f73ae579f76 Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Strachan <astrachan@google.com>
|
||||
Date: Tue, 30 Oct 2018 17:29:25 -0700
|
||||
Subject: ANDROID: cuttlefish_defconfig: Enable
|
||||
CONFIG_UID_SYS_STATS
|
||||
|
||||
Bug: 118439987
|
||||
Bug: 120439617
|
||||
Change-Id: I0a62a9c17f58d79201640be311ea7280a2a040fd
|
||||
Signed-off-by: Alistair Strachan <astrachan@google.com>
|
||||
---
|
||||
arch/arm64/configs/cuttlefish_defconfig | 1 +
|
||||
arch/x86/configs/x86_64_cuttlefish_defconfig | 1 +
|
||||
2 files changed, 2 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/configs/cuttlefish_defconfig b/arch/arm64/configs/cuttlefish_defconfig
|
||||
index fa86d0682e214..ca9d2b3413f20 100644
|
||||
--- a/arch/arm64/configs/cuttlefish_defconfig
|
||||
+++ b/arch/arm64/configs/cuttlefish_defconfig
|
||||
@@ -195,6 +195,7 @@ CONFIG_BLK_DEV_LOOP=y
|
||||
CONFIG_BLK_DEV_RAM=y
|
||||
CONFIG_BLK_DEV_RAM_SIZE=8192
|
||||
CONFIG_VIRTIO_BLK=y
|
||||
+CONFIG_UID_SYS_STATS=y
|
||||
CONFIG_SCSI=y
|
||||
# CONFIG_SCSI_MQ_DEFAULT is not set
|
||||
# CONFIG_SCSI_PROC_FS is not set
|
||||
diff --git a/arch/x86/configs/x86_64_cuttlefish_defconfig b/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
index 5ce93372e6a77..918218ed6cf69 100644
|
||||
--- a/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
+++ b/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
@@ -197,6 +197,7 @@ CONFIG_BLK_DEV_LOOP=y
|
||||
CONFIG_BLK_DEV_RAM=y
|
||||
CONFIG_BLK_DEV_RAM_SIZE=8192
|
||||
CONFIG_VIRTIO_BLK=y
|
||||
+CONFIG_UID_SYS_STATS=y
|
||||
CONFIG_SCSI=y
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
CONFIG_BLK_DEV_SR=y
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
From d174edb2240488dc38d66489d3e9797078f5c582 Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Strachan <astrachan@google.com>
|
||||
Date: Mon, 29 Oct 2018 14:38:12 -0700
|
||||
Subject: ANDROID: cuttlefish_defconfig: Enable
|
||||
CONFIG_USB_CONFIGFS_F_ACC
|
||||
|
||||
Bug: 118439987
|
||||
Bug: 120439617
|
||||
Change-Id: I16cd3772a5511842b02ed6114ccc0b0eee5126f8
|
||||
Signed-off-by: Alistair Strachan <astrachan@google.com>
|
||||
---
|
||||
arch/arm64/configs/cuttlefish_defconfig | 1 +
|
||||
arch/x86/configs/x86_64_cuttlefish_defconfig | 1 +
|
||||
2 files changed, 2 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/configs/cuttlefish_defconfig b/arch/arm64/configs/cuttlefish_defconfig
|
||||
index c3f86180e65c6..bb22c11a7eb38 100644
|
||||
--- a/arch/arm64/configs/cuttlefish_defconfig
|
||||
+++ b/arch/arm64/configs/cuttlefish_defconfig
|
||||
@@ -353,6 +353,7 @@ CONFIG_USB_GADGET=y
|
||||
CONFIG_USB_CONFIGFS=y
|
||||
CONFIG_USB_CONFIGFS_UEVENT=y
|
||||
CONFIG_USB_CONFIGFS_F_FS=y
|
||||
+CONFIG_USB_CONFIGFS_F_ACC=y
|
||||
CONFIG_USB_CONFIGFS_F_MIDI=y
|
||||
CONFIG_RTC_CLASS=y
|
||||
# CONFIG_RTC_HCTOSYS is not set
|
||||
diff --git a/arch/x86/configs/x86_64_cuttlefish_defconfig b/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
index 0f72dfca13faf..6de2240beeb91 100644
|
||||
--- a/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
+++ b/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
@@ -365,6 +365,7 @@ CONFIG_USB_DUMMY_HCD=y
|
||||
CONFIG_USB_CONFIGFS=y
|
||||
CONFIG_USB_CONFIGFS_UEVENT=y
|
||||
CONFIG_USB_CONFIGFS_F_FS=y
|
||||
+CONFIG_USB_CONFIGFS_F_ACC=y
|
||||
CONFIG_USB_CONFIGFS_F_MIDI=y
|
||||
CONFIG_RTC_CLASS=y
|
||||
# CONFIG_RTC_HCTOSYS is not set
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
From b284c67579d35e779e2e066fa8b29413d2f0d43d Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Strachan <astrachan@google.com>
|
||||
Date: Mon, 29 Oct 2018 14:38:37 -0700
|
||||
Subject: ANDROID: cuttlefish_defconfig: Enable
|
||||
CONFIG_USB_CONFIGFS_F_AUDIO_SRC
|
||||
|
||||
Bug: 118439987
|
||||
Bug: 120439617
|
||||
Change-Id: I0efbdae061dc79eb4a006b2499c9afd82fbd62fc
|
||||
Signed-off-by: Alistair Strachan <astrachan@google.com>
|
||||
---
|
||||
arch/arm64/configs/cuttlefish_defconfig | 1 +
|
||||
arch/x86/configs/x86_64_cuttlefish_defconfig | 1 +
|
||||
2 files changed, 2 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/configs/cuttlefish_defconfig b/arch/arm64/configs/cuttlefish_defconfig
|
||||
index bb22c11a7eb38..97a45ba040a22 100644
|
||||
--- a/arch/arm64/configs/cuttlefish_defconfig
|
||||
+++ b/arch/arm64/configs/cuttlefish_defconfig
|
||||
@@ -354,6 +354,7 @@ CONFIG_USB_CONFIGFS=y
|
||||
CONFIG_USB_CONFIGFS_UEVENT=y
|
||||
CONFIG_USB_CONFIGFS_F_FS=y
|
||||
CONFIG_USB_CONFIGFS_F_ACC=y
|
||||
+CONFIG_USB_CONFIGFS_F_AUDIO_SRC=y
|
||||
CONFIG_USB_CONFIGFS_F_MIDI=y
|
||||
CONFIG_RTC_CLASS=y
|
||||
# CONFIG_RTC_HCTOSYS is not set
|
||||
diff --git a/arch/x86/configs/x86_64_cuttlefish_defconfig b/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
index 6de2240beeb91..3ad5e6d87a5d8 100644
|
||||
--- a/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
+++ b/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
@@ -366,6 +366,7 @@ CONFIG_USB_CONFIGFS=y
|
||||
CONFIG_USB_CONFIGFS_UEVENT=y
|
||||
CONFIG_USB_CONFIGFS_F_FS=y
|
||||
CONFIG_USB_CONFIGFS_F_ACC=y
|
||||
+CONFIG_USB_CONFIGFS_F_AUDIO_SRC=y
|
||||
CONFIG_USB_CONFIGFS_F_MIDI=y
|
||||
CONFIG_RTC_CLASS=y
|
||||
# CONFIG_RTC_HCTOSYS is not set
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
From e02ada4da4a9c7d18433aff958515be9e68a0fc9 Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Strachan <astrachan@google.com>
|
||||
Date: Mon, 29 Oct 2018 14:36:30 -0700
|
||||
Subject: ANDROID: cuttlefish_defconfig: Enable
|
||||
CONFIG_USB_CONFIGFS_UEVENT
|
||||
|
||||
Bug: 118439987
|
||||
Bug: 120439617
|
||||
Change-Id: Iab0c48a56c74ce6240bac696494a8de6e936660b
|
||||
Signed-off-by: Alistair Strachan <astrachan@google.com>
|
||||
---
|
||||
arch/arm64/configs/cuttlefish_defconfig | 1 +
|
||||
arch/x86/configs/x86_64_cuttlefish_defconfig | 1 +
|
||||
2 files changed, 2 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/configs/cuttlefish_defconfig b/arch/arm64/configs/cuttlefish_defconfig
|
||||
index b5ec7e3c81aae..c3f86180e65c6 100644
|
||||
--- a/arch/arm64/configs/cuttlefish_defconfig
|
||||
+++ b/arch/arm64/configs/cuttlefish_defconfig
|
||||
@@ -351,6 +351,7 @@ CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
|
||||
CONFIG_USB_EHCI_HCD=y
|
||||
CONFIG_USB_GADGET=y
|
||||
CONFIG_USB_CONFIGFS=y
|
||||
+CONFIG_USB_CONFIGFS_UEVENT=y
|
||||
CONFIG_USB_CONFIGFS_F_FS=y
|
||||
CONFIG_USB_CONFIGFS_F_MIDI=y
|
||||
CONFIG_RTC_CLASS=y
|
||||
diff --git a/arch/x86/configs/x86_64_cuttlefish_defconfig b/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
index a30f92646583a..0f72dfca13faf 100644
|
||||
--- a/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
+++ b/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
@@ -363,6 +363,7 @@ CONFIG_USB_EHCI_HCD=y
|
||||
CONFIG_USB_GADGET=y
|
||||
CONFIG_USB_DUMMY_HCD=y
|
||||
CONFIG_USB_CONFIGFS=y
|
||||
+CONFIG_USB_CONFIGFS_UEVENT=y
|
||||
CONFIG_USB_CONFIGFS_F_FS=y
|
||||
CONFIG_USB_CONFIGFS_F_MIDI=y
|
||||
CONFIG_RTC_CLASS=y
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
|
|
@ -0,0 +1,89 @@
|
|||
From 9cef562da62ab8a54fc9f73dc0fba2b3a4a91b56 Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Strachan <astrachan@google.com>
|
||||
Date: Thu, 8 Nov 2018 11:16:03 -0800
|
||||
Subject: ANDROID: cuttlefish_defconfig: Enable EAS related
|
||||
defines
|
||||
|
||||
Provides build coverage for features coming from eas-dev. For now, make
|
||||
this specific to the arm64 defconfig.
|
||||
|
||||
Bug: 118439987
|
||||
Bug: 120439617
|
||||
Test: make ARCH=arm64 cuttlefish_defconfig && make ARCH=arm64
|
||||
Change-Id: Id018290a2d38631b4b88f15ee7a1a85fcce25798
|
||||
Signed-off-by: Alistair Strachan <astrachan@google.com>
|
||||
---
|
||||
arch/arm64/configs/cuttlefish_defconfig | 26 ++++++++++++++++++++++---
|
||||
1 file changed, 23 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/arch/arm64/configs/cuttlefish_defconfig b/arch/arm64/configs/cuttlefish_defconfig
|
||||
index e6f0856cd7903..e9cfb27a7af31 100644
|
||||
--- a/arch/arm64/configs/cuttlefish_defconfig
|
||||
+++ b/arch/arm64/configs/cuttlefish_defconfig
|
||||
@@ -8,14 +8,14 @@ CONFIG_TASK_XACCT=y
|
||||
CONFIG_TASK_IO_ACCOUNTING=y
|
||||
CONFIG_IKCONFIG=y
|
||||
CONFIG_IKCONFIG_PROC=y
|
||||
-CONFIG_CGROUPS=y
|
||||
CONFIG_MEMCG=y
|
||||
CONFIG_MEMCG_SWAP=y
|
||||
-CONFIG_CGROUP_SCHED=y
|
||||
CONFIG_RT_GROUP_SCHED=y
|
||||
CONFIG_CGROUP_FREEZER=y
|
||||
CONFIG_CGROUP_CPUACCT=y
|
||||
CONFIG_CGROUP_BPF=y
|
||||
+CONFIG_SCHED_AUTOGROUP=y
|
||||
+CONFIG_SCHED_TUNE=y
|
||||
CONFIG_BLK_DEV_INITRD=y
|
||||
# CONFIG_RD_BZIP2 is not set
|
||||
# CONFIG_RD_LZMA is not set
|
||||
@@ -52,8 +52,22 @@ CONFIG_PM_WAKELOCKS=y
|
||||
CONFIG_PM_WAKELOCKS_LIMIT=0
|
||||
# CONFIG_PM_WAKELOCKS_GC is not set
|
||||
CONFIG_PM_DEBUG=y
|
||||
+CONFIG_ENERGY_MODEL=y
|
||||
+CONFIG_CPU_IDLE=y
|
||||
+CONFIG_ARM_CPUIDLE=y
|
||||
CONFIG_CPU_FREQ=y
|
||||
-CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
|
||||
+CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL=y
|
||||
+CONFIG_CPU_FREQ_GOV_POWERSAVE=y
|
||||
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
|
||||
+CONFIG_CPUFREQ_DT=y
|
||||
+CONFIG_ARM_BIG_LITTLE_CPUFREQ=y
|
||||
+CONFIG_ARM_DT_BL_CPUFREQ=y
|
||||
+CONFIG_ARM_SCPI_CPUFREQ=y
|
||||
+CONFIG_ARM_SCMI_CPUFREQ=y
|
||||
+CONFIG_ARM_SCMI_PROTOCOL=y
|
||||
+# CONFIG_ARM_SCMI_POWER_DOMAIN is not set
|
||||
+CONFIG_ARM_SCPI_PROTOCOL=y
|
||||
+# CONFIG_ARM_SCPI_POWER_DOMAIN is not set
|
||||
CONFIG_KPROBES=y
|
||||
CONFIG_JUMP_LABEL=y
|
||||
CONFIG_MODULES=y
|
||||
@@ -264,6 +278,8 @@ CONFIG_HW_RANDOM_VIRTIO=y
|
||||
# CONFIG_I2C_COMPAT is not set
|
||||
# CONFIG_I2C_HELPER_AUTO is not set
|
||||
# CONFIG_HWMON is not set
|
||||
+CONFIG_THERMAL=y
|
||||
+CONFIG_CPU_THERMAL=y
|
||||
CONFIG_MEDIA_SUPPORT=y
|
||||
# CONFIG_VGA_ARB is not set
|
||||
CONFIG_DRM=y
|
||||
@@ -349,9 +365,13 @@ CONFIG_STAGING=y
|
||||
CONFIG_ASHMEM=y
|
||||
CONFIG_ANDROID_VSOC=y
|
||||
CONFIG_ION=y
|
||||
+CONFIG_COMMON_CLK_SCPI=y
|
||||
+# CONFIG_COMMON_CLK_XGENE is not set
|
||||
+CONFIG_MAILBOX=y
|
||||
# CONFIG_IOMMU_SUPPORT is not set
|
||||
CONFIG_ANDROID=y
|
||||
CONFIG_ANDROID_BINDER_IPC=y
|
||||
+CONFIG_LEGACY_ENERGY_MODEL_DT=y
|
||||
CONFIG_EXT4_FS=y
|
||||
CONFIG_EXT4_FS_SECURITY=y
|
||||
CONFIG_EXT4_ENCRYPTION=y
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
From 08c5f74595a9ce0707b57e37a30d904bb47a5013 Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Strachan <astrachan@google.com>
|
||||
Date: Fri, 26 Oct 2018 10:02:08 -0700
|
||||
Subject: ANDROID: cuttlefish_defconfig: Enable
|
||||
SECURITY_PERF_EVENTS_RESTRICT
|
||||
|
||||
Bug: 118439987
|
||||
Bug: 120439617
|
||||
Change-Id: Ic7dd653292a565a2d4323d68692318e8d881aaeb
|
||||
Signed-off-by: Alistair Strachan <astrachan@google.com>
|
||||
---
|
||||
arch/arm64/configs/cuttlefish_defconfig | 1 +
|
||||
arch/x86/configs/x86_64_cuttlefish_defconfig | 1 +
|
||||
2 files changed, 2 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/configs/cuttlefish_defconfig b/arch/arm64/configs/cuttlefish_defconfig
|
||||
index 8897572788d26..2a6b0a950bc92 100644
|
||||
--- a/arch/arm64/configs/cuttlefish_defconfig
|
||||
+++ b/arch/arm64/configs/cuttlefish_defconfig
|
||||
@@ -401,6 +401,7 @@ CONFIG_TMPFS_POSIX_ACL=y
|
||||
CONFIG_PSTORE=y
|
||||
CONFIG_PSTORE_CONSOLE=y
|
||||
CONFIG_PSTORE_RAM=y
|
||||
+CONFIG_SECURITY_PERF_EVENTS_RESTRICT=y
|
||||
CONFIG_SECURITY=y
|
||||
CONFIG_SECURITY_NETWORK=y
|
||||
CONFIG_LSM_MMAP_MIN_ADDR=65536
|
||||
diff --git a/arch/x86/configs/x86_64_cuttlefish_defconfig b/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
index 40026fb95672c..937f715f5fee4 100644
|
||||
--- a/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
+++ b/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
@@ -418,6 +418,7 @@ CONFIG_NLS_CODEPAGE_437=y
|
||||
CONFIG_NLS_ASCII=y
|
||||
CONFIG_NLS_ISO8859_1=y
|
||||
CONFIG_NLS_UTF8=y
|
||||
+CONFIG_SECURITY_PERF_EVENTS_RESTRICT=y
|
||||
CONFIG_SECURITY=y
|
||||
CONFIG_SECURITY_NETWORK=y
|
||||
CONFIG_SECURITY_PATH=y
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
From 812391f188cfdf1a43a6247232daef6b2bb9bf9f Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Strachan <astrachan@google.com>
|
||||
Date: Wed, 2 Jan 2019 15:24:37 -0800
|
||||
Subject: ANDROID: cuttlefish_defconfig: Enable VIRTIO_INPUT
|
||||
|
||||
Bug: 120439617
|
||||
Change-Id: I83fdb2088f17e71f377e5864d217655b47839267
|
||||
Signed-off-by: Alistair Strachan <astrachan@google.com>
|
||||
---
|
||||
arch/arm64/configs/cuttlefish_defconfig | 1 +
|
||||
arch/x86/configs/x86_64_cuttlefish_defconfig | 1 +
|
||||
2 files changed, 2 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/configs/cuttlefish_defconfig b/arch/arm64/configs/cuttlefish_defconfig
|
||||
index 7506d19bd6fb6..730006337b2c3 100644
|
||||
--- a/arch/arm64/configs/cuttlefish_defconfig
|
||||
+++ b/arch/arm64/configs/cuttlefish_defconfig
|
||||
@@ -372,6 +372,7 @@ CONFIG_RTC_DRV_PL031=y
|
||||
CONFIG_VIRTIO_PCI=y
|
||||
# CONFIG_VIRTIO_PCI_LEGACY is not set
|
||||
CONFIG_VIRTIO_BALLOON=y
|
||||
+CONFIG_VIRTIO_INPUT=y
|
||||
CONFIG_VIRTIO_MMIO=y
|
||||
CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
|
||||
CONFIG_STAGING=y
|
||||
diff --git a/arch/x86/configs/x86_64_cuttlefish_defconfig b/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
index 94ca3e49694c6..3bd7f24a945f5 100644
|
||||
--- a/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
+++ b/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
@@ -383,6 +383,7 @@ CONFIG_RTC_CLASS=y
|
||||
CONFIG_SW_SYNC=y
|
||||
CONFIG_VIRTIO_PCI=y
|
||||
CONFIG_VIRTIO_BALLOON=y
|
||||
+CONFIG_VIRTIO_INPUT=y
|
||||
CONFIG_VIRTIO_MMIO=y
|
||||
CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
|
||||
CONFIG_STAGING=y
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
41
patches/ANDROID-cuttlefish_defconfig-Enable-VIRT_WIFI.patch
Normal file
41
patches/ANDROID-cuttlefish_defconfig-Enable-VIRT_WIFI.patch
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
From 54bd9f05c9a6225c22b3b11c1dc1436a2ab7a183 Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Strachan <astrachan@google.com>
|
||||
Date: Fri, 7 Dec 2018 16:40:23 -0800
|
||||
Subject: ANDROID: cuttlefish_defconfig: Enable VIRT_WIFI
|
||||
|
||||
Bug: 120439617
|
||||
Bug: 120682817
|
||||
Change-Id: Ia1b66528bd9cb1e6e95bd75ac60f393978caa582
|
||||
Signed-off-by: Alistair Strachan <astrachan@google.com>
|
||||
---
|
||||
arch/arm64/configs/cuttlefish_defconfig | 1 +
|
||||
arch/x86/configs/x86_64_cuttlefish_defconfig | 1 +
|
||||
2 files changed, 2 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/configs/cuttlefish_defconfig b/arch/arm64/configs/cuttlefish_defconfig
|
||||
index 3c799383ff401..7506d19bd6fb6 100644
|
||||
--- a/arch/arm64/configs/cuttlefish_defconfig
|
||||
+++ b/arch/arm64/configs/cuttlefish_defconfig
|
||||
@@ -247,6 +247,7 @@ CONFIG_USB_USBNET=y
|
||||
# CONFIG_WLAN_VENDOR_TI is not set
|
||||
# CONFIG_WLAN_VENDOR_ZYDAS is not set
|
||||
# CONFIG_WLAN_VENDOR_QUANTENNA is not set
|
||||
+CONFIG_VIRT_WIFI=y
|
||||
CONFIG_INPUT_EVDEV=y
|
||||
# CONFIG_INPUT_KEYBOARD is not set
|
||||
# CONFIG_INPUT_MOUSE is not set
|
||||
diff --git a/arch/x86/configs/x86_64_cuttlefish_defconfig b/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
index 5fd2be0402c52..94ca3e49694c6 100644
|
||||
--- a/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
+++ b/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
@@ -253,6 +253,7 @@ CONFIG_USB_USBNET=y
|
||||
# CONFIG_WLAN_VENDOR_ZYDAS is not set
|
||||
# CONFIG_WLAN_VENDOR_QUANTENNA is not set
|
||||
CONFIG_MAC80211_HWSIM=y
|
||||
+CONFIG_VIRT_WIFI=y
|
||||
CONFIG_INPUT_EVDEV=y
|
||||
# CONFIG_INPUT_KEYBOARD is not set
|
||||
# CONFIG_INPUT_MOUSE is not set
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
|
|
@ -0,0 +1,43 @@
|
|||
From 29ffbfff62711b002c6b8c398dc8f3e972e88ef8 Mon Sep 17 00:00:00 2001
|
||||
From: Cody Schuffelen <schuffelen@google.com>
|
||||
Date: Mon, 14 Jan 2019 18:37:28 -0800
|
||||
Subject: ANDROID: cuttlefish_defconfig: Enable vsock options
|
||||
|
||||
Bug: 121166534
|
||||
Test: Ran cuttlefish with common kernel + vsock adb tunnel
|
||||
Signed-off-by: Cody Schuffelen <schuffelen@google.com>
|
||||
Change-Id: I8168a710052c7daada306a915c56230c961accd4
|
||||
---
|
||||
arch/arm64/configs/cuttlefish_defconfig | 2 ++
|
||||
arch/x86/configs/x86_64_cuttlefish_defconfig | 2 ++
|
||||
2 files changed, 4 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/configs/cuttlefish_defconfig b/arch/arm64/configs/cuttlefish_defconfig
|
||||
index 0aaf923e8c5a0..ec0149bf7246c 100644
|
||||
--- a/arch/arm64/configs/cuttlefish_defconfig
|
||||
+++ b/arch/arm64/configs/cuttlefish_defconfig
|
||||
@@ -182,6 +182,8 @@ CONFIG_NET_CLS_BPF=y
|
||||
CONFIG_NET_EMATCH=y
|
||||
CONFIG_NET_EMATCH_U32=y
|
||||
CONFIG_NET_CLS_ACT=y
|
||||
+CONFIG_VSOCKETS=y
|
||||
+CONFIG_VIRTIO_VSOCKETS=y
|
||||
CONFIG_CFG80211=y
|
||||
# CONFIG_CFG80211_DEFAULT_PS is not set
|
||||
# CONFIG_CFG80211_CRDA_SUPPORT is not set
|
||||
diff --git a/arch/x86/configs/x86_64_cuttlefish_defconfig b/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
index 183dd803421eb..ab7fced951fa6 100644
|
||||
--- a/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
+++ b/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
@@ -187,6 +187,8 @@ CONFIG_NET_CLS_BPF=y
|
||||
CONFIG_NET_EMATCH=y
|
||||
CONFIG_NET_EMATCH_U32=y
|
||||
CONFIG_NET_CLS_ACT=y
|
||||
+CONFIG_VSOCKETS=y
|
||||
+CONFIG_VIRTIO_VSOCKETS=y
|
||||
CONFIG_CFG80211=y
|
||||
CONFIG_MAC80211=y
|
||||
CONFIG_RFKILL=y
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
|
|
@ -0,0 +1,119 @@
|
|||
From b2929e314249bcf776aa79b260052e180fd57747 Mon Sep 17 00:00:00 2001
|
||||
From: Tri Vo <trong@google.com>
|
||||
Date: Mon, 13 May 2019 10:05:49 -0700
|
||||
Subject: ANDROID: cuttlefish_defconfig: sync with
|
||||
android-mainline-tracking
|
||||
|
||||
Note that savedefconfig dropped CONFIG_SCHED_TUNE, which is not present
|
||||
on this branch (yet).
|
||||
|
||||
Test: boot cuttlefish on arm64
|
||||
Signed-off-by: Tri Vo <trong@google.com>
|
||||
---
|
||||
arch/arm64/configs/cuttlefish_defconfig | 20 ++++++++------------
|
||||
1 file changed, 8 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/arch/arm64/configs/cuttlefish_defconfig b/arch/arm64/configs/cuttlefish_defconfig
|
||||
index 435332a066621..5f7157425a316 100644
|
||||
--- a/arch/arm64/configs/cuttlefish_defconfig
|
||||
+++ b/arch/arm64/configs/cuttlefish_defconfig
|
||||
@@ -14,11 +14,9 @@ CONFIG_MEMCG_SWAP=y
|
||||
CONFIG_RT_GROUP_SCHED=y
|
||||
CONFIG_CGROUP_FREEZER=y
|
||||
CONFIG_CPUSETS=y
|
||||
-# CONFIG_PROC_PID_CPUSET is not set
|
||||
CONFIG_CGROUP_CPUACCT=y
|
||||
CONFIG_CGROUP_BPF=y
|
||||
CONFIG_SCHED_AUTOGROUP=y
|
||||
-CONFIG_SCHED_TUNE=y
|
||||
CONFIG_BLK_DEV_INITRD=y
|
||||
# CONFIG_RD_BZIP2 is not set
|
||||
# CONFIG_RD_LZMA is not set
|
||||
@@ -36,8 +34,7 @@ CONFIG_EMBEDDED=y
|
||||
# CONFIG_COMPAT_BRK is not set
|
||||
# CONFIG_SLAB_MERGE_DEFAULT is not set
|
||||
CONFIG_PROFILING=y
|
||||
-CONFIG_PCI=y
|
||||
-CONFIG_PCI_HOST_GENERIC=y
|
||||
+CONFIG_SCHED_MC=y
|
||||
CONFIG_HZ_100=y
|
||||
CONFIG_SECCOMP=y
|
||||
CONFIG_PARAVIRT=y
|
||||
@@ -47,8 +44,6 @@ CONFIG_CP15_BARRIER_EMULATION=y
|
||||
CONFIG_SETEND_EMULATION=y
|
||||
CONFIG_ARM64_SW_TTBR0_PAN=y
|
||||
CONFIG_RANDOMIZE_BASE=y
|
||||
-CONFIG_CMDLINE="console=ttyAMA0"
|
||||
-CONFIG_CMDLINE_EXTEND=y
|
||||
# CONFIG_EFI is not set
|
||||
CONFIG_COMPAT=y
|
||||
CONFIG_PM_WAKELOCKS=y
|
||||
@@ -64,8 +59,6 @@ CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL=y
|
||||
CONFIG_CPU_FREQ_GOV_POWERSAVE=y
|
||||
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
|
||||
CONFIG_CPUFREQ_DT=y
|
||||
-CONFIG_ARM_BIG_LITTLE_CPUFREQ=y
|
||||
-CONFIG_ARM_DT_BL_CPUFREQ=y
|
||||
CONFIG_ARM_SCPI_CPUFREQ=y
|
||||
CONFIG_ARM_SCMI_CPUFREQ=y
|
||||
CONFIG_ARM_SCMI_PROTOCOL=y
|
||||
@@ -86,6 +79,8 @@ CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_XFRM_USER=y
|
||||
+CONFIG_XFRM_INTERFACE=y
|
||||
+CONFIG_XFRM_STATISTICS=y
|
||||
CONFIG_NET_KEY=y
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_MULTICAST=y
|
||||
@@ -196,6 +191,8 @@ CONFIG_CFG80211=y
|
||||
CONFIG_MAC80211=y
|
||||
# CONFIG_MAC80211_RC_MINSTREL is not set
|
||||
CONFIG_RFKILL=y
|
||||
+CONFIG_PCI=y
|
||||
+CONFIG_PCI_HOST_GENERIC=y
|
||||
# CONFIG_UEVENT_HELPER is not set
|
||||
CONFIG_DEVTMPFS=y
|
||||
# CONFIG_ALLOW_DEV_COREDUMP is not set
|
||||
@@ -208,7 +205,6 @@ CONFIG_BLK_DEV_RAM_SIZE=8192
|
||||
CONFIG_VIRTIO_BLK=y
|
||||
CONFIG_UID_SYS_STATS=y
|
||||
CONFIG_SCSI=y
|
||||
-# CONFIG_SCSI_MQ_DEFAULT is not set
|
||||
# CONFIG_SCSI_PROC_FS is not set
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
CONFIG_SCSI_VIRTIO=y
|
||||
@@ -285,6 +281,7 @@ CONFIG_SERIAL_8250_NR_UARTS=48
|
||||
CONFIG_SERIAL_8250_EXTENDED=y
|
||||
CONFIG_SERIAL_8250_MANY_PORTS=y
|
||||
CONFIG_SERIAL_8250_SHARE_IRQ=y
|
||||
+CONFIG_SERIAL_OF_PLATFORM=y
|
||||
CONFIG_SERIAL_AMBA_PL011=y
|
||||
CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
|
||||
CONFIG_VIRTIO_CONSOLE=y
|
||||
@@ -384,6 +381,7 @@ CONFIG_MMC=y
|
||||
# CONFIG_MMC_BLOCK is not set
|
||||
CONFIG_RTC_CLASS=y
|
||||
# CONFIG_RTC_SYSTOHC is not set
|
||||
+CONFIG_RTC_DRV_PL030=y
|
||||
CONFIG_RTC_DRV_PL031=y
|
||||
CONFIG_VIRTIO_PCI=y
|
||||
# CONFIG_VIRTIO_PCI_LEGACY is not set
|
||||
@@ -401,13 +399,11 @@ CONFIG_MAILBOX=y
|
||||
# CONFIG_IOMMU_SUPPORT is not set
|
||||
CONFIG_ANDROID=y
|
||||
CONFIG_ANDROID_BINDER_IPC=y
|
||||
-CONFIG_LEGACY_ENERGY_MODEL_DT=y
|
||||
CONFIG_EXT4_FS=y
|
||||
CONFIG_EXT4_FS_SECURITY=y
|
||||
-CONFIG_EXT4_ENCRYPTION=y
|
||||
CONFIG_F2FS_FS=y
|
||||
CONFIG_F2FS_FS_SECURITY=y
|
||||
-CONFIG_F2FS_FS_ENCRYPTION=y
|
||||
+CONFIG_FS_ENCRYPTION=y
|
||||
# CONFIG_DNOTIFY is not set
|
||||
CONFIG_QUOTA=y
|
||||
CONFIG_QFMT_V2=y
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
From b5621fb46a927017f1370525ea2dfe8daaf42b63 Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Strachan <astrachan@google.com>
|
||||
Date: Tue, 14 May 2019 16:04:54 -0700
|
||||
Subject: ANDROID: cuttlefish_defconfig: sync with
|
||||
android-mainline-tracking (#2)
|
||||
|
||||
Synchronize the x86_64 defconfig too.
|
||||
|
||||
Change-Id: If959b35778b645a9443d9620a9a77283b71edd04
|
||||
Signed-off-by: Alistair Strachan <astrachan@google.com>
|
||||
---
|
||||
arch/x86/configs/x86_64_cuttlefish_defconfig | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/arch/x86/configs/x86_64_cuttlefish_defconfig b/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
index 304c572750edb..d1f0fa08eacfb 100644
|
||||
--- a/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
+++ b/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
@@ -450,6 +450,7 @@ CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1
|
||||
# CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set
|
||||
CONFIG_CRYPTO_ADIANTUM=y
|
||||
CONFIG_CRYPTO_SHA512=y
|
||||
+CONFIG_CRYPTO_AES_NI_INTEL=y
|
||||
CONFIG_CRYPTO_LZ4=y
|
||||
CONFIG_CRYPTO_ZSTD=y
|
||||
CONFIG_CRYPTO_DEV_VIRTIO=y
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
917
patches/ANDROID-defconfig-build-config-for-cuttlefish.patch
Normal file
917
patches/ANDROID-defconfig-build-config-for-cuttlefish.patch
Normal file
|
|
@ -0,0 +1,917 @@
|
|||
From 0213ff42b9467eacc9d800c749ab2d380c5d0bc4 Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Strachan <astrachan@google.com>
|
||||
Date: Thu, 5 Apr 2018 18:01:04 -0700
|
||||
Subject: ANDROID: defconfig / build config for cuttlefish
|
||||
|
||||
Add defconfigs for x86_64 and arm64 for the cuttlefish virtual device
|
||||
platform. This change also add the build.config files needed by the
|
||||
kernel/build project.
|
||||
|
||||
Bug: 120439617
|
||||
Test: make ARCH=x86_64 x86_64_cuttlefish_defconfig && make ARCH=x86_64
|
||||
Test: make ARCH=arm64 cuttlefish_defconfig && make ARCH=arm64
|
||||
Change-Id: I61bde941e8cfef2dd83cb4ff040f7380922cc44e
|
||||
Signed-off-by: Alistair Strachan <astrachan@google.com>
|
||||
---
|
||||
arch/arm64/configs/cuttlefish_defconfig | 396 +++++++++++++++++
|
||||
arch/x86/configs/x86_64_cuttlefish_defconfig | 437 +++++++++++++++++++
|
||||
build.config.cuttlefish.aarch64 | 16 +
|
||||
build.config.cuttlefish.x86_64 | 16 +
|
||||
4 files changed, 865 insertions(+)
|
||||
create mode 100644 arch/arm64/configs/cuttlefish_defconfig
|
||||
create mode 100644 arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
create mode 100644 build.config.cuttlefish.aarch64
|
||||
create mode 100644 build.config.cuttlefish.x86_64
|
||||
|
||||
diff --git a/arch/arm64/configs/cuttlefish_defconfig b/arch/arm64/configs/cuttlefish_defconfig
|
||||
new file mode 100644
|
||||
index 0000000000000..e6f0856cd7903
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/configs/cuttlefish_defconfig
|
||||
@@ -0,0 +1,396 @@
|
||||
+CONFIG_AUDIT=y
|
||||
+CONFIG_NO_HZ=y
|
||||
+CONFIG_HIGH_RES_TIMERS=y
|
||||
+CONFIG_PREEMPT=y
|
||||
+CONFIG_TASKSTATS=y
|
||||
+CONFIG_TASK_DELAY_ACCT=y
|
||||
+CONFIG_TASK_XACCT=y
|
||||
+CONFIG_TASK_IO_ACCOUNTING=y
|
||||
+CONFIG_IKCONFIG=y
|
||||
+CONFIG_IKCONFIG_PROC=y
|
||||
+CONFIG_CGROUPS=y
|
||||
+CONFIG_MEMCG=y
|
||||
+CONFIG_MEMCG_SWAP=y
|
||||
+CONFIG_CGROUP_SCHED=y
|
||||
+CONFIG_RT_GROUP_SCHED=y
|
||||
+CONFIG_CGROUP_FREEZER=y
|
||||
+CONFIG_CGROUP_CPUACCT=y
|
||||
+CONFIG_CGROUP_BPF=y
|
||||
+CONFIG_BLK_DEV_INITRD=y
|
||||
+# CONFIG_RD_BZIP2 is not set
|
||||
+# CONFIG_RD_LZMA is not set
|
||||
+# CONFIG_RD_XZ is not set
|
||||
+# CONFIG_RD_LZO is not set
|
||||
+# CONFIG_RD_LZ4 is not set
|
||||
+CONFIG_SGETMASK_SYSCALL=y
|
||||
+# CONFIG_SYSFS_SYSCALL is not set
|
||||
+# CONFIG_FHANDLE is not set
|
||||
+CONFIG_KALLSYMS_ALL=y
|
||||
+CONFIG_BPF_SYSCALL=y
|
||||
+# CONFIG_RSEQ is not set
|
||||
+CONFIG_EMBEDDED=y
|
||||
+# CONFIG_VM_EVENT_COUNTERS is not set
|
||||
+# CONFIG_COMPAT_BRK is not set
|
||||
+# CONFIG_SLAB_MERGE_DEFAULT is not set
|
||||
+CONFIG_PROFILING=y
|
||||
+CONFIG_PCI=y
|
||||
+CONFIG_PCI_HOST_GENERIC=y
|
||||
+CONFIG_HZ_100=y
|
||||
+CONFIG_SECCOMP=y
|
||||
+CONFIG_PARAVIRT=y
|
||||
+CONFIG_ARMV8_DEPRECATED=y
|
||||
+CONFIG_SWP_EMULATION=y
|
||||
+CONFIG_CP15_BARRIER_EMULATION=y
|
||||
+CONFIG_SETEND_EMULATION=y
|
||||
+CONFIG_ARM64_SW_TTBR0_PAN=y
|
||||
+# CONFIG_ARM64_LSE_ATOMICS is not set
|
||||
+CONFIG_RANDOMIZE_BASE=y
|
||||
+CONFIG_CMDLINE="console=ttyAMA0"
|
||||
+# CONFIG_EFI is not set
|
||||
+CONFIG_COMPAT=y
|
||||
+CONFIG_PM_WAKELOCKS=y
|
||||
+CONFIG_PM_WAKELOCKS_LIMIT=0
|
||||
+# CONFIG_PM_WAKELOCKS_GC is not set
|
||||
+CONFIG_PM_DEBUG=y
|
||||
+CONFIG_CPU_FREQ=y
|
||||
+CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
|
||||
+CONFIG_KPROBES=y
|
||||
+CONFIG_JUMP_LABEL=y
|
||||
+CONFIG_MODULES=y
|
||||
+CONFIG_MODULE_UNLOAD=y
|
||||
+CONFIG_MODVERSIONS=y
|
||||
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
|
||||
+# CONFIG_SPARSEMEM_VMEMMAP is not set
|
||||
+CONFIG_KSM=y
|
||||
+CONFIG_TRANSPARENT_HUGEPAGE=y
|
||||
+CONFIG_ZSMALLOC=y
|
||||
+CONFIG_NET=y
|
||||
+CONFIG_PACKET=y
|
||||
+CONFIG_UNIX=y
|
||||
+CONFIG_XFRM_USER=y
|
||||
+CONFIG_NET_KEY=y
|
||||
+CONFIG_INET=y
|
||||
+CONFIG_IP_MULTICAST=y
|
||||
+CONFIG_IP_ADVANCED_ROUTER=y
|
||||
+CONFIG_IP_MULTIPLE_TABLES=y
|
||||
+CONFIG_NET_IPGRE_DEMUX=y
|
||||
+CONFIG_NET_IPVTI=y
|
||||
+CONFIG_INET_ESP=y
|
||||
+# CONFIG_INET_XFRM_MODE_BEET is not set
|
||||
+CONFIG_INET_UDP_DIAG=y
|
||||
+CONFIG_INET_DIAG_DESTROY=y
|
||||
+CONFIG_TCP_CONG_ADVANCED=y
|
||||
+# CONFIG_TCP_CONG_BIC is not set
|
||||
+# CONFIG_TCP_CONG_WESTWOOD is not set
|
||||
+# CONFIG_TCP_CONG_HTCP is not set
|
||||
+CONFIG_IPV6_ROUTER_PREF=y
|
||||
+CONFIG_IPV6_ROUTE_INFO=y
|
||||
+CONFIG_IPV6_OPTIMISTIC_DAD=y
|
||||
+CONFIG_INET6_ESP=y
|
||||
+CONFIG_INET6_IPCOMP=y
|
||||
+CONFIG_IPV6_MIP6=y
|
||||
+CONFIG_IPV6_VTI=y
|
||||
+CONFIG_IPV6_MULTIPLE_TABLES=y
|
||||
+CONFIG_NETFILTER=y
|
||||
+CONFIG_NF_CONNTRACK=y
|
||||
+CONFIG_NF_CONNTRACK_SECMARK=y
|
||||
+CONFIG_NF_CONNTRACK_EVENTS=y
|
||||
+CONFIG_NF_CONNTRACK_AMANDA=y
|
||||
+CONFIG_NF_CONNTRACK_FTP=y
|
||||
+CONFIG_NF_CONNTRACK_H323=y
|
||||
+CONFIG_NF_CONNTRACK_IRC=y
|
||||
+CONFIG_NF_CONNTRACK_NETBIOS_NS=y
|
||||
+CONFIG_NF_CONNTRACK_PPTP=y
|
||||
+CONFIG_NF_CONNTRACK_SANE=y
|
||||
+CONFIG_NF_CONNTRACK_TFTP=y
|
||||
+CONFIG_NF_CT_NETLINK=y
|
||||
+CONFIG_NETFILTER_XT_TARGET_CLASSIFY=y
|
||||
+CONFIG_NETFILTER_XT_TARGET_CONNMARK=y
|
||||
+CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=y
|
||||
+CONFIG_NETFILTER_XT_TARGET_IDLETIMER=y
|
||||
+CONFIG_NETFILTER_XT_TARGET_MARK=y
|
||||
+CONFIG_NETFILTER_XT_TARGET_NFLOG=y
|
||||
+CONFIG_NETFILTER_XT_TARGET_NFQUEUE=y
|
||||
+CONFIG_NETFILTER_XT_TARGET_TPROXY=y
|
||||
+CONFIG_NETFILTER_XT_TARGET_TRACE=y
|
||||
+CONFIG_NETFILTER_XT_TARGET_SECMARK=y
|
||||
+CONFIG_NETFILTER_XT_TARGET_TCPMSS=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_BPF=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_COMMENT=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_CONNMARK=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_HELPER=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_IPRANGE=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_LENGTH=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_LIMIT=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_MAC=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_MARK=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_POLICY=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_PKTTYPE=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_QUOTA=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_SOCKET=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_STATE=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_STATISTIC=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_STRING=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_TIME=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_U32=y
|
||||
+CONFIG_IP_NF_IPTABLES=y
|
||||
+CONFIG_IP_NF_MATCH_ECN=y
|
||||
+CONFIG_IP_NF_MATCH_TTL=y
|
||||
+CONFIG_IP_NF_FILTER=y
|
||||
+CONFIG_IP_NF_TARGET_REJECT=y
|
||||
+CONFIG_IP_NF_NAT=y
|
||||
+CONFIG_IP_NF_TARGET_MASQUERADE=y
|
||||
+CONFIG_IP_NF_TARGET_NETMAP=y
|
||||
+CONFIG_IP_NF_TARGET_REDIRECT=y
|
||||
+CONFIG_IP_NF_MANGLE=y
|
||||
+CONFIG_IP_NF_RAW=y
|
||||
+CONFIG_IP_NF_SECURITY=y
|
||||
+CONFIG_IP_NF_ARPTABLES=y
|
||||
+CONFIG_IP_NF_ARPFILTER=y
|
||||
+CONFIG_IP_NF_ARP_MANGLE=y
|
||||
+CONFIG_IP6_NF_IPTABLES=y
|
||||
+CONFIG_IP6_NF_MATCH_RPFILTER=y
|
||||
+CONFIG_IP6_NF_FILTER=y
|
||||
+CONFIG_IP6_NF_TARGET_REJECT=y
|
||||
+CONFIG_IP6_NF_MANGLE=y
|
||||
+CONFIG_IP6_NF_RAW=y
|
||||
+CONFIG_L2TP=y
|
||||
+CONFIG_NET_SCHED=y
|
||||
+CONFIG_NET_SCH_HTB=y
|
||||
+CONFIG_NET_CLS_U32=y
|
||||
+CONFIG_NET_EMATCH=y
|
||||
+CONFIG_NET_EMATCH_U32=y
|
||||
+CONFIG_NET_CLS_ACT=y
|
||||
+CONFIG_CFG80211=y
|
||||
+# CONFIG_CFG80211_DEFAULT_PS is not set
|
||||
+# CONFIG_CFG80211_CRDA_SUPPORT is not set
|
||||
+CONFIG_MAC80211=y
|
||||
+# CONFIG_MAC80211_RC_MINSTREL is not set
|
||||
+CONFIG_RFKILL=y
|
||||
+# CONFIG_UEVENT_HELPER is not set
|
||||
+CONFIG_DEVTMPFS=y
|
||||
+# CONFIG_ALLOW_DEV_COREDUMP is not set
|
||||
+CONFIG_DEBUG_DEVRES=y
|
||||
+CONFIG_OF_UNITTEST=y
|
||||
+CONFIG_ZRAM=y
|
||||
+CONFIG_BLK_DEV_LOOP=y
|
||||
+CONFIG_BLK_DEV_RAM=y
|
||||
+CONFIG_BLK_DEV_RAM_SIZE=8192
|
||||
+CONFIG_VIRTIO_BLK=y
|
||||
+CONFIG_SCSI=y
|
||||
+# CONFIG_SCSI_MQ_DEFAULT is not set
|
||||
+# CONFIG_SCSI_PROC_FS is not set
|
||||
+CONFIG_BLK_DEV_SD=y
|
||||
+CONFIG_SCSI_VIRTIO=y
|
||||
+CONFIG_MD=y
|
||||
+CONFIG_BLK_DEV_DM=y
|
||||
+CONFIG_DM_CRYPT=y
|
||||
+CONFIG_DM_UEVENT=y
|
||||
+CONFIG_DM_VERITY=y
|
||||
+CONFIG_DM_VERITY_FEC=y
|
||||
+CONFIG_NETDEVICES=y
|
||||
+CONFIG_NETCONSOLE=y
|
||||
+CONFIG_NETCONSOLE_DYNAMIC=y
|
||||
+CONFIG_TUN=y
|
||||
+CONFIG_VIRTIO_NET=y
|
||||
+# CONFIG_ETHERNET is not set
|
||||
+CONFIG_PHYLIB=y
|
||||
+CONFIG_PPP=y
|
||||
+CONFIG_PPP_BSDCOMP=y
|
||||
+CONFIG_PPP_DEFLATE=y
|
||||
+CONFIG_PPP_MPPE=y
|
||||
+CONFIG_PPTP=y
|
||||
+CONFIG_PPPOL2TP=y
|
||||
+CONFIG_USB_USBNET=y
|
||||
+# CONFIG_USB_NET_AX8817X is not set
|
||||
+# CONFIG_USB_NET_AX88179_178A is not set
|
||||
+# CONFIG_USB_NET_CDCETHER is not set
|
||||
+# CONFIG_USB_NET_CDC_NCM is not set
|
||||
+# CONFIG_USB_NET_NET1080 is not set
|
||||
+# CONFIG_USB_NET_CDC_SUBSET is not set
|
||||
+# CONFIG_USB_NET_ZAURUS is not set
|
||||
+# CONFIG_WLAN_VENDOR_ADMTEK is not set
|
||||
+# CONFIG_WLAN_VENDOR_ATH is not set
|
||||
+# CONFIG_WLAN_VENDOR_ATMEL is not set
|
||||
+# CONFIG_WLAN_VENDOR_BROADCOM is not set
|
||||
+# CONFIG_WLAN_VENDOR_CISCO is not set
|
||||
+# CONFIG_WLAN_VENDOR_INTEL is not set
|
||||
+# CONFIG_WLAN_VENDOR_INTERSIL is not set
|
||||
+# CONFIG_WLAN_VENDOR_MARVELL is not set
|
||||
+# CONFIG_WLAN_VENDOR_MEDIATEK is not set
|
||||
+# CONFIG_WLAN_VENDOR_RALINK is not set
|
||||
+# CONFIG_WLAN_VENDOR_REALTEK is not set
|
||||
+# CONFIG_WLAN_VENDOR_RSI is not set
|
||||
+# CONFIG_WLAN_VENDOR_ST is not set
|
||||
+# CONFIG_WLAN_VENDOR_TI is not set
|
||||
+# CONFIG_WLAN_VENDOR_ZYDAS is not set
|
||||
+# CONFIG_WLAN_VENDOR_QUANTENNA is not set
|
||||
+CONFIG_INPUT_EVDEV=y
|
||||
+# CONFIG_INPUT_KEYBOARD is not set
|
||||
+# CONFIG_INPUT_MOUSE is not set
|
||||
+CONFIG_INPUT_JOYSTICK=y
|
||||
+CONFIG_JOYSTICK_XPAD=y
|
||||
+CONFIG_JOYSTICK_XPAD_FF=y
|
||||
+CONFIG_JOYSTICK_XPAD_LEDS=y
|
||||
+CONFIG_INPUT_TABLET=y
|
||||
+CONFIG_TABLET_USB_ACECAD=y
|
||||
+CONFIG_TABLET_USB_AIPTEK=y
|
||||
+CONFIG_TABLET_USB_GTCO=y
|
||||
+CONFIG_TABLET_USB_HANWANG=y
|
||||
+CONFIG_TABLET_USB_KBTAB=y
|
||||
+CONFIG_INPUT_MISC=y
|
||||
+CONFIG_INPUT_UINPUT=y
|
||||
+# CONFIG_VT is not set
|
||||
+# CONFIG_LEGACY_PTYS is not set
|
||||
+# CONFIG_DEVMEM is not set
|
||||
+CONFIG_SERIAL_8250=y
|
||||
+# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
|
||||
+CONFIG_SERIAL_8250_CONSOLE=y
|
||||
+# CONFIG_SERIAL_8250_EXAR is not set
|
||||
+CONFIG_SERIAL_8250_NR_UARTS=48
|
||||
+CONFIG_SERIAL_8250_EXTENDED=y
|
||||
+CONFIG_SERIAL_8250_MANY_PORTS=y
|
||||
+CONFIG_SERIAL_8250_SHARE_IRQ=y
|
||||
+CONFIG_SERIAL_AMBA_PL011=y
|
||||
+CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
|
||||
+CONFIG_VIRTIO_CONSOLE=y
|
||||
+CONFIG_HW_RANDOM=y
|
||||
+CONFIG_HW_RANDOM_VIRTIO=y
|
||||
+# CONFIG_HW_RANDOM_CAVIUM is not set
|
||||
+# CONFIG_DEVPORT is not set
|
||||
+# CONFIG_I2C_COMPAT is not set
|
||||
+# CONFIG_I2C_HELPER_AUTO is not set
|
||||
+# CONFIG_HWMON is not set
|
||||
+CONFIG_MEDIA_SUPPORT=y
|
||||
+# CONFIG_VGA_ARB is not set
|
||||
+CONFIG_DRM=y
|
||||
+# CONFIG_DRM_FBDEV_EMULATION is not set
|
||||
+CONFIG_DRM_VIRTIO_GPU=y
|
||||
+CONFIG_SOUND=y
|
||||
+CONFIG_SND=y
|
||||
+CONFIG_HIDRAW=y
|
||||
+CONFIG_UHID=y
|
||||
+CONFIG_HID_A4TECH=y
|
||||
+CONFIG_HID_ACRUX=y
|
||||
+CONFIG_HID_ACRUX_FF=y
|
||||
+CONFIG_HID_APPLE=y
|
||||
+CONFIG_HID_BELKIN=y
|
||||
+CONFIG_HID_CHERRY=y
|
||||
+CONFIG_HID_CHICONY=y
|
||||
+CONFIG_HID_PRODIKEYS=y
|
||||
+CONFIG_HID_CYPRESS=y
|
||||
+CONFIG_HID_DRAGONRISE=y
|
||||
+CONFIG_DRAGONRISE_FF=y
|
||||
+CONFIG_HID_EMS_FF=y
|
||||
+CONFIG_HID_ELECOM=y
|
||||
+CONFIG_HID_EZKEY=y
|
||||
+CONFIG_HID_HOLTEK=y
|
||||
+CONFIG_HID_KEYTOUCH=y
|
||||
+CONFIG_HID_KYE=y
|
||||
+CONFIG_HID_UCLOGIC=y
|
||||
+CONFIG_HID_WALTOP=y
|
||||
+CONFIG_HID_GYRATION=y
|
||||
+CONFIG_HID_TWINHAN=y
|
||||
+CONFIG_HID_KENSINGTON=y
|
||||
+CONFIG_HID_LCPOWER=y
|
||||
+CONFIG_HID_LOGITECH=y
|
||||
+CONFIG_HID_LOGITECH_DJ=y
|
||||
+CONFIG_LOGITECH_FF=y
|
||||
+CONFIG_LOGIRUMBLEPAD2_FF=y
|
||||
+CONFIG_LOGIG940_FF=y
|
||||
+CONFIG_HID_MAGICMOUSE=y
|
||||
+CONFIG_HID_MICROSOFT=y
|
||||
+CONFIG_HID_MONTEREY=y
|
||||
+CONFIG_HID_MULTITOUCH=y
|
||||
+CONFIG_HID_NTRIG=y
|
||||
+CONFIG_HID_ORTEK=y
|
||||
+CONFIG_HID_PANTHERLORD=y
|
||||
+CONFIG_PANTHERLORD_FF=y
|
||||
+CONFIG_HID_PETALYNX=y
|
||||
+CONFIG_HID_PICOLCD=y
|
||||
+CONFIG_HID_PRIMAX=y
|
||||
+CONFIG_HID_ROCCAT=y
|
||||
+CONFIG_HID_SAITEK=y
|
||||
+CONFIG_HID_SAMSUNG=y
|
||||
+CONFIG_HID_SONY=y
|
||||
+CONFIG_HID_SPEEDLINK=y
|
||||
+CONFIG_HID_SUNPLUS=y
|
||||
+CONFIG_HID_GREENASIA=y
|
||||
+CONFIG_GREENASIA_FF=y
|
||||
+CONFIG_HID_SMARTJOYPLUS=y
|
||||
+CONFIG_SMARTJOYPLUS_FF=y
|
||||
+CONFIG_HID_TIVO=y
|
||||
+CONFIG_HID_TOPSEED=y
|
||||
+CONFIG_HID_THRUSTMASTER=y
|
||||
+CONFIG_HID_WACOM=y
|
||||
+CONFIG_HID_WIIMOTE=y
|
||||
+CONFIG_HID_ZEROPLUS=y
|
||||
+CONFIG_HID_ZYDACRON=y
|
||||
+CONFIG_USB_HIDDEV=y
|
||||
+CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
|
||||
+CONFIG_USB_EHCI_HCD=y
|
||||
+CONFIG_USB_GADGET=y
|
||||
+CONFIG_USB_CONFIGFS=y
|
||||
+CONFIG_USB_CONFIGFS_F_FS=y
|
||||
+CONFIG_USB_CONFIGFS_F_MIDI=y
|
||||
+CONFIG_RTC_CLASS=y
|
||||
+# CONFIG_RTC_HCTOSYS is not set
|
||||
+# CONFIG_RTC_SYSTOHC is not set
|
||||
+CONFIG_RTC_DRV_PL031=y
|
||||
+CONFIG_VIRTIO_PCI=y
|
||||
+# CONFIG_VIRTIO_PCI_LEGACY is not set
|
||||
+CONFIG_VIRTIO_BALLOON=y
|
||||
+CONFIG_VIRTIO_MMIO=y
|
||||
+CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
|
||||
+CONFIG_STAGING=y
|
||||
+CONFIG_ASHMEM=y
|
||||
+CONFIG_ANDROID_VSOC=y
|
||||
+CONFIG_ION=y
|
||||
+# CONFIG_IOMMU_SUPPORT is not set
|
||||
+CONFIG_ANDROID=y
|
||||
+CONFIG_ANDROID_BINDER_IPC=y
|
||||
+CONFIG_EXT4_FS=y
|
||||
+CONFIG_EXT4_FS_SECURITY=y
|
||||
+CONFIG_EXT4_ENCRYPTION=y
|
||||
+CONFIG_F2FS_FS=y
|
||||
+CONFIG_F2FS_FS_SECURITY=y
|
||||
+CONFIG_F2FS_FS_ENCRYPTION=y
|
||||
+# CONFIG_DNOTIFY is not set
|
||||
+CONFIG_QUOTA=y
|
||||
+CONFIG_QFMT_V2=y
|
||||
+CONFIG_MSDOS_FS=y
|
||||
+CONFIG_VFAT_FS=y
|
||||
+CONFIG_TMPFS=y
|
||||
+CONFIG_TMPFS_POSIX_ACL=y
|
||||
+CONFIG_PSTORE=y
|
||||
+CONFIG_PSTORE_CONSOLE=y
|
||||
+CONFIG_PSTORE_RAM=y
|
||||
+CONFIG_SECURITY=y
|
||||
+CONFIG_SECURITY_NETWORK=y
|
||||
+CONFIG_LSM_MMAP_MIN_ADDR=65536
|
||||
+CONFIG_HARDENED_USERCOPY=y
|
||||
+CONFIG_SECURITY_SELINUX=y
|
||||
+CONFIG_CRYPTO_SHA512=y
|
||||
+CONFIG_CRYPTO_LZ4=y
|
||||
+CONFIG_CRYPTO_ZSTD=y
|
||||
+CONFIG_CRYPTO_ANSI_CPRNG=y
|
||||
+CONFIG_CRYPTO_DEV_VIRTIO=y
|
||||
+CONFIG_XZ_DEC=y
|
||||
+CONFIG_PRINTK_TIME=y
|
||||
+CONFIG_DEBUG_INFO=y
|
||||
+# CONFIG_ENABLE_MUST_CHECK is not set
|
||||
+CONFIG_FRAME_WARN=1024
|
||||
+# CONFIG_SECTION_MISMATCH_WARN_ONLY is not set
|
||||
+CONFIG_MAGIC_SYSRQ=y
|
||||
+CONFIG_DEBUG_STACK_USAGE=y
|
||||
+CONFIG_DEBUG_MEMORY_INIT=y
|
||||
+CONFIG_SOFTLOCKUP_DETECTOR=y
|
||||
+# CONFIG_DETECT_HUNG_TASK is not set
|
||||
+CONFIG_PANIC_TIMEOUT=5
|
||||
+CONFIG_SCHEDSTATS=y
|
||||
+CONFIG_RCU_CPU_STALL_TIMEOUT=60
|
||||
+CONFIG_ENABLE_DEFAULT_TRACERS=y
|
||||
+# CONFIG_RUNTIME_TESTING_MENU is not set
|
||||
diff --git a/arch/x86/configs/x86_64_cuttlefish_defconfig b/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
new file mode 100644
|
||||
index 0000000000000..a30f92646583a
|
||||
--- /dev/null
|
||||
+++ b/arch/x86/configs/x86_64_cuttlefish_defconfig
|
||||
@@ -0,0 +1,437 @@
|
||||
+CONFIG_POSIX_MQUEUE=y
|
||||
+# CONFIG_USELIB is not set
|
||||
+CONFIG_AUDIT=y
|
||||
+CONFIG_NO_HZ=y
|
||||
+CONFIG_HIGH_RES_TIMERS=y
|
||||
+CONFIG_PREEMPT=y
|
||||
+CONFIG_BSD_PROCESS_ACCT=y
|
||||
+CONFIG_TASKSTATS=y
|
||||
+CONFIG_TASK_DELAY_ACCT=y
|
||||
+CONFIG_TASK_XACCT=y
|
||||
+CONFIG_TASK_IO_ACCOUNTING=y
|
||||
+CONFIG_IKCONFIG=y
|
||||
+CONFIG_IKCONFIG_PROC=y
|
||||
+CONFIG_CGROUPS=y
|
||||
+CONFIG_MEMCG=y
|
||||
+CONFIG_MEMCG_SWAP=y
|
||||
+CONFIG_CGROUP_SCHED=y
|
||||
+CONFIG_RT_GROUP_SCHED=y
|
||||
+CONFIG_CGROUP_FREEZER=y
|
||||
+CONFIG_CGROUP_CPUACCT=y
|
||||
+CONFIG_CGROUP_BPF=y
|
||||
+CONFIG_NAMESPACES=y
|
||||
+CONFIG_BLK_DEV_INITRD=y
|
||||
+# CONFIG_RD_LZ4 is not set
|
||||
+# CONFIG_FHANDLE is not set
|
||||
+# CONFIG_PCSPKR_PLATFORM is not set
|
||||
+CONFIG_KALLSYMS_ALL=y
|
||||
+CONFIG_BPF_SYSCALL=y
|
||||
+CONFIG_EMBEDDED=y
|
||||
+# CONFIG_COMPAT_BRK is not set
|
||||
+CONFIG_PROFILING=y
|
||||
+CONFIG_SMP=y
|
||||
+CONFIG_HYPERVISOR_GUEST=y
|
||||
+CONFIG_PARAVIRT=y
|
||||
+CONFIG_PARAVIRT_SPINLOCKS=y
|
||||
+CONFIG_MCORE2=y
|
||||
+CONFIG_PROCESSOR_SELECT=y
|
||||
+# CONFIG_CPU_SUP_CENTAUR is not set
|
||||
+CONFIG_NR_CPUS=8
|
||||
+# CONFIG_MICROCODE is not set
|
||||
+CONFIG_X86_MSR=y
|
||||
+CONFIG_X86_CPUID=y
|
||||
+# CONFIG_MTRR is not set
|
||||
+CONFIG_HZ_100=y
|
||||
+CONFIG_KEXEC=y
|
||||
+CONFIG_CRASH_DUMP=y
|
||||
+CONFIG_PHYSICAL_START=0x200000
|
||||
+CONFIG_PHYSICAL_ALIGN=0x1000000
|
||||
+CONFIG_CMDLINE_BOOL=y
|
||||
+CONFIG_CMDLINE="console=ttyS0 reboot=p"
|
||||
+CONFIG_PM_WAKELOCKS=y
|
||||
+CONFIG_PM_WAKELOCKS_LIMIT=0
|
||||
+# CONFIG_PM_WAKELOCKS_GC is not set
|
||||
+CONFIG_PM_DEBUG=y
|
||||
+CONFIG_ACPI_PROCFS_POWER=y
|
||||
+# CONFIG_ACPI_FAN is not set
|
||||
+# CONFIG_ACPI_THERMAL is not set
|
||||
+# CONFIG_X86_PM_TIMER is not set
|
||||
+CONFIG_CPU_FREQ_GOV_ONDEMAND=y
|
||||
+CONFIG_X86_ACPI_CPUFREQ=y
|
||||
+CONFIG_PCI_MSI=y
|
||||
+CONFIG_IA32_EMULATION=y
|
||||
+# CONFIG_FIRMWARE_MEMMAP is not set
|
||||
+CONFIG_OPROFILE=y
|
||||
+CONFIG_KPROBES=y
|
||||
+CONFIG_JUMP_LABEL=y
|
||||
+CONFIG_REFCOUNT_FULL=y
|
||||
+CONFIG_MODULES=y
|
||||
+CONFIG_MODULE_UNLOAD=y
|
||||
+CONFIG_MODVERSIONS=y
|
||||
+CONFIG_PARTITION_ADVANCED=y
|
||||
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
|
||||
+CONFIG_BINFMT_MISC=y
|
||||
+CONFIG_KSM=y
|
||||
+CONFIG_DEFAULT_MMAP_MIN_ADDR=65536
|
||||
+CONFIG_TRANSPARENT_HUGEPAGE=y
|
||||
+CONFIG_ZSMALLOC=y
|
||||
+CONFIG_NET=y
|
||||
+CONFIG_PACKET=y
|
||||
+CONFIG_UNIX=y
|
||||
+CONFIG_XFRM_USER=y
|
||||
+CONFIG_NET_KEY=y
|
||||
+CONFIG_INET=y
|
||||
+CONFIG_IP_MULTICAST=y
|
||||
+CONFIG_IP_ADVANCED_ROUTER=y
|
||||
+CONFIG_IP_MULTIPLE_TABLES=y
|
||||
+CONFIG_IP_ROUTE_MULTIPATH=y
|
||||
+CONFIG_IP_ROUTE_VERBOSE=y
|
||||
+CONFIG_IP_MROUTE=y
|
||||
+CONFIG_IP_PIMSM_V1=y
|
||||
+CONFIG_IP_PIMSM_V2=y
|
||||
+CONFIG_SYN_COOKIES=y
|
||||
+CONFIG_NET_IPVTI=y
|
||||
+CONFIG_INET_ESP=y
|
||||
+# CONFIG_INET_XFRM_MODE_BEET is not set
|
||||
+CONFIG_INET_DIAG_DESTROY=y
|
||||
+CONFIG_TCP_CONG_ADVANCED=y
|
||||
+# CONFIG_TCP_CONG_BIC is not set
|
||||
+# CONFIG_TCP_CONG_WESTWOOD is not set
|
||||
+# CONFIG_TCP_CONG_HTCP is not set
|
||||
+CONFIG_TCP_MD5SIG=y
|
||||
+CONFIG_IPV6_ROUTER_PREF=y
|
||||
+CONFIG_IPV6_ROUTE_INFO=y
|
||||
+CONFIG_IPV6_OPTIMISTIC_DAD=y
|
||||
+CONFIG_INET6_AH=y
|
||||
+CONFIG_INET6_ESP=y
|
||||
+CONFIG_INET6_IPCOMP=y
|
||||
+CONFIG_IPV6_MIP6=y
|
||||
+CONFIG_IPV6_VTI=y
|
||||
+CONFIG_IPV6_MULTIPLE_TABLES=y
|
||||
+CONFIG_NETLABEL=y
|
||||
+CONFIG_NETFILTER=y
|
||||
+CONFIG_NF_CONNTRACK=y
|
||||
+CONFIG_NF_CONNTRACK_SECMARK=y
|
||||
+CONFIG_NF_CONNTRACK_EVENTS=y
|
||||
+CONFIG_NF_CONNTRACK_AMANDA=y
|
||||
+CONFIG_NF_CONNTRACK_FTP=y
|
||||
+CONFIG_NF_CONNTRACK_H323=y
|
||||
+CONFIG_NF_CONNTRACK_IRC=y
|
||||
+CONFIG_NF_CONNTRACK_NETBIOS_NS=y
|
||||
+CONFIG_NF_CONNTRACK_PPTP=y
|
||||
+CONFIG_NF_CONNTRACK_SANE=y
|
||||
+CONFIG_NF_CONNTRACK_TFTP=y
|
||||
+CONFIG_NF_CT_NETLINK=y
|
||||
+CONFIG_NETFILTER_XT_TARGET_CLASSIFY=y
|
||||
+CONFIG_NETFILTER_XT_TARGET_CONNMARK=y
|
||||
+CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=y
|
||||
+CONFIG_NETFILTER_XT_TARGET_IDLETIMER=y
|
||||
+CONFIG_NETFILTER_XT_TARGET_MARK=y
|
||||
+CONFIG_NETFILTER_XT_TARGET_NFLOG=y
|
||||
+CONFIG_NETFILTER_XT_TARGET_NFQUEUE=y
|
||||
+CONFIG_NETFILTER_XT_TARGET_TPROXY=y
|
||||
+CONFIG_NETFILTER_XT_TARGET_TRACE=y
|
||||
+CONFIG_NETFILTER_XT_TARGET_SECMARK=y
|
||||
+CONFIG_NETFILTER_XT_TARGET_TCPMSS=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_BPF=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_COMMENT=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_CONNMARK=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_HELPER=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_IPRANGE=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_LENGTH=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_LIMIT=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_MAC=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_MARK=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_POLICY=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_PKTTYPE=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_QUOTA=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_SOCKET=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_STATE=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_STATISTIC=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_STRING=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_TIME=y
|
||||
+CONFIG_NETFILTER_XT_MATCH_U32=y
|
||||
+CONFIG_IP_NF_IPTABLES=y
|
||||
+CONFIG_IP_NF_MATCH_AH=y
|
||||
+CONFIG_IP_NF_MATCH_ECN=y
|
||||
+CONFIG_IP_NF_MATCH_TTL=y
|
||||
+CONFIG_IP_NF_FILTER=y
|
||||
+CONFIG_IP_NF_TARGET_REJECT=y
|
||||
+CONFIG_IP_NF_NAT=y
|
||||
+CONFIG_IP_NF_TARGET_MASQUERADE=y
|
||||
+CONFIG_IP_NF_TARGET_NETMAP=y
|
||||
+CONFIG_IP_NF_TARGET_REDIRECT=y
|
||||
+CONFIG_IP_NF_MANGLE=y
|
||||
+CONFIG_IP_NF_RAW=y
|
||||
+CONFIG_IP_NF_SECURITY=y
|
||||
+CONFIG_IP_NF_ARPTABLES=y
|
||||
+CONFIG_IP_NF_ARPFILTER=y
|
||||
+CONFIG_IP_NF_ARP_MANGLE=y
|
||||
+CONFIG_IP6_NF_IPTABLES=y
|
||||
+CONFIG_IP6_NF_MATCH_IPV6HEADER=y
|
||||
+CONFIG_IP6_NF_MATCH_RPFILTER=y
|
||||
+CONFIG_IP6_NF_FILTER=y
|
||||
+CONFIG_IP6_NF_TARGET_REJECT=y
|
||||
+CONFIG_IP6_NF_MANGLE=y
|
||||
+CONFIG_IP6_NF_RAW=y
|
||||
+CONFIG_NET_SCHED=y
|
||||
+CONFIG_NET_SCH_HTB=y
|
||||
+CONFIG_NET_CLS_U32=y
|
||||
+CONFIG_NET_EMATCH=y
|
||||
+CONFIG_NET_EMATCH_U32=y
|
||||
+CONFIG_NET_CLS_ACT=y
|
||||
+CONFIG_CFG80211=y
|
||||
+CONFIG_MAC80211=y
|
||||
+CONFIG_RFKILL=y
|
||||
+CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
|
||||
+CONFIG_DEVTMPFS=y
|
||||
+CONFIG_DEBUG_DEVRES=y
|
||||
+CONFIG_OF=y
|
||||
+CONFIG_OF_UNITTEST=y
|
||||
+# CONFIG_PNP_DEBUG_MESSAGES is not set
|
||||
+CONFIG_ZRAM=y
|
||||
+CONFIG_BLK_DEV_LOOP=y
|
||||
+CONFIG_BLK_DEV_RAM=y
|
||||
+CONFIG_BLK_DEV_RAM_SIZE=8192
|
||||
+CONFIG_VIRTIO_BLK=y
|
||||
+CONFIG_SCSI=y
|
||||
+CONFIG_BLK_DEV_SD=y
|
||||
+CONFIG_BLK_DEV_SR=y
|
||||
+CONFIG_BLK_DEV_SR_VENDOR=y
|
||||
+CONFIG_CHR_DEV_SG=y
|
||||
+CONFIG_SCSI_CONSTANTS=y
|
||||
+CONFIG_SCSI_SPI_ATTRS=y
|
||||
+CONFIG_SCSI_VIRTIO=y
|
||||
+CONFIG_MD=y
|
||||
+CONFIG_BLK_DEV_DM=y
|
||||
+CONFIG_DM_CRYPT=y
|
||||
+CONFIG_DM_MIRROR=y
|
||||
+CONFIG_DM_ZERO=y
|
||||
+CONFIG_DM_UEVENT=y
|
||||
+CONFIG_DM_VERITY=y
|
||||
+CONFIG_DM_VERITY_FEC=y
|
||||
+CONFIG_NETDEVICES=y
|
||||
+CONFIG_NETCONSOLE=y
|
||||
+CONFIG_NETCONSOLE_DYNAMIC=y
|
||||
+CONFIG_TUN=y
|
||||
+CONFIG_VIRTIO_NET=y
|
||||
+# CONFIG_ETHERNET is not set
|
||||
+CONFIG_PPP=y
|
||||
+CONFIG_PPP_BSDCOMP=y
|
||||
+CONFIG_PPP_DEFLATE=y
|
||||
+CONFIG_PPP_MPPE=y
|
||||
+CONFIG_USB_USBNET=y
|
||||
+# CONFIG_USB_NET_AX8817X is not set
|
||||
+# CONFIG_USB_NET_AX88179_178A is not set
|
||||
+# CONFIG_USB_NET_CDCETHER is not set
|
||||
+# CONFIG_USB_NET_CDC_NCM is not set
|
||||
+# CONFIG_USB_NET_NET1080 is not set
|
||||
+# CONFIG_USB_NET_CDC_SUBSET is not set
|
||||
+# CONFIG_USB_NET_ZAURUS is not set
|
||||
+# CONFIG_WLAN_VENDOR_ADMTEK is not set
|
||||
+# CONFIG_WLAN_VENDOR_ATH is not set
|
||||
+# CONFIG_WLAN_VENDOR_ATMEL is not set
|
||||
+# CONFIG_WLAN_VENDOR_BROADCOM is not set
|
||||
+# CONFIG_WLAN_VENDOR_CISCO is not set
|
||||
+# CONFIG_WLAN_VENDOR_INTEL is not set
|
||||
+# CONFIG_WLAN_VENDOR_INTERSIL is not set
|
||||
+# CONFIG_WLAN_VENDOR_MARVELL is not set
|
||||
+# CONFIG_WLAN_VENDOR_MEDIATEK is not set
|
||||
+# CONFIG_WLAN_VENDOR_RALINK is not set
|
||||
+# CONFIG_WLAN_VENDOR_REALTEK is not set
|
||||
+# CONFIG_WLAN_VENDOR_RSI is not set
|
||||
+# CONFIG_WLAN_VENDOR_ST is not set
|
||||
+# CONFIG_WLAN_VENDOR_TI is not set
|
||||
+# CONFIG_WLAN_VENDOR_ZYDAS is not set
|
||||
+# CONFIG_WLAN_VENDOR_QUANTENNA is not set
|
||||
+CONFIG_MAC80211_HWSIM=y
|
||||
+CONFIG_INPUT_EVDEV=y
|
||||
+# CONFIG_INPUT_KEYBOARD is not set
|
||||
+# CONFIG_INPUT_MOUSE is not set
|
||||
+CONFIG_INPUT_JOYSTICK=y
|
||||
+CONFIG_JOYSTICK_XPAD=y
|
||||
+CONFIG_JOYSTICK_XPAD_FF=y
|
||||
+CONFIG_JOYSTICK_XPAD_LEDS=y
|
||||
+CONFIG_INPUT_TABLET=y
|
||||
+CONFIG_TABLET_USB_ACECAD=y
|
||||
+CONFIG_TABLET_USB_AIPTEK=y
|
||||
+CONFIG_TABLET_USB_GTCO=y
|
||||
+CONFIG_TABLET_USB_HANWANG=y
|
||||
+CONFIG_TABLET_USB_KBTAB=y
|
||||
+CONFIG_INPUT_MISC=y
|
||||
+CONFIG_INPUT_UINPUT=y
|
||||
+# CONFIG_SERIO_I8042 is not set
|
||||
+# CONFIG_VT is not set
|
||||
+# CONFIG_LEGACY_PTYS is not set
|
||||
+# CONFIG_DEVMEM is not set
|
||||
+CONFIG_SERIAL_8250=y
|
||||
+# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
|
||||
+CONFIG_SERIAL_8250_CONSOLE=y
|
||||
+# CONFIG_SERIAL_8250_EXAR is not set
|
||||
+CONFIG_SERIAL_8250_NR_UARTS=48
|
||||
+CONFIG_SERIAL_8250_EXTENDED=y
|
||||
+CONFIG_SERIAL_8250_MANY_PORTS=y
|
||||
+CONFIG_SERIAL_8250_SHARE_IRQ=y
|
||||
+CONFIG_VIRTIO_CONSOLE=y
|
||||
+CONFIG_HW_RANDOM=y
|
||||
+# CONFIG_HW_RANDOM_INTEL is not set
|
||||
+# CONFIG_HW_RANDOM_AMD is not set
|
||||
+# CONFIG_HW_RANDOM_VIA is not set
|
||||
+CONFIG_HW_RANDOM_VIRTIO=y
|
||||
+CONFIG_HPET=y
|
||||
+# CONFIG_HPET_MMAP_DEFAULT is not set
|
||||
+# CONFIG_DEVPORT is not set
|
||||
+# CONFIG_ACPI_I2C_OPREGION is not set
|
||||
+# CONFIG_I2C_COMPAT is not set
|
||||
+# CONFIG_I2C_HELPER_AUTO is not set
|
||||
+CONFIG_PTP_1588_CLOCK=y
|
||||
+# CONFIG_HWMON is not set
|
||||
+# CONFIG_X86_PKG_TEMP_THERMAL is not set
|
||||
+CONFIG_WATCHDOG=y
|
||||
+CONFIG_SOFT_WATCHDOG=y
|
||||
+CONFIG_MEDIA_SUPPORT=y
|
||||
+# CONFIG_VGA_ARB is not set
|
||||
+CONFIG_DRM=y
|
||||
+# CONFIG_DRM_FBDEV_EMULATION is not set
|
||||
+CONFIG_DRM_VIRTIO_GPU=y
|
||||
+CONFIG_SOUND=y
|
||||
+CONFIG_SND=y
|
||||
+CONFIG_HIDRAW=y
|
||||
+CONFIG_UHID=y
|
||||
+CONFIG_HID_A4TECH=y
|
||||
+CONFIG_HID_ACRUX=y
|
||||
+CONFIG_HID_ACRUX_FF=y
|
||||
+CONFIG_HID_APPLE=y
|
||||
+CONFIG_HID_BELKIN=y
|
||||
+CONFIG_HID_CHERRY=y
|
||||
+CONFIG_HID_CHICONY=y
|
||||
+CONFIG_HID_PRODIKEYS=y
|
||||
+CONFIG_HID_CYPRESS=y
|
||||
+CONFIG_HID_DRAGONRISE=y
|
||||
+CONFIG_DRAGONRISE_FF=y
|
||||
+CONFIG_HID_EMS_FF=y
|
||||
+CONFIG_HID_ELECOM=y
|
||||
+CONFIG_HID_EZKEY=y
|
||||
+CONFIG_HID_HOLTEK=y
|
||||
+CONFIG_HID_KEYTOUCH=y
|
||||
+CONFIG_HID_KYE=y
|
||||
+CONFIG_HID_UCLOGIC=y
|
||||
+CONFIG_HID_WALTOP=y
|
||||
+CONFIG_HID_GYRATION=y
|
||||
+CONFIG_HID_TWINHAN=y
|
||||
+CONFIG_HID_KENSINGTON=y
|
||||
+CONFIG_HID_LCPOWER=y
|
||||
+CONFIG_HID_LOGITECH=y
|
||||
+CONFIG_HID_LOGITECH_DJ=y
|
||||
+CONFIG_LOGITECH_FF=y
|
||||
+CONFIG_LOGIRUMBLEPAD2_FF=y
|
||||
+CONFIG_LOGIG940_FF=y
|
||||
+CONFIG_HID_MAGICMOUSE=y
|
||||
+CONFIG_HID_MICROSOFT=y
|
||||
+CONFIG_HID_MONTEREY=y
|
||||
+CONFIG_HID_MULTITOUCH=y
|
||||
+CONFIG_HID_NTRIG=y
|
||||
+CONFIG_HID_ORTEK=y
|
||||
+CONFIG_HID_PANTHERLORD=y
|
||||
+CONFIG_PANTHERLORD_FF=y
|
||||
+CONFIG_HID_PETALYNX=y
|
||||
+CONFIG_HID_PICOLCD=y
|
||||
+CONFIG_HID_PRIMAX=y
|
||||
+CONFIG_HID_ROCCAT=y
|
||||
+CONFIG_HID_SAITEK=y
|
||||
+CONFIG_HID_SAMSUNG=y
|
||||
+CONFIG_HID_SONY=y
|
||||
+CONFIG_HID_SPEEDLINK=y
|
||||
+CONFIG_HID_SUNPLUS=y
|
||||
+CONFIG_HID_GREENASIA=y
|
||||
+CONFIG_GREENASIA_FF=y
|
||||
+CONFIG_HID_SMARTJOYPLUS=y
|
||||
+CONFIG_SMARTJOYPLUS_FF=y
|
||||
+CONFIG_HID_TIVO=y
|
||||
+CONFIG_HID_TOPSEED=y
|
||||
+CONFIG_HID_THRUSTMASTER=y
|
||||
+CONFIG_HID_WACOM=y
|
||||
+CONFIG_HID_WIIMOTE=y
|
||||
+CONFIG_HID_ZEROPLUS=y
|
||||
+CONFIG_HID_ZYDACRON=y
|
||||
+CONFIG_USB_HIDDEV=y
|
||||
+CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
|
||||
+CONFIG_USB_EHCI_HCD=y
|
||||
+CONFIG_USB_GADGET=y
|
||||
+CONFIG_USB_DUMMY_HCD=y
|
||||
+CONFIG_USB_CONFIGFS=y
|
||||
+CONFIG_USB_CONFIGFS_F_FS=y
|
||||
+CONFIG_USB_CONFIGFS_F_MIDI=y
|
||||
+CONFIG_RTC_CLASS=y
|
||||
+# CONFIG_RTC_HCTOSYS is not set
|
||||
+CONFIG_SW_SYNC=y
|
||||
+CONFIG_VIRTIO_PCI=y
|
||||
+CONFIG_VIRTIO_BALLOON=y
|
||||
+CONFIG_VIRTIO_MMIO=y
|
||||
+CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
|
||||
+CONFIG_STAGING=y
|
||||
+CONFIG_ASHMEM=y
|
||||
+CONFIG_ANDROID_VSOC=y
|
||||
+CONFIG_ION=y
|
||||
+# CONFIG_X86_PLATFORM_DEVICES is not set
|
||||
+# CONFIG_IOMMU_SUPPORT is not set
|
||||
+CONFIG_ANDROID=y
|
||||
+CONFIG_ANDROID_BINDER_IPC=y
|
||||
+CONFIG_EXT4_FS=y
|
||||
+CONFIG_EXT4_FS_POSIX_ACL=y
|
||||
+CONFIG_EXT4_FS_SECURITY=y
|
||||
+CONFIG_EXT4_ENCRYPTION=y
|
||||
+CONFIG_F2FS_FS=y
|
||||
+CONFIG_F2FS_FS_SECURITY=y
|
||||
+CONFIG_F2FS_FS_ENCRYPTION=y
|
||||
+CONFIG_QUOTA=y
|
||||
+CONFIG_QUOTA_NETLINK_INTERFACE=y
|
||||
+# CONFIG_PRINT_QUOTA_WARNING is not set
|
||||
+CONFIG_QFMT_V2=y
|
||||
+CONFIG_AUTOFS4_FS=y
|
||||
+CONFIG_MSDOS_FS=y
|
||||
+CONFIG_VFAT_FS=y
|
||||
+CONFIG_PROC_KCORE=y
|
||||
+CONFIG_TMPFS=y
|
||||
+CONFIG_TMPFS_POSIX_ACL=y
|
||||
+CONFIG_HUGETLBFS=y
|
||||
+CONFIG_PSTORE=y
|
||||
+CONFIG_PSTORE_CONSOLE=y
|
||||
+CONFIG_PSTORE_RAM=y
|
||||
+CONFIG_NLS_DEFAULT="utf8"
|
||||
+CONFIG_NLS_CODEPAGE_437=y
|
||||
+CONFIG_NLS_ASCII=y
|
||||
+CONFIG_NLS_ISO8859_1=y
|
||||
+CONFIG_NLS_UTF8=y
|
||||
+CONFIG_SECURITY=y
|
||||
+CONFIG_SECURITY_NETWORK=y
|
||||
+CONFIG_SECURITY_PATH=y
|
||||
+CONFIG_HARDENED_USERCOPY=y
|
||||
+CONFIG_SECURITY_SELINUX=y
|
||||
+CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1
|
||||
+# CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set
|
||||
+CONFIG_CRYPTO_SHA512=y
|
||||
+CONFIG_CRYPTO_LZ4=y
|
||||
+CONFIG_CRYPTO_ZSTD=y
|
||||
+CONFIG_CRYPTO_DEV_VIRTIO=y
|
||||
+CONFIG_PRINTK_TIME=y
|
||||
+CONFIG_DEBUG_INFO=y
|
||||
+# CONFIG_ENABLE_MUST_CHECK is not set
|
||||
+CONFIG_FRAME_WARN=1024
|
||||
+# CONFIG_UNUSED_SYMBOLS is not set
|
||||
+CONFIG_MAGIC_SYSRQ=y
|
||||
+CONFIG_DEBUG_STACK_USAGE=y
|
||||
+CONFIG_DEBUG_MEMORY_INIT=y
|
||||
+CONFIG_DEBUG_STACKOVERFLOW=y
|
||||
+CONFIG_HARDLOCKUP_DETECTOR=y
|
||||
+CONFIG_PANIC_TIMEOUT=5
|
||||
+CONFIG_SCHEDSTATS=y
|
||||
+CONFIG_RCU_CPU_STALL_TIMEOUT=60
|
||||
+CONFIG_ENABLE_DEFAULT_TRACERS=y
|
||||
+CONFIG_IO_DELAY_NONE=y
|
||||
+CONFIG_DEBUG_BOOT_PARAMS=y
|
||||
+CONFIG_OPTIMIZE_INLINING=y
|
||||
+CONFIG_UNWINDER_FRAME_POINTER=y
|
||||
diff --git a/build.config.cuttlefish.aarch64 b/build.config.cuttlefish.aarch64
|
||||
new file mode 100644
|
||||
index 0000000000000..bfb1f560b2986
|
||||
--- /dev/null
|
||||
+++ b/build.config.cuttlefish.aarch64
|
||||
@@ -0,0 +1,16 @@
|
||||
+ARCH=arm64
|
||||
+BRANCH=android-4.19
|
||||
+CLANG_TRIPLE=aarch64-linux-gnu-
|
||||
+CROSS_COMPILE=aarch64-linux-androidkernel-
|
||||
+DEFCONFIG=cuttlefish_defconfig
|
||||
+EXTRA_CMDS=''
|
||||
+KERNEL_DIR=common
|
||||
+POST_DEFCONFIG_CMDS="check_defconfig"
|
||||
+CLANG_PREBUILT_BIN=prebuilts-master/clang/host/linux-x86/clang-r328903/bin
|
||||
+LINUX_GCC_CROSS_COMPILE_PREBUILTS_BIN=prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/bin
|
||||
+FILES="
|
||||
+arch/arm64/boot/Image.gz
|
||||
+vmlinux
|
||||
+System.map
|
||||
+"
|
||||
+STOP_SHIP_TRACEPRINTK=1
|
||||
diff --git a/build.config.cuttlefish.x86_64 b/build.config.cuttlefish.x86_64
|
||||
new file mode 100644
|
||||
index 0000000000000..69813b30c8ea4
|
||||
--- /dev/null
|
||||
+++ b/build.config.cuttlefish.x86_64
|
||||
@@ -0,0 +1,16 @@
|
||||
+ARCH=x86_64
|
||||
+BRANCH=android-4.19
|
||||
+CLANG_TRIPLE=x86_64-linux-gnu-
|
||||
+CROSS_COMPILE=x86_64-linux-androidkernel-
|
||||
+DEFCONFIG=x86_64_cuttlefish_defconfig
|
||||
+EXTRA_CMDS=''
|
||||
+KERNEL_DIR=common
|
||||
+POST_DEFCONFIG_CMDS="check_defconfig"
|
||||
+CLANG_PREBUILT_BIN=prebuilts-master/clang/host/linux-x86/clang-r328903/bin
|
||||
+LINUX_GCC_CROSS_COMPILE_PREBUILTS_BIN=prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.9/bin
|
||||
+FILES="
|
||||
+arch/x86/boot/bzImage
|
||||
+vmlinux
|
||||
+System.map
|
||||
+"
|
||||
+STOP_SHIP_TRACEPRINTK=1
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
1447
patches/ANDROID-dm-bow-Add-dm-bow-feature.patch
Normal file
1447
patches/ANDROID-dm-bow-Add-dm-bow-feature.patch
Normal file
File diff suppressed because it is too large
Load Diff
79
patches/ANDROID-dm-bow-Fix-32-bit-compile-errors.patch
Normal file
79
patches/ANDROID-dm-bow-Fix-32-bit-compile-errors.patch
Normal file
|
|
@ -0,0 +1,79 @@
|
|||
From 8f9c80dc525828562ba9ec7c6a8fd17c11745cda Mon Sep 17 00:00:00 2001
|
||||
From: Paul Lawrence <paullawrence@google.com>
|
||||
Date: Tue, 26 Mar 2019 09:05:55 -0700
|
||||
Subject: ANDROID: dm-bow: Fix 32 bit compile errors
|
||||
|
||||
See https://www.kernel.org/doc/html/v4.17/core-api/printk-formats.html
|
||||
|
||||
Also 64-bit modulus not defined on 32-bit architectures
|
||||
|
||||
Test: i386_defconfig and x86_64_cuttlefish_defconfig compile
|
||||
Change-Id: I57b9372e12e97b9a18232191b525e7601bc57a24
|
||||
Signed-off-by: Paul Lawrence <paullawrence@google.com>
|
||||
---
|
||||
drivers/md/dm-bow.c | 21 +++++++++++++--------
|
||||
1 file changed, 13 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/drivers/md/dm-bow.c b/drivers/md/dm-bow.c
|
||||
index 0d176aa140dfb..9323c7c8580d4 100644
|
||||
--- a/drivers/md/dm-bow.c
|
||||
+++ b/drivers/md/dm-bow.c
|
||||
@@ -266,7 +266,8 @@ static struct bow_range *find_free_range(struct bow_context *bc)
|
||||
|
||||
static sector_t sector_to_page(struct bow_context const *bc, sector_t sector)
|
||||
{
|
||||
- WARN_ON(sector % (bc->block_size / SECTOR_SIZE) != 0);
|
||||
+ WARN_ON((sector & (((sector_t)1 << (bc->block_shift - SECTOR_SHIFT)) - 1))
|
||||
+ != 0);
|
||||
return sector >> (bc->block_shift - SECTOR_SHIFT);
|
||||
}
|
||||
|
||||
@@ -291,7 +292,8 @@ static int copy_data(struct bow_context const *bc,
|
||||
|
||||
read = dm_bufio_read(bc->bufio, page, &read_buffer);
|
||||
if (IS_ERR(read)) {
|
||||
- DMERR("Cannot read page %lu", page);
|
||||
+ DMERR("Cannot read page %llu",
|
||||
+ (unsigned long long)page);
|
||||
return PTR_ERR(read);
|
||||
}
|
||||
|
||||
@@ -952,8 +954,9 @@ static int add_trim(struct bow_context *bc, struct bio *bio)
|
||||
struct bow_range *br;
|
||||
struct bvec_iter bi_iter = bio->bi_iter;
|
||||
|
||||
- DMDEBUG("add_trim: %lu, %u",
|
||||
- bio->bi_iter.bi_sector, bio->bi_iter.bi_size);
|
||||
+ DMDEBUG("add_trim: %llu, %u",
|
||||
+ (unsigned long long)bio->bi_iter.bi_sector,
|
||||
+ bio->bi_iter.bi_size);
|
||||
|
||||
do {
|
||||
br = find_first_overlapping_range(&bc->ranges, &bi_iter);
|
||||
@@ -990,8 +993,9 @@ static int remove_trim(struct bow_context *bc, struct bio *bio)
|
||||
struct bow_range *br;
|
||||
struct bvec_iter bi_iter = bio->bi_iter;
|
||||
|
||||
- DMDEBUG("remove_trim: %lu, %u",
|
||||
- bio->bi_iter.bi_sector, bio->bi_iter.bi_size);
|
||||
+ DMDEBUG("remove_trim: %llu, %u",
|
||||
+ (unsigned long long)bio->bi_iter.bi_sector,
|
||||
+ bio->bi_iter.bi_size);
|
||||
|
||||
do {
|
||||
br = find_first_overlapping_range(&bc->ranges, &bi_iter);
|
||||
@@ -1116,8 +1120,9 @@ static void dm_bow_tablestatus(struct dm_target *ti, char *result,
|
||||
for (i = rb_first(&bc->ranges); i; i = rb_next(i)) {
|
||||
struct bow_range *br = container_of(i, struct bow_range, node);
|
||||
|
||||
- result += scnprintf(result, end - result, "%s: %lu",
|
||||
- readable_type[br->type], br->sector);
|
||||
+ result += scnprintf(result, end - result, "%s: %llu",
|
||||
+ readable_type[br->type],
|
||||
+ (unsigned long long)br->sector);
|
||||
if (result >= end)
|
||||
return;
|
||||
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
|
|
@ -0,0 +1,46 @@
|
|||
From 2896f095a7d4d12ece9b30573340021bd710fbbf Mon Sep 17 00:00:00 2001
|
||||
From: "Isaac J. Manjarres" <isaacm@codeaurora.org>
|
||||
Date: Wed, 19 Jun 2019 15:37:13 -0700
|
||||
Subject: ANDROID: dma-buf: Add support for mapping buffers
|
||||
with DMA attributes
|
||||
|
||||
When mapping the memory represented by a dma-buf into a device's
|
||||
address space, it might be desireable to map the memory with
|
||||
certain DMA attributes. Thus, introduce the dma_mapping_attrs
|
||||
field in the dma_buf_attachment structure so that when
|
||||
the memory is mapped with dma_buf_map_attachment, it is mapped
|
||||
with the desired DMA attributes.
|
||||
|
||||
Bug: 133508579
|
||||
Test: ion-unit-tests
|
||||
Change-Id: Ib2e5bafdc02ae31a58ce96a82d77cc508dd71bd4
|
||||
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
|
||||
Signed-off-by: Sandeep Patil <sspatil@google.com>
|
||||
---
|
||||
include/linux/dma-buf.h | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/include/linux/dma-buf.h b/include/linux/dma-buf.h
|
||||
index 432697b212c7e..5d3fe7ccc749d 100644
|
||||
--- a/include/linux/dma-buf.h
|
||||
+++ b/include/linux/dma-buf.h
|
||||
@@ -384,6 +384,8 @@ struct dma_buf {
|
||||
* @sgt: cached mapping.
|
||||
* @dir: direction of cached mapping.
|
||||
* @priv: exporter specific attachment data.
|
||||
+ * @dma_map_attrs: DMA attributes to be used when the exporter maps the buffer
|
||||
+ * through dma_buf_map_attachment.
|
||||
*
|
||||
* This structure holds the attachment information between the dma_buf buffer
|
||||
* and its user device(s). The list contains one attachment struct per device
|
||||
@@ -401,6 +403,7 @@ struct dma_buf_attachment {
|
||||
struct sg_table *sgt;
|
||||
enum dma_data_direction dir;
|
||||
void *priv;
|
||||
+ unsigned long dma_map_attrs;
|
||||
};
|
||||
|
||||
/**
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
|
|
@ -0,0 +1,174 @@
|
|||
From b671f302714caee55532c225345f1269c0294582 Mon Sep 17 00:00:00 2001
|
||||
From: "Isaac J. Manjarres" <isaacm@codeaurora.org>
|
||||
Date: Wed, 19 Jun 2019 15:37:11 -0700
|
||||
Subject: ANDROID: dma-buf: Add support for partial cache
|
||||
maintenance
|
||||
|
||||
In order to improve performance, allow dma-buf clients to
|
||||
apply cache maintenance to only a subset of a dma-buf.
|
||||
|
||||
Kernel clients will be able to use the dma_buf_begin_cpu_access_partial
|
||||
and dma_buf_end_cpu_access_partial functions to only apply cache
|
||||
maintenance to a range within the dma-buf.
|
||||
|
||||
Bug: 133508579
|
||||
Test: ion-unit-tests
|
||||
Change-Id: Icce61fc21b1542f5248daea34f713184449a62c3
|
||||
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
|
||||
Signed-off-by: Sandeep Patil <sspatil@google.com>
|
||||
---
|
||||
drivers/dma-buf/dma-buf.c | 40 +++++++++++++++++++++++++
|
||||
include/linux/dma-buf.h | 63 +++++++++++++++++++++++++++++++++++++++
|
||||
2 files changed, 103 insertions(+)
|
||||
|
||||
diff --git a/drivers/dma-buf/dma-buf.c b/drivers/dma-buf/dma-buf.c
|
||||
index f45bfb29ef960..22d321b743f89 100644
|
||||
--- a/drivers/dma-buf/dma-buf.c
|
||||
+++ b/drivers/dma-buf/dma-buf.c
|
||||
@@ -957,6 +957,30 @@ int dma_buf_begin_cpu_access(struct dma_buf *dmabuf,
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(dma_buf_begin_cpu_access);
|
||||
|
||||
+int dma_buf_begin_cpu_access_partial(struct dma_buf *dmabuf,
|
||||
+ enum dma_data_direction direction,
|
||||
+ unsigned int offset, unsigned int len)
|
||||
+{
|
||||
+ int ret = 0;
|
||||
+
|
||||
+ if (WARN_ON(!dmabuf))
|
||||
+ return -EINVAL;
|
||||
+
|
||||
+ if (dmabuf->ops->begin_cpu_access_partial)
|
||||
+ ret = dmabuf->ops->begin_cpu_access_partial(dmabuf, direction,
|
||||
+ offset, len);
|
||||
+
|
||||
+ /* Ensure that all fences are waited upon - but we first allow
|
||||
+ * the native handler the chance to do so more efficiently if it
|
||||
+ * chooses. A double invocation here will be reasonably cheap no-op.
|
||||
+ */
|
||||
+ if (ret == 0)
|
||||
+ ret = __dma_buf_begin_cpu_access(dmabuf, direction);
|
||||
+
|
||||
+ return ret;
|
||||
+}
|
||||
+EXPORT_SYMBOL_GPL(dma_buf_begin_cpu_access_partial);
|
||||
+
|
||||
/**
|
||||
* dma_buf_end_cpu_access - Must be called after accessing a dma_buf from the
|
||||
* cpu in the kernel context. Calls end_cpu_access to allow exporter-specific
|
||||
@@ -983,6 +1007,22 @@ int dma_buf_end_cpu_access(struct dma_buf *dmabuf,
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(dma_buf_end_cpu_access);
|
||||
|
||||
+int dma_buf_end_cpu_access_partial(struct dma_buf *dmabuf,
|
||||
+ enum dma_data_direction direction,
|
||||
+ unsigned int offset, unsigned int len)
|
||||
+{
|
||||
+ int ret = 0;
|
||||
+
|
||||
+ WARN_ON(!dmabuf);
|
||||
+
|
||||
+ if (dmabuf->ops->end_cpu_access_partial)
|
||||
+ ret = dmabuf->ops->end_cpu_access_partial(dmabuf, direction,
|
||||
+ offset, len);
|
||||
+
|
||||
+ return ret;
|
||||
+}
|
||||
+EXPORT_SYMBOL_GPL(dma_buf_end_cpu_access_partial);
|
||||
+
|
||||
/**
|
||||
* dma_buf_kmap - Map a page of the buffer object into kernel address space. The
|
||||
* same restrictions as for kmap and friends apply.
|
||||
diff --git a/include/linux/dma-buf.h b/include/linux/dma-buf.h
|
||||
index bae060fae8629..432697b212c7e 100644
|
||||
--- a/include/linux/dma-buf.h
|
||||
+++ b/include/linux/dma-buf.h
|
||||
@@ -178,6 +178,41 @@ struct dma_buf_ops {
|
||||
*/
|
||||
int (*begin_cpu_access)(struct dma_buf *, enum dma_data_direction);
|
||||
|
||||
+ /**
|
||||
+ * @begin_cpu_access_partial:
|
||||
+ *
|
||||
+ * This is called from dma_buf_begin_cpu_access_partial() and allows the
|
||||
+ * exporter to ensure that the memory specified in the range is
|
||||
+ * available for cpu access - the exporter might need to allocate or
|
||||
+ * swap-in and pin the backing storage.
|
||||
+ * The exporter also needs to ensure that cpu access is
|
||||
+ * coherent for the access direction. The direction can be used by the
|
||||
+ * exporter to optimize the cache flushing, i.e. access with a different
|
||||
+ * direction (read instead of write) might return stale or even bogus
|
||||
+ * data (e.g. when the exporter needs to copy the data to temporary
|
||||
+ * storage).
|
||||
+ *
|
||||
+ * This callback is optional.
|
||||
+ *
|
||||
+ * FIXME: This is both called through the DMA_BUF_IOCTL_SYNC command
|
||||
+ * from userspace (where storage shouldn't be pinned to avoid handing
|
||||
+ * de-factor mlock rights to userspace) and for the kernel-internal
|
||||
+ * users of the various kmap interfaces, where the backing storage must
|
||||
+ * be pinned to guarantee that the atomic kmap calls can succeed. Since
|
||||
+ * there's no in-kernel users of the kmap interfaces yet this isn't a
|
||||
+ * real problem.
|
||||
+ *
|
||||
+ * Returns:
|
||||
+ *
|
||||
+ * 0 on success or a negative error code on failure. This can for
|
||||
+ * example fail when the backing storage can't be allocated. Can also
|
||||
+ * return -ERESTARTSYS or -EINTR when the call has been interrupted and
|
||||
+ * needs to be restarted.
|
||||
+ */
|
||||
+ int (*begin_cpu_access_partial)(struct dma_buf *dmabuf,
|
||||
+ enum dma_data_direction,
|
||||
+ unsigned int offset, unsigned int len);
|
||||
+
|
||||
/**
|
||||
* @end_cpu_access:
|
||||
*
|
||||
@@ -197,6 +232,28 @@ struct dma_buf_ops {
|
||||
*/
|
||||
int (*end_cpu_access)(struct dma_buf *, enum dma_data_direction);
|
||||
|
||||
+ /**
|
||||
+ * @end_cpu_access_partial:
|
||||
+ *
|
||||
+ * This is called from dma_buf_end_cpu_access_partial() when the
|
||||
+ * importer is done accessing the CPU. The exporter can use to limit
|
||||
+ * cache flushing to only the range specefied and to unpin any
|
||||
+ * resources pinned in @begin_cpu_access_umapped.
|
||||
+ * The result of any dma_buf kmap calls after end_cpu_access_partial is
|
||||
+ * undefined.
|
||||
+ *
|
||||
+ * This callback is optional.
|
||||
+ *
|
||||
+ * Returns:
|
||||
+ *
|
||||
+ * 0 on success or a negative error code on failure. Can return
|
||||
+ * -ERESTARTSYS or -EINTR when the call has been interrupted and needs
|
||||
+ * to be restarted.
|
||||
+ */
|
||||
+ int (*end_cpu_access_partial)(struct dma_buf *dmabuf,
|
||||
+ enum dma_data_direction,
|
||||
+ unsigned int offset, unsigned int len);
|
||||
+
|
||||
/**
|
||||
* @mmap:
|
||||
*
|
||||
@@ -411,8 +468,14 @@ void dma_buf_unmap_attachment(struct dma_buf_attachment *, struct sg_table *,
|
||||
enum dma_data_direction);
|
||||
int dma_buf_begin_cpu_access(struct dma_buf *dma_buf,
|
||||
enum dma_data_direction dir);
|
||||
+int dma_buf_begin_cpu_access_partial(struct dma_buf *dma_buf,
|
||||
+ enum dma_data_direction dir,
|
||||
+ unsigned int offset, unsigned int len);
|
||||
int dma_buf_end_cpu_access(struct dma_buf *dma_buf,
|
||||
enum dma_data_direction dir);
|
||||
+int dma_buf_end_cpu_access_partial(struct dma_buf *dma_buf,
|
||||
+ enum dma_data_direction dir,
|
||||
+ unsigned int offset, unsigned int len);
|
||||
void *dma_buf_kmap(struct dma_buf *, unsigned long);
|
||||
void dma_buf_kunmap(struct dma_buf *, unsigned long, void *);
|
||||
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
|
|
@ -0,0 +1,80 @@
|
|||
From bd835cc2763e8551a92d8483b500544261e1be90 Mon Sep 17 00:00:00 2001
|
||||
From: "Isaac J. Manjarres" <isaacm@codeaurora.org>
|
||||
Date: Wed, 19 Jun 2019 15:37:12 -0700
|
||||
Subject: ANDROID: dma-buf: Add support to get flags associated
|
||||
with a buffer
|
||||
|
||||
Allow kernel clients to get the flags associated with a buffer
|
||||
that is wrapped by a dma-buf. This information can be used to
|
||||
communicate the type of memory associated with the
|
||||
buffer(e.g. uncached vs cached memory).
|
||||
|
||||
Bug: 133508579
|
||||
Test: ion-unit-tests
|
||||
Change-Id: I82eab8beb738b258616c22a01080615d7ffb6ad5
|
||||
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
|
||||
Signed-off-by: Sandeep Patil <sspatil@google.com>
|
||||
---
|
||||
drivers/dma-buf/dma-buf.c | 14 ++++++++++++++
|
||||
include/linux/dma-buf.h | 15 +++++++++++++++
|
||||
2 files changed, 29 insertions(+)
|
||||
|
||||
diff --git a/drivers/dma-buf/dma-buf.c b/drivers/dma-buf/dma-buf.c
|
||||
index 22d321b743f89..d0f6e7290bcdb 100644
|
||||
--- a/drivers/dma-buf/dma-buf.c
|
||||
+++ b/drivers/dma-buf/dma-buf.c
|
||||
@@ -1188,6 +1188,20 @@ void dma_buf_vunmap(struct dma_buf *dmabuf, void *vaddr)
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(dma_buf_vunmap);
|
||||
|
||||
+int dma_buf_get_flags(struct dma_buf *dmabuf, unsigned long *flags)
|
||||
+{
|
||||
+ int ret = 0;
|
||||
+
|
||||
+ if (WARN_ON(!dmabuf) || !flags)
|
||||
+ return -EINVAL;
|
||||
+
|
||||
+ if (dmabuf->ops->get_flags)
|
||||
+ ret = dmabuf->ops->get_flags(dmabuf, flags);
|
||||
+
|
||||
+ return ret;
|
||||
+}
|
||||
+EXPORT_SYMBOL_GPL(dma_buf_get_flags);
|
||||
+
|
||||
#ifdef CONFIG_DEBUG_FS
|
||||
static int dma_buf_debug_show(struct seq_file *s, void *unused)
|
||||
{
|
||||
diff --git a/include/linux/dma-buf.h b/include/linux/dma-buf.h
|
||||
index 5d3fe7ccc749d..1e148a48d7064 100644
|
||||
--- a/include/linux/dma-buf.h
|
||||
+++ b/include/linux/dma-buf.h
|
||||
@@ -318,6 +318,20 @@ struct dma_buf_ops {
|
||||
|
||||
void *(*vmap)(struct dma_buf *);
|
||||
void (*vunmap)(struct dma_buf *, void *vaddr);
|
||||
+
|
||||
+ /**
|
||||
+ * @get_flags:
|
||||
+ *
|
||||
+ * This is called by dma_buf_get_flags and is used to get the buffer's
|
||||
+ * flags.
|
||||
+ * This callback is optional.
|
||||
+ *
|
||||
+ * Returns:
|
||||
+ *
|
||||
+ * 0 on success or a negative error code on failure. On success flags
|
||||
+ * will be populated with the buffer's flags.
|
||||
+ */
|
||||
+ int (*get_flags)(struct dma_buf *dmabuf, unsigned long *flags);
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -486,4 +500,5 @@ int dma_buf_mmap(struct dma_buf *, struct vm_area_struct *,
|
||||
unsigned long);
|
||||
void *dma_buf_vmap(struct dma_buf *);
|
||||
void dma_buf_vunmap(struct dma_buf *, void *vaddr);
|
||||
+int dma_buf_get_flags(struct dma_buf *dmabuf, unsigned long *flags);
|
||||
#endif /* __DMA_BUF_H__ */
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
111
patches/ANDROID-first-pass-cuttlefish-GKI-modularization.patch
Normal file
111
patches/ANDROID-first-pass-cuttlefish-GKI-modularization.patch
Normal file
|
|
@ -0,0 +1,111 @@
|
|||
From a0d4dd90005235d67ef015eb402160d66c37a38f Mon Sep 17 00:00:00 2001
|
||||
From: Ram Muthiah <rammuthiah@google.com>
|
||||
Date: Thu, 29 Aug 2019 19:15:01 -0700
|
||||
Subject: ANDROID: first pass cuttlefish GKI modularization
|
||||
|
||||
Bug: 132629930
|
||||
Signed-off-by: Ram Muthiah <rammuthiah@google.com>
|
||||
Change-Id: Ie2a4d08596b0e2af7c868224bc18dcd6adae7ee0
|
||||
---
|
||||
arch/x86/configs/gki_defconfig | 28 ++++++++++++++++------------
|
||||
1 file changed, 16 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/arch/x86/configs/gki_defconfig b/arch/x86/configs/gki_defconfig
|
||||
index 6b0ff4ca236ab..a37fa09bd107a 100644
|
||||
--- a/arch/x86/configs/gki_defconfig
|
||||
+++ b/arch/x86/configs/gki_defconfig
|
||||
@@ -155,8 +155,12 @@ CONFIG_NET_CLS_BPF=y
|
||||
CONFIG_NET_EMATCH=y
|
||||
CONFIG_NET_EMATCH_U32=y
|
||||
CONFIG_NET_CLS_ACT=y
|
||||
-CONFIG_VSOCKETS=y
|
||||
-CONFIG_VIRTIO_VSOCKETS=y
|
||||
+CONFIG_VSOCKETS=m
|
||||
+CONFIG_VIRTIO_VSOCKETS=m
|
||||
+CONFIG_CAN=m
|
||||
+# CONFIG_CAN_BCM is not set
|
||||
+# CONFIG_CAN_GW is not set
|
||||
+CONFIG_CAN_VCAN=m
|
||||
CONFIG_CFG80211=y
|
||||
# CONFIG_CFG80211_DEFAULT_PS is not set
|
||||
# CONFIG_CFG80211_CRDA_SUPPORT is not set
|
||||
@@ -170,7 +174,7 @@ CONFIG_ZRAM=y
|
||||
CONFIG_BLK_DEV_LOOP=y
|
||||
CONFIG_BLK_DEV_RAM=y
|
||||
CONFIG_BLK_DEV_RAM_SIZE=8192
|
||||
-CONFIG_VIRTIO_BLK=y
|
||||
+CONFIG_VIRTIO_BLK=m
|
||||
CONFIG_UID_SYS_STATS=y
|
||||
CONFIG_SCSI=y
|
||||
# CONFIG_SCSI_PROC_FS is not set
|
||||
@@ -185,7 +189,7 @@ CONFIG_DM_VERITY_FEC=y
|
||||
CONFIG_DM_BOW=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_TUN=y
|
||||
-CONFIG_VIRTIO_NET=y
|
||||
+CONFIG_VIRTIO_NET=m
|
||||
# CONFIG_ETHERNET is not set
|
||||
CONFIG_PHYLIB=y
|
||||
CONFIG_PPP=y
|
||||
@@ -219,7 +223,7 @@ CONFIG_USB_USBNET=y
|
||||
# CONFIG_WLAN_VENDOR_TI is not set
|
||||
# CONFIG_WLAN_VENDOR_ZYDAS is not set
|
||||
# CONFIG_WLAN_VENDOR_QUANTENNA is not set
|
||||
-CONFIG_VIRT_WIFI=y
|
||||
+CONFIG_VIRT_WIFI=m
|
||||
CONFIG_INPUT_EVDEV=y
|
||||
# CONFIG_INPUT_KEYBOARD is not set
|
||||
# CONFIG_INPUT_MOUSE is not set
|
||||
@@ -236,9 +240,8 @@ CONFIG_SERIAL_8250_NR_UARTS=48
|
||||
CONFIG_SERIAL_8250_EXTENDED=y
|
||||
CONFIG_SERIAL_8250_MANY_PORTS=y
|
||||
CONFIG_SERIAL_8250_SHARE_IRQ=y
|
||||
-CONFIG_VIRTIO_CONSOLE=y
|
||||
CONFIG_HW_RANDOM=y
|
||||
-CONFIG_HW_RANDOM_VIRTIO=y
|
||||
+CONFIG_HW_RANDOM_VIRTIO=m
|
||||
# CONFIG_I2C_COMPAT is not set
|
||||
# CONFIG_I2C_HELPER_AUTO is not set
|
||||
CONFIG_SPI=y
|
||||
@@ -250,7 +253,7 @@ CONFIG_MEDIA_SUPPORT=y
|
||||
CONFIG_MEDIA_CAMERA_SUPPORT=y
|
||||
CONFIG_DRM=y
|
||||
# CONFIG_DRM_FBDEV_EMULATION is not set
|
||||
-CONFIG_DRM_VIRTIO_GPU=y
|
||||
+CONFIG_DRM_VIRTIO_GPU=m
|
||||
# CONFIG_LCD_CLASS_DEVICE is not set
|
||||
CONFIG_BACKLIGHT_CLASS_DEVICE=y
|
||||
CONFIG_SOUND=y
|
||||
@@ -260,6 +263,7 @@ CONFIG_SND_DYNAMIC_MINORS=y
|
||||
# CONFIG_SND_SUPPORT_OLD_API is not set
|
||||
# CONFIG_SND_VERBOSE_PROCFS is not set
|
||||
# CONFIG_SND_DRIVERS is not set
|
||||
+CONFIG_SND_INTEL8X0=m
|
||||
# CONFIG_SND_USB is not set
|
||||
CONFIG_HIDRAW=y
|
||||
CONFIG_UHID=y
|
||||
@@ -285,9 +289,10 @@ CONFIG_LEDS_CLASS=y
|
||||
CONFIG_LEDS_TRIGGERS=y
|
||||
CONFIG_RTC_CLASS=y
|
||||
# CONFIG_RTC_SYSTOHC is not set
|
||||
-CONFIG_VIRTIO_PCI=y
|
||||
-CONFIG_VIRTIO_INPUT=y
|
||||
-CONFIG_VIRTIO_MMIO=y
|
||||
+CONFIG_RTC_DRV_TEST=m
|
||||
+CONFIG_VIRTIO_PCI=m
|
||||
+CONFIG_VIRTIO_INPUT=m
|
||||
+CONFIG_VIRTIO_MMIO=m
|
||||
CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
|
||||
CONFIG_STAGING=y
|
||||
CONFIG_ASHMEM=y
|
||||
@@ -325,7 +330,6 @@ CONFIG_CRYPTO_SHA512=y
|
||||
CONFIG_CRYPTO_LZ4=y
|
||||
CONFIG_CRYPTO_ZSTD=y
|
||||
CONFIG_CRYPTO_ANSI_CPRNG=y
|
||||
-CONFIG_CRYPTO_DEV_VIRTIO=y
|
||||
CONFIG_CRC8=y
|
||||
CONFIG_XZ_DEC=y
|
||||
CONFIG_DMA_CMA=y
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
42
patches/ANDROID-fix-kernelci-build-break.patch
Normal file
42
patches/ANDROID-fix-kernelci-build-break.patch
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
From 4464b2a9ece12e18b118d7b1498021a30acd1f6e Mon Sep 17 00:00:00 2001
|
||||
From: Todd Kjos <tkjos@google.com>
|
||||
Date: Tue, 20 Aug 2019 09:41:56 -0700
|
||||
Subject: ANDROID: fix kernelci build-break
|
||||
|
||||
Added missing #includes to fix 'allmodconfig' builds
|
||||
|
||||
Bug: 120445624
|
||||
Bug: 120445421
|
||||
Change-Id: Ia8823adf2b33aa31c6d3f9d50ca7679ef4a64eaa
|
||||
Signed-off-by: Todd Kjos <tkjos@google.com>
|
||||
---
|
||||
include/linux/netfilter/xt_quota2.h | 1 +
|
||||
include/trace/events/android_fs.h | 1 +
|
||||
2 files changed, 2 insertions(+)
|
||||
|
||||
diff --git a/include/linux/netfilter/xt_quota2.h b/include/linux/netfilter/xt_quota2.h
|
||||
index eadc6903314e7..a3918718cbf8d 100644
|
||||
--- a/include/linux/netfilter/xt_quota2.h
|
||||
+++ b/include/linux/netfilter/xt_quota2.h
|
||||
@@ -1,5 +1,6 @@
|
||||
#ifndef _XT_QUOTA_H
|
||||
#define _XT_QUOTA_H
|
||||
+#include <linux/types.h>
|
||||
|
||||
enum xt_quota_flags {
|
||||
XT_QUOTA_INVERT = 1 << 0,
|
||||
diff --git a/include/trace/events/android_fs.h b/include/trace/events/android_fs.h
|
||||
index 49509533d3faa..7edb6bcfe482f 100644
|
||||
--- a/include/trace/events/android_fs.h
|
||||
+++ b/include/trace/events/android_fs.h
|
||||
@@ -4,6 +4,7 @@
|
||||
#if !defined(_TRACE_ANDROID_FS_H) || defined(TRACE_HEADER_MULTI_READ)
|
||||
#define _TRACE_ANDROID_FS_H
|
||||
|
||||
+#include <linux/fs.h>
|
||||
#include <linux/tracepoint.h>
|
||||
#include <trace/events/android_fs_template.h>
|
||||
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
632
patches/ANDROID-fs-FS-tracepoints-to-track-IO.patch
Normal file
632
patches/ANDROID-fs-FS-tracepoints-to-track-IO.patch
Normal file
|
|
@ -0,0 +1,632 @@
|
|||
From 5ecd1b81d6ad3e72af67249845129ffe681c5017 Mon Sep 17 00:00:00 2001
|
||||
From: Mohan Srinivasan <srmohan@google.com>
|
||||
Date: Wed, 14 Dec 2016 16:39:51 -0800
|
||||
Subject: ANDROID: fs: FS tracepoints to track IO.
|
||||
|
||||
Adds tracepoints in ext4/f2fs/mpage to track readpages/buffered
|
||||
write()s. This allows us to track files that are being read/written
|
||||
to PIDs.
|
||||
|
||||
Bug: 120445624
|
||||
Change-Id: I44476230324e9397e292328463f846af4befbd6d
|
||||
[joelaf: Needed for storaged fsync accounting ("storaged --uid" and
|
||||
"storaged --task".)]
|
||||
Signed-off-by: Mohan Srinivasan <srmohan@google.com>
|
||||
[AmitP: Folded following android-4.9 commit changes into this patch
|
||||
a5c4dbb05ab7 ("ANDROID: Replace spaces by '_' for some
|
||||
android filesystem tracepoints.")]
|
||||
Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
|
||||
[astrachan: Folded 63066f4acf92 ("ANDROID: fs: Refactor FS
|
||||
readpage/write tracepoints.") into this patch
|
||||
Signed-off-by: Alistair Strachan <astrachan@google.com>
|
||||
---
|
||||
fs/ext4/inline.c | 14 +++++
|
||||
fs/ext4/inode.c | 55 ++++++++++++++++++
|
||||
fs/ext4/readpage.c | 47 ++++++++++++++--
|
||||
fs/f2fs/data.c | 42 ++++++++++++++
|
||||
fs/f2fs/inline.c | 18 ++++++
|
||||
fs/mpage.c | 36 ++++++++++++
|
||||
include/trace/events/android_fs.h | 65 ++++++++++++++++++++++
|
||||
include/trace/events/android_fs_template.h | 64 +++++++++++++++++++++
|
||||
8 files changed, 337 insertions(+), 4 deletions(-)
|
||||
create mode 100644 include/trace/events/android_fs.h
|
||||
create mode 100644 include/trace/events/android_fs_template.h
|
||||
|
||||
Index: common/fs/ext4/inline.c
|
||||
===================================================================
|
||||
--- common.orig/fs/ext4/inline.c
|
||||
+++ common/fs/ext4/inline.c
|
||||
@@ -12,6 +12,7 @@
|
||||
#include "ext4.h"
|
||||
#include "xattr.h"
|
||||
#include "truncate.h"
|
||||
+#include <trace/events/android_fs.h>
|
||||
|
||||
#define EXT4_XATTR_SYSTEM_DATA "data"
|
||||
#define EXT4_MIN_INLINE_DATA_SIZE ((sizeof(__le32) * EXT4_N_BLOCKS))
|
||||
@@ -505,6 +506,17 @@ int ext4_readpage_inline(struct inode *i
|
||||
return -EAGAIN;
|
||||
}
|
||||
|
||||
+ if (trace_android_fs_dataread_start_enabled()) {
|
||||
+ char *path, pathbuf[MAX_TRACE_PATHBUF_LEN];
|
||||
+
|
||||
+ path = android_fstrace_get_pathname(pathbuf,
|
||||
+ MAX_TRACE_PATHBUF_LEN,
|
||||
+ inode);
|
||||
+ trace_android_fs_dataread_start(inode, page_offset(page),
|
||||
+ PAGE_SIZE, current->pid,
|
||||
+ path, current->comm);
|
||||
+ }
|
||||
+
|
||||
/*
|
||||
* Current inline data can only exist in the 1st page,
|
||||
* So for all the other pages, just set them uptodate.
|
||||
@@ -516,6 +528,8 @@ int ext4_readpage_inline(struct inode *i
|
||||
SetPageUptodate(page);
|
||||
}
|
||||
|
||||
+ trace_android_fs_dataread_end(inode, page_offset(page), PAGE_SIZE);
|
||||
+
|
||||
up_read(&EXT4_I(inode)->xattr_sem);
|
||||
|
||||
unlock_page(page);
|
||||
Index: common/fs/ext4/inode.c
|
||||
===================================================================
|
||||
--- common.orig/fs/ext4/inode.c
|
||||
+++ common/fs/ext4/inode.c
|
||||
@@ -47,6 +47,7 @@
|
||||
#include "truncate.h"
|
||||
|
||||
#include <trace/events/ext4.h>
|
||||
+#include <trace/events/android_fs.h>
|
||||
|
||||
#define MPAGE_DA_EXTENT_TAIL 0x01
|
||||
|
||||
@@ -1269,6 +1270,16 @@ static int ext4_write_begin(struct file
|
||||
if (unlikely(ext4_forced_shutdown(EXT4_SB(inode->i_sb))))
|
||||
return -EIO;
|
||||
|
||||
+ if (trace_android_fs_datawrite_start_enabled()) {
|
||||
+ char *path, pathbuf[MAX_TRACE_PATHBUF_LEN];
|
||||
+
|
||||
+ path = android_fstrace_get_pathname(pathbuf,
|
||||
+ MAX_TRACE_PATHBUF_LEN,
|
||||
+ inode);
|
||||
+ trace_android_fs_datawrite_start(inode, pos, len,
|
||||
+ current->pid, path,
|
||||
+ current->comm);
|
||||
+ }
|
||||
trace_ext4_write_begin(inode, pos, len, flags);
|
||||
/*
|
||||
* Reserve one block more for addition to orphan list in case
|
||||
@@ -1411,6 +1422,7 @@ static int ext4_write_end(struct file *f
|
||||
int inline_data = ext4_has_inline_data(inode);
|
||||
bool verity = ext4_verity_in_progress(inode);
|
||||
|
||||
+ trace_android_fs_datawrite_end(inode, pos, len);
|
||||
trace_ext4_write_end(inode, pos, len, copied);
|
||||
if (inline_data) {
|
||||
ret = ext4_write_inline_data_end(inode, pos, len,
|
||||
@@ -1521,6 +1533,7 @@ static int ext4_journalled_write_end(str
|
||||
int inline_data = ext4_has_inline_data(inode);
|
||||
bool verity = ext4_verity_in_progress(inode);
|
||||
|
||||
+ trace_android_fs_datawrite_end(inode, pos, len);
|
||||
trace_ext4_journalled_write_end(inode, pos, len, copied);
|
||||
from = pos & (PAGE_SIZE - 1);
|
||||
to = from + len;
|
||||
@@ -3040,6 +3053,16 @@ static int ext4_da_write_begin(struct fi
|
||||
len, flags, pagep, fsdata);
|
||||
}
|
||||
*fsdata = (void *)0;
|
||||
+ if (trace_android_fs_datawrite_start_enabled()) {
|
||||
+ char *path, pathbuf[MAX_TRACE_PATHBUF_LEN];
|
||||
+
|
||||
+ path = android_fstrace_get_pathname(pathbuf,
|
||||
+ MAX_TRACE_PATHBUF_LEN,
|
||||
+ inode);
|
||||
+ trace_android_fs_datawrite_start(inode, pos, len,
|
||||
+ current->pid,
|
||||
+ path, current->comm);
|
||||
+ }
|
||||
trace_ext4_da_write_begin(inode, pos, len, flags);
|
||||
|
||||
if (ext4_test_inode_state(inode, EXT4_STATE_MAY_INLINE_DATA)) {
|
||||
@@ -3158,6 +3181,7 @@ static int ext4_da_write_end(struct file
|
||||
return ext4_write_end(file, mapping, pos,
|
||||
len, copied, page, fsdata);
|
||||
|
||||
+ trace_android_fs_datawrite_end(inode, pos, len);
|
||||
trace_ext4_da_write_end(inode, pos, len, copied);
|
||||
start = pos & (PAGE_SIZE - 1);
|
||||
end = start + copied - 1;
|
||||
@@ -3846,6 +3870,7 @@ static ssize_t ext4_direct_IO(struct kio
|
||||
size_t count = iov_iter_count(iter);
|
||||
loff_t offset = iocb->ki_pos;
|
||||
ssize_t ret;
|
||||
+ int rw = iov_iter_rw(iter);
|
||||
|
||||
#ifdef CONFIG_FS_ENCRYPTION
|
||||
if (IS_ENCRYPTED(inode) && S_ISREG(inode->i_mode))
|
||||
@@ -3864,12 +3889,42 @@ static ssize_t ext4_direct_IO(struct kio
|
||||
if (ext4_has_inline_data(inode))
|
||||
return 0;
|
||||
|
||||
+ if (trace_android_fs_dataread_start_enabled() &&
|
||||
+ (rw == READ)) {
|
||||
+ char *path, pathbuf[MAX_TRACE_PATHBUF_LEN];
|
||||
+
|
||||
+ path = android_fstrace_get_pathname(pathbuf,
|
||||
+ MAX_TRACE_PATHBUF_LEN,
|
||||
+ inode);
|
||||
+ trace_android_fs_dataread_start(inode, offset, count,
|
||||
+ current->pid, path,
|
||||
+ current->comm);
|
||||
+ }
|
||||
+ if (trace_android_fs_datawrite_start_enabled() &&
|
||||
+ (rw == WRITE)) {
|
||||
+ char *path, pathbuf[MAX_TRACE_PATHBUF_LEN];
|
||||
+
|
||||
+ path = android_fstrace_get_pathname(pathbuf,
|
||||
+ MAX_TRACE_PATHBUF_LEN,
|
||||
+ inode);
|
||||
+ trace_android_fs_datawrite_start(inode, offset, count,
|
||||
+ current->pid, path,
|
||||
+ current->comm);
|
||||
+ }
|
||||
trace_ext4_direct_IO_enter(inode, offset, count, iov_iter_rw(iter));
|
||||
if (iov_iter_rw(iter) == READ)
|
||||
ret = ext4_direct_IO_read(iocb, iter);
|
||||
else
|
||||
ret = ext4_direct_IO_write(iocb, iter);
|
||||
trace_ext4_direct_IO_exit(inode, offset, count, iov_iter_rw(iter), ret);
|
||||
+
|
||||
+ if (trace_android_fs_dataread_start_enabled() &&
|
||||
+ (rw == READ))
|
||||
+ trace_android_fs_dataread_end(inode, offset, count);
|
||||
+ if (trace_android_fs_datawrite_start_enabled() &&
|
||||
+ (rw == WRITE))
|
||||
+ trace_android_fs_datawrite_end(inode, offset, count);
|
||||
+
|
||||
return ret;
|
||||
}
|
||||
|
||||
Index: common/fs/ext4/readpage.c
|
||||
===================================================================
|
||||
--- common.orig/fs/ext4/readpage.c
|
||||
+++ common/fs/ext4/readpage.c
|
||||
@@ -46,6 +46,7 @@
|
||||
#include <linux/cleancache.h>
|
||||
|
||||
#include "ext4.h"
|
||||
+#include <trace/events/android_fs.h>
|
||||
|
||||
#define NUM_PREALLOC_POST_READ_CTXS 128
|
||||
|
||||
@@ -146,6 +147,17 @@ static bool bio_post_read_required(struc
|
||||
return bio->bi_private && !bio->bi_status;
|
||||
}
|
||||
|
||||
+static void
|
||||
+ext4_trace_read_completion(struct bio *bio)
|
||||
+{
|
||||
+ struct page *first_page = bio->bi_io_vec[0].bv_page;
|
||||
+
|
||||
+ if (first_page != NULL)
|
||||
+ trace_android_fs_dataread_end(first_page->mapping->host,
|
||||
+ page_offset(first_page),
|
||||
+ bio->bi_iter.bi_size);
|
||||
+}
|
||||
+
|
||||
/*
|
||||
* I/O completion handler for multipage BIOs.
|
||||
*
|
||||
@@ -160,6 +172,9 @@ static bool bio_post_read_required(struc
|
||||
*/
|
||||
static void mpage_end_io(struct bio *bio)
|
||||
{
|
||||
+ if (trace_android_fs_dataread_start_enabled())
|
||||
+ ext4_trace_read_completion(bio);
|
||||
+
|
||||
if (bio_post_read_required(bio)) {
|
||||
struct bio_post_read_ctx *ctx = bio->bi_private;
|
||||
|
||||
@@ -209,6 +224,30 @@ static inline loff_t ext4_readpage_limit
|
||||
return i_size_read(inode);
|
||||
}
|
||||
|
||||
+static void
|
||||
+ext4_submit_bio_read(struct bio *bio)
|
||||
+{
|
||||
+ if (trace_android_fs_dataread_start_enabled()) {
|
||||
+ struct page *first_page = bio->bi_io_vec[0].bv_page;
|
||||
+
|
||||
+ if (first_page != NULL) {
|
||||
+ char *path, pathbuf[MAX_TRACE_PATHBUF_LEN];
|
||||
+
|
||||
+ path = android_fstrace_get_pathname(pathbuf,
|
||||
+ MAX_TRACE_PATHBUF_LEN,
|
||||
+ first_page->mapping->host);
|
||||
+ trace_android_fs_dataread_start(
|
||||
+ first_page->mapping->host,
|
||||
+ page_offset(first_page),
|
||||
+ bio->bi_iter.bi_size,
|
||||
+ current->pid,
|
||||
+ path,
|
||||
+ current->comm);
|
||||
+ }
|
||||
+ }
|
||||
+ submit_bio(bio);
|
||||
+}
|
||||
+
|
||||
int ext4_mpage_readpages(struct address_space *mapping,
|
||||
struct list_head *pages, struct page *page,
|
||||
unsigned nr_pages, bool is_readahead)
|
||||
@@ -354,7 +393,7 @@ int ext4_mpage_readpages(struct address_
|
||||
*/
|
||||
if (bio && (last_block_in_bio != blocks[0] - 1)) {
|
||||
submit_and_realloc:
|
||||
- submit_bio(bio);
|
||||
+ ext4_submit_bio_read(bio);
|
||||
bio = NULL;
|
||||
}
|
||||
if (bio == NULL) {
|
||||
@@ -385,14 +424,14 @@ int ext4_mpage_readpages(struct address_
|
||||
if (((map.m_flags & EXT4_MAP_BOUNDARY) &&
|
||||
(relative_block == map.m_len)) ||
|
||||
(first_hole != blocks_per_page)) {
|
||||
- submit_bio(bio);
|
||||
+ ext4_submit_bio_read(bio);
|
||||
bio = NULL;
|
||||
} else
|
||||
last_block_in_bio = blocks[blocks_per_page - 1];
|
||||
goto next_page;
|
||||
confused:
|
||||
if (bio) {
|
||||
- submit_bio(bio);
|
||||
+ ext4_submit_bio_read(bio);
|
||||
bio = NULL;
|
||||
}
|
||||
if (!PageUptodate(page))
|
||||
@@ -405,7 +444,7 @@ int ext4_mpage_readpages(struct address_
|
||||
}
|
||||
BUG_ON(pages && !list_empty(pages));
|
||||
if (bio)
|
||||
- submit_bio(bio);
|
||||
+ ext4_submit_bio_read(bio);
|
||||
return 0;
|
||||
}
|
||||
|
||||
Index: common/fs/f2fs/data.c
|
||||
===================================================================
|
||||
--- common.orig/fs/f2fs/data.c
|
||||
+++ common/fs/f2fs/data.c
|
||||
@@ -25,6 +25,7 @@
|
||||
#include "segment.h"
|
||||
#include "trace.h"
|
||||
#include <trace/events/f2fs.h>
|
||||
+#include <trace/events/android_fs.h>
|
||||
|
||||
#define NUM_PREALLOC_POST_READ_CTXS 128
|
||||
|
||||
@@ -2623,6 +2624,16 @@ static int f2fs_write_begin(struct file
|
||||
block_t blkaddr = NULL_ADDR;
|
||||
int err = 0;
|
||||
|
||||
+ if (trace_android_fs_datawrite_start_enabled()) {
|
||||
+ char *path, pathbuf[MAX_TRACE_PATHBUF_LEN];
|
||||
+
|
||||
+ path = android_fstrace_get_pathname(pathbuf,
|
||||
+ MAX_TRACE_PATHBUF_LEN,
|
||||
+ inode);
|
||||
+ trace_android_fs_datawrite_start(inode, pos, len,
|
||||
+ current->pid, path,
|
||||
+ current->comm);
|
||||
+ }
|
||||
trace_f2fs_write_begin(inode, pos, len, flags);
|
||||
|
||||
if (!f2fs_is_checkpoint_ready(sbi)) {
|
||||
@@ -2730,6 +2741,7 @@ static int f2fs_write_end(struct file *f
|
||||
{
|
||||
struct inode *inode = page->mapping->host;
|
||||
|
||||
+ trace_android_fs_datawrite_end(inode, pos, len);
|
||||
trace_f2fs_write_end(inode, pos, len, copied);
|
||||
|
||||
/*
|
||||
@@ -2846,6 +2858,29 @@ static ssize_t f2fs_direct_IO(struct kio
|
||||
|
||||
trace_f2fs_direct_IO_enter(inode, offset, count, rw);
|
||||
|
||||
+ if (trace_android_fs_dataread_start_enabled() &&
|
||||
+ (rw == READ)) {
|
||||
+ char *path, pathbuf[MAX_TRACE_PATHBUF_LEN];
|
||||
+
|
||||
+ path = android_fstrace_get_pathname(pathbuf,
|
||||
+ MAX_TRACE_PATHBUF_LEN,
|
||||
+ inode);
|
||||
+ trace_android_fs_dataread_start(inode, offset,
|
||||
+ count, current->pid, path,
|
||||
+ current->comm);
|
||||
+ }
|
||||
+ if (trace_android_fs_datawrite_start_enabled() &&
|
||||
+ (rw == WRITE)) {
|
||||
+ char *path, pathbuf[MAX_TRACE_PATHBUF_LEN];
|
||||
+
|
||||
+ path = android_fstrace_get_pathname(pathbuf,
|
||||
+ MAX_TRACE_PATHBUF_LEN,
|
||||
+ inode);
|
||||
+ trace_android_fs_datawrite_start(inode, offset, count,
|
||||
+ current->pid, path,
|
||||
+ current->comm);
|
||||
+ }
|
||||
+
|
||||
if (rw == WRITE && whint_mode == WHINT_MODE_OFF)
|
||||
iocb->ki_hint = WRITE_LIFE_NOT_SET;
|
||||
|
||||
@@ -2891,6 +2926,13 @@ static ssize_t f2fs_direct_IO(struct kio
|
||||
}
|
||||
|
||||
out:
|
||||
+ if (trace_android_fs_dataread_start_enabled() &&
|
||||
+ (rw == READ))
|
||||
+ trace_android_fs_dataread_end(inode, offset, count);
|
||||
+ if (trace_android_fs_datawrite_start_enabled() &&
|
||||
+ (rw == WRITE))
|
||||
+ trace_android_fs_datawrite_end(inode, offset, count);
|
||||
+
|
||||
trace_f2fs_direct_IO_exit(inode, offset, count, rw, err);
|
||||
|
||||
return err;
|
||||
Index: common/fs/f2fs/inline.c
|
||||
===================================================================
|
||||
--- common.orig/fs/f2fs/inline.c
|
||||
+++ common/fs/f2fs/inline.c
|
||||
@@ -11,6 +11,7 @@
|
||||
|
||||
#include "f2fs.h"
|
||||
#include "node.h"
|
||||
+#include <trace/events/android_fs.h>
|
||||
|
||||
bool f2fs_may_inline_data(struct inode *inode)
|
||||
{
|
||||
@@ -84,14 +85,29 @@ int f2fs_read_inline_data(struct inode *
|
||||
{
|
||||
struct page *ipage;
|
||||
|
||||
+ if (trace_android_fs_dataread_start_enabled()) {
|
||||
+ char *path, pathbuf[MAX_TRACE_PATHBUF_LEN];
|
||||
+
|
||||
+ path = android_fstrace_get_pathname(pathbuf,
|
||||
+ MAX_TRACE_PATHBUF_LEN,
|
||||
+ inode);
|
||||
+ trace_android_fs_dataread_start(inode, page_offset(page),
|
||||
+ PAGE_SIZE, current->pid,
|
||||
+ path, current->comm);
|
||||
+ }
|
||||
+
|
||||
ipage = f2fs_get_node_page(F2FS_I_SB(inode), inode->i_ino);
|
||||
if (IS_ERR(ipage)) {
|
||||
+ trace_android_fs_dataread_end(inode, page_offset(page),
|
||||
+ PAGE_SIZE);
|
||||
unlock_page(page);
|
||||
return PTR_ERR(ipage);
|
||||
}
|
||||
|
||||
if (!f2fs_has_inline_data(inode)) {
|
||||
f2fs_put_page(ipage, 1);
|
||||
+ trace_android_fs_dataread_end(inode, page_offset(page),
|
||||
+ PAGE_SIZE);
|
||||
return -EAGAIN;
|
||||
}
|
||||
|
||||
@@ -103,6 +119,8 @@ int f2fs_read_inline_data(struct inode *
|
||||
if (!PageUptodate(page))
|
||||
SetPageUptodate(page);
|
||||
f2fs_put_page(ipage, 1);
|
||||
+ trace_android_fs_dataread_end(inode, page_offset(page),
|
||||
+ PAGE_SIZE);
|
||||
unlock_page(page);
|
||||
return 0;
|
||||
}
|
||||
Index: common/fs/mpage.c
|
||||
===================================================================
|
||||
--- common.orig/fs/mpage.c
|
||||
+++ common/fs/mpage.c
|
||||
@@ -32,6 +32,14 @@
|
||||
#include <linux/cleancache.h>
|
||||
#include "internal.h"
|
||||
|
||||
+#define CREATE_TRACE_POINTS
|
||||
+#include <trace/events/android_fs.h>
|
||||
+
|
||||
+EXPORT_TRACEPOINT_SYMBOL(android_fs_datawrite_start);
|
||||
+EXPORT_TRACEPOINT_SYMBOL(android_fs_datawrite_end);
|
||||
+EXPORT_TRACEPOINT_SYMBOL(android_fs_dataread_start);
|
||||
+EXPORT_TRACEPOINT_SYMBOL(android_fs_dataread_end);
|
||||
+
|
||||
/*
|
||||
* I/O completion handler for multipage BIOs.
|
||||
*
|
||||
@@ -49,6 +57,16 @@ static void mpage_end_io(struct bio *bio
|
||||
struct bio_vec *bv;
|
||||
struct bvec_iter_all iter_all;
|
||||
|
||||
+ if (trace_android_fs_dataread_end_enabled() &&
|
||||
+ (bio_data_dir(bio) == READ)) {
|
||||
+ struct page *first_page = bio->bi_io_vec[0].bv_page;
|
||||
+
|
||||
+ if (first_page != NULL)
|
||||
+ trace_android_fs_dataread_end(first_page->mapping->host,
|
||||
+ page_offset(first_page),
|
||||
+ bio->bi_iter.bi_size);
|
||||
+ }
|
||||
+
|
||||
bio_for_each_segment_all(bv, bio, iter_all) {
|
||||
struct page *page = bv->bv_page;
|
||||
page_endio(page, bio_op(bio),
|
||||
@@ -60,6 +78,24 @@ static void mpage_end_io(struct bio *bio
|
||||
|
||||
static struct bio *mpage_bio_submit(int op, int op_flags, struct bio *bio)
|
||||
{
|
||||
+ if (trace_android_fs_dataread_start_enabled() && (op == REQ_OP_READ)) {
|
||||
+ struct page *first_page = bio->bi_io_vec[0].bv_page;
|
||||
+
|
||||
+ if (first_page != NULL) {
|
||||
+ char *path, pathbuf[MAX_TRACE_PATHBUF_LEN];
|
||||
+
|
||||
+ path = android_fstrace_get_pathname(pathbuf,
|
||||
+ MAX_TRACE_PATHBUF_LEN,
|
||||
+ first_page->mapping->host);
|
||||
+ trace_android_fs_dataread_start(
|
||||
+ first_page->mapping->host,
|
||||
+ page_offset(first_page),
|
||||
+ bio->bi_iter.bi_size,
|
||||
+ current->pid,
|
||||
+ path,
|
||||
+ current->comm);
|
||||
+ }
|
||||
+ }
|
||||
bio->bi_end_io = mpage_end_io;
|
||||
bio_set_op_attrs(bio, op, op_flags);
|
||||
guard_bio_eod(op, bio);
|
||||
Index: common/include/trace/events/android_fs.h
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ common/include/trace/events/android_fs.h
|
||||
@@ -0,0 +1,65 @@
|
||||
+#undef TRACE_SYSTEM
|
||||
+#define TRACE_SYSTEM android_fs
|
||||
+
|
||||
+#if !defined(_TRACE_ANDROID_FS_H) || defined(TRACE_HEADER_MULTI_READ)
|
||||
+#define _TRACE_ANDROID_FS_H
|
||||
+
|
||||
+#include <linux/tracepoint.h>
|
||||
+#include <trace/events/android_fs_template.h>
|
||||
+
|
||||
+DEFINE_EVENT(android_fs_data_start_template, android_fs_dataread_start,
|
||||
+ TP_PROTO(struct inode *inode, loff_t offset, int bytes,
|
||||
+ pid_t pid, char *pathname, char *command),
|
||||
+ TP_ARGS(inode, offset, bytes, pid, pathname, command));
|
||||
+
|
||||
+DEFINE_EVENT(android_fs_data_end_template, android_fs_dataread_end,
|
||||
+ TP_PROTO(struct inode *inode, loff_t offset, int bytes),
|
||||
+ TP_ARGS(inode, offset, bytes));
|
||||
+
|
||||
+DEFINE_EVENT(android_fs_data_start_template, android_fs_datawrite_start,
|
||||
+ TP_PROTO(struct inode *inode, loff_t offset, int bytes,
|
||||
+ pid_t pid, char *pathname, char *command),
|
||||
+ TP_ARGS(inode, offset, bytes, pid, pathname, command));
|
||||
+
|
||||
+DEFINE_EVENT(android_fs_data_end_template, android_fs_datawrite_end,
|
||||
+ TP_PROTO(struct inode *inode, loff_t offset, int bytes),
|
||||
+ TP_ARGS(inode, offset, bytes));
|
||||
+
|
||||
+#endif /* _TRACE_ANDROID_FS_H */
|
||||
+
|
||||
+/* This part must be outside protection */
|
||||
+#include <trace/define_trace.h>
|
||||
+
|
||||
+#ifndef ANDROID_FSTRACE_GET_PATHNAME
|
||||
+#define ANDROID_FSTRACE_GET_PATHNAME
|
||||
+
|
||||
+/* Sizes an on-stack array, so careful if sizing this up ! */
|
||||
+#define MAX_TRACE_PATHBUF_LEN 256
|
||||
+
|
||||
+static inline char *
|
||||
+android_fstrace_get_pathname(char *buf, int buflen, struct inode *inode)
|
||||
+{
|
||||
+ char *path;
|
||||
+ struct dentry *d;
|
||||
+
|
||||
+ /*
|
||||
+ * d_obtain_alias() will either iput() if it locates an existing
|
||||
+ * dentry or transfer the reference to the new dentry created.
|
||||
+ * So get an extra reference here.
|
||||
+ */
|
||||
+ ihold(inode);
|
||||
+ d = d_obtain_alias(inode);
|
||||
+ if (likely(!IS_ERR(d))) {
|
||||
+ path = dentry_path_raw(d, buf, buflen);
|
||||
+ if (unlikely(IS_ERR(path))) {
|
||||
+ strcpy(buf, "ERROR");
|
||||
+ path = buf;
|
||||
+ }
|
||||
+ dput(d);
|
||||
+ } else {
|
||||
+ strcpy(buf, "ERROR");
|
||||
+ path = buf;
|
||||
+ }
|
||||
+ return path;
|
||||
+}
|
||||
+#endif
|
||||
Index: common/include/trace/events/android_fs_template.h
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ common/include/trace/events/android_fs_template.h
|
||||
@@ -0,0 +1,64 @@
|
||||
+#if !defined(_TRACE_ANDROID_FS_TEMPLATE_H) || defined(TRACE_HEADER_MULTI_READ)
|
||||
+#define _TRACE_ANDROID_FS_TEMPLATE_H
|
||||
+
|
||||
+#include <linux/tracepoint.h>
|
||||
+
|
||||
+DECLARE_EVENT_CLASS(android_fs_data_start_template,
|
||||
+ TP_PROTO(struct inode *inode, loff_t offset, int bytes,
|
||||
+ pid_t pid, char *pathname, char *command),
|
||||
+ TP_ARGS(inode, offset, bytes, pid, pathname, command),
|
||||
+ TP_STRUCT__entry(
|
||||
+ __string(pathbuf, pathname);
|
||||
+ __field(loff_t, offset);
|
||||
+ __field(int, bytes);
|
||||
+ __field(loff_t, i_size);
|
||||
+ __string(cmdline, command);
|
||||
+ __field(pid_t, pid);
|
||||
+ __field(ino_t, ino);
|
||||
+ ),
|
||||
+ TP_fast_assign(
|
||||
+ {
|
||||
+ /*
|
||||
+ * Replace the spaces in filenames and cmdlines
|
||||
+ * because this screws up the tooling that parses
|
||||
+ * the traces.
|
||||
+ */
|
||||
+ __assign_str(pathbuf, pathname);
|
||||
+ (void)strreplace(__get_str(pathbuf), ' ', '_');
|
||||
+ __entry->offset = offset;
|
||||
+ __entry->bytes = bytes;
|
||||
+ __entry->i_size = i_size_read(inode);
|
||||
+ __assign_str(cmdline, command);
|
||||
+ (void)strreplace(__get_str(cmdline), ' ', '_');
|
||||
+ __entry->pid = pid;
|
||||
+ __entry->ino = inode->i_ino;
|
||||
+ }
|
||||
+ ),
|
||||
+ TP_printk("entry_name %s, offset %llu, bytes %d, cmdline %s,"
|
||||
+ " pid %d, i_size %llu, ino %lu",
|
||||
+ __get_str(pathbuf), __entry->offset, __entry->bytes,
|
||||
+ __get_str(cmdline), __entry->pid, __entry->i_size,
|
||||
+ (unsigned long) __entry->ino)
|
||||
+);
|
||||
+
|
||||
+DECLARE_EVENT_CLASS(android_fs_data_end_template,
|
||||
+ TP_PROTO(struct inode *inode, loff_t offset, int bytes),
|
||||
+ TP_ARGS(inode, offset, bytes),
|
||||
+ TP_STRUCT__entry(
|
||||
+ __field(ino_t, ino);
|
||||
+ __field(loff_t, offset);
|
||||
+ __field(int, bytes);
|
||||
+ ),
|
||||
+ TP_fast_assign(
|
||||
+ {
|
||||
+ __entry->ino = inode->i_ino;
|
||||
+ __entry->offset = offset;
|
||||
+ __entry->bytes = bytes;
|
||||
+ }
|
||||
+ ),
|
||||
+ TP_printk("ino %lu, offset %llu, bytes %d",
|
||||
+ (unsigned long) __entry->ino,
|
||||
+ __entry->offset, __entry->bytes)
|
||||
+);
|
||||
+
|
||||
+#endif /* _TRACE_ANDROID_FS_TEMPLATE_H */
|
||||
52
patches/ANDROID-fs-Restore-vfs_path_lookup-export.patch
Normal file
52
patches/ANDROID-fs-Restore-vfs_path_lookup-export.patch
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
From 25c49c8d48cfe199197009eb2793b3710afa5039 Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Strachan <astrachan@google.com>
|
||||
Date: Mon, 19 Nov 2018 22:38:23 -0800
|
||||
Subject: ANDROID: fs: Restore vfs_path_lookup() export
|
||||
|
||||
Partial revert of 197df04c749a ("rename user_path_umountat() to
|
||||
user_path_mountpoint_at()"), to restore access to vfs_path_lookup()
|
||||
without including fs/internal.h, as needed by sdcardfs.
|
||||
|
||||
Test: HiKey/X15 + Pie + android-mainline,
|
||||
and HiKey + AOSP Maser + android-mainline,
|
||||
directories under /sdcard created,
|
||||
output of mount is right,
|
||||
CTS test collecting device infor works
|
||||
|
||||
Change-Id: I757f2df9f4dcc66f633939e7833e6fa2ac0ff4f8
|
||||
Signed-off-by: Alistair Strachan <astrachan@google.com>
|
||||
Signed-off-by: Yongqin Liu <yongqin.liu@linaro.org>
|
||||
---
|
||||
fs/internal.h | 2 --
|
||||
include/linux/namei.h | 2 ++
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/fs/internal.h b/fs/internal.h
|
||||
index 315fcd8d237cc..df6e4c4584f32 100644
|
||||
--- a/fs/internal.h
|
||||
+++ b/fs/internal.h
|
||||
@@ -62,8 +62,6 @@ extern int finish_clean_context(struct fs_context *fc);
|
||||
extern int filename_lookup(int dfd, struct filename *name, unsigned flags,
|
||||
struct path *path, struct path *root);
|
||||
extern int user_path_mountpoint_at(int, const char __user *, unsigned int, struct path *);
|
||||
-extern int vfs_path_lookup(struct dentry *, struct vfsmount *,
|
||||
- const char *, unsigned int, struct path *);
|
||||
long do_mknodat(int dfd, const char __user *filename, umode_t mode,
|
||||
unsigned int dev);
|
||||
long do_mkdirat(int dfd, const char __user *pathname, umode_t mode);
|
||||
diff --git a/include/linux/namei.h b/include/linux/namei.h
|
||||
index 474b3c2de0898..ff686a3989e96 100644
|
||||
--- a/include/linux/namei.h
|
||||
+++ b/include/linux/namei.h
|
||||
@@ -82,6 +82,8 @@ extern struct dentry *kern_path_create(int, const char *, struct path *, unsigne
|
||||
extern struct dentry *user_path_create(int, const char __user *, struct path *, unsigned int);
|
||||
extern void done_path_create(struct path *, struct dentry *);
|
||||
extern struct dentry *kern_path_locked(const char *, struct path *);
|
||||
+extern int vfs_path_lookup(struct dentry *, struct vfsmount *,
|
||||
+ const char *, unsigned int, struct path *);
|
||||
extern int kern_path_mountpoint(int, const char *, struct path *, unsigned int);
|
||||
|
||||
extern struct dentry *try_lookup_one_len(const char *, struct dentry *, int);
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
54
patches/ANDROID-fs-epoll-use-freezable-blocking-call.patch
Normal file
54
patches/ANDROID-fs-epoll-use-freezable-blocking-call.patch
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
From 680078c26c5aaa6321e37c7f24243fbadf91b6f4 Mon Sep 17 00:00:00 2001
|
||||
From: Colin Cross <ccross@android.com>
|
||||
Date: Mon, 6 May 2013 23:50:16 +0000
|
||||
Subject: ANDROID: fs: epoll: use freezable blocking call
|
||||
|
||||
Avoid waking up every thread sleeping in an epoll_wait call during
|
||||
suspend and resume by calling a freezable blocking call. Previous
|
||||
patches modified the freezer to avoid sending wakeups to threads
|
||||
that are blocked in freezable blocking calls.
|
||||
|
||||
This call was selected to be converted to a freezable call because
|
||||
it doesn't hold any locks or release any resources when interrupted
|
||||
that might be needed by another freezing task or a kernel driver
|
||||
during suspend, and is a common site where idle userspace tasks are
|
||||
blocked.
|
||||
|
||||
Bug: 77139736
|
||||
Bug: 120440023
|
||||
Change-Id: I848d08d28c89302fd42bbbdfa76489a474ab27bf
|
||||
[ccross: This was upstream (https://lkml.org/lkml/2013/5/6/823), but
|
||||
reverted because it reportedly caused memory corruption on
|
||||
32-bit x86 (https://patchwork.kernel.org/patch/3162301/).]
|
||||
Acked-by: Tejun Heo <tj@kernel.org>
|
||||
Signed-off-by: Colin Cross <ccross@android.com>
|
||||
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
|
||||
---
|
||||
fs/eventpoll.c | 4 +++-
|
||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/fs/eventpoll.c b/fs/eventpoll.c
|
||||
index d7f1f5011fac3..f58f3943b07ae 100644
|
||||
--- a/fs/eventpoll.c
|
||||
+++ b/fs/eventpoll.c
|
||||
@@ -29,6 +29,7 @@
|
||||
#include <linux/mutex.h>
|
||||
#include <linux/anon_inodes.h>
|
||||
#include <linux/device.h>
|
||||
+#include <linux/freezer.h>
|
||||
#include <linux/uaccess.h>
|
||||
#include <asm/io.h>
|
||||
#include <asm/mman.h>
|
||||
@@ -1912,7 +1913,8 @@ static int ep_poll(struct eventpoll *ep, struct epoll_event __user *events,
|
||||
break;
|
||||
}
|
||||
|
||||
- if (!schedule_hrtimeout_range(to, slack, HRTIMER_MODE_ABS)) {
|
||||
+ if (!freezable_schedule_hrtimeout_range(to, slack,
|
||||
+ HRTIMER_MODE_ABS)) {
|
||||
timed_out = 1;
|
||||
break;
|
||||
}
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
|
|
@ -0,0 +1,71 @@
|
|||
From 339bf978309591fa61211691f97139e5932f06f4 Mon Sep 17 00:00:00 2001
|
||||
From: Matthias Maennich <maennich@google.com>
|
||||
Date: Mon, 24 Jun 2019 18:10:19 +0100
|
||||
Subject: ANDROID: gki/cuttlefish defconfigs: use prebuilt
|
||||
build-tools
|
||||
|
||||
Rather than relying on the hosts build tools, use a set of prebuilt
|
||||
build-tools. These are tools like awk, cat, cp, hostname, python, rm,
|
||||
sed, etc.
|
||||
|
||||
Bug: 135922132
|
||||
Change-Id: Ie6b0bd208c684c9f153eb2f0bfac4712e02e8e05
|
||||
Signed-off-by: Matthias Maennich <maennich@google.com>
|
||||
---
|
||||
build.config.cuttlefish.aarch64 | 1 +
|
||||
build.config.cuttlefish.x86_64 | 1 +
|
||||
build.config.gki.aarch64 | 1 +
|
||||
build.config.gki.x86_64 | 1 +
|
||||
4 files changed, 4 insertions(+)
|
||||
|
||||
diff --git a/build.config.cuttlefish.aarch64 b/build.config.cuttlefish.aarch64
|
||||
index bec1288d65e13..40c8d7a5219cc 100644
|
||||
--- a/build.config.cuttlefish.aarch64
|
||||
+++ b/build.config.cuttlefish.aarch64
|
||||
@@ -8,6 +8,7 @@ EXTRA_CMDS=''
|
||||
KERNEL_DIR=common
|
||||
POST_DEFCONFIG_CMDS="check_defconfig"
|
||||
CLANG_PREBUILT_BIN=prebuilts-master/clang/host/linux-x86/clang-r353983c/bin
|
||||
+BUILDTOOLS_PREBUILT_BIN=prebuilts/build-tools/path/linux-x86
|
||||
LINUX_GCC_CROSS_COMPILE_PREBUILTS_BIN=prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/bin
|
||||
FILES="
|
||||
arch/arm64/boot/Image.gz
|
||||
diff --git a/build.config.cuttlefish.x86_64 b/build.config.cuttlefish.x86_64
|
||||
index 33063abed0edb..c9496b0d2ce6a 100644
|
||||
--- a/build.config.cuttlefish.x86_64
|
||||
+++ b/build.config.cuttlefish.x86_64
|
||||
@@ -8,6 +8,7 @@ EXTRA_CMDS=''
|
||||
KERNEL_DIR=common
|
||||
POST_DEFCONFIG_CMDS="check_defconfig"
|
||||
CLANG_PREBUILT_BIN=prebuilts-master/clang/host/linux-x86/clang-r353983c/bin
|
||||
+BUILDTOOLS_PREBUILT_BIN=prebuilts/build-tools/path/linux-x86
|
||||
LINUX_GCC_CROSS_COMPILE_PREBUILTS_BIN=prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.9/bin
|
||||
FILES="
|
||||
arch/x86/boot/bzImage
|
||||
diff --git a/build.config.gki.aarch64 b/build.config.gki.aarch64
|
||||
index 408a2d1877e15..fce42ab0daa34 100644
|
||||
--- a/build.config.gki.aarch64
|
||||
+++ b/build.config.gki.aarch64
|
||||
@@ -8,6 +8,7 @@ EXTRA_CMDS=''
|
||||
KERNEL_DIR=common
|
||||
POST_DEFCONFIG_CMDS="check_defconfig"
|
||||
CLANG_PREBUILT_BIN=prebuilts-master/clang/host/linux-x86/clang-r353983c/bin
|
||||
+BUILDTOOLS_PREBUILT_BIN=prebuilts/build-tools/path/linux-x86
|
||||
LINUX_GCC_CROSS_COMPILE_PREBUILTS_BIN=prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/bin
|
||||
FILES="
|
||||
arch/arm64/boot/Image.gz
|
||||
diff --git a/build.config.gki.x86_64 b/build.config.gki.x86_64
|
||||
index 69d339dce4a0f..3ce45e962732b 100644
|
||||
--- a/build.config.gki.x86_64
|
||||
+++ b/build.config.gki.x86_64
|
||||
@@ -8,6 +8,7 @@ EXTRA_CMDS=''
|
||||
KERNEL_DIR=common
|
||||
POST_DEFCONFIG_CMDS="check_defconfig"
|
||||
CLANG_PREBUILT_BIN=prebuilts-master/clang/host/linux-x86/clang-r353983c/bin
|
||||
+BUILDTOOLS_PREBUILT_BIN=prebuilts/build-tools/path/linux-x86
|
||||
LINUX_GCC_CROSS_COMPILE_PREBUILTS_BIN=prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.9/bin
|
||||
FILES="
|
||||
arch/x86/boot/bzImage
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
From 266742e1fc09a223aebe10491aca7831b443ad40 Mon Sep 17 00:00:00 2001
|
||||
From: Todd Kjos <tkjos@google.com>
|
||||
Date: Tue, 17 Sep 2019 16:22:18 -0700
|
||||
Subject: ANDROID: gki_defconfig: Add GKI_HACKS_to_FIX config
|
||||
|
||||
Enable config which selects a number of non-module
|
||||
options which are usually selected by drivers built
|
||||
as modules
|
||||
|
||||
Bug: 141266428
|
||||
Change-Id: I8d95c96b74b2cfd861d68573135455a3392ff522
|
||||
Signed-off-by: Todd Kjos <tkjos@google.com>
|
||||
---
|
||||
arch/arm64/configs/gki_defconfig | 1 +
|
||||
arch/x86/configs/gki_defconfig | 1 +
|
||||
2 files changed, 2 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/configs/gki_defconfig b/arch/arm64/configs/gki_defconfig
|
||||
index f65b544d17a41..8edcded9ab1fd 100644
|
||||
--- a/arch/arm64/configs/gki_defconfig
|
||||
+++ b/arch/arm64/configs/gki_defconfig
|
||||
@@ -72,6 +72,7 @@ CONFIG_KPROBES=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
CONFIG_MODVERSIONS=y
|
||||
+CONFIG_GKI_HACKS_TO_FIX=y
|
||||
# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
|
||||
CONFIG_MEMORY_HOTPLUG=y
|
||||
CONFIG_TRANSPARENT_HUGEPAGE=y
|
||||
diff --git a/arch/x86/configs/gki_defconfig b/arch/x86/configs/gki_defconfig
|
||||
index 88f715d3df352..4b0393ba4da41 100644
|
||||
--- a/arch/x86/configs/gki_defconfig
|
||||
+++ b/arch/x86/configs/gki_defconfig
|
||||
@@ -47,6 +47,7 @@ CONFIG_KPROBES=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
CONFIG_MODVERSIONS=y
|
||||
+CONFIG_GKI_HACKS_TO_FIX=y
|
||||
# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
|
||||
CONFIG_TRANSPARENT_HUGEPAGE=y
|
||||
CONFIG_CMA=y
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
From b2c6a200c8227027bedb6322a83fc0b295e5df3b Mon Sep 17 00:00:00 2001
|
||||
From: Ram Muthiah <rammuthiah@google.com>
|
||||
Date: Mon, 3 Jun 2019 13:53:01 -0700
|
||||
Subject: ANDROID: gki_defconfig: Enable CMA, SLAB_FREELIST
|
||||
(RANDOM and HARDENED) on x86
|
||||
|
||||
Fixes: 134087016
|
||||
Fixes: 134378085
|
||||
Test: Boot x86 cuttlefish
|
||||
Change-Id: I64f9714bbda558056c47f09a5e768d7eb83e2640
|
||||
Signed-off-by: Ram Muthiah <rammuthiah@google.com>
|
||||
---
|
||||
arch/x86/configs/gki_defconfig | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/arch/x86/configs/gki_defconfig b/arch/x86/configs/gki_defconfig
|
||||
index cdaba53b7bb04..864595c719e76 100644
|
||||
--- a/arch/x86/configs/gki_defconfig
|
||||
+++ b/arch/x86/configs/gki_defconfig
|
||||
@@ -30,6 +30,8 @@ CONFIG_EMBEDDED=y
|
||||
# CONFIG_VM_EVENT_COUNTERS is not set
|
||||
# CONFIG_COMPAT_BRK is not set
|
||||
# CONFIG_SLAB_MERGE_DEFAULT is not set
|
||||
+CONFIG_SLAB_FREELIST_RANDOM=y
|
||||
+CONFIG_SLAB_FREELIST_HARDENED=y
|
||||
CONFIG_PROFILING=y
|
||||
CONFIG_PM_WAKELOCKS=y
|
||||
CONFIG_PM_WAKELOCKS_LIMIT=0
|
||||
@@ -46,6 +48,8 @@ CONFIG_MODVERSIONS=y
|
||||
# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
|
||||
# CONFIG_SPARSEMEM_VMEMMAP is not set
|
||||
CONFIG_TRANSPARENT_HUGEPAGE=y
|
||||
+CONFIG_CMA=y
|
||||
+CONFIG_CMA_AREAS=16
|
||||
CONFIG_ZSMALLOC=y
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
45
patches/ANDROID-gki_defconfig-Enable-HiSilicon-SoCs.patch
Normal file
45
patches/ANDROID-gki_defconfig-Enable-HiSilicon-SoCs.patch
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
From ad5139fd550dfc4cd26ed62f88b2a063b8f8553d Mon Sep 17 00:00:00 2001
|
||||
From: Todd Kjos <tkjos@google.com>
|
||||
Date: Wed, 18 Sep 2019 10:49:45 -0700
|
||||
Subject: ANDROID: gki_defconfig: Enable HiSilicon SoCs
|
||||
|
||||
Enable configs required for HiSilicon SoCs.
|
||||
|
||||
Bug: 141265942
|
||||
Change-Id: Iedb2b795bda690bdec4db3265dc391f7837208e0
|
||||
Signed-off-by: Todd Kjos <tkjos@google.com>
|
||||
---
|
||||
arch/arm64/configs/gki_defconfig | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/configs/gki_defconfig b/arch/arm64/configs/gki_defconfig
|
||||
index 1263dc50f970e..f964b81a1e4be 100644
|
||||
--- a/arch/arm64/configs/gki_defconfig
|
||||
+++ b/arch/arm64/configs/gki_defconfig
|
||||
@@ -36,6 +36,7 @@ CONFIG_EMBEDDED=y
|
||||
CONFIG_SLAB_FREELIST_RANDOM=y
|
||||
CONFIG_SLAB_FREELIST_HARDENED=y
|
||||
CONFIG_PROFILING=y
|
||||
+CONFIG_ARCH_HISI=y
|
||||
CONFIG_ARCH_QCOM=y
|
||||
CONFIG_SCHED_MC=y
|
||||
CONFIG_NR_CPUS=32
|
||||
@@ -195,6 +196,7 @@ CONFIG_MAC80211=y
|
||||
CONFIG_RFKILL=y
|
||||
CONFIG_PCI=y
|
||||
CONFIG_PCI_HOST_GENERIC=y
|
||||
+CONFIG_PCIE_KIRIN=y
|
||||
# CONFIG_ALLOW_DEV_COREDUMP is not set
|
||||
CONFIG_DEBUG_DEVRES=y
|
||||
CONFIG_ZRAM=y
|
||||
@@ -280,6 +282,7 @@ CONFIG_SPI=y
|
||||
CONFIG_SPMI=y
|
||||
CONFIG_PINCTRL_AMD=y
|
||||
CONFIG_POWER_AVS=y
|
||||
+CONFIG_POWER_RESET_HISI=y
|
||||
# CONFIG_HWMON is not set
|
||||
CONFIG_THERMAL=y
|
||||
CONFIG_THERMAL_GOV_USER_SPACE=y
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
42
patches/ANDROID-gki_defconfig-Enable-SERIAL_DEV_BUS.patch
Normal file
42
patches/ANDROID-gki_defconfig-Enable-SERIAL_DEV_BUS.patch
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
From 91911b91ad44466e1cbc3c8e377e51f487b1dde5 Mon Sep 17 00:00:00 2001
|
||||
From: Todd Kjos <tkjos@google.com>
|
||||
Date: Tue, 17 Sep 2019 16:25:46 -0700
|
||||
Subject: ANDROID: gki_defconfig: Enable SERIAL_DEV_BUS
|
||||
|
||||
Enable CONFIG_SERIAL_DEV_BUS for hikey/db845c
|
||||
|
||||
Bug: 141265942
|
||||
Change-Id: Iedc0d96ed10011ca0b5bedd7384f5158f32c6c76
|
||||
Signed-off-by: Todd Kjos <tkjos@google.com>
|
||||
---
|
||||
arch/arm64/configs/gki_defconfig | 1 +
|
||||
arch/x86/configs/gki_defconfig | 1 +
|
||||
2 files changed, 2 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/configs/gki_defconfig b/arch/arm64/configs/gki_defconfig
|
||||
index 8edcded9ab1fd..1263dc50f970e 100644
|
||||
--- a/arch/arm64/configs/gki_defconfig
|
||||
+++ b/arch/arm64/configs/gki_defconfig
|
||||
@@ -268,6 +268,7 @@ CONFIG_SERIAL_8250_CONSOLE=y
|
||||
CONFIG_SERIAL_OF_PLATFORM=m
|
||||
CONFIG_SERIAL_AMBA_PL011=y
|
||||
CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
|
||||
+CONFIG_SERIAL_DEV_BUS=y
|
||||
CONFIG_VIRTIO_CONSOLE=y
|
||||
CONFIG_HW_RANDOM=y
|
||||
CONFIG_HW_RANDOM_VIRTIO=y
|
||||
diff --git a/arch/x86/configs/gki_defconfig b/arch/x86/configs/gki_defconfig
|
||||
index 4b0393ba4da41..b69cccca0df13 100644
|
||||
--- a/arch/x86/configs/gki_defconfig
|
||||
+++ b/arch/x86/configs/gki_defconfig
|
||||
@@ -239,6 +239,7 @@ CONFIG_SERIAL_8250=y
|
||||
# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
|
||||
CONFIG_SERIAL_8250_CONSOLE=y
|
||||
CONFIG_SERIAL_OF_PLATFORM=m
|
||||
+CONFIG_SERIAL_DEV_BUS=y
|
||||
CONFIG_HW_RANDOM=y
|
||||
CONFIG_HW_RANDOM_VIRTIO=m
|
||||
# CONFIG_I2C_COMPAT is not set
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
68
patches/ANDROID-gki_defconfig-Minimally-enable-EFI.patch
Normal file
68
patches/ANDROID-gki_defconfig-Minimally-enable-EFI.patch
Normal file
|
|
@ -0,0 +1,68 @@
|
|||
From 06e0256c5c890918ae24431384c602126192e271 Mon Sep 17 00:00:00 2001
|
||||
From: John Stultz <john.stultz@linaro.org>
|
||||
Date: Fri, 16 Aug 2019 22:33:20 +0000
|
||||
Subject: ANDROID: gki_defconfig: Minimally enable EFI
|
||||
|
||||
HiKey/HiKey960 need UEFI support to boot but don't need much of
|
||||
the other options that default on when enabling EFI.
|
||||
|
||||
Bug: 140204135
|
||||
Signed-off-by: John Stultz <john.stultz@linaro.org>
|
||||
Change-Id: I5c2e63701ae93277fcc3ddb36a39637237c65194
|
||||
---
|
||||
arch/arm64/configs/gki_defconfig | 4 +++-
|
||||
arch/x86/configs/gki_defconfig | 2 ++
|
||||
2 files changed, 5 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm64/configs/gki_defconfig b/arch/arm64/configs/gki_defconfig
|
||||
index 2773a84fd9390..006692f065d4e 100644
|
||||
--- a/arch/arm64/configs/gki_defconfig
|
||||
+++ b/arch/arm64/configs/gki_defconfig
|
||||
@@ -46,7 +46,7 @@ CONFIG_SWP_EMULATION=y
|
||||
CONFIG_CP15_BARRIER_EMULATION=y
|
||||
CONFIG_SETEND_EMULATION=y
|
||||
CONFIG_RANDOMIZE_BASE=y
|
||||
-# CONFIG_EFI is not set
|
||||
+# CONFIG_DMI is not set
|
||||
CONFIG_PM_WAKELOCKS=y
|
||||
CONFIG_PM_WAKELOCKS_LIMIT=0
|
||||
# CONFIG_PM_WAKELOCKS_GC is not set
|
||||
@@ -64,6 +64,7 @@ CONFIG_ARM_SCMI_PROTOCOL=y
|
||||
# CONFIG_ARM_SCMI_POWER_DOMAIN is not set
|
||||
CONFIG_ARM_SCPI_PROTOCOL=y
|
||||
# CONFIG_ARM_SCPI_POWER_DOMAIN is not set
|
||||
+# CONFIG_EFI_ARMSTUB_DTB_LOADER is not set
|
||||
CONFIG_ARM64_CRYPTO=y
|
||||
CONFIG_CRYPTO_AES_ARM64=y
|
||||
CONFIG_KPROBES=y
|
||||
@@ -382,6 +383,7 @@ CONFIG_MSDOS_FS=y
|
||||
CONFIG_VFAT_FS=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_TMPFS_POSIX_ACL=y
|
||||
+# CONFIG_EFIVAR_FS is not set
|
||||
CONFIG_SDCARD_FS=y
|
||||
CONFIG_PSTORE=y
|
||||
CONFIG_PSTORE_CONSOLE=y
|
||||
diff --git a/arch/x86/configs/gki_defconfig b/arch/x86/configs/gki_defconfig
|
||||
index a1b2121bde8b6..ed8296e953ed3 100644
|
||||
--- a/arch/x86/configs/gki_defconfig
|
||||
+++ b/arch/x86/configs/gki_defconfig
|
||||
@@ -36,6 +36,7 @@ CONFIG_SLAB_FREELIST_HARDENED=y
|
||||
CONFIG_PROFILING=y
|
||||
CONFIG_SMP=y
|
||||
CONFIG_NR_CPUS=32
|
||||
+CONFIG_EFI=y
|
||||
CONFIG_PM_WAKELOCKS=y
|
||||
CONFIG_PM_WAKELOCKS_LIMIT=0
|
||||
# CONFIG_PM_WAKELOCKS_GC is not set
|
||||
@@ -308,6 +309,7 @@ CONFIG_MSDOS_FS=y
|
||||
CONFIG_VFAT_FS=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_TMPFS_POSIX_ACL=y
|
||||
+# CONFIG_EFIVAR_FS is not set
|
||||
CONFIG_SDCARD_FS=y
|
||||
CONFIG_PSTORE=y
|
||||
CONFIG_PSTORE_CONSOLE=y
|
||||
--
|
||||
2.23.0.444.g18eeb5a265-goog
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user