From 22aa5c5184a107120d6f90b19a2e835420ff7457 Mon Sep 17 00:00:00 2001 From: Seung-Woo Kim Date: Wed, 20 Nov 2019 17:10:48 +0900 Subject: [PATCH 01/16] ARM64: configs: tizen_bcmrpi3_defconfig: Enable HID_MULTITOUCH To support usb multi-touch device, enable CONFIG_HID_MULTITOUCH. Change-Id: I36f625f08b980e7a5ed8cea9e061ba0d4d56d39b Signed-off-by: Seung-Woo Kim --- arch/arm64/configs/tizen_bcmrpi3_defconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm64/configs/tizen_bcmrpi3_defconfig b/arch/arm64/configs/tizen_bcmrpi3_defconfig index c09683e..0bdf544 100644 --- a/arch/arm64/configs/tizen_bcmrpi3_defconfig +++ b/arch/arm64/configs/tizen_bcmrpi3_defconfig @@ -272,6 +272,7 @@ CONFIG_SND_BCM2835_SOC_I2S=y CONFIG_SND_SOC_SEEED_VOICECARD=y CONFIG_SND_SOC_AC108_CODEC=y CONFIG_HIDRAW=y +CONFIG_HID_MULTITOUCH=y CONFIG_HID_PID=y CONFIG_USB_HIDDEV=y CONFIG_USB=y -- 2.7.4 From ad6db8c5ad8bc4ea267a269190a4d8cc34cc4a38 Mon Sep 17 00:00:00 2001 From: Seung-Woo Kim Date: Wed, 20 Nov 2019 17:12:09 +0900 Subject: [PATCH 02/16] ARM: configs: tizen_bcm2709_defconfig: Enable HID_MULTITOUCH To support usb multi-touch device, enable CONFIG_HID_MULTITOUCH. Change-Id: I2423291698367912d379787e94dc75659f414a31 Signed-off-by: Seung-Woo Kim --- arch/arm/configs/tizen_bcm2709_defconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm/configs/tizen_bcm2709_defconfig b/arch/arm/configs/tizen_bcm2709_defconfig index 792b462..799bf14 100644 --- a/arch/arm/configs/tizen_bcm2709_defconfig +++ b/arch/arm/configs/tizen_bcm2709_defconfig @@ -291,6 +291,7 @@ CONFIG_SND_SOC_WM8741=m CONFIG_SND_SOC_TPA6130A2=m CONFIG_HIDRAW=y CONFIG_HID_LED=m +CONFIG_HID_MULTITOUCH=y CONFIG_HID_PID=y CONFIG_USB_HIDDEV=y CONFIG_USB=y -- 2.7.4 From 61226a61f164b4d716edd2d3213f2ffd2a8b29f9 Mon Sep 17 00:00:00 2001 From: Seung-Woo Kim Date: Thu, 5 Dec 2019 16:52:29 +0900 Subject: [PATCH 03/16] drm/vc4: fix wrong filp usage in gem_info debugfs node After the mainline commit 65101d8c9108 ("drm/vc4: Expose performance counters to userspace") applied in v4.17, vc4 drm has its own filp. So gem_info filp usage is not proper. Fix the wrong filp usage in gem_info debugfs node. Change-Id: I526a888f345378d66f96e9d6cd3d19527e56ddaa Signed-off-by: Seung-Woo Kim --- drivers/gpu/drm/vc4/vc4_bo.c | 7 ++++--- drivers/gpu/drm/vc4/vc4_drv.h | 11 ++++++----- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/drivers/gpu/drm/vc4/vc4_bo.c b/drivers/gpu/drm/vc4/vc4_bo.c index 87bdab9..c1bae46 100644 --- a/drivers/gpu/drm/vc4/vc4_bo.c +++ b/drivers/gpu/drm/vc4/vc4_bo.c @@ -109,8 +109,8 @@ static int vc4_gem_one_info(int id, void *ptr, void *data) { struct drm_gem_object *obj = (struct drm_gem_object *)ptr; struct vc4_gem_info_data *gem_info_data = data; - struct drm_vc4_file_private *file_priv = - gem_info_data->filp->driver_priv; + struct vc4_file *vc4file = gem_info_data->filp->driver_priv; + struct drm_vc4_file_private *file_priv = &vc4file->priv; if (!obj) { DRM_ERROR("failed to get drm_gem_object\n"); @@ -570,7 +570,8 @@ struct vc4_bo *vc4_bo_create(struct drm_device *dev, size_t unaligned_size, static void vc4_gem_register_pid(struct drm_file *file_priv) { - struct drm_vc4_file_private *driver_priv = file_priv->driver_priv; + struct vc4_file *vc4file = file_priv->driver_priv; + struct drm_vc4_file_private *driver_priv = &vc4file->priv; if (!driver_priv->pid && !driver_priv->tgid) { driver_priv->pid = task_pid_nr(current); diff --git a/drivers/gpu/drm/vc4/vc4_drv.h b/drivers/gpu/drm/vc4/vc4_drv.h index d9436491..ff99565 100644 --- a/drivers/gpu/drm/vc4/vc4_drv.h +++ b/drivers/gpu/drm/vc4/vc4_drv.h @@ -553,6 +553,11 @@ struct vc4_exec_info { struct vc4_perfmon *perfmon; }; +struct drm_vc4_file_private { + pid_t pid; + pid_t tgid; +}; + /* Per-open file private data. Any driver-specific resource that has to be * released when the DRM file is closed should be placed here. */ @@ -561,6 +566,7 @@ struct vc4_file { struct idr idr; struct mutex lock; } perfmon; + struct drm_vc4_file_private priv; }; static inline struct vc4_exec_info * @@ -812,11 +818,6 @@ bool vc4_check_tex_size(struct vc4_exec_info *exec, struct vc4_validated_shader_info * vc4_validate_shader(struct drm_gem_cma_object *shader_obj); -struct drm_vc4_file_private { - pid_t pid; - pid_t tgid; -}; - int vc4_debugfs_gem_info(struct seq_file *m, void *data); int vc4_drm_gem_prime_fd_to_handle(struct drm_device *dev, struct drm_file *file_priv, int prime_fd, uint32_t *handle); -- 2.7.4 From 6d8995c00d5ab8f8004e774e32aa73903e0b8bcc Mon Sep 17 00:00:00 2001 From: Junghoon Kim Date: Wed, 18 Dec 2019 10:26:43 +0900 Subject: [PATCH 04/16] ARM: tizen_bcm2709_defconfig: Enable btrfs filesystem Enable btrfs filesystem to use it as the rootfs mount for the RPI3 32-bit architecture. Change-Id: I697e2fc9cbf4c8f69a94afed0e2244c3b8accad7 Signed-off-by: Junghoon Kim --- arch/arm/configs/tizen_bcm2709_defconfig | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/arm/configs/tizen_bcm2709_defconfig b/arch/arm/configs/tizen_bcm2709_defconfig index 799bf14..07b3c8d 100644 --- a/arch/arm/configs/tizen_bcm2709_defconfig +++ b/arch/arm/configs/tizen_bcm2709_defconfig @@ -353,6 +353,8 @@ CONFIG_OPTEE=y CONFIG_EXT4_FS=y CONFIG_EXT4_FS_POSIX_ACL=y CONFIG_EXT4_FS_SECURITY=y +CONFIG_BTRFS_FS=y +CONFIG_BTRFS_FS_POSIX_ACL=y CONFIG_F2FS_FS=y CONFIG_FANOTIFY=y CONFIG_AUTOFS4_FS=y @@ -397,7 +399,6 @@ CONFIG_CRYPTO_TWOFISH=y CONFIG_CRYPTO_LZO=y CONFIG_CRC_ITU_T=y CONFIG_CRC7=m -CONFIG_LIBCRC32C=y CONFIG_PRINTK_TIME=y CONFIG_BOOT_PRINTK_DELAY=y CONFIG_DEBUG_MEMORY_INIT=y -- 2.7.4 From 3f090805e716842d25ccbdc8c87ffa9c7477400f Mon Sep 17 00:00:00 2001 From: Junghoon Kim Date: Wed, 18 Dec 2019 10:43:55 +0900 Subject: [PATCH 05/16] ARM64: tizen_bcmrpi3_defconfig: Enable btrfs filesystem Enable btrfs filesystem to use it as the rootfs mount for the RPI4 64-bit architecture. Change-Id: Ieb13f6970dbfd8c947c501cfad1c7eb9ee4d2799 Signed-off-by: Junghoon Kim --- arch/arm64/configs/tizen_bcmrpi3_defconfig | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/arm64/configs/tizen_bcmrpi3_defconfig b/arch/arm64/configs/tizen_bcmrpi3_defconfig index 0bdf544..4364f87 100644 --- a/arch/arm64/configs/tizen_bcmrpi3_defconfig +++ b/arch/arm64/configs/tizen_bcmrpi3_defconfig @@ -320,6 +320,8 @@ CONFIG_OPTEE=y CONFIG_EXT4_FS=y CONFIG_EXT4_FS_POSIX_ACL=y CONFIG_EXT4_FS_SECURITY=y +CONFIG_BTRFS_FS=y +CONFIG_BTRFS_FS_POSIX_ACL=y CONFIG_F2FS_FS=y CONFIG_FANOTIFY=y CONFIG_AUTOFS4_FS=y @@ -358,7 +360,6 @@ CONFIG_CRYPTO_DES=y CONFIG_CRYPTO_TWOFISH=y CONFIG_CRYPTO_LZO=y CONFIG_CRC_ITU_T=y -CONFIG_LIBCRC32C=y CONFIG_PRINTK_TIME=y CONFIG_BOOT_PRINTK_DELAY=y CONFIG_DEBUG_MEMORY_INIT=y -- 2.7.4 From ac1f2c66b12dd3d8e19b0e5a72efe10715ab58aa Mon Sep 17 00:00:00 2001 From: Junghoon Kim Date: Wed, 18 Dec 2019 10:53:42 +0900 Subject: [PATCH 06/16] scripts: mkbootimg_rpi3.sh: Create boot tarball for the lthor flashing This patch is to create boot tarball for the lthor flashing. With this, we can easily test the rpi3 kernel in the local environment. Change-Id: Ib7bca6f7fa2c5a51be097042eda80c2d9297d4ac Signed-off-by: Junghoon Kim --- scripts/mkbootimg_rpi3.sh | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/scripts/mkbootimg_rpi3.sh b/scripts/mkbootimg_rpi3.sh index ba66dac..ab23269 100755 --- a/scripts/mkbootimg_rpi3.sh +++ b/scripts/mkbootimg_rpi3.sh @@ -69,10 +69,13 @@ dd if=/dev/zero of=modules.img bs=1024 count=20480 mkfs.ext4 -q -F -t ext4 -b 1024 -L modules modules.img sudo mount -o loop modules.img ./tmp/lib/modules if [ -n "$IS_64BIT" ]; then - make modules_install ARCH=arm64 INSTALL_MOD_PATH=./tmp_modules INSTALL_MOD_STRIP=1 CROSS_COMPILE=aarch64-linux-gnu- + export ARCH=arm64 + export CROSS_COMPILE=aarch64-linux-gnu- else - make modules_install ARCH=arm INSTALL_MOD_PATH=./tmp_modules INSTALL_MOD_STRIP=1 CROSS_COMPILE=arm-linux-gnueabi- + export ARCH=arm + export CROSS_COMPILE=arm-linux-gnueabi- fi +make modules_install INSTALL_MOD_PATH=./tmp_modules INSTALL_MOD_STRIP=1 sudo mv ./tmp_modules/lib/modules/* ./tmp/lib/modules sudo -n chown root:root ./tmp/lib/modules -R @@ -80,3 +83,15 @@ sync sudo umount tmp/lib/modules rm -rf tmp tmp_modules + +# Create boot tarball for the lthor flashing +DATE=`date +%Y%m%d` +BOOT_TARBALL=tizen-local-${DATE}-boot-${ARCH}-rpi3.tar + +tar cf ${BOOT_TARBALL} boot.img modules.img +if [ "$?" != "0" ]; then + echo "Failed to create boot tarball" + exit 1 +fi + +echo ${BOOT_TARBALL} -- 2.7.4 From 211f33a0cc2176df2a206e56e068be68df4bfa26 Mon Sep 17 00:00:00 2001 From: Seung-Woo Kim Date: Fri, 20 Dec 2019 15:35:37 +0900 Subject: [PATCH 07/16] ARM64: tizen_bcmrpi3_defconfig: Enable tethering config options In Tizen 6.0, network framework supports tethering from ethernet to wifi. Enable required config options for tethering. Ref: section 6-3 of https://git.tizen.org/cgit/platform/kernel/tizen-kernel-configs/tree/tizen/tizen_defconfig?h=tizen Change-Id: I5df076b13a3c02257f34e368dd99aaca2b3370b0 Signed-off-by: Seung-Woo Kim --- arch/arm64/configs/tizen_bcmrpi3_defconfig | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/arch/arm64/configs/tizen_bcmrpi3_defconfig b/arch/arm64/configs/tizen_bcmrpi3_defconfig index 4364f87..e1725b9 100644 --- a/arch/arm64/configs/tizen_bcmrpi3_defconfig +++ b/arch/arm64/configs/tizen_bcmrpi3_defconfig @@ -108,9 +108,14 @@ CONFIG_NETFILTER_XT_TARGET_AUDIT=y CONFIG_NETFILTER_XT_TARGET_LOG=y CONFIG_NETFILTER_XT_TARGET_NFQUEUE=y CONFIG_NETFILTER_XT_TARGET_SECMARK=y +CONFIG_NETFILTER_XT_TARGET_TCPMSS=y CONFIG_NETFILTER_XT_MATCH_LIMIT=y +CONFIG_NETFILTER_XT_MATCH_MULTIPORT=y CONFIG_NETFILTER_XT_MATCH_OWNER=y +CONFIG_NETFILTER_XT_MATCH_STATE=y +CONFIG_NETFILTER_XT_MATCH_TCPMSS=y CONFIG_IP_NF_IPTABLES=y +CONFIG_IP_NF_FILTER=y CONFIG_IP_NF_NAT=y CONFIG_IP_NF_TARGET_MASQUERADE=y CONFIG_IP_NF_TARGET_REDIRECT=y -- 2.7.4 From 0788da90cfdeb80ea6c3ca6f344ba6695652d508 Mon Sep 17 00:00:00 2001 From: Seung-Woo Kim Date: Fri, 20 Dec 2019 15:30:13 +0900 Subject: [PATCH 08/16] ARM: configs: tizen_bcm2709_defconfig: Enable tethering config options In Tizen 6.0, network framework supports tethering from ethernet to wifi. Enable required config options for tethering. Ref: section 6-3 of https://git.tizen.org/cgit/platform/kernel/tizen-kernel-configs/tree/tizen/tizen_defconfig?h=tizen Change-Id: I162d6eb89ce8d25d85659c7a2e632dbfe0909dc6 Signed-off-by: Seung-Woo Kim --- arch/arm/configs/tizen_bcm2709_defconfig | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/arch/arm/configs/tizen_bcm2709_defconfig b/arch/arm/configs/tizen_bcm2709_defconfig index 07b3c8d..9d16315 100644 --- a/arch/arm/configs/tizen_bcm2709_defconfig +++ b/arch/arm/configs/tizen_bcm2709_defconfig @@ -108,9 +108,14 @@ CONFIG_NETFILTER_XT_TARGET_LED=m CONFIG_NETFILTER_XT_TARGET_LOG=y CONFIG_NETFILTER_XT_TARGET_NFQUEUE=y CONFIG_NETFILTER_XT_TARGET_SECMARK=y +CONFIG_NETFILTER_XT_TARGET_TCPMSS=y CONFIG_NETFILTER_XT_MATCH_LIMIT=y +CONFIG_NETFILTER_XT_MATCH_MULTIPORT=y CONFIG_NETFILTER_XT_MATCH_OWNER=y +CONFIG_NETFILTER_XT_MATCH_STATE=y +CONFIG_NETFILTER_XT_MATCH_TCPMSS=y CONFIG_IP_NF_IPTABLES=y +CONFIG_IP_NF_FILTER=y CONFIG_IP_NF_NAT=y CONFIG_IP_NF_TARGET_MASQUERADE=y CONFIG_IP_NF_TARGET_REDIRECT=y -- 2.7.4 From ef54603e329aee0be902113999c3abb868b6794d Mon Sep 17 00:00:00 2001 From: Arnaldo Carvalho de Melo Date: Thu, 6 Dec 2018 11:09:46 -0300 Subject: [PATCH 09/16] perf header: Fix unchecked usage of strncpy() commit 5192bde7d98c99f2cd80225649e3c2e7493722f7 upstream. The strncpy() function may leave the destination string buffer unterminated, better use strlcpy() that we have a __weak fallback implementation for systems without it. This fixes this warning on an Alpine Linux Edge system with gcc 8.2: util/header.c: In function 'perf_event__synthesize_event_update_name': util/header.c:3625:2: error: 'strncpy' output truncated before terminating nul copying as many bytes from a string as its length [-Werror=stringop-truncation] strncpy(ev->data, evsel->name, len); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ util/header.c:3618:15: note: length computed here size_t len = strlen(evsel->name); ^~~~~~~~~~~~~~~~~~~ Cc: Adrian Hunter Cc: Jiri Olsa Cc: Namhyung Kim Fixes: a6e5281780d1 ("perf tools: Add event_update event unit type") Link: https://lkml.kernel.org/n/tip-wycz66iy8dl2z3yifgqf894p@git.kernel.org Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: Greg Kroah-Hartman [sw0312.kim: cherry-pick stable linux-4.19.y commit 6461a4543b34 for gcc 9 build] Signed-off-by: Seung-Woo Kim Change-Id: I2d116858af62b094276699c790b7ba090fe28513 --- tools/perf/util/header.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/perf/util/header.c b/tools/perf/util/header.c index bd9226b..b9a8259 100644 --- a/tools/perf/util/header.c +++ b/tools/perf/util/header.c @@ -3562,7 +3562,7 @@ perf_event__synthesize_event_update_name(struct perf_tool *tool, if (ev == NULL) return -ENOMEM; - strncpy(ev->data, evsel->name, len); + strlcpy(ev->data, evsel->name, len + 1); err = process(tool, (union perf_event*) ev, NULL, NULL); free(ev); return err; -- 2.7.4 From 1f53e7e3943a09453df0f50e14e967343b37d9c9 Mon Sep 17 00:00:00 2001 From: Arnaldo Carvalho de Melo Date: Thu, 6 Dec 2018 11:20:21 -0300 Subject: [PATCH 10/16] perf help: Remove needless use of strncpy() commit b6313899f4ed2e76b8375cf8069556f5b94fbff0 upstream. Since we make sure the destination buffer has at least strlen(orig) + 1, no need to do a strncpy(dest, orig, strlen(orig)), just use strcpy(dest, orig). This silences this gcc 8.2 warning on Alpine Linux: In function 'add_man_viewer', inlined from 'perf_help_config' at builtin-help.c:284:3: builtin-help.c:192:2: error: 'strncpy' output truncated before terminating nul copying as many bytes from a string as its length [-Werror=stringop-truncation] strncpy((*p)->name, name, len); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ builtin-help.c: In function 'perf_help_config': builtin-help.c:187:15: note: length computed here size_t len = strlen(name); ^~~~~~~~~~~~ Cc: Adrian Hunter Cc: Jiri Olsa Cc: Namhyung Kim Fixes: 078006012401 ("perf_counter tools: add in basic glue from Git") Link: https://lkml.kernel.org/n/tip-2f69l7drca427ob4km8i7kvo@git.kernel.org Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: Greg Kroah-Hartman [sw0312.kim: cherry-pick stable linux-4.19.y commit 0bf5d53b53c8 for gcc 9 build] Signed-off-by: Seung-Woo Kim Change-Id: Id98e9ca8049d25d658b4f012fdede1b8745d875f --- tools/perf/builtin-help.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/perf/builtin-help.c b/tools/perf/builtin-help.c index 1c41b4e..3d29d05 100644 --- a/tools/perf/builtin-help.c +++ b/tools/perf/builtin-help.c @@ -189,7 +189,7 @@ static void add_man_viewer(const char *name) while (*p) p = &((*p)->next); *p = zalloc(sizeof(**p) + len + 1); - strncpy((*p)->name, name, len); + strcpy((*p)->name, name); } static int supported_man_viewer(const char *name, size_t len) -- 2.7.4 From c2f9aa0f328227d3696450e525655e7be25c735c Mon Sep 17 00:00:00 2001 From: Arnaldo Carvalho de Melo Date: Mon, 25 Mar 2019 14:25:33 -0300 Subject: [PATCH 11/16] tools arch x86: Sync asm/cpufeatures.h with the kernel sources To get the changes from: 52f64909409c ("x86: Add TSX Force Abort CPUID/MSR") That don't cause any changes in the generated perf binaries. And silence this perf build warning: Warning: Kernel ABI header at 'tools/arch/x86/include/asm/cpufeatures.h' differs from latest version at 'arch/x86/include/asm/cpufeatures.h' diff -u tools/arch/x86/include/asm/cpufeatures.h arch/x86/include/asm/cpufeatures.h Cc: Adrian Hunter Cc: Jiri Olsa Cc: Namhyung Kim Cc: Peter Zijlstra (Intel) Cc: Thomas Gleixner Link: https://lkml.kernel.org/n/tip-zv8kw8vnb1zppflncpwfsv2w@git.kernel.org Signed-off-by: Arnaldo Carvalho de Melo [sw0312.kim: cherry-pick mainline commit 949af89af02c for perf build] Signed-off-by: Seung-Woo Kim Change-Id: I2c20b8306175133ee6445c69fb68575f2c4eba9e --- tools/arch/x86/include/asm/cpufeatures.h | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/arch/x86/include/asm/cpufeatures.h b/tools/arch/x86/include/asm/cpufeatures.h index 89a048c..7b31ee5 100644 --- a/tools/arch/x86/include/asm/cpufeatures.h +++ b/tools/arch/x86/include/asm/cpufeatures.h @@ -340,6 +340,7 @@ /* Intel-defined CPU features, CPUID level 0x00000007:0 (EDX), word 18 */ #define X86_FEATURE_AVX512_4VNNIW (18*32+ 2) /* AVX-512 Neural Network Instructions */ #define X86_FEATURE_AVX512_4FMAPS (18*32+ 3) /* AVX-512 Multiply Accumulation Single precision */ +#define X86_FEATURE_TSX_FORCE_ABORT (18*32+13) /* "" TSX_FORCE_ABORT */ #define X86_FEATURE_PCONFIG (18*32+18) /* Intel PCONFIG */ #define X86_FEATURE_SPEC_CTRL (18*32+26) /* "" Speculation Control (IBRS + IBPB) */ #define X86_FEATURE_INTEL_STIBP (18*32+27) /* "" Single Thread Indirect Branch Predictors */ -- 2.7.4 From eb74b657fb77d133f35bc96e5eacd7a233b02f8f Mon Sep 17 00:00:00 2001 From: Arnaldo Carvalho de Melo Date: Tue, 21 May 2019 16:39:42 -0300 Subject: [PATCH 12/16] tools arch x86: Sync asm/cpufeatures.h with the with the kernel MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit To pick up the changes in: ed5194c2732c ("x86/speculation/mds: Add basic bug infrastructure for MDS") e261f209c366 ("x86/speculation/mds: Add BUG_MSBDS_ONLY") That don't affect anything in tools/. This silences this perf build warning: Warning: Kernel ABI header at 'tools/arch/x86/include/asm/cpufeatures.h' differs from latest version at 'arch/x86/include/asm/cpufeatures.h' diff -u tools/arch/x86/include/asm/cpufeatures.h arch/x86/include/asm/cpufeatures.h Cc: Adrian Hunter Cc: Andi Kleen Cc: Brendan Gregg Cc: Jiri Olsa Cc: Luis Cláudio Gonçalves Cc: Namhyung Kim Cc: Thomas Gleixner Link: https://lkml.kernel.org/n/tip-jp1afecx3ql1jkuirpgkqfad@git.kernel.org Signed-off-by: Arnaldo Carvalho de Melo [sw0312.kim: cherry-pick mainline commit b979540a7522 for perf build] Signed-off-by: Seung-Woo Kim Change-Id: I879810548387101141f808c1c972f691c906c3e1 --- tools/arch/x86/include/asm/cpufeatures.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tools/arch/x86/include/asm/cpufeatures.h b/tools/arch/x86/include/asm/cpufeatures.h index 7b31ee5..69037da 100644 --- a/tools/arch/x86/include/asm/cpufeatures.h +++ b/tools/arch/x86/include/asm/cpufeatures.h @@ -341,6 +341,7 @@ #define X86_FEATURE_AVX512_4VNNIW (18*32+ 2) /* AVX-512 Neural Network Instructions */ #define X86_FEATURE_AVX512_4FMAPS (18*32+ 3) /* AVX-512 Multiply Accumulation Single precision */ #define X86_FEATURE_TSX_FORCE_ABORT (18*32+13) /* "" TSX_FORCE_ABORT */ +#define X86_FEATURE_MD_CLEAR (18*32+10) /* VERW clears CPU buffers */ #define X86_FEATURE_PCONFIG (18*32+18) /* Intel PCONFIG */ #define X86_FEATURE_SPEC_CTRL (18*32+26) /* "" Speculation Control (IBRS + IBPB) */ #define X86_FEATURE_INTEL_STIBP (18*32+27) /* "" Single Thread Indirect Branch Predictors */ @@ -378,5 +379,7 @@ #define X86_BUG_SPECTRE_V2 X86_BUG(16) /* CPU is affected by Spectre variant 2 attack with indirect branches */ #define X86_BUG_SPEC_STORE_BYPASS X86_BUG(17) /* CPU is affected by speculative store bypass attack */ #define X86_BUG_L1TF X86_BUG(18) /* CPU is affected by L1 Terminal Fault */ +#define X86_BUG_MDS X86_BUG(19) /* CPU is affected by Microarchitectural data sampling */ +#define X86_BUG_MSBDS_ONLY X86_BUG(20) /* CPU is only affected by the MSDBS variant of BUG_MDS */ #endif /* _ASM_X86_CPUFEATURES_H */ -- 2.7.4 From 374fdfa3d9428a8cb966607650c343fc676ee912 Mon Sep 17 00:00:00 2001 From: Arnaldo Carvalho de Melo Date: Mon, 13 May 2019 13:27:12 -0400 Subject: [PATCH 13/16] tools arch uapi: Sync the x86 kvm.h copy To get the changes in: 59073aaf6de0 ("kvm: x86: Add exception payload fields to kvm_vcpu_events") This silences the following perf build warning: Warning: Kernel ABI header at 'tools/arch/x86/include/uapi/asm/kvm.h' differs from latest version at 'arch/x86/include/uapi/asm/kvm.h' diff -u tools/arch/x86/include/uapi/asm/kvm.h arch/x86/include/uapi/asm/kvm.h The changes in this file are in something not used at this time in any tools/perf/ tool. Cc: Adrian Hunter Cc: Jim Mattson Cc: Jiri Olsa Cc: Namhyung Kim Cc: Paolo Bonzini Link: https://lkml.kernel.org/n/tip-6uh8tpraons0h22dmxgfyony@git.kernel.org Signed-off-by: Arnaldo Carvalho de Melo [sw0312.kim: cherry-pick mainline commit f98f10f35257 for perf build] Signed-off-by: Seung-Woo Kim Change-Id: If00ae735efa27c7bad8a1f2cd5893b919cfc809d --- tools/arch/x86/include/uapi/asm/kvm.h | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/arch/x86/include/uapi/asm/kvm.h b/tools/arch/x86/include/uapi/asm/kvm.h index fd23d57..f164557 100644 --- a/tools/arch/x86/include/uapi/asm/kvm.h +++ b/tools/arch/x86/include/uapi/asm/kvm.h @@ -378,6 +378,7 @@ struct kvm_sync_regs { #define KVM_X86_QUIRK_LINT0_REENABLED (1 << 0) #define KVM_X86_QUIRK_CD_NW_CLEARED (1 << 1) #define KVM_X86_QUIRK_LAPIC_MMIO_HOLE (1 << 2) +#define KVM_X86_QUIRK_OUT_7E_INC_RIP (1 << 3) #define KVM_STATE_NESTED_GUEST_MODE 0x00000001 #define KVM_STATE_NESTED_RUN_PENDING 0x00000002 -- 2.7.4 From 950ba572adebbbc492273fa8fa1d91c645b86e42 Mon Sep 17 00:00:00 2001 From: Arnaldo Carvalho de Melo Date: Mon, 13 May 2019 13:23:42 -0400 Subject: [PATCH 14/16] tools arch: Update arch/x86/lib/memcpy_64.S copy used in 'perf bench mem memcpy' To bring in the change made in this cset: b69656fa7ea2 ("x86/uaccess: Fix up the fixup") Silencing this perf build warning: Warning: Kernel ABI header at 'tools/arch/x86/lib/memcpy_64.S' differs from latest version at 'arch/x86/lib/memcpy_64.S' diff -u tools/arch/x86/lib/memcpy_64.S arch/x86/lib/memcpy_64.S No changes in the tooling using this, that was just to ease some objtool return checking. Cc: Adrian Hunter Cc: Jiri Olsa Cc: Namhyung Kim Cc: Peter Zijlstra Link: https://lkml.kernel.org/n/tip-j0mxgqkuibhw5qid9saaspdu@git.kernel.org Signed-off-by: Arnaldo Carvalho de Melo [sw0312.kim: cherry-pick mainline commit a021b5400111 for perf build] Signed-off-by: Seung-Woo Kim Change-Id: Icc22d689c8a1beacb4caa574c0a71bbd1b20f951 --- tools/arch/x86/lib/memcpy_64.S | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/arch/x86/lib/memcpy_64.S b/tools/arch/x86/lib/memcpy_64.S index 3b24dc0..9d05572 100644 --- a/tools/arch/x86/lib/memcpy_64.S +++ b/tools/arch/x86/lib/memcpy_64.S @@ -257,6 +257,7 @@ ENTRY(__memcpy_mcsafe) /* Copy successful. Return zero */ .L_done_memcpy_trap: xorl %eax, %eax +.L_done: ret ENDPROC(__memcpy_mcsafe) EXPORT_SYMBOL_GPL(__memcpy_mcsafe) @@ -273,7 +274,7 @@ EXPORT_SYMBOL_GPL(__memcpy_mcsafe) addl %edx, %ecx .E_trailing_bytes: mov %ecx, %eax - ret + jmp .L_done /* * For write fault handling, given the destination is unaligned, -- 2.7.4 From 6aa1395d0d94eb1ba34154a9be80762ef108b043 Mon Sep 17 00:00:00 2001 From: Arnaldo Carvalho de Melo Date: Tue, 30 Oct 2018 16:50:08 -0300 Subject: [PATCH 15/16] tools include uapi: Update linux/mmap.h copy To pick up the changes from: 20916d4636a9 ("mm/hugetlb: add mmap() encodings for 32MB and 512MB page sizes") That do not entail changes in in tools, this just shows that we have to consider bits [26:31] of flags to beautify that in tools like 'perf trace' This silences this perf build warning: Warning: Kernel ABI header at 'tools/include/uapi/linux/mman.h' differs from latest version at 'include/uapi/linux/mman.h' diff -u tools/include/uapi/linux/mman.h include/uapi/linux/mman.h Cc: Anshuman Khandual Cc: Greg Kroah-Hartman Cc: Jiri Olsa Cc: Namhyung Kim Link: https://lkml.kernel.org/n/tip-3rvc39lon93kgt5pl31d8g4x@git.kernel.org Signed-off-by: Arnaldo Carvalho de Melo [sw0312.kim: cherry-pick mainline commit 685626dc26bd for perf build] Signed-off-by: Seung-Woo Kim Change-Id: Ifcded1bb028928b2d32c3c315c7bfa8cfd0a9d58 --- tools/include/uapi/linux/mman.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tools/include/uapi/linux/mman.h b/tools/include/uapi/linux/mman.h index bfd5938..d0f515d 100644 --- a/tools/include/uapi/linux/mman.h +++ b/tools/include/uapi/linux/mman.h @@ -28,7 +28,9 @@ #define MAP_HUGE_2MB HUGETLB_FLAG_ENCODE_2MB #define MAP_HUGE_8MB HUGETLB_FLAG_ENCODE_8MB #define MAP_HUGE_16MB HUGETLB_FLAG_ENCODE_16MB +#define MAP_HUGE_32MB HUGETLB_FLAG_ENCODE_32MB #define MAP_HUGE_256MB HUGETLB_FLAG_ENCODE_256MB +#define MAP_HUGE_512MB HUGETLB_FLAG_ENCODE_512MB #define MAP_HUGE_1GB HUGETLB_FLAG_ENCODE_1GB #define MAP_HUGE_2GB HUGETLB_FLAG_ENCODE_2GB #define MAP_HUGE_16GB HUGETLB_FLAG_ENCODE_16GB -- 2.7.4 From fd1078519e04e5c3cc40c08287c7d98b95908a05 Mon Sep 17 00:00:00 2001 From: Linus Torvalds Date: Wed, 1 May 2019 11:05:41 -0700 Subject: [PATCH 16/16] gcc-9: silence 'address-of-packed-member' warning commit 6f303d60534c46aa1a239f29c321f95c83dda748 upstream. We already did this for clang, but now gcc has that warning too. Yes, yes, the address may be unaligned. And that's kind of the point. Signed-off-by: Linus Torvalds Signed-off-by: Greg Kroah-Hartman [sw0312.kim: cherry-pick from stable linux-4.19.y commit 76343a1363f8 for gcc 9 build] Signed-off-by: Seung-Woo Kim Change-Id: Ia29a74ee9de68e0518c46e7cc0affad1f07d5f10 --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index e84966c..9722352 100644 --- a/Makefile +++ b/Makefile @@ -652,6 +652,7 @@ KBUILD_CFLAGS += $(call cc-disable-warning,frame-address,) KBUILD_CFLAGS += $(call cc-disable-warning, format-truncation) KBUILD_CFLAGS += $(call cc-disable-warning, format-overflow) KBUILD_CFLAGS += $(call cc-disable-warning, int-in-bool-context) +KBUILD_CFLAGS += $(call cc-disable-warning, address-of-packed-member) ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE KBUILD_CFLAGS += -Os $(call cc-disable-warning,maybe-uninitialized,) @@ -696,7 +697,6 @@ ifeq ($(cc-name),clang) KBUILD_CPPFLAGS += $(call cc-option,-Qunused-arguments,) KBUILD_CFLAGS += $(call cc-disable-warning, format-invalid-specifier) KBUILD_CFLAGS += $(call cc-disable-warning, gnu) -KBUILD_CFLAGS += $(call cc-disable-warning, address-of-packed-member) # Quiet clang warning: comparison of unsigned expression < 0 is always false KBUILD_CFLAGS += $(call cc-disable-warning, tautological-compare) # CLANG uses a _MergedGlobals as optimization, but this breaks modpost, as the -- 2.7.4