-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathkraft.yaml
More file actions
99 lines (84 loc) · 3.21 KB
/
Copy pathkraft.yaml
File metadata and controls
99 lines (84 loc) · 3.21 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
specification: '0.6'
name: python-agent-hyperlight
unikraft:
source: https://github.com/danbugs/unikraft.git
version: perf/demand-page-heap
kconfig:
# Platform
CONFIG_PLAT_HYPERLIGHT: 'y'
CONFIG_PAGING: 'n'
CONFIG_LIBUKVMEM: 'n'
CONFIG_LIBUKINTCTLR_HYPERLIGHT: 'y'
CONFIG_HYPERLIGHT_MAX_GUEST_LOG_LEVEL: 4
# Suppress all kernel logging (compile-time filtering)
CONFIG_LIBUKPRINT_KLVL_CRIT: 'y'
CONFIG_LIBUKPRINT_PRINT_TIME: 'n'
CONFIG_LIBUKPRINT_PRINT_SRCNAME: 'n'
CONFIG_LIBUKBOOT_BANNER_NONE: 'y'
# Size optimization
CONFIG_OPTIMIZE_SIZE: 'y'
CONFIG_OPTIMIZE_PIE: 'y'
# VFS + initrd as ramfs (for /usr/local/bin/python3 and the ELF loader)
CONFIG_LIBVFSCORE: 'y'
CONFIG_LIBVFSCORE_AUTOMOUNT_CI: 'y'
CONFIG_LIBVFSCORE_AUTOMOUNT_CI_CUSTOM: 'y'
CONFIG_LIBVFSCORE_AUTOMOUNT_CI0_MP: '/'
CONFIG_LIBVFSCORE_AUTOMOUNT_CI0_DRIVER: 'cpiovfs'
CONFIG_LIBVFSCORE_AUTOMOUNT_CI0_UKOPTS_IFINITRD0: 'y'
CONFIG_LIBCPIOVFS: 'y'
CONFIG_LIBUKCPIO: 'y'
# devfs + /dev/hcall (needed for HYPERLIGHT_HCALL symbol;
# hostfs calls hyperlight_hcall() directly, not through /dev/hcall)
CONFIG_LIBDEVFS: 'y'
CONFIG_LIBDEVFS_AUTOMOUNT: 'y'
CONFIG_HYPERLIGHT_HCALL: 'y'
# hostfs — transparent POSIX -> host RPC forwarding (default mount /host).
CONFIG_LIBHOSTFS: 'y'
CONFIG_LIBHOSTFS_AUTOMOUNT: 'y'
# ELF loader — run /usr/local/bin/python3
CONFIG_APPELFLOADER: 'y'
CONFIG_APPELFLOADER_VFSEXEC: 'y'
CONFIG_APPELFLOADER_CUSTOMAPPNAME: 'n'
CONFIG_APPELFLOADER_VFSEXEC_ENVPATH: 'n'
CONFIG_APPELFLOADER_VFSEXEC_PATH: '/usr/local/bin/python3'
CONFIG_LIBPOSIX_ENVIRON_ENVP0: 'PATH=/usr/local/bin:/usr/bin:/bin'
CONFIG_LIBPOSIX_ENVIRON_ENVP1: 'LD_LIBRARY_PATH=/usr/local/lib'
CONFIG_LIBELF: 'y'
# CPython needs mmap + futex + larger scratch
CONFIG_LIBUKMMAP: 'y'
CONFIG_LIBPOSIX_FUTEX: 'y'
CONFIG_LIBUKRANDOM_CMDLINE_SEED: 'y'
CONFIG_LIBUKRANDOM_GETRANDOM: 'y'
CONFIG_LIBPOSIX_PROCESS_MULTITHREADING: 'y'
CONFIG_LIBUKSCHED: 'y'
CONFIG_LIBUKSCHEDCOOP: 'y'
CONFIG_LIBUKMPI: 'y'
CONFIG_LIBUKLOCK: 'y'
CONFIG_LIBUKLOCK_SEMAPHORE: 'y'
CONFIG_LIBUKLOCK_MUTEX: 'y'
CONFIG_LIBUKBOOT_MAINTHREAD: 'y'
CONFIG_LIBPOSIX_PROCESS_ARCH_PRCTL: 'y'
# Multiprocess / execve are enabled kernel-side but not used yet:
# app-elfloader has a stack-setup bug that crashes the child with
# a low-address page fault on any exec (Python → Python, static-PIE
# hello → same crash). Kept on because the rest of the kernel
# builds fine with it; needs upstream fix before subprocess works.
CONFIG_LIBPOSIX_PROCESS_MULTIPROCESS: 'y'
CONFIG_LIBPOSIX_PROCESS_EXECVE: 'y'
CONFIG_LIBPOSIX_PROCESS_SIGNAL: 'y'
CONFIG_LIBUKBINFMT: 'y'
CONFIG_APPELFLOADER_MULTIPROCESS: 'y'
CONFIG_APPELFLOADER_ELF_BINFMT: 'y'
CONFIG_LIBCONTEXT: 'y'
CONFIG_LIBCONTEXT_CLEAR_TBSS: 'y'
CONFIG_LIBPOSIX_FDTAB_MULTITAB: 'n'
libraries:
app-elfloader:
source: https://github.com/unikraft/app-elfloader.git
version: plat-hyperlight
libelf:
source: https://github.com/unikraft/lib-libelf.git
version: staging
targets:
- architecture: x86_64
platform: hyperlight