Commit graph

6 commits

Author SHA1 Message Date
Yong Ding
0f3634fa2f soc: qcom: hab: add support for multiple hypervisors
HAB(Hypervisor ABstraction) is used for message transaction
and buffer sharing among different virtual machines with the
underlying hypervisor support. Here is the change to add HAB
support for linux running in multiple hypervisors.

Change-Id: I0747b2fa0f16c7cc0ab662369d45467ac6ba62e5
Signed-off-by: Yong Ding <yongding@codeaurora.org>
2018-06-12 19:28:48 -04:00
Yajun Li
0866bef74d hab: import/export between remote buffer and dmafd
currently hab only supports importing remote buffer
to cpu address, which can't be shared to other process.
Therefore we add dma_buf import/export function in hab

Change-Id: I156c925d7c0cefef5bf146ad8cff38de9c4b3bee
Signed-off-by: Yajun Li <yajunl@codeaurora.org>
2018-04-26 18:36:09 +08:00
Yong Ding
785f45b603 soc: qcom: hab: add the uninterruptible receive support
In the blocking mode of habmm_socket_recv(), it is an
interruptible wait by default. Here, the uninterruptible
version is added.

Change-Id: Iba9ee10afb3f2529a99a9c90f6fc0cb56fb9cb08
Signed-off-by: Yong Ding <yongding@codeaurora.org>
2018-04-11 13:11:49 +08:00
Yong Ding
83681f8f7d soc: qcom: hab: refine hab driver's header files
Stuffs relevant with ioctl are only for hab driver
itself and hab clients in user space. Those hab clients
in kernel dose not need them. So here uapi/linux/habmm.h
is refined into two files as habmmid.h and hab_ioctl.h.

Change-Id: I9344e3e3fec88a042ec1915a9c0d51a28cea6e9a
Signed-off-by: Yong Ding <yongding@codeaurora.org>
2018-03-30 03:16:43 -07:00
Yong Ding
4fc0ee9d99 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 <yongding@codeaurora.org>
2018-03-20 19:01:52 -07:00
Prakash Burla
5a713f928f soc: qcom: Add hypervisor abstraction driver
This new driver is meant to be a cross-platform abstraction
layer for utilizing the underlying hypervisor system.
This API can be accessed from both user and kernel sides.
The intended users of this are the multimedia drivers who want
to communicate with the host OS to use the multimedia hardware.

Conflicts:
	drivers/soc/qcom/Kconfig
	drivers/soc/qcom/Makefile
	include/uapi/linux/Kbuild

Change-Id: I37743df490d14249a9d378225771367750899eb0
Signed-off-by: Edward Lee <eleekimk@codeaurora.org>
Signed-off-by: Yimin Peng <yiminp@codeaurora.org>
2017-08-22 19:39:11 -07:00