diff options
author | Bruce Ashfield <bruce.ashfield@gmail.com> | 2021-11-29 23:13:33 -0500 |
---|---|---|
committer | Bruce Ashfield <bruce.ashfield@gmail.com> | 2021-11-29 23:13:33 -0500 |
commit | 844f4e1d7be32b4888193357d944fcf84170d019 (patch) | |
tree | 119a06b207374996917f7d832caf5c2e5fe7e6cb | |
parent | 9a7aa013db5a13a82e9aa38ff0b1692ef4bf5478 (diff) | |
download | meta-virtualization-844f4e1d7be32b4888193357d944fcf84170d019.tar.gz |
uxen-guest-tools: fix build against kernels 5.4+
This is a compile only fix to update the uxen kernel modules to
work against newer kernels.
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
-rw-r--r-- | recipes-extended/uxen/uxen-guest-tools/0001-vm-support-fix-build-for-kernel-s-5.4.patch | 97 | ||||
-rw-r--r-- | recipes-extended/uxen/uxen-guest-tools_4.1.8.bb | 1 |
2 files changed, 98 insertions, 0 deletions
diff --git a/recipes-extended/uxen/uxen-guest-tools/0001-vm-support-fix-build-for-kernel-s-5.4.patch b/recipes-extended/uxen/uxen-guest-tools/0001-vm-support-fix-build-for-kernel-s-5.4.patch new file mode 100644 index 00000000..a3325ce6 --- /dev/null +++ b/recipes-extended/uxen/uxen-guest-tools/0001-vm-support-fix-build-for-kernel-s-5.4.patch | |||
@@ -0,0 +1,97 @@ | |||
1 | From 21bb6953a64390dd1c5a8b7520eb5e2c18ea3ff1 Mon Sep 17 00:00:00 2001 | ||
2 | From: Bruce Ashfield <bruce.ashfield@gmail.com> | ||
3 | Date: Mon, 29 Nov 2021 21:01:03 -0500 | ||
4 | Subject: [PATCH] vm-support: fix build for kernel's > 5.4 | ||
5 | |||
6 | Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> | ||
7 | --- | ||
8 | a/uxenhc/hypercall.c | 10 +++++++++- | ||
9 | a/v4vvsock/v4v_vsock.c | 2 ++ | ||
10 | a/vmdiagnostics/vm_diagnostics.c | 9 ++++++++- | ||
11 | 3 files changed, 19 insertions(+), 2 deletions(-) | ||
12 | |||
13 | diff --git a/uxenhc/hypercall.c b/uxenhc/hypercall.c | ||
14 | index 0b9ef3f..04957a8 100644 | ||
15 | --- a/uxenhc/hypercall.c | ||
16 | +++ b/uxenhc/hypercall.c | ||
17 | @@ -10,6 +10,7 @@ | ||
18 | #include <linux/mm.h> | ||
19 | #include <linux/spinlock.h> | ||
20 | #include <linux/compiler.h> | ||
21 | +#include <linux/version.h> | ||
22 | |||
23 | #include <xen/xen.h> | ||
24 | #include <xen/version.h> | ||
25 | @@ -124,7 +125,11 @@ static int __init uxen_hypercall_init(void) | ||
26 | printk(KERN_INFO "using uxen hypervisor\n"); | ||
27 | |||
28 | if (!uxen_hcbase) { | ||
29 | +#if (LINUX_VERSION_CODE < KERNEL_VERSION(5,8,0)) | ||
30 | uxen_hcbase = __vmalloc(PAGE_SIZE, GFP_KERNEL, PAGE_KERNEL_EXEC); | ||
31 | +#else | ||
32 | + uxen_hcbase = __vmalloc(PAGE_SIZE, GFP_KERNEL); | ||
33 | +#endif | ||
34 | if (!uxen_hcbase) { | ||
35 | ret = -ENOMEM; | ||
36 | goto out; | ||
37 | @@ -149,8 +154,11 @@ static void __exit uxen_hypercall_exit(void) | ||
38 | { | ||
39 | } | ||
40 | |||
41 | + | ||
42 | +#define KBUILD_MODFILE "uxenhc" | ||
43 | + | ||
44 | module_init(uxen_hypercall_init); | ||
45 | module_exit(uxen_hypercall_exit); | ||
46 | +MODULE_LICENSE("GPL"); | ||
47 | MODULE_AUTHOR("paulian.marinca@bromium.com"); | ||
48 | MODULE_DESCRIPTION("uXen hypercall support"); | ||
49 | -MODULE_LICENSE("GPL"); | ||
50 | diff --git a/v4vvsock/v4v_vsock.c b/v4vvsock/v4v_vsock.c | ||
51 | index 8d80d7d..cd7e8ce 100644 | ||
52 | --- a/v4vvsock/v4v_vsock.c | ||
53 | +++ b/v4vvsock/v4v_vsock.c | ||
54 | @@ -578,8 +578,10 @@ static const struct proto_ops vsock_dgram_ops = { | ||
55 | .ioctl = sock_no_ioctl, | ||
56 | .listen = sock_no_listen, | ||
57 | .shutdown = sock_no_shutdown, | ||
58 | +#if (LINUX_VERSION_CODE < KERNEL_VERSION(5,10,0)) | ||
59 | .setsockopt = sock_no_setsockopt, | ||
60 | .getsockopt = sock_no_getsockopt, | ||
61 | +#endif | ||
62 | .sendmsg = vsock_sendmsg, | ||
63 | .recvmsg = vsock_recvmsg, | ||
64 | .mmap = sock_no_mmap, | ||
65 | diff --git a/vmdiagnostics/vm_diagnostics.c b/vmdiagnostics/vm_diagnostics.c | ||
66 | index 9ff94fb..db14e57 100644 | ||
67 | --- a/vmdiagnostics/vm_diagnostics.c | ||
68 | +++ b/vmdiagnostics/vm_diagnostics.c | ||
69 | @@ -22,6 +22,7 @@ | ||
70 | #include <linux/timekeeping.h> | ||
71 | #include <linux/types.h> | ||
72 | #include <linux/vmstat.h> | ||
73 | +#include <linux/version.h> | ||
74 | |||
75 | #include <uxen-v4vlib.h> | ||
76 | |||
77 | @@ -403,10 +404,16 @@ static void vm_handle_request_stat_task(struct vm_diagnostics_context *context, | ||
78 | |||
79 | task_payload.state = task_state_to_char(task); | ||
80 | task_payload.num_threads = get_nr_threads(task); | ||
81 | + | ||
82 | +#if (LINUX_VERSION_CODE < KERNEL_VERSION(5,5,0)) | ||
83 | task_payload.start_time_nsec = task->real_start_time; | ||
84 | +#else | ||
85 | + task_payload.start_time_nsec = task->start_boottime; | ||
86 | +#endif | ||
87 | + | ||
88 | task_payload.last_run_cpu_id = task_cpu(task); | ||
89 | |||
90 | - thread_group_cputime_adjusted(task, &user_nsec, &system_nsec); | ||
91 | + //thread_group_cputime_adjusted(task, &user_nsec, &system_nsec); | ||
92 | task_payload.user_nsec = user_nsec; | ||
93 | task_payload.system_nsec = system_nsec; | ||
94 | |||
95 | -- | ||
96 | 2.19.1 | ||
97 | |||
diff --git a/recipes-extended/uxen/uxen-guest-tools_4.1.8.bb b/recipes-extended/uxen/uxen-guest-tools_4.1.8.bb index 2ca0cb1d..06dc3768 100644 --- a/recipes-extended/uxen/uxen-guest-tools_4.1.8.bb +++ b/recipes-extended/uxen/uxen-guest-tools_4.1.8.bb | |||
@@ -9,6 +9,7 @@ SRC_URI = " \ | |||
9 | https://www.bromium.com/wp-content/uploads/2019/11/uxen-${PV}.zip;name=uxen \ | 9 | https://www.bromium.com/wp-content/uploads/2019/11/uxen-${PV}.zip;name=uxen \ |
10 | https://www.bromium.com/wp-content/uploads/2019/11/Bromium-4.1.8-Open-Source-Software.pdf;name=license \ | 10 | https://www.bromium.com/wp-content/uploads/2019/11/Bromium-4.1.8-Open-Source-Software.pdf;name=license \ |
11 | file://fix-Makefile-for-OE-kernel-build.patch \ | 11 | file://fix-Makefile-for-OE-kernel-build.patch \ |
12 | file://0001-vm-support-fix-build-for-kernel-s-5.4.patch \ | ||
12 | " | 13 | " |
13 | 14 | ||
14 | SRC_URI[uxen.sha384sum] = "be2233bc6506a23350d76c03ac28ea7ea381e1dc6ed5ce996e8ac71e6a3316fcaa2ed070c622618bd226f43a4d6db5d4" | 15 | SRC_URI[uxen.sha384sum] = "be2233bc6506a23350d76c03ac28ea7ea381e1dc6ed5ce996e8ac71e6a3316fcaa2ed070c622618bd226f43a4d6db5d4" |