53a5bce2a2
Replace our memory manager implementation with vm-memory.
...
This is a large intrusive refactor but it will make it easier
to adopt other components from rust-vmm ecosystem in the future.
Our old implementation was also potentially problematic due to
an API which directly hands out [u8] slices to guest memory.
(See VolatileSlice and 'volatile_memory' module in vm-memory for
discussion about this issue)
Since the old memory manager also handled graphics memory buffers
this was rewritten into a separate component and moved into 'io'
module.
Uses of FileDesc class were removed and replaced by use of the
standard File type instead which accomplishes most of the same
goals.
MemoryFd was removed and replaced with memfd crate.
2024-01-11 08:53:48 -05:00
d426b8e749
Use 4 vcpus by default
2023-08-03 08:35:54 -04:00
bfe64ab4ba
Synchronize vcpu threads with a barrier
2023-08-03 08:35:16 -04:00
7b377d282e
Fix x11 socket directory by setting umask
2023-08-03 08:34:22 -04:00
3dabe69881
Support for audio in ph-init
2023-08-03 08:28:31 -04:00
cded52b7c9
Port of ac97 from crosvm with pulseaudio backend.
2023-08-03 08:23:20 -04:00
13efc4fa11
Clean up calculation of memory map
2023-08-03 08:02:11 -04:00
8f64743a0e
Extensive refactor of IO,PCI,Virtio
2023-08-02 13:49:49 -04:00
97d9ef95c5
Build the MP Table correctly
2023-08-02 09:31:37 -04:00
8ef4220adf
use thiserror crate
2023-01-31 13:48:20 -05:00
41d6d10373
Refactor to use rust-vmm crates for kvm operations
2023-01-31 13:47:55 -05:00
99020a5ad4
Updated Cargo.lock files
2023-01-27 16:40:13 -05:00
cdf41349fc
Updated with correct sommelier command arguments
2023-01-27 16:39:26 -05:00
f938e1a785
Updated to correctly build kernel and sommelier
2023-01-27 16:38:08 -05:00
3a05847f31
Find sommelier binary in the sommelier build directory
2023-01-27 16:37:08 -05:00
9b75e697d6
Only respond to DMABUF commands if dmabuf is enabled in config
2023-01-27 16:36:27 -05:00
ffa6075c80
VIRTIO_ID_WL changed to match ID value in kernel driver.
2023-01-27 16:34:34 -05:00
616c0d4fa7
Use Vec instead of array to avoid 'stack overflow'
...
On debug build the worker thread stack overflows upon
thread launch with default stack size even though the
closure is only 130K. I don't know why this happens
but moving the buffers to the heap solves the problem.
2023-01-27 16:29:43 -05:00
9ee21a0309
Return 'GenuineIntel' as vendor string
2023-01-26 15:51:47 -05:00
ced3f6a4a8
Fix compiler warnings
2023-01-26 15:49:12 -05:00
45bfd42fec
Update sommelier to dbd90c6b002f7d0867cc0b0f1538cc979b688d13
2023-01-26 15:40:13 -05:00
65052aac7a
Update kernel to 6.1.8
2023-01-26 15:25:28 -05:00
7f3b3aa409
Large refactor.
...
Many many changes. The major themes of the refactor were to move the
x86 specific code into a separate 'arch' package and make the main
initialization and run loop much simpler to understand. The second big
change was to improve how errors are handled by making them more 'local'
so that packages define their own errors most of the time.
2019-10-02 16:41:02 -04:00
d24c5d9ea6
Fixed incorrect copy size reading/writing virtqueue descriptors
2019-10-02 15:41:52 -04:00
2a442775dd
virtio_net
2019-09-26 22:52:33 -04:00
23f5903e1f
set up color scheme on console shell
2019-09-26 22:49:01 -04:00
2b69ce2c08
return errors from system module
2019-09-26 22:40:54 -04:00
df4ab4c0c9
not used anymore
2019-09-26 22:31:14 -04:00
9f2acb07f8
Use correct home for realm
2019-09-24 17:05:29 -04:00
df1c6a3cb3
1) Work correctly if HOME is not /home/user. 2) Support read-write rootfs correctly.
2019-09-23 15:22:47 -04:00
6c25ccb226
systemd is not an option anymore
2019-09-23 15:20:57 -04:00
0a06043e32
support dmabuf in virtio_wl
2019-09-23 15:20:28 -04:00
3e5b802487
The in/out buffers have the wrong sizes, swap them
2019-09-23 15:10:57 -04:00
4632b9b5f4
XWayland works now
2019-09-22 00:51:24 -04:00
078a1a547b
remove canonicalization since it doesn't work.
2019-09-22 00:50:32 -04:00
2dec4334f4
reorganized build script a bit
2019-09-21 20:46:02 -04:00
dc2a7f7a1f
Implemented locking commands and fixed a couple other small problems
2019-09-21 20:45:15 -04:00
ffe02a3fc2
big refactor of ph-init to manage children/services correctly
2019-09-21 20:44:27 -04:00
c5bd65ac05
merge in updates from upstream
2019-09-21 20:43:03 -04:00
ff228d477e
paths that don't exist yet need to use canonicalize_parent()
...
or else they will fail with ENOENT
2019-09-21 01:07:14 -04:00
a1c1b13a47
flex and bison are also needed to build kernel
2019-09-20 23:06:51 -04:00
e8af16a2bc
launch sommelier as a daemon, also start dbus session
2019-09-20 23:06:28 -04:00
9762f1105c
a few more notes on building
2019-09-20 19:54:15 -04:00
5ff4b85808
make output from kernel download nicer when building with -vv
2019-09-20 19:53:43 -04:00
e3e774c3a3
ignore some things
2019-09-20 19:53:15 -04:00
1dcad9f1f4
add sommelier
2019-09-20 18:57:28 -04:00
d962bb4d46
typo
2019-09-20 18:53:41 -04:00
54deaf1782
add a readme
2019-09-20 18:51:59 -04:00
8587532a5e
update libcitadel git revision
2019-09-20 18:51:38 -04:00
c63ede2482
remove old code
2019-09-20 18:51:18 -04:00