Commit Graph

104 Commits

Author SHA1 Message Date
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