On Sun, Jan 10, 2021 at 10:34:57PM +0000, Suzuki Kuruppassery Poulose wrote:
On 1/10/21 1:41 AM, Leo Yan wrote:
Hi Suzuki,
On Sun, Jan 10, 2021 at 01:24:30AM +0000, Suzuki Kuruppassery Poulose wrote:
[...]
+static ssize_t format_attr_pid_show(struct device *dev,
struct device_attribute *attr,
char *page)
+{
- int pid_fmt = ETM_OPT_CTXTID;
+#ifdef CONFIG_CORESIGHT_SOURCE_ETM4X
- if (is_kernel_in_hyp_mode())
pid_fmt = ETM_OPT_CTXTID_IN_VMID;
+#endif
I have a different idea for this. As Armv8 Arm describes: "The Virtualization Host Extensions only apply to an implementation that includes EL2 using AArch64.", seems to me it's more reasable to use the condition "#ifdef CONFIG_64BIT", like below:
#ifdef CONFIG_64BIT if (is_kernel_in_hyp_mode()) pid_fmt = ETM_OPT_CTXTID_IN_VMID; #endif
Please let me know if this is better or not. I will resend the patch series after agreement.
I did think of that. But CORESIGHT_SOURCE_ETM4X already depends on CONFIG_ARM64. So, that is more restrictive in terms of usage. And this wouldn't be the only build failure if someone tried enable ETM4X for arm32. So I wouldn't worry about someone trying to use ETM4X on arm32 accidentally.
Makes sense, will send v2 with this change.
Thanks for confirmation, Leo