summaryrefslogtreecommitdiffstats
path: root/meta-agl-jailhouse/recipes-kernel/linux/linux/0011-ivshmem-Add-header-file.patch
diff options
context:
space:
mode:
authorJakub Luzny <jakub@luzny.cz>2020-07-19 17:00:08 +0200
committerJakub Luzny <jakub@luzny.cz>2020-07-24 12:46:57 +0200
commit3f6d193683449a323a3f1d689540ab697d3d7980 (patch)
tree093ad36c5bf3f031d469a635d0f2190a57c176e0 /meta-agl-jailhouse/recipes-kernel/linux/linux/0011-ivshmem-Add-header-file.patch
parentc6889de97c1af6baa7ee8006aa75da170c9bd407 (diff)
Add layer to support Jailhouse hypervisorjellyfish_9.99.2jellyfish/9.99.29.99.2
Jailhouse is a partitioning hypervisor based on Linux. It is able to run bare-metal applications or (adapted) operating systems besides Linux. For this purpose, it configures CPU and device virtualization features of the hardware platform in a way that none of these domains, called "cells" here, can interfere with each other in an unacceptable way. This layer adds the Jailhouse package into AGL and also appends the BSPs to allow it to run. Currently, Raspberry Pi 4 and QEMU x86-64 targets are supported. To enable Jailhouse and include it in the image, the AGL feature agl-jailhouse must be enabled. Bug-AGL: SPEC-3507 Signed-off-by: Jakub Luzny <jakub@luzny.cz> Change-Id: I0fbc0b5d931c85d6f22b0222da8c2b106c4115e1
Diffstat (limited to 'meta-agl-jailhouse/recipes-kernel/linux/linux/0011-ivshmem-Add-header-file.patch')
-rw-r--r--meta-agl-jailhouse/recipes-kernel/linux/linux/0011-ivshmem-Add-header-file.patch52
1 files changed, 52 insertions, 0 deletions
diff --git a/meta-agl-jailhouse/recipes-kernel/linux/linux/0011-ivshmem-Add-header-file.patch b/meta-agl-jailhouse/recipes-kernel/linux/linux/0011-ivshmem-Add-header-file.patch
new file mode 100644
index 00000000..f143d150
--- /dev/null
+++ b/meta-agl-jailhouse/recipes-kernel/linux/linux/0011-ivshmem-Add-header-file.patch
@@ -0,0 +1,52 @@
+From 61d003be018fb5b874e6ffbf746684c53556c00e Mon Sep 17 00:00:00 2001
+From: Jan Kiszka <jan.kiszka@siemens.com>
+Date: Tue, 1 Oct 2019 12:33:25 +0200
+Subject: [PATCH 11/32] ivshmem: Add header file
+
+Common defines and structures for the ivshmem device.
+
+Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
+---
+ include/linux/ivshmem.h | 30 ++++++++++++++++++++++++++++++
+ 1 file changed, 30 insertions(+)
+ create mode 100644 include/linux/ivshmem.h
+
+diff --git a/include/linux/ivshmem.h b/include/linux/ivshmem.h
+new file mode 100644
+index 000000000000..bad8547f071b
+--- /dev/null
++++ b/include/linux/ivshmem.h
+@@ -0,0 +1,30 @@
++/* SPDX-License-Identifier: GPL-2.0-only */
++#ifndef _LINUX_IVSHMEM_H
++#define _LINUX_IVSHMEM_H
++
++#include <linux/types.h>
++
++#define IVSHM_PROTO_UNDEFINED 0x0000
++#define IVSHM_PROTO_NET 0x0001
++#define IVSHM_PROTO_VIRTIO_FRONT 0x8000
++#define IVSHM_PROTO_VIRTIO_BACK 0xc000
++#define IVSHM_PROTO_VIRTIO_DEVID_MASK 0x7fff
++
++#define IVSHM_CFG_PRIV_CNTL 0x03
++# define IVSHM_PRIV_CNTL_ONESHOT_INT BIT(0)
++#define IVSHM_CFG_STATE_TAB_SZ 0x04
++#define IVSHM_CFG_RW_SECTION_SZ 0x08
++#define IVSHM_CFG_OUTPUT_SECTION_SZ 0x10
++#define IVSHM_CFG_ADDRESS 0x18
++
++struct ivshm_regs {
++ u32 id;
++ u32 max_peers;
++ u32 int_control;
++ u32 doorbell;
++ u32 state;
++};
++
++#define IVSHM_INT_ENABLE BIT(0)
++
++#endif /* _LINUX_IVSHMEM_H */
+--
+2.11.0
+