diff options
author | Jakub Luzny <jakub@luzny.cz> | 2020-07-19 17:00:08 +0200 |
---|---|---|
committer | Jakub Luzny <jakub@luzny.cz> | 2020-07-24 12:46:57 +0200 |
commit | 3f6d193683449a323a3f1d689540ab697d3d7980 (patch) | |
tree | 093ad36c5bf3f031d469a635d0f2190a57c176e0 /meta-agl-jailhouse/recipes-kernel/linux/linux/0031-ivshmem-net-Switch-to-netdev_xmit_more-helper.patch | |
parent | c6889de97c1af6baa7ee8006aa75da170c9bd407 (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/0031-ivshmem-net-Switch-to-netdev_xmit_more-helper.patch')
-rw-r--r-- | meta-agl-jailhouse/recipes-kernel/linux/linux/0031-ivshmem-net-Switch-to-netdev_xmit_more-helper.patch | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/meta-agl-jailhouse/recipes-kernel/linux/linux/0031-ivshmem-net-Switch-to-netdev_xmit_more-helper.patch b/meta-agl-jailhouse/recipes-kernel/linux/linux/0031-ivshmem-net-Switch-to-netdev_xmit_more-helper.patch new file mode 100644 index 00000000..bedbc59f --- /dev/null +++ b/meta-agl-jailhouse/recipes-kernel/linux/linux/0031-ivshmem-net-Switch-to-netdev_xmit_more-helper.patch @@ -0,0 +1,59 @@ +From 6c86f9ef9fa5029b8f87867f47fe51d6cc1960a5 Mon Sep 17 00:00:00 2001 +From: Jan Kiszka <jan.kiszka@siemens.com> +Date: Sun, 2 Jun 2019 11:58:20 +0200 +Subject: [PATCH 31/32] ivshmem-net: Switch to netdev_xmit_more helper + +The skb field has been removed by 4f296edeb9d4. + +Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> +--- + drivers/net/ivshmem-net.c | 10 ++++++---- + 1 file changed, 6 insertions(+), 4 deletions(-) + +diff --git a/drivers/net/ivshmem-net.c b/drivers/net/ivshmem-net.c +index aba77c232c48..9946cef63c1f 100644 +--- a/drivers/net/ivshmem-net.c ++++ b/drivers/net/ivshmem-net.c +@@ -294,7 +294,8 @@ static u32 ivshm_net_tx_advance(struct ivshm_net_queue *q, u32 *pos, u32 len) + return p; + } + +-static int ivshm_net_tx_frame(struct net_device *ndev, struct sk_buff *skb) ++static int ivshm_net_tx_frame(struct net_device *ndev, struct sk_buff *skb, ++ bool xmit_more) + { + struct ivshm_net *in = netdev_priv(ndev); + struct ivshm_net_queue *tx = &in->tx; +@@ -327,7 +328,7 @@ static int ivshm_net_tx_frame(struct net_device *ndev, struct sk_buff *skb) + vr->avail->ring[avail] = desc_idx; + tx->num_added++; + +- if (!skb->xmit_more) { ++ if (!xmit_more) { + virt_store_release(&vr->avail->idx, tx->last_avail_idx); + ivshm_net_notify_tx(in, tx->num_added); + tx->num_added = 0; +@@ -509,17 +510,18 @@ static int ivshm_net_poll(struct napi_struct *napi, int budget) + static netdev_tx_t ivshm_net_xmit(struct sk_buff *skb, struct net_device *ndev) + { + struct ivshm_net *in = netdev_priv(ndev); ++ bool xmit_more = netdev_xmit_more(); + + ivshm_net_tx_clean(ndev); + + if (!ivshm_net_tx_ok(in, ndev->mtu)) { + ivshm_net_enable_tx_irq(in); + netif_stop_queue(ndev); +- skb->xmit_more = 0; ++ xmit_more = false; + in->stats.tx_pause++; + } + +- ivshm_net_tx_frame(ndev, skb); ++ ivshm_net_tx_frame(ndev, skb, xmit_more); + + in->stats.tx_packets++; + ndev->stats.tx_packets++; +-- +2.11.0 + |