From 4fc0ee9d997b4f2ebff497655c024ec4d5b2ea47 Mon Sep 17 00:00:00 2001 From: Yong Ding Date: Mon, 19 Mar 2018 16:39:28 +0800 Subject: soc: qcom: hab: add habmm_socket_query support This query API can be used by hab clients to get their virtual channels' info if necessary, eg, the local and remote vmids. Change-Id: I1293b51a1127997f493f07c0c2181423bf45d79e Signed-off-by: Yong Ding --- include/linux/habmm.h | 13 ++++++++++++- include/uapi/linux/habmm.h | 11 +++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/linux/habmm.h b/include/linux/habmm.h index 4d3a81f536d9..1c27ee4f14f7 100644 --- a/include/linux/habmm.h +++ b/include/linux/habmm.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2016-2017, The Linux Foundation. All rights reserved. +/* Copyright (c) 2016-2018, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and @@ -35,4 +35,15 @@ int32_t habmm_import(int32_t handle, void **buff_shared, uint32_t size_bytes, int32_t habmm_unimport(int32_t handle, uint32_t export_id, void *buff_shared, uint32_t flags); +struct hab_socket_info { + int32_t vmid_remote; /* habmm's vmid */ + int32_t vmid_local; + /* name from hypervisor framework if available */ + char vmname_remote[12]; + char vmname_local[12]; +}; + +int32_t habmm_socket_query(int32_t handle, struct hab_socket_info *info, + uint32_t flags); + #endif diff --git a/include/uapi/linux/habmm.h b/include/uapi/linux/habmm.h index 8586048e20c0..b1b6561f2552 100644 --- a/include/uapi/linux/habmm.h +++ b/include/uapi/linux/habmm.h @@ -59,6 +59,14 @@ struct hab_unimport { __u32 flags; }; +struct hab_info { + __s32 vcid; + __u64 ids; /* high part remote; low part local */ + __u64 names; + __u32 namesize; /* single name length */ + __u32 flags; +}; + #define HAB_IOC_TYPE 0x0A #define HAB_MAX_MSG_SIZEBYTES 0x1000 #define HAB_MAX_EXPORT_SIZE 0x8000000 @@ -163,4 +171,7 @@ struct hab_unimport { #define IOCTL_HAB_VC_UNIMPORT \ _IOW(HAB_IOC_TYPE, 0x9, struct hab_unimport) +#define IOCTL_HAB_VC_QUERY \ + _IOWR(HAB_IOC_TYPE, 0xA, struct hab_info) + #endif /* HABMM_H */ -- cgit v1.2.3