Commit Graph

2164 Commits

Author SHA1 Message Date
Jose Carlos Venegas Munoz
836e3c216d clh: update to v0.5.0
Changes:

Virtual Machine Dynamic Resizing
With 0.4.0 we added support for CPU hot plug, and 0.5.0 adds CPU hot
unplug and memory hot plug as well. This allows to dynamically resize
Cloud Hypervisor guests which is needed for e.g. Kubernetes related use
cases.
The memory hot plug implementation is based on the same framework as the
CPU hot plug/unplug one, i.e. hardware-reduced ACPI notifications to the
guest.

Next on our VM resizing roadmap is the PCI devices hotplug feature.

Multi-Queue, Multi-Threaded Paravirtualization
We enhanced our virtio networking and block support by having both
devices use multiple I/O queues handled by multiple threads. This
improves our default paravirtualized networking and block devices
throughput.

New Interrupt Management Framework
We improved our interrupt management implementation by introducing an
Interrupt Manager framework, based on the currently on-going rust-vmm
vm-device crates discussions. This move made the code significantly
cleaner, and allowed us to remove several KVM related dependencies from
crates like the PCI and virtio ones.

Development Tools
In order to provide a better developer experience, we worked on
improving our build, development and testing tools.
Somehow similar to the excellent Firecracker's devtool, we now provide a
dev_cli script.

With this new tool, our users and contributors will be able to build and
test Cloud Hypervisor through a containerized environment.

Kata Containers Integration
We spent some significant time and efforts debugging and fixing our
integration with the Kata Containers project. Cloud Hypervisor is now a
fully supported Kata Containers hypervisor, and is integrated into the
project's CI.

Log:

62ccccc vmm: Make sure to retry creating the VM on EINTR
671b49b build(deps): bump vm-memory from `d6229fc` to `4237db3`
e5b7fff build(deps): bump micro_http from `1eb80f8` to `ab44474`
da2b3c9 vm-device: interrupt: Remove InterruptType dependencies and definitions
84fc807 interrupt: Interrupt manager split
56d7c04 vm-virtio: vsock: Don't return error when epoll_wait is interrupted
6e6b2b8 scripts: Check the Rust formatting is valid
705f271 scripts: dev_cli: Pass unit and integration test args to cargo test
bc053f1 main: Ignore error on log writing
91739be main: Add help info for block-backend
ae6cf4c tests: integration: Add memory overhead test
7cb61d3 main: Don't panic (by calling .expect()) if writing to the log fails
880a57c vmm: Remove VmInfo struct
07bc292 vmm: device_manager: Get VmFd from AddressManager
6411c3a vmm: device_manager: Use MemoryManager to get guest memory
066fc6c vmm: device_manager: Get VM config from the struct member
77ae3de vmm: device_manager: Make legacy device addition a method
599275b vmm: device_manager: Make ACPI device creation a method
b8c1b2e vmm: device_manager: Make console creation a method
b5440e2 vmm: device_manager: Make virtio device creation functions methods
e90c6f3 vmm: device_manager: Make make_virtio_devices a method
dbc09ad vmm: device_manager: Make add_vfio_devices a method
d9e1c2c vmm: device_manager: Make add_virtio_pci_device a method
aaa5e2e vmm: device_manager: Make add_virtio_mmio_device a method
2987476 vmm: device_manager: Make add_pci_devices and add_mmio_devices methods
3dbae42 vmm: device_manager: Only add MemoryManager to I/O bus on ACPI builds
68fa97e vmm: device_manager: Always embed MemoryManager in the struct
789a39a ci: Add MQ support in the test cases
99da1df vhost-user-blk: Add MQ support in backend
1038a07 vhost-user-blk: Device support multiple queues
839f3a7 build(deps): bump serde_json from 1.0.45 to 1.0.46
652b603 vfio: Use the vfio-binding FAM wrappers
275cb5c scripts: dev_cli: Add clean command support
8676759 README: Basic dev_cli documentation
76087f1 script: cargo: Improve the cargo tests
db6f894 scripts: Add container based development script
31c3685 build(deps): bump micro_http from `e5ef374` to `1eb80f8`
8dfb79e build(deps): bump vm-memory from `df6207f` to `d6229fc`
e99b640 build(deps): bump regex-syntax from 0.6.13 to 0.6.14
92b3764 build(deps): bump openssl-sys from 0.9.53 to 0.9.54
de91c30 build(deps): bump micro_http from `9e68aa4` to `e5ef374`
aa4efdd ci: Update kernel related to virtio-iommu
ac01ced vmm: Cleanup list of PCI IDs related to virtual IOMMU
097cff2 vmm: Use virtio topology for virtio-iommu
bac0d1e iommu: Implement virtio topology configuration
0c73ff8 iommu: Add topology structures
db42cae vm-virtio: Handle special virtio-pci capability CAP_PCI_CFG
db9f9b7 pci: Make self mutable when reading from PCI config space
655d9cd build(deps): bump smallvec from 1.1.0 to 1.2.0
74ab468 build(deps): bump backtrace from 0.3.42 to 0.3.43
1651cc3 build(deps): bump kvm-ioctls from 0.4.0 to 0.5.0
b4d04bd tests: Add CLI <-> API validation test for --disk changes
3c8cf09 docs: Update device model to clarify how to enable vhost-user-block
75e6762 vmm: Give deprecation warning for "--vhost-user-blk" syntax
969b5ee vmm: config: Add warning about specifying "wce" without "vhost-user"
12f4cd9 tests: Use "--disks" for vhost-user-block testing
aeeae66 vmm: Support vhost-user-block via "--disks"
362942f build(deps): bump micro_http from `53cf1ba` to `9e68aa4`
b5992fe build(deps): bump thiserror from 1.0.9 to 1.0.10
2c6f528 vmm: Give deprecation warning for "--vhost-user-net" syntax
f322e92 docs: Update device model to clarify how to enable vhost-user-net
4888dd2 tests: Add CLI <-> API validation test for --net changes
8f096b8 tests: Use "--net" parameter for vhost-user-net setup
a831aa2 vmm: Support vhost-user-net via "--net"
e155e36 vm-virtio: Simplify virtio-fs configuration
8e48fc4 vm-virtio: Simplify virtio-blk configuration
8946a09 vm-virtio: Simplify virtio-net configuration
9efaff7 ci: Consolidate virtio-blk integration tests
a33e834 ci: Add integration test for virtio-blk multiqueue support
f5b53ae vm-virtio: Implement multiqueue/multithread support for virtio-blk
08e47eb vmm: Add num_queues and queue_size parameters to virtio-blk
c4b3ed7 vm-virtio: Further factorization
bce7627 vm-virtio: Define a separate macro alias for ctrl queue devices
2e2b1e4 vm-virtio: Remove the multiqueue argument from the pausable macro
2cb7ec0 vm-virtio: Pausable macro factorization improvements
c06a827 vm-virtio: Rename epoll_thread to epoll_threads
f648f28 vm-virtio: Make all virtio devices potentially multi-threaded
ac8e4b9 build(deps): bump vm-memory from `8a606cd` to `df6207f`
45d43f9 build(deps): bump micro_http from `af25399` to `53cf1ba`
9174709 build(deps): bump arrayref from 0.3.5 to 0.3.6
90810a9 build(deps): bump micro_http from `1f931c6` to `af25399`
16af54e build(deps): bump signal-hook from 0.1.12 to 0.1.13
4ff972c build(deps): bump ssh2 from 0.6.0 to 0.7.1
3508440 build(deps): bump itoa from 0.4.4 to 0.4.5
0fa1e2c vmm: Handle mapping from devices regions through vm-memory
694da82 ci: Make the integration tests fail if images are not valid
0ea6406 build(deps): bump vm-memory from `beaf215` to `8a606cd`
148a9ed vmm: Fix map_err losing the inner error
0a7bcc9 vm-virtio: Fix map_err losing the inner error
4587cc7 vhost_user_net: Fix map_err losing the inner error
f444ef6 vfio: Fix map_err losing the inner error
aa5ae76 src: Fix map_err losing the inner error
cf25bd7 qcow: Fix map_err losing the inner error
0639659 net_util: Fix map_err losing the inner error
f5a52ed arch: Fix map_err losing the inner error
a34893a Revert "vmm: Move MemoryManager from I/O ports to MMIO region"
57ed006 Revert "devices, vmm: Move GED device to MMIO region"
6120d0f Revert "vmm: Move CpuManager device to MMIO region"
6475052 build(deps): bump micro_http from `1db1bbd` to `1f931c6`
980e03f vmm: Move CpuManager device to MMIO region
5e3c62d devices, vmm: Move GED device to MMIO region
03108fb vmm: Move MemoryManager from I/O ports to MMIO region
3202e8a vfio: Fix 64bits BAR size reading
d5d4053 README.md: Update kernel instructions to use branch
0042f1d ioapic: Rely fully on the InterruptSourceGroup to manage interrupts
2dca959 ioapic: Create the InterruptSourceGroup from InterruptManager
52800a8 vmm: Create an InterruptManager dedicated to IOAPIC
29e668c cargo: Update Cargo.lock
cafab9e main: Add some command line argument conflicts
611d13e main: Move logging arguments to their own group
8aabb90 main: Add "--vhost-user-blk" to the "vm-config" group
bdb0ad9 tests: Use cloud-hypervisor binary for "--{net,block}-backend"
45fb918 main: Allow main binary to be used as net or block backend
7f73eeb vhost_user_block: Split launching backend into its own function
9fd187c vhost_user_net: Split launching backend into its own function
b851887 main: Split current VMM running code into it's own function
1dd2451 vhost_user_block: Refactor vhost_user_block backend code into a new crate
fb763c4 vhost_user_net: Refactor vhost_user_net backend code into a new crate
dd82064 main: Delay converting command line to VM params
e12179a bin: vhost_user_net: Rename "--backend" to "--net-backend"
3ede2dc bin: vhost_user_blk: Rename "--backend" to "--block-backend"
032b8e4 build(deps): bump micro_http from `ebc15f2` to `1db1bbd`
204f05f build(deps): bump serde_json from 1.0.44 to 1.0.45
7ee9eca build(deps): bump vmm-sys-util from 0.3.1 to 0.4.0
2034fc2 vmm: Fix LENGTH_OFFSET_HIGH of MemoryManager
503e047 build(deps): bump redox_users from 0.3.3 to 0.3.4
605fa83 ci: Add integration test for virtio-blk with 'direct=on'
925c862 vmm: device_manager: Add 'direct' support for virtio-blk
2bd90d9 ci: Add integration test for virtio-blk with 'readonly=on'
fb79e75 vmm: device_manager: Add read-only support for virtio-blk
9ac06bf ci: Run clippy for each specific feature
e91638e pci: Cleanup the crate from unneeded types
99f3929 pci: Simplify PciDevice trait
a20b383 vmm: Always use a reference for InterruptManager
bb8cd9e vmm: Use LegacyUserspaceInterruptGroup for acpi device
75e22ff vmm: Use LegacyUserspaceInterruptGroup for serial device
8d7c4ea vmm: Use LegacyUserspaceInterruptGroup for mmio devices
12657ef vmm: Fully implement LegacyUserspaceInterruptGroup
f70c993 vmm: Add ioapic to KvmInterruptManager
c9ea235 vmm: Add LegacyUserspaceInterruptGroup skeleton for legacy interrupts
2aabf58 vmm: Move irq_routes creation to specific MSI use case
d34f31f vmm: Fix KvmInterruptManager when base is different from 0
e73cb1f vmm: Initialize InterruptManager sooner
9fab9bc build(deps): bump micro_http from `f77960b` to `ebc15f2`
9fe6ece build(deps): bump redox_users from 0.3.1 to 0.3.3
c27be84 build(deps): bump syn from 1.0.13 to 1.0.14
9731be1 build(deps): bump remain from 0.2.0 to 0.2.1
eedfb36 build(deps): bump micro_http from `6327290` to `f77960b`
3901a1d vmm: Log an error if VM resize fails
76d9bf2 vmm: Start memory slots at zero
0ab22fe vmm: Only generate GED event when new DIMM added
211786a vmm: Only generate GED interrupt when the number of vCPUs has changed
8049666 vm-virtio: Cleanup from kvm_iotcls and kvm_bindings dependencies
50a4c16 pci: Cleanup the crate from kvm_iotcls and kvm_bindings dependencies
4bb12a2 interrupt: Reorganize all interrupt management with InterruptManager
92082ad vmm: Fully implement interrupt traits
0f72712 vmm: Implement InterruptSourceGroup and InterruptManager skeleton
11d4d57 vm-device: Introduce InterruptManager and InterruptSourceGroup traits
be421dc vm-virtio: Optimize vhost-user interrupt notification
1f029dd vm-virtio: Add notifier to VirtioInterrupt trait
c396bac vm-virtio: Modify VirtioInterrupt callback into a trait
ef7d889 vfio: Remove unused GSI routing functions
1a4b5ec msi: Set KVM routes from MsiConfig instead of VFIO
f3c3870 msi: Create MsiConfig to embed MsiCap
1e5e028 msix: Perform interrupt enabling/disabling
19aeac4 msix: Remove the need for interrupt callback
3fe362e msix: Set KVM routes from MsixConfig instead of VFIO
2381f32 msix: Add gsi_msi_routes to MsixConfig
9b60fcd msix: Add VmFd to MsixConfig
86c760a msix: Add SystemAllocator to MsixConfig
f77d2c2 pci: Add some KVM and interrupt utilities to the crate
f5704d3 vmm: Move gsi_msi_routes creation to be shared across all PCI devices
ed5459f ci: Add integration test for vhost_user_blk with 'direct'
e0a8da2 vhost_user_blk: Add missing WCE property support
c7e9056 vhost_user_blk: implement support for direct (O_DIRECT) mode
a14aee9 qcow: Use RawFile as backend instead of File
c5a656c vm-virtio: block: Add support for alignment restrictions
e483cde docs: Update networking.md with multiple queue support
973eb16 src: Add multiple queue checking in vhost-user-net integration test
4885dc0 src: Update test_valid_vm_config_net with new option for virtio-net
652e7b9 vm-virtio: Implement multiple queue support for net devices
404316e vmm: Add multiple queue option and update config for virtio-net device
4ab88a8 net_util: Add multiple queue support for tap
cf7e0cd vm-virtio: Add multiple queue handling with control queue
709f7fe vm-virtio: Implement control queue support for net devices
d38787c vm-virtio: Add control queue support in net_util.rs
1ae7deb vm-virtio: Implement refactor for net devices and backend
6ae2597 vm-virtio: Create new module to abstract common parts for net devices
3485e89 vm-virtio: Stop delivering interrupt while NO_VECTOR
1324aa4 build(deps): bump proc-macro2 from 1.0.7 to 1.0.8
dcb6d02 build(deps): bump micro_http from `db75e88` to `6327290`
cde2c44 build(deps): bump backtrace from 0.3.41 to 0.3.42
d8adf6a build(deps): bump micro_http from `52e21d0` to `db75e88`
14041e9 docs: Add memory resizing documentation
32506da docs: Document CPU unplug
8b500d7 deps: Bump vm-memory and linux-loader version
7310ab6 devices, vmm: Use a bit field for ACPI GED interrupt type
d2d1248 tests: Add test combining memory and vCPU hotplug
2073007 tests: Add integration test for RAM hotplug
351058a resources: Add memory hotplug support to the kernel configuration
28c6652 vmm: Upon VmResize attempt to hotplug the memory
4e414f0 vmm: device_manager: Scan memory devices upon GED interrupt
284d5e0 vmm: Add memory hotplug ACPI entries to DSDT
8ecf736 vmm: device_manager: Add the MemoryManager to the I/O bus
1218765 vmm: memory_manager: Expose the slots details via an I/O port
9880a2a vmm: memory_manger: Add support for adding new memory to the VM
82fce5a vmm: Add support for resizing the memory used by the VM
78dcb18 vmm: device_manager: Store the type of notification in a local value
5da7c63 acpi_tables: aml: Add support for creating fields
f5137e8 vmm, main: Add optional "hotplug_size" to --mem
f1b6657 vmm: Make desired vCPUs optional in resize command
72b9e92 vmm: memory_manager: Further refactor memory region allocation
1af11a7 vmm: memory_manager: Refactor GuestMemoryMmap construction
281b99a build(deps): bump micro_http from `803c8fa` to `52e21d0`
0acabcd build(deps): bump libssh2-sys from 0.2.13 to 0.2.14
85f43c7 build(deps): bump micro_http from `edbff4c` to `803c8fa`
5788d36 vmm: Do not create virtio devices when missing a transport
41895d7 build(deps): bump rand from 0.7.2 to 0.7.3
85d1555 build(deps): bump micro_http from `0987cdc` to `edbff4c`
3430e20 build(deps): bump memchr from 2.2.1 to 2.3.0
7d85324 build(deps): bump constant_time_eq from 0.1.4 to 0.1.5
fc8bfe0 build(deps): bump backtrace from 0.3.40 to 0.3.41
fa34fae ci: Move to personal branch for virtiofsd
f427d94 virtio-fs: Update virtiofs daemon parameters
345c922 build(deps): bump micro_http from `0bfaf39` to `0987cdc`
b38beb6 build(deps): bump regex-syntax from 0.6.12 to 0.6.13
c2f6dfc vm-virtio: Fix VirtioDeviceType traits
9d775a1 build(deps): bump pnet from 0.23.0 to 0.25.0
70d80cc build(deps): bump pnet_sys from 0.23.0 to 0.23.1
f493d43 build(deps): bump vm-memory from `467eda6` to `218afdd`
2500d0a build(deps): bump micro_http from `2953365` to `0bfaf39`
279c4f9 build(deps): bump pnet_macros from 0.23.0 to 0.25.0
24cf15d vfio: Don't throw an error if a region cannot be found
c2ae380 pci: Refine detection of BAR reprogramming
07bad79 pci: Fix detection of expansion ROM BAR reprogramming
0d2e38d build(deps): bump cc from 1.0.49 to 1.0.50
38468d3 vm-virtio: Improve virtio-console input processing
e4c3401 vm-virtio: Don't waste a descriptor if not filled
7a3e6ca vm-virtio: Simplify virtio-console input processing
ad223f2 fs: Use cache=none by default
84445aa vm-virtio: Implement multi-mapping for virtio-fs
143471b fs: Update mount command to mount virtiofs filesystem
e1822cf vm-virtio: Implement VIRTIO_IOMMU_F_PROBE feature
ae6f272 acpi: Introduce VIOT to support latest virtio-iommu implementation
4dbb33a resources: Update kernel config
c56af8d ci: Use a temporary kernel branch before we override the current one
d756844 build(deps): bump getrandom from 0.1.13 to 0.1.14
9d3f656 build(deps): bump cc from 1.0.48 to 1.0.49
f59665e build(deps): bump epoll from 4.0.1 to 4.1.0
9482ded build(deps): bump micro_http from `aec25f9` to `2953365`
e4ea60d build(deps): bump rand from 0.7.0 to 0.7.2
44dd056 build(deps): bump remain from 0.1.5 to 0.2.0
091c9d9 build(deps): bump pnet from 0.22.0 to 0.23.0
d8c3912 build(deps): bump micro_http from `be97831` to `aec25f9`
1a28f64 build(deps): bump atty from 0.2.13 to 0.2.14
8f6cbf8 build(deps): bump vm-memory from `291dc2e` to `467eda6`
5a0d01c build(deps): bump blake2b_simd from 0.5.9 to 0.5.10
38c0d32 build(deps): bump syn from 1.0.12 to 1.0.13
134bcd8 tests: Use the workspace to unit test all the crates
b6f6772 vhost_rs: Fix compile failure in tests
cf1983c vhost_rs: Mark some broken tests ignored
32a39f9 vm-virtio: Fix broken write_base_regs() unit test
b2589d4 vm-virtio, vmm, vfio: Store GuestMemoryMmap in an Arc<ArcSwap<T>>
5c0bb38 build(deps): bump vm-memory from `09c119f` to `291dc2e`
b997130 build(deps): bump syn from 1.0.11 to 1.0.12
fda8a04 build(deps): bump vm-memory from `3ef06be` to `09c119f`
34e35c9 build(deps): bump anyhow from 1.0.25 to 1.0.26
95352db build(deps): bump vm-memory from `ec69de9` to `3ef06be`
a551398 vmm: device_manager: Use MemoryManager to create KVM mapping
962dec2 vmm: memory_manager: Refactor KVM userspace mapping creation
7df8879 vmm: device_manager: Get device range from MemoryManager
61cfe3e vmm: Obtain sequential KVM memory slot numbers from MemoryManager
260cebb vmm: Introduce MemoryManager
bcfe546 build(deps): bump vm-memory from `bb29ec8` to `ec69de9`
f668603 ci: Fix flaky test_memory_mergeable_on test
1e3fd2f tests: Remove many redundant clones
d5682cd vmm: device_manager: Rewrite if chain using match
21b88c3 vmm: cpu: Rewrite if chain using match
e25a47b vmm: device_manager: Remove redundant clones
9fb1c46 vm-virtio: Remove unnecessary cloning
deb3cbd arch_gen: Remove unused bootparam module
9701fde vm-virtio: Add connection handshake to vsock
5c4e172 ci: test the vhost-user-blk readonly function
cee01ed vhost-user-blk backend: add readonly support
91549dd tests: Add integration test for CPU unplug
a6878ac vmm: cpu: Implement CPU removal
7b3fc72 vmm: cpu: Notify guest OS that it should offline vCPUs
7e81b0d vmm: cpu: Create vCPU state for all possible vCPUs
156ea39 vmm: cpu: Only do ACPI notify on newly added vCPUs
e8313e3 vmm: acpi: Refactor ACPI CPU notification
43d2e09 ci: Add unit tests to compare CLI and OpenAPI
d139090 vmm: config: Derive Debug and PartialEq for configuration structures
93f5f6e vmm: config: Provide a default empty command line through OpenAPI
43bd0e5 main: Move VmParams creation into a dedicated function
17a167d main: Move default values preparation into a dedicated function
9c3a7dd main: Move clap::App creation into a dedicated function
11750ef build(deps): bump log from 0.4.8 to 0.4.10
dea5776 build(deps): bump serde from 1.0.103 to 1.0.104
7909f7a build(deps): bump serde_derive from 1.0.103 to 1.0.104
23150f8 tests: Throttle tests based on disk space
d59fe4e ci: Add some time measurements to CI scripts
fa0fdc6 cargo: Update Cargo.lock for the 0.4.0 release
cec884e release: v0.4.0
6444e29 docs: Add CPU hot plug documentation
a002093 build(deps): bump anyhow from 1.0.23 to 1.0.25
43f0478 build(deps): bump thiserror from 1.0.6 to 1.0.9
664431f vsock: vhost_user: vfio: Fix potential host memory overflow
1e97d14 README: Update for newer distribution support
e8e21ae README: Update the --cpus command line examples
a40a70a ci: Rely on latest virtiofsd version
f0b7412 vmm: device_manager: Add all virtio devices to the migratable list
37557c8 vmm: vm: Implement the Pausable trait
9756fc2 vmm: cpu_manager: Implement the Pausable trait
35dd152 vmm: device_manager: Implement the Pausable trait
a122da4 vm-virtio: vhost: Implement the Pausable trait for all vhost-user devices
dae0b2e vm-virtio: Implement the Pausable trait for all virtio devices
35d7721 vmm: Convert virtio devices to Arc<Mutex<T>>
5450de0 cargo: Do not run fmt on anyhow's build code
0361df4 vm-device: Initial Migratable trait
36daf9c ci: Skip testing RFC or WIP PRs
64c5e3d vmm: api: Adjust FsConfig for OpenAPI
4bfd51c vmm: api: Match VhostUserBlkConfig defaults between CLI and HTTP API
1c2587f vmm: api: Match VhostUserNetConfig defaults between CLI and HTTP API
5e0bbf9 vmm: Don't factorize vhost-user configurations
793327c vmm: api: Make ConsoleConfig default match between CLI and HTTP API
cc08c44 vmm: api: Make MemoryConfig default match between CLI and HTTP API
5a72225 vmm: api: Update CpuConfig name to match the internal name
f7c215d cli: Fix default CPU argument
59ae01f ci: Cancel older builders on Jenkins
c61104d vmm: Port to latest vmm-sys-util
4c92f89 ci: Add OpenAPI validation
93bd88e ci: Simplify travis.yml
d42ef18 ci: Offload cargo tests to the worker node VM
ee528ae vmm: api: Make FsConfig defaults match between CLI and HTTP API
befd342 vmm: api: Make NetConfig defaults match between CLI and HTTP API
eff78f7 resources: Prevent kernel config interactive shell from showing up
99e608c openapi: Fix schema
f994665 vmm: Reduce the minimum IRQ constant
ba59c62 vmm, devices: Remove hardcoded IRQ number for GED device
ce1bd9c resources: turn on CONFIG_ACPI_REDUCED_HARDWARE_ONLY
0374c3d build(deps): bump ssh2 from 0.5.0 to 0.6.0
aa94e9b Revert "vmm: api: Modify FsConfig to be OpenAPI friendly"
9b1ba14 vmm: Delegate device related ACPI DSDT table work to DeviceManager
60e6609 vmm: Delegate CPU related ACPI tables to CpuManager
defc5dc vmm: api: Modify FsConfig to be OpenAPI friendly
66e00ce ci: Extend VFIO integration test
59d0171 vmm: Remove kernel based IOAPIC handling from the device manager
afea6a1 vmm: Stop initialising kernel based IOAPIC/PIC
9b1cb96 vmm: Remove pin based interrupt setup for virtio devices
72fb687 vmm: Check for required capabilities
904b1ea build(deps): bump unicode-width from 0.1.6 to 0.1.7
fcf92d8 tests: Add rebooting to the CPU hotplug test
f98b16f vmm: Update the configuration to preserve hot-plug CPUs after reboot
1722708 vmm: Switch to storing VmConfig inside an Arc<Mutex<>>
c063bb8 vmm: acpi: Make GED interrupt edge triggered
e1af17d vmm: Restore tty to canonical mode when SIGTERM or SIGINT received
44d026b build(deps): bump serde_json from 1.0.43 to 1.0.44
a1285ea build(deps): bump cc from 1.0.47 to 1.0.48
23929f4 vfio: Don't override MSI Enable bit through VFIO ioctl
1dfd60b vfio: use correct flags to disable interrupts
5208ff8 vmm: Detect and handle AMD SME (Secure Memory Encryption)
dcfd6ff build(deps): bump serde_json from 1.0.42 to 1.0.43
08258d5 vfio: pci: Allow multiple devices to be passed through
4115fa8 vfio: pci: Update irqfd registration
1379abb pci: msi: Fix MSG_CTL update through 32 bits write
c81e808 docs: Update instructions regarding virtiofsd
17badfb vmm: cpu: Call vcpu configure() on the vCPU thread
1350306 api: Fix OpenAPI specification entries
e1ff142 tests: Remove MSI only test from test_serial_off
e083064 tests: Add integration test for hotplugging vCPUs
66a31c1 vmm: acpi: Upon GED interrupt notify on all vCPUs
48bf141 vmm: Trigger a hotplug device notification when resizing
b629727 vmm: acpi: Add a CTFY method to notify on all CPU objects
ae9359c vmm: acpi: Create the CPU entries in the DSDT for all vCPUs
791ca33 vmm: device_manager: Add ability to notify via GED device
623755c devices: Add ACPI GED device
7ad68d4 vmm: device_manager: Allocate I/O port for ACPI shutdown device
86339b4 vmm: Add HTTP API to resize the VM
e7d4eae vmm: cpu: Add support for starting more vCPU threads
0ef9999 vmm: cpu: Support only partially configuring the vCPU
c8b3041 vmm: openapi: Update OpenAPI for CpuConfig struct
b6801e3 vmm: cpu: Refactor vCPU thread starting
66d5163 vmm: cpu: Encapsulate vCPU state into its own struct
ea19bb0 tests: Add a test to check that the boot vs max cpus work
1bbe48b vmm: acpi: Mark non-boot vCPUs as disabled in the MADT table
4bc8635 tests: Use new "--cpus" syntax for integration tests
82bc07c vmm: Add boot and max vCPU handling to command line parser
7543e00 vmm: Use new CpuManager accessor to get boot vCPUs
df09078 vmm: cpu: Introduce concept of maximum vs boot vCPUs in CpuManager
669d9a8 vhost_user_backend: fix memory region offsetting
d378da6 build(deps): bump vcpkg from 0.2.7 to 0.2.8
b1cfdc7 build(deps): bump syn from 1.0.9 to 1.0.11
0f21781 cargo: Bump the kvm and vmm-sys-util crates
ca97385 build(deps): bump libc from 0.2.65 to 0.2.66
f7dace1 build(deps): bump syn from 1.0.8 to 1.0.9
861d902 acpi_tables: aml: Add support for binary operators
f787139 build: Reorder travis build commands to reuse build assets
338beeb misc: Update locations to point to new kernel fork
4de04e8 vfio-pci: unmap regions when dropping VfioGroup
62fa595 cargo: set cloud-hypervisor as default crate
ab16af2 openapi: make context ID vsock int64
9fd5ea4 build(deps): bump signal-hook from 0.1.11 to 0.1.12
d6d1074 build(deps): bump serde_derive from 1.0.102 to 1.0.103
4cff045 build(deps): bump serde_json from 1.0.41 to 1.0.42
0ae9610 build(deps): bump serde from 1.0.102 to 1.0.103
0274b79 build(deps): bump signal-hook-registry from 1.1.1 to 1.2.0
edd59a0 build(deps): bump remain from 0.1.4 to 0.1.5
c718225 build(deps): bump openssl-sys from 0.9.52 to 0.9.53
360f063 Revert "vfio: use correct flags to disable interrupts"
8fe5a43 tests: Only setcap on test binary
f1c7f0c ci: Add integration test for vhost_user_fs daemon
50b0e58 vhost_user_fs: Allow specific shared directory to be specified
ba17758 src: Add vhost-user-fs daemon
5c12802 vhost_user_fs: Add Server structure to consume FileSystem implementation
e1fccc3 vhost_user_fs: Add virtio descriptor helper traits
5f7935f vhost_user_fs: Add file traits to handle writing volatile memory
e33ccb0 vhost_user_fs: Implement FileSystem trait for Passthrough
1b76c0a vhost_user_fs: Add FileSystem trait
1e65bda vhost_user_fs: Add multikey module
cd1684b vhost_user_fs: Add FUSE definitions
03361a6 vhost_user_fs: Add new crate
8845326 vm-virtio: Introduce DescriptorChain iterator
3d6b545 ci: Make the integration test binary run with same caps
ac118c9 ci: Parse the smaps file with Rust
bdb7bcd ci: Add integration test for mergeable memory
f979380 vmm: Mark guest persistent memory pages as mergeable
0f9afc3 vmm: Add mergeable=on|off option to --pmem flag
e4e8062 vmm: Mark guest RAM pages as mergeable
880f62b vmm: Add mergeable=on|off option to --memory flag
0213177 Jenkinsfile: Add timeout for build
d642060 Jenkinsfile: Switch to pipeline (declarative format)
1d852e9 vmm: Provide vmm version to start_vmm_thread
a518651 http: api: implement vmm.ping
348a1bc vmm: cpu: Allocate I/O port for the CPU manager
07cdb37 vmm: cpu & acpi: Query CPU manager for CPU status
5faf8b7 vmm: acpi: Add an _MAT for the CPU devices containing a LAPIC
e51ebe0 acpi_tables: Add support for Buffer objects
1da0ff3 vmm: cpu: Add the CpuManager onto the IO bus
39a1b8f acpi_tables: aml: Add support for calling methods
d5bb078 acpi_tables: aml: Add support for while loops
89f0db2 acpi_tables: aml: Add support for device notification
d6696e1 acpi_tables: aml: Add support for mutexes
3d70ce9 acpi_tables: aml: Add "if" with local variables and arguments
d06623f acpi_tables: aml: Add support for OpRegion
93ee6f5 acpi_tables: aml: Add support for field definitions
4b5ce23 acpi_tables: Add PkgLength variant that does not include itself
50c8335 vmm: device_manager: Expose the SystemAllocator
1ac1231 vmm: Encase CpuManager within an Arc<Mutex<>>
d7dc1a9 pci: don't cleanup msi/msix interrupts repeatedly
66fde24 vfio: use correct flags to disable interrupts
8ec89bc misc: Update to new repository locations
64305da docs: device_model: Fix formatting error
b55d75e docs: Add device model
f0e6184 vmm: device_manager: Use consistent naming when adding devices
a2ee681 vmm: device_manager: Add an MMIO devices creation routine
79b8f8e vmm: device_manager: Add a PCI devices creation routine
5087f63 vmm: device_manager: Add an IOAPIC creation routine
ce1765c vmm: device_manager: Add an ACPI device creation routine
cfca275 vmm: device_manager: Add a legacy devices creation routine
4b469b9 vmm: device_manager: Add a console creation routine
e1281b5 build(deps): bump cast from 0.2.2 to 0.2.3
fa0d573 build(deps): bump arc-swap from 0.4.3 to 0.4.4
d9695a0 docs: fs: Update virtio-fs documentation
4d0872d build(deps): bump vm-memory from `8d6ca35` to `bb29ec8`
c204d54 docs: networking: Fix typo in hyperlink
b930b3f vmm: api: Specify which integers are 64 bit wide
6af2f57 vmm: api: Fix the vm.info response payload
2dcd36f build(deps): bump synstructure from 0.12.2 to 0.12.3
6958ec4 vmm: Move CPU management code to its own module
7b77189 build(deps): bump vm-memory from `366a907` to `8d6ca35`
3dde848 vmm: api: Update our OpenAPI document
96aa244 vmm: http: Convert to micro_http HttpServer
f34ace7 vmm: http_endpoint: Do not sent 200 status code when our body is empty
ede2626 API: HTTP: change response content type to JSON
7498647 cargo: Update micro_http
fa94635 build(deps): bump syn from 1.0.7 to 1.0.8
ff36fa9 vm-virtio: Replace use of deprecated std::mem::uninitialized
3c715da vmm: Fix rustfmt failure by removing extra ";"
73b4668 acpi_tables: Fix rustfmt failure by removing extra ";"
a1a5fe0 vmm: Split CPU management into it's own struct
0319a4a arch: vmm: Move ACPI tables creation to vmm crate
c3eaa41 ci: use the new vhost-user-blk backend for integration tests
ceafd4c vhost_user_backend: remove ownership check in set_features()
5870452 src: add vhost-user-blk backend
3a3dd00 vm-virtio: export block::Request and related funcs/structs
08bebaa vhost_user_backend: move protocol_features to the backend
85e936d vhost_rs: fix VhostUserConfig payload management
2cc723f build(deps): bump blake2b_simd from 0.5.8 to 0.5.9
d1f03ba build(deps): bump pnet_macros from 0.22.0 to 0.23.0
ae5e8c4 build(deps): bump cc from 1.0.46 to 1.0.47
8cd45e4 build(deps): bump synstructure from 0.12.1 to 0.12.2
c999ea6 arch: x86_64: acpi: Add basic processor details
64368a1 acpi_tables: aml: Add support for Method and Return
08d6386 acpi_tables: aml: Add support for strings
5cd4f5d vmm: Release the old vm before build a new one
b3388c3 vmm: device_manager: Ensure I/O ports are allocated
2d25862 build(deps): bump pkg-config from 0.3.16 to 0.3.17
ce386ba tests: Use release build for integration tests
87e9ce6 build(deps): bump num_cpus from 1.10.1 to 1.11.0
5694ac2 vm-virtio: Create new VirtioTransport trait to abstract ioeventfds
3fa5df4 vmm: Unregister old ioeventfds when reprogramming PCI BAR
587a420 cargo: Update to the latest kvm-ioctls version
c7cabc8 vmm: Conditionally update ioeventfds for virtio PCI device
de21c9b pci: Remove ioeventfds() from PciDevice trait
3be95db pci: Remove KVM dependency
296f2e1 ci: Add integration test for PCI BAR reprogramming
d6c68e4 pci: Add error propagation to PCI BAR reprogramming
3e819ac pci: Use a weak reference to the AddressManager
149b61b pci: Detect BAR reprogramming
04a449d pci: Pass DeviceRelocation to PciBus
e93467a vmm: Implement DeviceRelocation trait
4f8054f pci: Store the type of BAR to return correct address
b51a9e1 pci: Make PciBarRegionType implement PartialEq
8746c16 vmm: Create AddressManager to own SystemAllocator
1870eb4 devices: Lock the BtreeMap inside to avoid deadlocks
733e636 devices: Allow for bus range removal and update
e536f88 vfio: Implement move_bar() from PciDevice trait
c865f93 pci: Extend PciDevice trait with move_bar() function
3e37f59 pci: Add new DeviceRelocation trait
5cc1e73 Fix Cargo.lock
05eb567 build: Ensure there is a release build artifact for travis to upload
75bf240 cargo: Move to 0.3.0
be6a197 build(deps): bump serde_derive from 1.0.101 to 1.0.102
f27893f build(deps): bump vm-memory from `8669369` to `366a907`
696f6ca build(deps): bump signal-hook from 0.1.10 to 0.1.11
1f7f484 build(deps): bump serde from 1.0.101 to 1.0.102
4e0b5e8 build(deps): bump syn from 1.0.6 to 1.0.7
c159515 build(deps): bump syn from 1.0.5 to 1.0.6
2633636 build(deps): bump getrandom from 0.1.12 to 0.1.13
7c2c4fb acpi_tables: aml: Rename to_bytes() to to_aml_bytes()
ad60fe1 arch: x86_64: acpi: Mark 64-bit device area uncacheable
025f1f9 arch: x86_64: acpi: Remove 16-bit PCI range
555ac68 arch: x86_64: acpi: Generate DSDT programatically
dd539df acpi_tables: sdt: Add ability to add to the table from a slice
c76fd6d acpi_tables: aml: Implement AML Zero, One, Ones
9269e40 acpi_tables: aml: Add support for device and scope
e1e0ac2 acpi_tables: aml: Add support for creating IO and interrupt resources
08aff4e acpi_tables: aml: Add support for address spaces
c4c3540 acpi_tables: aml: Add resource templates and Memory32Fixed
03d8cdc acpi_tables: aml: Generate EISA name IDs
3cb73b3 acpi_tables: aml: Add Package support
bf0d0d9 acpi_tables: aml: Add support for named definitions
5a70764 acpi_tables: aml: Implement numbers
a4ce596 acpi_tables: aml: Add support for generating AML name paths
1387ac5 ci: Add cargo audit to the travis pipeline
de9eb3e Bump vmm-sys-utils to 0.2.0
dc951af build(deps): bump c2-chacha from 0.2.2 to 0.2.3
3dff551 build(deps): bump ppv-lite86 from 0.2.5 to 0.2.6
4783fe7 build(deps): bump autocfg from 0.1.6 to 0.1.7
e10413b build(deps): bump proc-macro2 from 1.0.5 to 1.0.6
317d754 build(deps): bump ssh2 from 0.4.0 to 0.5.0
eff1ece build(deps): bump openssl-sys from 0.9.51 to 0.9.52
05c7130 ci: Update ClearLinux image
8e8a7b6 release-notes: v0.3.0 release
2d7bfdd build(deps): bump libc from 0.2.64 to 0.2.65
5822969 docs: Update instructions to create custom ClearLinux image
defc339 docs: iommu: Improve VM boot time and performance
efbafdf vm-virtio: Allow 2MiB mappings
2b60452 build(deps): bump backtrace from 0.3.39 to 0.3.40
e8a25c2 build(deps): bump backtrace from 0.3.38 to 0.3.39
b8be1dc build(deps): bump backtrace-sys from 0.1.31 to 0.1.32
8363159 build(deps): bump cc from 1.0.45 to 1.0.46
78e2f7a api: http: handle cpu according to openapi
205b8c1 api: http: make consistent api and implementation
3acf9df vfio: Don't map guest memory for VFIO devices attached to vIOMMU
63c30a6 vmm: Build and set the list of external mappings for VFIO
c65ead5 vm-virtio: Trigger external map/unmap from virtio-iommu
837bcbc vfio: Create VFIO implementation of ExternalDmaMapping
3598e60 vfio: Add a public function to retrive VFIO container
34bb317 vm-device: Add new crate for virtio and VFIO agnostic traits
9085a39 vmm: Attach VFIO devices to IORT table
5fc3f37 vmm: Add iommu=on|off option for --device
3bb51d4 build(deps): bump libc from 0.2.62 to 0.2.64
cc72ed1 vhost_user_net: Propagate errors correctly
8663b42 vhost_user_net: Remove unnecessary checks for unconfigured memory
df336ad vhost_user_net: Remove debugging println! messages
9e78c2e build(deps): bump ryu from 1.0.1 to 1.0.2
786e339 api: http: Fix openpi schema.
90d1083 build(deps): bump syn from 1.0.3 to 1.0.5
5ca068a build(deps): bump proc-macro2 from 1.0.1 to 1.0.5
2a0ba7a vmm: vm: Add state validation unit test
097b306 vmm: vm: Verify that state transitions are valid
ef090cf build(deps): bump ryu from 1.0.0 to 1.0.1
db3ece8 build(deps): bump failure from 0.1.5 to 0.1.6
af41d6f main: Add VM pause/resume test
d2d3abb vmm: Rename Booted vm state to Running
dbbd04a vmm: Implement VM resume
4ac0cb9 vmm: Implement VM pause
80c3fd9 ci: Allow enough time for L2 VM to boot
37a7000 ci: Make sure VFIO test don't conflict with Azure private IP
6e9e24e ci: Extend virtio-iommu integration test
1fc8ee9 ci: Remove QEMU dependency for nested VFIO test
cb59f82 scripts: Use virtio-fs-virtio-iommu branch as custom kernel
688ec0e resources: Update kernel config
8e018d6 vfio: Move vfio-bindings to crates.io
c446b9d Cargo: Move virtio-bindings to crates.io
6df7cd0 build(deps): bump openssl-sys from 0.9.50 to 0.9.51
3a04db5 build(deps): bump arrayvec from 0.4.11 to 0.4.12
ad7d02c build(deps): bump nodrop from 0.1.13 to 0.1.14
1298b50 vmm: Manage the exit and reset behaviours from the control loop
a95fa1c vmm: api: Add a VMM shutdown command
228adeb vmm: Unreference the VM when shutting down
14eb071 Cargo: Move to crates.io vmm-sys-util
5652cc7 README: Remove wrong statement about the firmware
2c50c96 docs: Explain how to use the virtual IOMMU
46848fd ci: Add integration test for virtio-iommu
b918220 vmm: Support virtio-pci devices attached to a virtual IOMMU
278ab05 vmm: Add iommu=on|off option for --vsock
32d07e4 vmm: Add iommu=on|off option for --console
63869bd vmm: Add iommu=on|off option for --pmem
fb47693 vmm: Add iommu=on|off option for --rng
20c4ed8 vmm: Add iommu=on|off option for --net
4b8d7e7 vmm: Add iommu=on|off option for --disk
6e0aa56 vmm: Add iommu field to the VmConfig
03352f4 arch: Create ACPI IORT table
f40adff vm-virtio: Add virtio-iommu support
0acb1e3 vm-virtio: Translate addresses for devices attached to IOMMU
6566c73 vm-virtio: Add IOMMU support to virtio-vsock
9ab00dc vm-virtio: Add IOMMU support to virtio-rng
ee1899c vm-virtio: Add IOMMU support to virtio-pmem
392f1ec vm-virtio: Add IOMMU support to virtio-console
9fad680 vm-virtio: Add IOMMU support to virtio-net
9ebb1a5 vm-virtio: Add IOMMU support to virtio-blk
85e1865 vm-virtio: Implement reset() for vhost-user-fs
4b1328a vm-virtio: Implement reset() for vhost-user-net
8225d4c vm-virtio: Implement reset() for virtio-console
dac7737 vm-virtio: Implement reset() for virtio-vsock
3e750de vm-virtio: Implement reset() for virtio-pmem
eb91bc8 vm-virtio: Implement reset() for virtio-rng
59b4aab vm-virtio: Implement reset() for virtio-net
8288cb2 micro_http: Use Firecracker version
2a46613 vmm: api: Set the HTTP response header Server field
fc5c210 micro_http: Set the response headers Server value
8dbb16d main: Add a simple HTTP API integration test
7abbad0 vmm: Be more idiomatic when calling into the VMM API
7328ecd vmm: Implement the /api/v1/vm.delete endpoint
f9daf2e vmm: Factorize the vm boot and shutdown code
43b3642 vmm: Clean Error handling up
4275824 vmm: Implement the /api/v1/vm.info endpoint
27af983 vmm: Track the VM state
b703441 vmm: Handle the missing VM error
7e0cb07 vmm: Only build a new VM when booting it
9a93f4f micro_http: Fix clippy warning
c505cfa vmm: Implement the VM HTTP endpoint handlers
8a5e47f vmm: Implement the shutdown and reboot API
46cde1a vmm: Rename the VM start and stop operations to boot and shutdown
ce0b475 vmm: Move the VM creation and startup helpers to the api module
f674019 vmm: {De}serialize VmConfig
f2de4d0 vmm: config: Make the cmdline config serializable
6a722e5 vmm: config: Make VhostUser configs serializable
aa31748 vmm: Start the HTTP server thread
b14fd37 vmm: Make --kernel optional
f27aa21 main: Add API socket option
fe5561d main: Group cli options logically
2371325 vmm: api: Add HTTP server
e50f441 micro_http: Import Firecracker HTTP 1.x implementation
8916dad vmm: api: Add cloud-hypervisor OpenAPI documentation
1b66a2f build(deps): bump serde_json from 1.0.40 to 1.0.41
8ea4145 devices, vmm: Add legacy CMOS device
47367eb build(deps): bump openssl-sys from 0.9.49 to 0.9.50
df3e5c8 tests: Add support for integration testing Ubuntu "eoan"
8ec6cda ci: Do not look for vubridge to decide if qemu must be built
8c33eb3 src: Add integration test for vhost-user-net backend
f6d1a9d src: Add vhost-user-net backend
d724511 vm-virtio: Add set_protocol_features in vhost-user-net
9ff4206 vhost_user_backend: Fix clippy issues
db15181 Cargo.toml: Add workspace config changes
9356af8 arch: Mark the PCI MMCONFIG region as reserved in the E820 tables
6a4a931 arch: acpi: Reserve the PCI MMCONFIG region
038f198 arch: acpi: Fix off-by-one error in size of PCI device region
833a3d4 pci, vmm: Expose the PCI bus for configuration via MMIO
c0ca3b6 arch: acpi, layout: Correctly calculate and expose PCI MMCONFIG area
a9eb352 arch: acpi: Patch the 32-bit PCI device area in the APCI table
09392f0 vhost_user_backend: Fix remaining issues
527dd68 vhost_user_backend: Update vmm_va_to_gpa with adding offset
4a1af7f vhost-user-backend: Correct error handling in run
c430951 vhost-user-backend: Remove one checking from set_features
347611b vhost_user_backend: Pass a backend that can be modified
f14ab87 vhost_user_backend: Give access to the EpollVringHandler
cfc8c39 vhost_user_backend: Provide some default trait implementations
1aab372 vhost_user_backend: Make the backend a server
c1b26b1 vhost_user_backend: Don't process disabled queues
d80ac43 vhost_user_backend: Remove useless started field
5f07692 vhost_user_backend: Allow for proper error propagation
36de390 vhost_user_backend: Make some trait functions as mutable
d4f7f73 vhost_user_backend: Move to a per-queue RwLock
4ed8189 vhost_user_backend: Replace Mutex with RwLock when possible
2e2cad9 vhost_user_backend: Add new crate
b5ee921 vmm, devices: Use APIC address constant
162791b vmm, arch: Use IOAPIC constants from layout in DeviceManager
8207b2e arch: Move addresses for GDT and IDT tables to layout module
a045516 vmm: Use layout constant for kernel command line
1bc4750 arch: Move initial page table addresses to layout module
5ba61f6 arch: Move address of MPTABLE to layout module
6d6e290 arch: Move APIC and IOAPIC addresses into layout
0e7a1fc arch, vmm: Start documenting major regions of RAM and reserved memory
f63cb85 net_util: Implement fmt::Display for MacAddr
ff1cb11 arch: Use if-let notation
df2516f vhost_rs: Add clippy override
2ae3919 vm-virtio: Fix formatting
8188074 main: Start the VMM thread
e235c6d vmm: Add VM creation and startup helpers
151f96e vmm: Add a VMM thread startup routine
2f1ff23 vmm: (Re-)Introduce a VMM structure
4671a58 vmm: Move the EpollContext implementation to lib
03ab683 vmm: Introduce Cloud Hypervisor IPC
6710a39 vmm: Pass the exit and reset fds to the vm creation method
feb1c33 vmm: Add a VM config getter
47167a6 vmm: Add a VM console handling method
ea7abc6 vmm: Add a VM stop method
e6ef9ec vmm: Move the tty setting to the VM start routine
2e9d815 vmm: Use a reference counted VmConfig when creating a new VM
2e0f1c2 README: Update Slack invitation link
e869283 build(deps): bump cfg-if from 0.1.9 to 0.1.10
bdfd1a3 vmm: Remove the Vmm structure
9c5135d vmm: Simplify the VM start flow
b79c1f7 vmm: Derive the clone trait for VmConfig
acc60b0 vmm: Make VsockConfig owned
3dc7aff vmm: Make vhost-user configuration owned
5f8a62f vmm: Make DeviceConfig owned
3613723 vmm: Make ConsoleConfig owned
79a02f9 vmm: Make PmemConfig owned
00674cd vmm: Make FsConfig owned
5323da0 vmm: Make RngConfig owned
0688bec vmm: Make NetConfig owned
675e463 vmm: Make DiskConfig owned
036890e vmm: Make KernelConfig owned
9c5bfb8 vmm: Make MemoryConfig owned
dbff0e9 build(deps): bump backtrace from 0.3.37 to 0.3.38
0c8f9d2 ci: Boot from vhost-user-blk with hypervisor-fw
f06b2aa vm-virtio: vhost-user: Set the right vring size
a2f3da3 build(deps): bump arc-swap from 0.4.2 to 0.4.3
2cd406b vm-virtio: Fix virtio-pci BAR type
29b3848 ci: Add a test to validate the VM can be booted from vhost-user-blk
d723b7d vm-virtio: vhost-user-blk: Add support for reset
0a229ef ci: Extend vhost-user-blk test to validate the content
6b06cec ci: add test case for vhost-user-blk
360980d vhost-user-blk: enable write_config for WCE
39083d7 vhost-user-blk: make read_config work
a949ab2 main: add arguments entry for vhost-user-blk
4164853 vmm: add vhost-user-blk support
c7559bb config: make error definition common
397d388 vm-virtio: Add vhost-user-blk implementation
b232de9 vhost_rs: Add INFLIGHT_SHMFD protocol feature
927148d vhost_rs: Fix GET_CONFIG command
c347f84 Revert "vhost_rs: add config messge support"
0a0c735 virtio-bindings: Rely on the upstream crate from rust-vmm
5f0337c tests: Add a "huge" memory test
b488d48 arch: x86_64: Fix E820 table for RAM
5b3ca78 vmm: Use the full host physical address range
180e6d1 vm-virtio: Allocate BARs for virtio-block devices in 32-bit hole
f0360c9 arch: acpi: Set the upper device range based on RAM levels
f9b0875 arch: acpi: Correct range for the 32-bit device hole
bf4f3db build(deps): bump vmm-sys-util from `07ef2e2` to `27e7ff1`
eb60106 arch: acpi: Correct starting length of MCFG table
67ef4f0 build(deps): bump linux-loader from `b270081` to `6cf23a8`
f622a76 build: Build test all supported build configurations on Travis
3bc11a4 vmm: Make the "mmio" only build generate no errors
4df5ebe vmm: Add devices to IO/MMIO bus closer to creation
0739c2c vm-virtio: Fix compilation warning from "mmio" feature only build
7358144 vmm: Cleanup warning from "pci" feature only build
3567206 build, tests: Update to ssh2 0.4.0
ea7f4d7 build(deps): bump serde from 1.0.100 to 1.0.101
c0fede0 build(deps): bump libssh2-sys from 0.2.11 to 0.2.12
1097afb tests: Run MMIO supported integration tests
ccb8328 tests: Add integration testing for MMIO based virtio
3ad4b84 tests: Remove unused "kernel_path" variable
1099f07 vmm: Add MMIO support
26974c7 vm-virtio: Add MMIO transport
c042483 build: make PCI (virtio and vfio) disableable at build time
6d27ac9 vmm: Allow the DeviceManager to inject extra kernel commandline entries
3df1680 devices: Require Interrupt trait implementations to support Sync
f5a44ea docs: Explain how to create a custom Clear Linux cloud image
e950aa6 ci: Reduce integration testing time
05b5115 vmm: Call DeviceManager's register_devices() on creation
7edc46f vmm: Make virtio device creation independent of PCI
7c6ef7f ci: Add integration test for virtio-vsock
bf37b96 ci: Rely on custom Clear Linux cloud image
4d86359 ci: Install socat on the host VM
5e5c2f2 ci: Allow tests to print some useful information with println
a9b2207 ci: Allow threads to send ssh commands
40fc6c3 README: Update rust-hypervisor-firmware link
389f9e3 tests: Check that the test binary cleanly terminated
8f37dec vmm: "close" the SIGWINCH signal handler
c00b58d build(deps): bump pkg-config from 0.3.15 to 0.3.16
5f752da build(deps): bump serde from 1.0.99 to 1.0.100
8e7d67f build(deps): bump vmm-sys-util from `8703cfd` to `07ef2e2`
b515d48 build(deps): bump cc from 1.0.42 to 1.0.45
eb46aa2 vmm: If acpi feature is disabled make "reboot" shutdown
7975394 vm-virtio: vsock: Port unit testing from Firecracker
5a34728 vm-virtio: vsock: Implement VsockEpollHandler
475e487 vmm: Create vsock backend
434a5d0 vm-virtio: vsock: Port submodule unix from Firecracker
df61a8f vm-virtio: vsock: Port submodule csm and packet from Firecracker
22f91ab vm-virtio: Move vsock to its own module
4ccc81f vmm: Create virtio-vsock device
11e7ece vmm: Add new flag "--vsock"
c48ca61 vm-virtio: Add virtio-vsock skeleton
69e2728 vmm: Allocate enough MSI-X vectors for multiqueue virtio devices
d2db34e vmm: Hide underlying console setup from VM
d089ee4 vmm: Move ownership of the exit/reset EventFd to Vm structure
2f4de81 vmm: Access ioapic/io_bus/mmio_bus from DeviceManager via accessor
9ac967e vmm: Split DeviceManager into it's own file
f740a35 build(deps): bump getrandom from 0.1.11 to 0.1.12
e21bc97 build(deps): bump vmm-sys-util from `fd4dcd1` to `8703cfd`
d446a82 build(deps): bump blake2b_simd from 0.5.7 to 0.5.8
2432ad0 build(deps): bump cc from 1.0.41 to 1.0.42
9661e8d build: Really make the acpi feature disableable
7688e6e release-notes: Add table of contents
d784ac2 release-notes: Add v0.2.0 notes
8c2a9a7 vm-virtio: Update backend feature set for vhost-user-net
b8622b5 vm-virtio: Address event count error and refactor data setting
fe9398f scripts: Fix integration tests script
1f06c59 Revert "vmm, tests: Disable reboot support"
5dd6757 vmm: Call munmap() on regions that have been mmap()ed
037807f build(deps): bump backtrace from 0.3.36 to 0.3.37
47ca277 build(deps): bump backtrace from 0.3.35 to 0.3.36
f59cad1 vmm: Cleanup signal_handler thread used for console SIGWINCH handling
7ce0db9 build(deps): bump regex-syntax from 0.6.11 to 0.6.12
9e764fc vmm, arch, devices: Put ACPI support behind a default feature
bb2e7bb vmm: Shutdown vCPU threads
40f9da5 tests: Add a basic direct boot test with acpi=off
8308e1b vmm, tests: Disable reboot support
ad128bf vmm: Give vCPU and signal handler thread useful names
7205700 tests: Add integration testing for VM reboot
3af5619 tests: Use shutdown rather than reboot to shutdown the VMs
614eb68 vm: Make triple-fault and i8042 reset reboot the VM
5a187ee x86_64/devices: acpi: Add support for ACPI shutdown & reboot
ae66a44 vmm: Support both reset and shutdown
ebe8edd devices: i8042: Use error! macro
011496b arch: acpi: Fix legacy interrupt for serial device
2610f43 arch: acpi: Only add ACPI COM1 device if serial is turned on
15387cd arch: x86_64: acpi: Add DSDT table entries for PCI and COM1
638bf03 arch: x86_64: acpi: Generate MCFG table
451502b vm: If a VCPU thread errors out then exit the hypervisor
98f81c3 arch: x86_64: acpi: Generate MADT aka APIC table
ee83c2d arch: x86_64: Generate basic ACPI tables
eea6f1d acpi_tables: Add initial ACPI tables support
3e99098 vhost_rs: add config messge support
e05de45 vhost_rs: The vhost user version we support
6fb7c3b vhost_rs: remove config space offset setting
a44a903 vhost_rs: Change get_config()/set_config()
b4187a1 vhost_rs: Change the VhostUserConfigFlags
8718043 cloud-hypervisor: Bump vmm-sys-util crate version
add0471 vfio: Use the log crate macros
772191b vm-virtio: vhost-user: Rely on acked features to setup backend
97699a5 vm-virtio: vhost-user: Vring should be enabled after initialization
a4ebcf4 vm-virtio: vhost-user-net: Map proper error when getting features
cdfe576 vm-virtio: vhost-user-net: Set the right set of features
bc42420 vm-virtio: Expand vhost-user handler to be reused from virtio-fs
b7d3ad9 vm-virtio: fs: Factorize vhost-user setup
56cad00 vm-virtio: Move fs.rs to vhost_user module
cc7a96e main: Add integration test
f21d54f main: Add arguments entry for vhost-user-net
584a2cc vmm: Add vhost-user-net support
633f51a vm-virtio: Add vhost-user-net implementation
5130655 vmm: Add hugetlbfs handling support
ce60ff1 build(deps): bump vmm-sys-util from `a0b3893` to `829d605`
3dd3290 build(deps): bump vmm-sys-util from `2177381` to `a0b3893`
b2f85cb vhost_rs: Wait for full request to be satisfied
18a8bb0 build(deps): bump vmm-sys-util from `7222869` to `2177381`
151637b build(deps): bump cc from 1.0.40 to 1.0.41
c316c16 build(deps): bump vm-memory from `1635f25` to `8669369`
808fcaa build(deps): bump lazy_static from 1.3.0 to 1.4.0
bc87c9f build(deps): bump kvm-ioctls from `37669f6` to `30adb02`
66a7a94 build(deps): bump getrandom from 0.1.10 to 0.1.11
dfb18ef net: Make TAP registration functions immutable
0b8856d vmm: Add RwLock to the GuestMemoryMmap
ec0b556 vmm: Share the guest memory instead of cloning it
f4d41d6 virtio: net: Remove TAP fd from epoll when no available descriptors
582fc7f build(deps): bump constant_time_eq from 0.1.3 to 0.1.4
44d8ab0 vm-virtio: Remove unused dependency from unit tests
5f52dd2 net_util: Fix clippy error
aface5b build(deps): bump unicode-width from 0.1.5 to 0.1.6
dc31db4 ci: Fix virtio-fs tests
b528e99 build(deps): bump backtrace from 0.3.34 to 0.3.35
e841799 build(deps): bump blake2b_simd from 0.5.6 to 0.5.7
1d9ad9e build(deps): bump autocfg from 0.1.5 to 0.1.6
26a210a arch: x86_64: Fix EBDA adddress
55f01b2 build(deps): bump remain from 0.1.3 to 0.1.4
49a129f build(deps): bump serde from 1.0.98 to 1.0.99
1c23a09 build(deps): bump getrandom from 0.1.9 to 0.1.10
f0082fe tests: Make panics generate a backtrace
8b78e12 tests: Use newgrp to run unit tests
f5a6e3c build: Drop vendor directory from rustfmt command
d6e3b70 tests: Rename virtiofsd build path
71154d8 tests: Use "-f" on directory rm commands
7245cf7 build(deps): bump rust-argon2 from 0.5.0 to 0.5.1
7adb9d5 build(deps): bump libc from 0.2.61 to 0.2.62
760791a build(deps): bump openssl-sys from 0.9.48 to 0.9.49
7b718f3 build(deps): bump vmm-sys-util from `5f8c251` to `7222869`
08ed88c tests: Remove potential sources of nested panics
ab6a8f1 tests: Fix virtio-fs with dax=off integration test
567eda4 tests: Retrieve the bionic image from the Azure storage bucket
0affdd0 docs: Add networking HOWTO
658c076 linters: Fix clippy issues
c836417 docs: Add debug I/O port HOWTO
c52e276 vmm: Log debug ioport timestamps
48a9300 vmm: Log 0x80 IO port writes
10abfd4 build(deps): bump vmm-sys-util from `54e256b` to `5f8c251`
6678cbf build(deps): bump getrandom from 0.1.8 to 0.1.9
513d2fd arch: x86_64: Update linux-loader crate
76e3a30 pci: Simplify PciDevice trait
0d53a58 build(deps): bump rustc-demangle from 0.1.15 to 0.1.16
b3c809a tests: Fix virtio-pmem
af9a72e tests: Add virtio-fs tests with dax=on and dax=off
2e0508c vm-virtio: fs: Add DAX shared region support
3c29c47 vmm: Create shared memory region for virtio-fs
74225ab config: Add option dax and cache_size to virtio-fs
f30ba06 vm-virtio: Allocate shared memory regions on dedicated BAR
e0fda06 vm-virtio: Remove virtio-pci dependency from VirtioDevice
e2b38cc vm-virtio: Extend VirtioDevice trait to retrieve shared memory regions
d97079d vm-virtio: Update VirtioPciCap and introduce VirtioPciCap64
d180deb vm-virtio: pci: Fix PCI capability length
c6feb03 vhost_rs: Allow MasterReqHandler to reply when needed
ef2e8b6 tests: Update virtio-fs mount command
3645bf8 tests: Build virtiofsd from specific branch
021e8d9 tests: Move to new kernel 5.3-rc3
4b3fd90 build(deps): bump cc from 1.0.38 to 1.0.40
bc5b72f build(deps): bump libc from 0.2.60 to 0.2.61
6c06420 vm-virtio: net: Fix out-of-range slice panic when under load
b608671 build(deps): bump syn from 0.15.43 to 0.15.44
97c9648 build(deps): bump arc-swap from 0.4.1 to 0.4.2
df5058e vm-virtio: Implement console size config feature
d9a355f vmm: Add new "null" serial/console output mode
f910476 vmm: Only send stdin input to serial/console if it can handle it
aa44726 vm-virtio: Don't trigger an MSI-X interrupt if not enabled
c0e2bbb pci: Add MSI-X helper to check if interrupts are enabled
4c9759e build(deps): bump syn from 0.15.42 to 0.15.43
b7ed71b build(deps): bump vmm-sys-util from `9014b7a` to `54e256b`
8fcaf91 build(deps): bump redox_users from 0.3.0 to 0.3.1
87195c9 pci: Fix vector control read/write from/to MSI-X table
fca911e main: Add logging support controlled by command line
91ce39e tests: Ensure that the test pipeline fails
6cc3e88 build(deps): bump getrandom from 0.1.7 to 0.1.8
d1cd3c8 build(deps): bump vmm-sys-util from `c0bbae5` to `9014b7a`
91c7f27 build(deps): bump utf8-ranges from 1.0.3 to 1.0.4
87f148c build(deps): bump regex-syntax from 0.6.10 to 0.6.11
778c60f build(deps): bump vmm-sys-util from `71b5b25` to `c0bbae5`
846505d pci: Fix add_capability unit test
9caad73 build, misc: Bump vmm-sys-util dependency
ac950d9 build: Bulk update dependencies
a1f408a qcow: bounds check the refcount table offset and size
dfd44a6 qcow: Add a zero_cluster method to raw file
7d6bf75 qcow: limit the size of a qcow file
20f8d8d qcow: Avoid overflow when taking ceiling of division
4ba1d22 qcow: disallow crazy l1 table sizes
bd612b6 qcow: Fix invalid_cluster_bits test
b713737 qcow: Limit file setups that consume excessive RAM
35a3b47 qcow: Calculate the max refcounts as a u64
f927d1a qcow: better limits on cluster size
0c95476 build(deps): bump vm-memory from `4c329f4` to `1635f25`
6abd50f build(deps): bump clap from 2.27.1 to 2.33.0
c7f8498 build(deps): bump log from 0.4.6 to 0.4.8
8a7cfe8 build(deps): bump dirs from 2.0.1 to 2.0.2
49ef201 vfio: pci: Provide the right MSI-X table offset
a548a01 pci: Fix MSI-X table and PBA offsets
baec276 vm-virtio: Don't break from epoll loop on EINTR
1a484a8 vmm: Don't break from epoll loop on EINTR
532f6a9 vmm: Factorize VM related information into a structure
c0756c4 vmm: Increase memory slot from virtio-pmem
8c4c162 arch: x86_64: Set MTRR default memory type as WB
d526844 tests: Add Ubuntu Bionic version of test_simple_launch
facc3b3 tests: Add Bionic to integration test script
09aced9 tests: Use logical name for disk paths
56c4b70 tests: Refactor integration tests to support different distributions
d18c8d4 vfio: pci: Add support for expansion ROM BAR
d217089 pci: Add support for expansion ROM BAR
347f8a0 vfio: pci: Mask multi function device bit
b6ae2cc pci: Disable multiple functions
f86b9dd scripts: Add Ubuntu cloud-init data
be199e5 tests: Move Clear Linux cloud-init files to subdirectory
98d7955 vm-virtio: Add support for notifying about virtio config update
93b7753 release-notes: Add v0.1.0 notes
fa41ddd arch: Add a Reserved memory region to the memory hole
299d887 arch: Add SubRegion memory type
792cc27 vfio: Propagate the KVM routes setting error
421b896 vfio: Don't expose an Interrupt Pin
2f80288 vfio: Disable the ROM expansion BAR
e180521 vfio: Fix Memory BAR alignment
d92d797 vfio: Update memory slot index to support multiple VFIO devices
b9f677c vmm: Fix the memory slot index
b5eab43 vfio: Create a global KVM VFIO device for all VFIO devices
0ff074d vm-allocator: Fix potential allocation errors
927861c pci: Fix end of address space check
1971c94 tests: Adjust down entropy expectation
ebe04f6 tests: Use custom kernel for all tests
3cc6f48 docs: Add VFIO usage example
46eaea1 README: Fix kernel command line console argument
1f6f522 build: Upload release binary on tag
5ae3144 tests: Add VFIO integration test
4d16ca8 vmm: Support direct device assignment
b746dd7 vfio: Map MMIO regions into the guest
c93d536 vfio: pci: Build the KVM routes
20f0116 vfio: pci: Track MSI and MSI-X capabilities
db5b476 vfio: Initial PCI support
2cec3aa vfio: VFIO API wrappers and helpers
5372554 vfio-bindings: Initial commit
4e48309 vm: Factorize all virtio devices creation routines
8ba54af vm-virtio: Add integration test for virtio console device
24438e0 vm-virtio:  Enable the vmm support for virtio-console
577d44c vm-virtio: Add virtio console device for single port operation
f98a69f vm-allocator: Introduce an MMIO hole address allocator
a761b82 vm-allocator: Fix the aligned address check
7091488 vm-allocator: Fix free range allocation
0a04a95 vm-allocator: Expand the IRQ allocation API to support GSI
96fb38a vm-allocator: Align address at allocation time
af7cd74 vm-allocator: Make port IO non optional
1268165 pci: Allow for registering IO and Memory BAR
b157181 pci: Fix the way PCI configuration registers are being written
185b108 pci: Add a helper to set the BAR type
ee39e46 pci: Add MSI capability structure
72007f0 pci: Improve MSI-X code to let VFIO rely on it
2987895 pci: Implement the From trait for the PciCapabilityID structure
3f02cca qcow: Add support for QCOW v2 header
6f65f34 build: Ensure caps needed for unit test are set
998140f tests: Remove single test limit
492ab7a build: Use tmpfs for /tmp
80f3311 tests: Use incrementing IP and mac address for VMs
93c2099 tests: Abstract guest management under a struct
eab639e tests: Support customising the cloud-init network details
e9f0174 tests: Create cloud-init image from source files in tests
0776d9d tests: Sleep more in order to speed up tests
7ebfe90 tests: Use a temporary directory for the temporary test files
78fe807 build: Run unit tests on the Jenkins server
1dfe16c vhost_rs: vhost_user: Update unit tests
7499210 vm-virtio: net: Remove attributes for test exclusions
af15ce9 vm-virtio: Update test activate() function
a50c546 qcow: Make unit tests pass
9a17871 pci: Make unit tests compile
74d079f pci: Mark add_capability test as #[ignore] as it is currently failing
18d5286 arch: x86_64: Make unit tests pass
224f775 devices: serial: Make the serial unit tests pass
9e372a8 net_util: Bump pnet dependency
cb81f8b vmm: Make serial port controllable via command line
00df79a README: Really fix the memory parameters examples
bc742d6 main: Add a PCI bridge class integration test
2b2c31d pci: Use device PCI header type for our root bridge
d6d9b76 README: Fix the memory parameter examples
7ed0738 config: Fix default memory size parameter
d9ce291 vmm: Flag --disk should be optional
f0a76ad vmm: Add support for multiple virtio-net devices
a2947f9 cli: Accept K,M,G suffixes for size parameters
2bb0b22 pci: Refine pci topology
4605ecf pci: Extend the Device trait to carry the device BARs
8173e1c devices: Extend the Bus trait to carry the device range base
42e5458 devices: bus: Return the range base address when resolving
33796c4 devices: bus: Sync with crosvm code
4a15316 vm-virtio: Fix the network and storage PCI class and sub-class
77684f4 vm-virtio: Implement the u32 to VirtioDeviceType conversion
0b7fb42 pci: Export network and mass storage sub classes
49d6b49 vmm: Remove println! from debugging
34e0992 vmm: Add support for multiple virtio-pmem devices
785db62 test: Add virtio-pmem integration tests
294c26b vmm: Add virtio-pmem support to cloud-hypervisor
8862d61 vm-virtio: Add virtio-pmem implementation
c0336e8 docs: Add virtio-fs documentation
1cb2378 vmm: Add support for multiple virtio-fs devices
0fcca3e tests: Add virtio-fs testing
53085c7 memory: Allow memory to be backed by a file
2ede30b vmm: Add virtio-fs support to the VMM
1ddc8f2 vm-virtio: Add vhost-user-fs support
8f70771 vhost_rs: Copy vhost crate from jiangliu/v1
8dc06aa vm-virtio: Remove unneeded code
30266a4 vm-memory usage: vm-memory latest codes rename MmapError to Error
9da2343 device: Improvement for BusDevice trait and PciDevice trait
5f7d520 tests: Add split_irqchip test
5e803ab vmm: Integrate userspace IOAPIC
950bd20 devices: Add userspace IOAPIC implementation
c8c4a4d devices: Create Interrupt trait to abstract interrupt delivery
2a7fbe8 CI: Fix the Ubuntu VM update stuck on an interactive window
fe43e86 README: Use a permanent Slack invite link
c4c8b93 build: Switch over to using rust-vmm linux-loader crate
226d336 tests: Add direct boot test using bzImage
429b53a vmm: Add bzimage loader support
0f54429 vmm: Move all the CPUID related code to CpuidPatch
a0f4376 vmm: Set the APIC ID in the extended topology
0d0d19e vmm: Enable TSC_DEADLINE_TIMER allows for PIT emulation removal
946a5d4 build: Update Cargo.lock for syn crate update
72f3a69 tests: Add test for booting from vmlinux
445b484 fixup! resources: Shrink 5.0 kernel config
a45f473 tests: Loosen memory check requirements
52ce042 tests: Bump the Clear Linux version
fa0f1c8 resources: Shrink 5.0 kernel config
24dbe70 irq: Fix pin based interrupt for virtio-pci
4be3dfe build: Update Cargo.lock for linux-loader crate update
4d98dcb msix: Handle MSI-X device masking
d810c77 msix: Handle MSI-X vector masking
42378ca vm-virtio: Fix alignment and MSI-X table size on the BAR
edd1279 pci: Allow QWORD read and write to MSI-X table
00cdbbc pci: Make MSI-X PBA read only
bbd0f5e build: Update Cargo.lock for linux-loader crate update
b0a575d tests: Add a test for PCI MSI
47a4065 interrupt: Use a single closure to describe pin based and MSI-X
8df05b7 vmm: Add MSI-X support to virtio-pci devices
13a065d dep: Rely on latest kvm-ioctls crate
4b53dc4 pci: Add MSI-X implementation
d3c7b45 interrupt: Make IRQ delivery generic
1f53488 tests: Switch to launching by command
ddce3df tests: Add basic integration testing
f63d4a7 vm: Disable stdin and terminal reconfiguration when headless
425841a vm: Do not explictly exit on reset
74a21f2 vendor: Remove vendoring
842515c vendor: Add vmm-sys-util duplicate
89fc75d docs: Initial vendoring documentation
a6b7715 vendor: Move to the rust-vmm vmm-sys-util package
d5f5648 vendor: Add vendored dependencies
e3f7bc2 build: Update Cargo.lock to reflect changed dependencies
8370a5b vmm: Repair the port IO memory alignment
e5e6518 config: Reorganize command line parsing
9900daa README: Update for new --disk usage
a09f918 main, vmm: Add support for multiple --disk options
5279042 vm-allocator: Force documenting all public APIs
9f24775 vm-allocator: Allow for freeing system resources
4b451b0 vm-allocator: Allow for freeing address ranges
8bb71fa vmm: Simplify the vcpu run switch
6615d55 Revert "main: Fix --net behavior"
8e9e760 main: Fix --net behavior
e52132c main: refactored parameter parsing CONTRIBUTING.md: removed a space to suport markdown linking
9299502 cloud-hypervisor: Switch to crates.io kvm-ioctls
0d81937 README: Add travis build status badge
c1f1fe7 vm: Propagate errors appropriately
6ecdd98 virtio: Enable qcow support for virtio-block
919226f cloud-hypervisor: Add README
b60ef22 cloud-hypervisor: Add CREDITS
bcd562e cloud-hypervisor: Add a contributing guide
4daf999 cloud-hypervisor: Add initial list of maintainers
929b343 cloud-hypervisor: Adopt the Contributor Covenant code of conduct
adb0abf main: Make supplying the commandline optional
2c94529 vmm: Propagate boot_kernel errors properly
43965ed main: Improve guest setting log format
fe99c29 vm-virtio: Remove useless PCI BAR debug log
83dadb8 vmm: Remove useless memory setting log
3f38b42 vmm: Fix the Error enum comment
cacce5f vmm: Use random local MAC address as the default one
576a28a net_util: Add helper for generating a random local MAC
5934f30 vmm: Add support for letting the VMM create the TAP interface
0c4c330 cloud-hypervisor: Switch to the linux-loader pending PR branch
ac328df cloud-hypervisor: Switch to the vmm-sys-util pending PR branch
8e7579b vm-virtio: Add virtio-rng implementation
97865b6 vmm: Provide a common method to build a virtio PCI device
c0be664 vmm: Leverage virtio-net to provide connectivity
53f5295 network: Add virtio-net dependencies
6d27cfb vm-virtio: Create virtio-net device
1d450c5 gitignore: Don't track Cargo.lock files
513e4ff gitignore: Don't track rusty-tags.vi files
4b58eb4 pci: configuration: Fix rustfmt issue
ce1d90c devices: legacy: Fix rustfmt issue
a0bbcef cloud-hypervisor: Recursively run rustfmt
a9ed8fa resources: Add a 5.0 kernel config
81875f5 cloud-hypervisor: Add basic Travis based CI
1151b07 vm-virtio: block: Add support for resetting a block device
3b2faa9 vm-virtio: Reset underlying device on driver request
040ea54 cloud-hypervisor: Add proper licensing
8f05773 vmm: Fix build warning
5c9fc81 serial: Set terminal in raw mode
112418d main: Add kernel command line support
1270d09 cloud-hypervisor: Add --disk option to provide VM rootfs
b67e0b3 vmm: Use virtio-blk to support booting from disk image
65f96e4 virtio: Add virtio-blk implementation
80ac3a8 qcow: Add qcow support
c2c51dc vm-virtio: Add PCI transport support
8246434 vm-virtio: Initial crate
c780bc7 virtio-bindings: Add virtio bindgen generated bindings
2a539ab vmm: Expose Hypervisor CPUID bit
0adc348 vmm: Add PCI root
e8308dd pci: Add minimal PCI host emulation crate
fa3951d devices: Add PCI configuration registers method to the BusDevice Trait
db7937d allocator: Add a basic resource allocation crate
342bdc3 devices: Add support for i8042 reset device
29b90a8 vmm: Create and handle an exit event
afbf824 vmm: Handle stdin from a generic epoll loop
a7bdf5e vmm: Register an irqfd for our serial device
c6c5e10 vmm: Add a basic stdin loop
0b6ec34 vmm: Retry running a CPU when getting EAGAIN or EINTR from the run ioctl
25f4063 cloud-hypervisor: Add the --memory option
59b5e53 cloud-hypervisor: Add the --cpus option
1853b35 cloud-hypervisor: Add devices crate
7e2d1ac vmm: Boot kernel
044f664 vmm: Set CPUID
0921cfb vmm: Basic Vcpu implementation
539367b cloud-hypervisor: Initial kernel booting implementation
b56b4ca cloud-hypervisor: Add the architecture crates
a0da3de cloud-hypervisor: Call into the test_vm() routine
16f2bed cloud-hypervisor: Add a vmm crate
2ed17ab cloud-hypervisor: Application handling
73337c8 cloud-hypervisor: Initial commit
0f28074 README: Placeholder to create a usable initial repo

Fixes: #2444

Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
2020-02-07 19:18:51 +00:00
Jose Carlos Venegas Munoz
b444393c31 Merge pull request #2379 from Pennyzct/FC_v0.20.0
FC: Update Firecracker to v0.20.0
2020-02-07 10:15:02 -06:00
Penny Zheng
7498978ca7 Vendor: update agent client
We need to include changes in PR github.com/kata-containers/agent#706
(https://github.com/kata-containers/agent/pull/706)here, to use
the new vsock-trivial-handshake scheme implemented in FC v0.20.0.

Fixes: #2378

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
2020-02-07 07:03:45 +00:00
Penny Zheng
27d9e4334d FC: update Firecracker to v0.20.0
The new release for Firecracker is `v0.20.0`.

Fixes: #2378

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
2020-02-07 07:03:31 +00:00
Julio Montes
bd7d3102c8 Merge pull request #2410 from Jimmy-Xu/fix-q35-hotplug-pcie
Support hotplug PCIe in q35
2020-02-06 08:03:26 -06:00
Jimmy Xu
bb41b7248a qemu: Support PCIe device hotplug for q35
- add pcie-root-port device to qemu command line for q35
- hotplug a PCIe device into a PCIe Root Port

Fixes: #2432

Signed-off-by: Jimmy Xu <junming.xjm@antfin.com>
2020-02-06 14:56:41 +08:00
Jose Carlos Venegas Munoz
39e2357024 Merge pull request #2436 from sboeuf/fix_cloud_hypervisor
virtcontainers: clh: Set the serial to NULL instead of OFF
2020-02-05 13:14:22 -06:00
Graham Whaley
4ee2f8c5b1 Merge pull request #2385 from alicefr/fix-refactoring
s390x: fix refactoring
2020-02-05 10:07:32 +00:00
Jimmy Xu
fa7d00ec25 vendor: update github.com/intel/govmm
Update github.com/intel/govmm.

shortlog:
    cab4709 qemu: Add pcie-root-port device support.

Fixes: #2432

Signed-off-by: Jimmy Xu <junming.xjm@antfin.com>
2020-02-05 10:52:37 +08:00
Salvador Fuentes
a90dde04c4 Merge pull request #2435 from Pennyzct/arm_ci_bug_fix_2020_2_4
AArch64: fix golint error on ARM CI.
2020-02-04 17:10:02 -06:00
Sebastien Boeuf
b2fb86f3ff virtcontainers: clh: Set the serial to NULL instead of OFF
The guest Linux kernel might try to access the serial port, and in case
the serial is "off", this might cause some slowness because the port is
not emulated at all. Problem is, when the port is not emulated, the
default value when reading the I/O port will be 0, which has a special
meaning in case of the serial port. It means there is some data ready
to be read, which the kernel might try to read for some time, causing
global system slowness.

That's why it's safer to use "null" by default as this means the serial
port will be emulated but anything written to it will be redirected to
/dev/null.

Fixes #2437

Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
2020-02-04 18:25:31 +01:00
Penny Zheng
96a49a894d AArch64: arm ci failed on stale Gopkg.lock.
Arm CI failed on the following error:

Gopkg.lock is out of sync:
github.com/opencontainers/runc/libcontainer/system:
imported or required, but missing from Gopkg.lock's input-imports.

Fixes: #2434

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
2020-02-04 16:33:38 +08:00
Penny Zheng
9bf4b859a1 AArch64: fix golint error on ARM CI.
Recently, ARM CI frequently failed on the following golint error:

Error: pkg/rootless/rootless.go:57:2: comment on exported var
`IsRootless` should be of the form `IsRootless ...` (golint)

Fixes: #2434

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
2020-02-04 12:07:12 +08:00
Julio Montes
a91cb13be8 Merge pull request #2425 from haircommander/conmon-bump
versions: bump conmon version to v2.0.5
2020-01-30 11:01:56 -06:00
Peter Hunt
2560e65e75 versions: bump conmon version to v2.0.5
in hopes the old failures were fixed, and to investigate them if not

Signed-off-by: Peter Hunt <pehunt@redhat.com>
2020-01-30 10:31:42 -05:00
Salvador Fuentes
01beb2fda9 Merge pull request #2423 from andreabolognani/virtcontainers-fix-error-message
virtcontainers: Fix error message in mockHypervisor
2020-01-29 13:02:53 -06:00
Archana Shinde
db679fb869 Merge pull request #2418 from devimc/topic/virtcontainers/improveRootless
rootless: use libcontainer API to detect rootless
2020-01-29 09:31:37 -08:00
Andrea Bolognani
693ad23846 virtcontainers: Fix error message in mockHypervisor
The error raised by toGrpc() mentions Firecracker instead of
mockHypervisor, which is incorrect; the fromGrpc() functions
right above it gets this right.

Fixes: #2424

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
2020-01-29 18:19:35 +01:00
Julio Montes
61d826e1b7 Merge pull request #2420 from amshinde/ipv6-support
Add Ipv6 support
2020-01-29 08:15:55 -06:00
Archana Shinde
c5d79eb2c1 ipv6: Add support for ipv6 for netmon as well.
Netmon should now handle ipv6 addresses and routes as well.

Signed-off-by: Archana Shinde <archana.m.shinde@intel.com>
2020-01-28 16:31:31 -08:00
Archana Shinde
b169476be9 ipv6: Add support for ipv6
Do not ignore ipv6 addresses and routes. These are now processed
along with ipv4 addresses/routes. Add unit tests to verify ipv6.

Fixes #147

Signed-off-by: Archana Shinde <archana.m.shinde@intel.com>
2020-01-28 14:42:16 -08:00
Julio Montes
4a77b0f8ec rootless: use libcontainer API to detect rootless
libcontainer already has an API to detect if the runtime is running rootless.
Use libcontainer API instead of reinventing the wheel.

fixes #2415

Signed-off-by: Julio Montes <julio.montes@intel.com>
2020-01-28 21:59:51 +00:00
Jose Carlos Venegas Munoz
f1f9414a59 Merge pull request #2411 from jcvenegas/fix-2397
vendor: update agent client
2020-01-27 12:48:26 -06:00
Jose Carlos Venegas Munoz
c26ce18672 vendor: update agent client
Update agent client to improve CI stability.

Changes:

660e61f Revert: client.go: HybridVSockDialer: Change Read EOT to recv peek
6cfb75d Revert: client.go: HybridVSockDialer: Check return size n of unix.Recvfrom
54eb918 Revert: client.go: HybridVSockDialer: Close dup fd after receive packet
2f49115 agent: Fix mem-hotplug on x86 when ARCH_MEMORY_PROBE is set

Fixes: #2397

Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
2020-01-27 15:29:52 +00:00
Julio Montes
09dfd79322 Merge pull request #2407 from teawater/virtio-mem2
qemu: Add virtio-mem support
2020-01-27 08:55:03 -06:00
GabyCT
e416a0ec61 Merge pull request #2409 from devimc/topic/virtcontainers/cgroupsV2
virtcontainers: constrain docker container when sandbox_cgroup_only=true
2020-01-24 08:54:20 -06:00
Hui Zhu
01a12b003b qemu: Add virtio-mem support
This commit adds qemu virtio-mem support.
Then qemu can use virtio-mem support memory resize.

To enable this function, need the Linux and the qemu that support
virtio-mem.
Use command "echo 1 > /proc/sys/vm/overcommit_memory" to enable memory
overcommitment of the Linux kernel.  Because qemu virtio-mem device need
to allocate a lot of memory.
Set "enable_virtio_mem" of kata configuration to true.

Fixes: #2406

Signed-off-by: Hui Zhu <teawater@antfin.com>
2020-01-24 17:19:31 +08:00
Julio Montes
c3cf98aca6 virtcontainers: constrain docker container when sandbox_cgroup_only=true
The sandbox cgroup will be constrained if there is no container
type annotation, otherwise kata will rely on container engine's cgroup
configuration

Depends-on: github.com/kata-containers/tests#2255

fixes #2408

Signed-off-by: Julio Montes <julio.montes@intel.com>
2020-01-23 21:25:22 +00:00
Graham Whaley
ec13b28567 Merge pull request #2404 from c3d/minor-fixes
Fix typo in 'sandbox'
2020-01-23 09:37:04 +00:00
Julio Montes
54482f18df virtcontainers: remove json cgroups struct tag
json struct tags are not longer needed in sandbox's structures

Signed-off-by: Julio Montes <julio.montes@intel.com>
2020-01-22 22:40:35 +00:00
Hui Zhu
b337428947 vendor: Update github.com/intel/govmm
Update github.com/intel/govmm.

shortlog:
    6667f4e qmp_test: Add TestExecMemdevAdd and TestExecQomSet
    201fd0a qmp: Add ExecMemdevAdd and ExecQomSet API
    e04be2c qmp: add ExecutePCIVhostUserDevAdd API
    13aeba0 qmp: support command 'chardev-remove'
    6d6b2d8 s390x: add s390x travis support

Fixes: #2406

Signed-off-by: Hui Zhu <teawater@antfin.com>
2020-01-22 13:50:54 +08:00
Christophe de Dinechin
316b5f2b2c virtcontainers: Fix typo in logger message
There is a typo "sandox" instead of "sandbox" in a logger warning

Fixes: #2405

Signed-off-by: Christophe de Dinechin <dinechin@redhat.com>
2020-01-21 17:04:33 +01:00
Julio Montes
73a63baab5 Merge pull request #2308 from tedyu/mount-detach-device
vc: Detach device when unable to store sandbox device
2020-01-20 14:14:11 -06:00
Ted Yu
1f957e1b87 vc: Detach device when unable to store sandbox device
In Container#mountSharedDirMounts, if sandbox.storeSandboxDevices() returns error, we should detach the device.

Fixes #2301

Signed-off-by: Ted Yu yuzhihong@gmail.com
2020-01-20 09:39:19 -08:00
Julio Montes
df802cc359 Merge pull request #2399 from Pennyzct/cleanup_dir_temp
unit-test: cleaning up stale files under /tmp
2020-01-20 09:38:55 -06:00
Penny Zheng
7186c01d6e unit-test: delete what ioutil.TempFile creates
ioutil.TempFile creates a new temporary file in the directory dir.
It is the caller's responsibility to remove the file
when no longer needed.

Fixes: #2398

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
2020-01-17 15:29:50 +08:00
Penny Zheng
0244d95edd unit-test: delete what ioutil.TempDir() creates
Normally, ioutil.TempDir will create a new temporary
dir under /tmp.
And we should do cleaning up after ioutil.TempDir().

Fixes: #2398

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
2020-01-17 13:50:51 +08:00
Penny Zheng
aa62781aa7 unit-test: reconstuct TestMain
os.Exit will skip all deferred instructions.
So we should reconstruct TestMain to leave all setup-related
code in setup(), and all cleanup-related code in shutdown().

Fixes: #2398

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
2020-01-17 13:50:42 +08:00
Julio Montes
d11696de9a Merge pull request #2351 from devimc/topic/virtcontainers/cgroupsV2
support systemd cgroups and cgroupsV2
2020-01-16 16:37:40 -06:00
Julio Montes
d042d5c0da virtcontainers: fix unit tests
fix unit test that may need a cgroup path or root to create a new cgroup

Signed-off-by: Julio Montes <julio.montes@intel.com>
2020-01-15 19:03:36 +00:00
Julio Montes
776da0878e virtcontainers/hook: fix HookState
`HookState` was removed from libcontainer, fortunately it was an alias for
`specs.State`, use `specs.State` instead.

Signed-off-by: Julio Montes <julio.montes@intel.com>
2020-01-15 19:03:36 +00:00
Julio Montes
f372b85848 virtcontainers: reimplement setupSandboxCgroup
Reimplement `setupSandboxCgroup` to support cgroupsV2 and systemd cgroups
using libcontainer instead of containerd/cgroups.
As an initial effort to support these cgroups, `sandbox_cgroup_only` must
be set to `true` in configuration file.

fixes #2350

Signed-off-by: Julio Montes <julio.montes@intel.com>
2020-01-15 19:03:36 +00:00
Julio Montes
9949daf4dc virtcontainers: move validCgroupPath
move `validCgroupPath` to `cgroups.go` since it's cgroups specific.
Now `validCgroupPath` supports systemd cgroup path and returns a cgroup path
ready to use, calls to `renameCgroupPath` are no longer needed.

Signed-off-by: Julio Montes <julio.montes@intel.com>
2020-01-15 19:03:36 +00:00
Julio Montes
ce2795e949 virtcontainers: remove systemd paramenter from constraintGRPCSpec
systemd paramenter is no longer needed since `isSystemdCgroup` function
can be used to know if the cgroup path is a systemd cgroup path.

Signed-off-by: Julio Montes <julio.montes@intel.com>
2020-01-15 19:03:36 +00:00
Julio Montes
8c63c18098 virtcontainers: add function to create a new cgroup manager
Add function to create a new cgroup manager depending on the cgroups path and
if the runtime is running rootless.

Signed-off-by: Julio Montes <julio.montes@intel.com>
2020-01-15 19:03:36 +00:00
Julio Montes
8057cd72c3 virtcontainers: add function to identify systemd cgroup path
Add function to identify if the given cgroup path is a systemd
cgroup path.
We need to parse the cgroup path to know which cgroup manager we have to use,
since some container engines do not use `--systemd-cgroup` runtime option.

Signed-off-by: Julio Montes <julio.montes@intel.com>
2020-01-15 19:03:36 +00:00
Julio Montes
4126968bf9 virtcontainers: save CgroupPaths and Cgroups in sandbox
`CgroupPaths` is a map that saves the cgroup type and path that were used for
the sandbox to create the cgroups
`Cgroups` contains information about sandbox's cgroups and its constraints.
Both variables can be used to create a cgroup configuration needed to
manipulate cgroups in the host.
currently kata uses `containerd/cgroups` and `libcontainer` to create cgroups.
`CgroupPaths` will replace to `CgroupPath` once kata uses *only* `libcontainer`

Signed-off-by: Julio Montes <julio.montes@intel.com>
2020-01-15 19:03:36 +00:00
Julio Montes
a170d00b4c vendor: update agent
dep fails if golang/x/sys is updated and agent not,
update agent to fix this issue

shortlog:
44608b2 vendor: update golang/sys

Signed-off-by: Julio Montes <julio.montes@intel.com>
2020-01-15 17:23:55 +00:00
Julio Montes
112f90b7a0 vendor: update golang/x/sys
latest libcontainer requires a newer version of golang/x/sys

shortlog:
b016eb3 unix: test UtimesNanoAt on *bsd and solaris
5f8ca72 unix: don't zero out extra registers on riscv64 syscalls
a1369af unix: add flags argument in //sys comments for Fstatvfs1 and Statvfs1
        on netbsd
c96a22e unix: add Dup3 on netbsd and openbsd
04cbcbb unix: correct build tag to define Getdirentries for darwin/arm with
        Go 1.11
c709ea0 windows: added SO_RCVTIMEO and IPPROTO_ICMP constants
5a3cf84 unix: compare Stat_t members in TestFstatat
abf886d unix: unify definition of func fcntl
0732a99 unix: use correct file name in comment
d4481ac unix: add Readv/Writev family of syscalls for linux
af0d71d windows: fix recvfrom and sendto data types
4a24b40 unix: add PrctlRetInt, a Prctl variant that returns (int, error)
ac6580d unix: move functions Ptrace{Get|Set}RegSetArm64 to a separate file
eeba5f6 unix: replace readlink in mkall.sh with portable shell commands
bc7efcf unix: add functions PtraceGetRegSetArm64 and PtraceSetRegSetArm64
ce4227a unix: add Statvfs and Fstatvfs on NetBSD
85b82a3 cpu: support reading arm64 CPU feature registers
6d18c01 windows: add Recvfrom and Sendto implementations
63cb32a unix: add new fscrypt declarations from Linux v5.4
8a8471f unix/linux: bump Linux and Go versions to latest stable releases
bd43791 unix: check number of ready file descriptors in TestPselect
76d669a unix: don't fail TestSelect on EINTR from Select
6bfc516 windows: add Get*PreferredUILanguages
f068ffe unix: use same TestSelect on all Unices
e882bf8 unix: fix EINTR check in TestPselect
cf1e2d5 unix: regenerate zerrors for AIX
b5d5184 windows: revert security_windows.go change of CL 202177
2f86c98 unix: don't fail TestPselect on EINTR from Pselect
6254a7c unix: fix EINTR check in TestClockNanosleep
81af739 unix: don't fail TestClockNanosleep on EINTR from ClockNanosleep
52ab431 unix: fix EpollEvent padding on mips64{,le}
4c7a9d0 unix: check correct CPU for being enabled in old mask in
        TestSchedSetaffinity
344fec8 cpu: don't redeclare doinit on ppc64le
fee6b63 unix: accept time.Now()±1 as valid in TestTime
2f3576d cpu: add basic support for GOARCH=riscv64
e43da5d cpu: move empty doinit to own file
8ad3422 unix: skip TestPselect on EINTR
59a1497 unix: test returned fd in TestEpoll
d32e6e3 windows: add empty.s to fix build with Go 1.11 and earlier
c1f4481 unix: add TestEpoll on linux
ac3223d unix: add methods to manipulate *FdSet
e8c54fb windows: add EnumProcesses function
f43be2a windows/registry: make '-gcflags=all=-d=checkptr' flag work
195ce5e unix: add devlink Linux generic netlink API constants
b67d8b4 unix: add missing HCI_CHANNEL_LOGGING constant
f8518d3 windows/registry: remove TestWalkFullRegistry due to false assumptions
33540a1 unix: don't use non-existing uint128 type on freebsd/arm64
53bf42e windows/registry: allow for non-null terminated strings
6c3a3bf unix: make convertFromDirents11 checkptr safe
b4ff53e unix: remove un-used ptrSize
e66fe6e unix: regenerate darwin libc trampolines after CL 202837
f89234f unix: __sysctl is sysctl on darwin
b69606a unix: comply with -d=checkptr in Test_anyToSockaddr
742c48e windows: respect permission bits on file opening
3e7259c unix: don't use 32-bit aligned access for cmsgAlignOf on dragonfly
        after ABI change
9984515 windows, unix: fix wrong unsafe.Pointer alignment in syscall
727590c unix: avoid "just past the end" pointers in UnixRights
b09406a windows: add GetDiskFreeSpaceEx function
06d7bd2 unix: update rtnetlink constants
543471e unix: add new func PtraceInterrupt on Linux
0b153f5 windows: fix ShellExecute return condition
ef33b2f windows: use go:linkname instead of assembly
5f54ce5 windows: add module handle functions
4ac5d0c unix: add new func PtraceSeize on Linux
aed5e4c unix: add Klogset and related SYSLOG_ACTION_ constants
c178f38 windows/mkwinsyscall: import mksyscall_windows.go from go repo
b397fe3 windows/svc: use CloseServiceHandle for service handles
3421d5a unix: avoid __getdirentries64 on darwin
34b0ac8 unix: update openbsd/{386,amd64.arm} MAP_* consts
bb3f8db windows: add LockFileEx, UnlockFileEx system calls
c990c68 cpu: support ARM feature detection on Linux
855e68c windows: revert breaking API changes from CL 196798, add new accessor
        funcs
2837fb4 unix: add NFDBITS const on Linux, update TestSelect
e2fefa8 unix: fix Select to return number of ready fds on Solaris
2f72d4f unix: re-generate Select on dragonfly
98129a5 windows: use pseudo handle constants to implement GetCurrentProcess
2aa67d5 unix: fix Select to return number of ready fds on Darwin and *BSD
0a153f0 windows: make SID.String() conform to the String interface
2dccfee windows: do not return invalid error for psuedo-handle functions
5c00192 windows: use correct type for security attributes' descriptor member
14da1ac windows: support SECURITY_DESCRIPTOR and ACL for secured objects
ef0ce17 unix: add KEYCTL_RESTRICT_KEYRING capabilities
0c1ff78 windows: do not corrupt stack with larger boolean return value
b4ddaad unix: redefine TIPC_WAIT_FOREVER as a uint32 value
8a69140 windows: add various functions for shutting down and logging out
1a3b71a unix: update Dockerfile to Linux 5.3 and use ubuntu 19.04 base image
c3b328c unix: add IfaCacheinfo on linux
bc967ef unix: sort Linux-specific includes in linux/types.go and mkerrors.sh
7ad0cfa cpu: remove encoding/binary dependency
bbd1755 unix: add Msghdr.SetIovlen for solaris/amd64
f460065 unix: add Msghdr.SetIovlen
d223b2b unix: disable sysctl on iOS
749cb33 cpu: add a space before build tag comment
43c0116 unix: implement AF_TIPC sockets on Linux
1f305c8 unix/linux: upgrade Docker build container to Go 1.13
9109b76 unix: add IoctlRetInt for Linux
1e83adb unix: fix coredump bit on aix/ppc64
acfa387 windows: open process tokens with duplicate access
08d80c9 unix: unify Ioctl* functions
19e00fa windows: add mutex management functions
5fe476d unix: use bits.OnesCount64 instead of local copy
c7b8b68 windows: add Windows directory accessors
acd9dae windows: allow re-enabling priority boost
fb81701 windows: allow retrieving true version with RtlGetNtVersionNumbers
fde4db3 unix/linux: update Dockerfile to glibc 2.30
4e8604a unix: disable ptrace on iOS
9eafafc unix: fix epoll_event padding on riscv64
51ab0e2 windows: add support for automatic delayed start in windows service
cbf593c unix: remove nacl build tag from dirent code
1393eb0 unix: fix several staticcheck issues
fc99dfb windows: add CTRL_CLOSE_EVENT, CTRL_LOGOFF_EVENT, and
        CTRL_SHUTDOWN_EVENT
94b544f unix: add riscv64 tag to endian_little.go
fae7ac5 unix: add constants and types to work with Linux loop devices
6ec70d6 unix: update Dockerfile to Linux 5.2 and Go 1.13beta1
04f50cd unix: add missing dirent* helper functions on aix
e07cf5d unix: don't use syscall.ParseDirent
c5567b4 unix: add Getdents on dragonfly
e93b963 unix: use ParseDirent in testGetdirentries
d432491 unix: fix nil pointer dereference in Getdirentries on 32-bit freebsd 12
4d87348 unix: add missing import in readdirent_getdirentries.go
a26fa11 unix: fix Getdirentries emulation using Getdents on netbsd, openbsd
d6ba46b unix: add test for Getdirentries
8f4f963 unix: merge implementation for ReadDirent
943d512 unix: add support to get/set Linux capabilities
06bbe82 unix: correctly rename Val member in Sigset_t on freebsd
bf70e46 unix: add ptrace support for FreeBSD
6f217b4 unix: add AT_SYMLINK_FOLLOW const on openbsd
6f551f7 unix: add AT_SYMLINK_FOLLOW const on netbsd
e40ef34 windows: make CoTaskMemFree public
17bc616 unix: remove net dependency
516e3c2 windows: allow determining real version number
15dcb6c unix: fix Getdirentries emulation using Getdents on netbsd, openbsd
b47fdc9 unix: change the mksysnum master to point to stable/11 on freebsd
d442b75 windows: rename some arguments to follow MSDN
5ed2794 windows: allow looking up well-known folder paths
ab3f67e windows: add OpenThread function
914ada5 windows: add GetProcessId function
93c9922 unix: fix Getdirentries on 32-bit freebsd 12
1e42afe windows: expose GetCurrentProcessId function
301114b windows: allow determining if manager is locked
6df407b windows: correct types and error values of internal GUID handling
5b15430 windows: add Thread32{First,Next} funcions
83eebf7 windows: properly plumb sidtype into service creation
7fc4e5e windows: add GUID handling functions
5da2858 windows: add accessor for duration since boot
79a91cf windows: add constants for access rights
4c4f7f3 windows: make it easier to iterate over groups and privileges
afe0988 windows: delete mkerrors.go
4c3a928 unix: provide linux/riscv64 assembly for syscalls
69e3a3a unix: fix TestFchmodat on illumos
46560c3 Revert "windows: make zsyscall_windows.go generatable on non-WSL env"
ad28b68 windows: make zsyscall_windows.go generatable on non-WSL env
95d888e windows: add GenerateConsoleCtrlEvent function
6a60838 plan9: modify mkall.sh to support zsyscall*.go files generation
5219a1e cpu: add missing linkname for libc_getsystemcfg on aix/ppc64
cc92027 windows: add SetInformationJobObject functions
854af27 windows: add functions for priority class
3626398 cpu: don't depend on the golang.org/x/sys/unix package for AIX
adf421d unix: fix Signalfd function signature on linux
9cd6430 windows: add ResumeThread function
ea4c425 windows: allow Windows-style printf debugging via MessageBox
56c252d windows: add ShellExecute
791d8a0 windows: allow determining if running 32-on-64bit
2219a01 windows: add SID getter functions for the various components
e44a3b5 windows: add SetErrorMode function
dbbf3f1 windows: add IP() accessor to SocketAddress type
c3d486d windows: add JobObject functions
abf6ff7 unix: add MCAST_* constants on linux
0e01d88 unix: add RawSockaddrDatalink on aix
8097e1b windows: do not query library for inline functions
30999d6 windows: add missing service constants
c46e0d9 windows/registry: do not generate unaligned loads
c432e74 unix: remove unused stringsFromByteSlice for tests on aix
ad400b1 unix: remove StTimespec type on AIX
61b9204 windows: add functions for dealing with elevated tokens
cedb8e1 windows: add token group adjustment function
cab0731 unix: fix TestStatFieldNames on aix and TestUtimesNanoAt on darwin
87c8727 unix: rename Stat_t time fields to [AMCB]tim
06a5c49 windows: add token environment functions
f91f9b3 windows: add basic WTS functions for windows/svc usage
24a5b22 windows: add service notification support
3a4b5fb windows: add token manipulation functions and constants
a5b02f9 windows: add "generate" build tag
2d07862 unix: add IoctlGetUint32 on Linux
12bbe5a unix: add BPF constants on Linux
ecd444e unix: export KexecFileLoad on linux/arm
2953c62 unix: update Dockerfile to Linux 5.1
ca7f33d windows: CreateFile's templatefile parameter has always been a HANDLE
a43fa87 unix: add missing tpacket block (sub)header
3ef323f unix: add illumos case
c0b2631 unix: support generating netbsd/arm64 files in mkall.sh
050d976 unix: drop reference to mkunix.pl from comment
d89cdac windows: don't return EINVAL on zero Chmod mode
2cc0cad windows: document new ProcessId field
804c0c7 unix: replace "mksysctl_openbsd.pl" script with a Go program
a129542 unix: skip TestOpenByHandleAt if name_to_handle_at not supported
1607263 windows: allow querying service ProcessId
9f0b1ff unix: add FileHandle, NewFileHandle, NameToHandleAt, OpenByHandleAt
18eb32c unix: add Linux crypto configuration API constants and types
4347357 unix: add support for openbsd/arm64
8296894 unix: remove arch specific build for openbsd_pledge.go
953cdad unix: add unexported name_to_handle_at and open_by_handle_at types &
        wrappers
e8e3143 unix: add Unmount syscall for AIX
f0ce4c0 unix: add Select syscall on AIX
d20716e unix: use nsendmsg and nrecvmsg on AIX
1250054 unix: fix cmsg alignment on aix
ebb4019 unix: move helper handler before AIX handler in TestPassFD
3fd5a36 unix: enable TestPassFD on AIX 7.2 TL >= 2
16da32b windows: add GetFileInformationByHandleEx function
9773273 windows: add missing error constants
b44545b unix: add missing rtnetlink IFLA_* constants on Linux
0ad05ae unix: add missing rtnetlink neighbor constants on Linux
cc4d4f5 unix: add missing rtnetlink IFA_* constants on Linux
4b34438 unix: allow empty string argument to SetsockoptString
81d4e9d unix: don't generate raw syscall wrapper for ClockGettime on darwin
baf5eb9 unix: remove ClockGettime for darwin/amd64 on Go 1.11
e409398 unix: add SysctlClockinfo on darwin
9eb1bfa unix: add GetsockoptUint64 and SetsockoptUint64
f49334f windows: add GetOverlappedResult function for async I/O
f7bb7a8 windows: add missing file flags to types
6c81ef8 unix: add SysctlClockinfo on OpenBSD
a2f829d windows: add support for creating well known SIDs
fead790 cpu: use unix.Getsystemcfg to detect POWER8/POWER9 on aix/ppc64
c8c8c57 unix: run mkasm independent of mktypes in mkall.sh
7c207b7 unix: add Getsystemcfg on aix
10058d7 windows: use proper system directory path in fallback loader
980fc43 unix, unix/linux: add additional Linux perf API bits
584f3b1 cpu: add build tag to cpu_wasm.go
572b51e unix: add SetsockoptPacketMreq on Linux
b294cbc all: add go directive to go.mod
b354f8b cpu: define cacheLineSize and doinit for WASM
70f5298 windows/svc: safely load system DLLs
3e9a981 unix: add functions to get/set tpacket socket options
a98ae47 unix: on ARM GNU/Linux let Pipe fall back to pipe
30e92a1 unix: add Lutimes
e844e01 unix: update Dockerfile to Go 1.12 and Linux 5.0
c2f5717 unix: add fanotify API on Linux
d455e41 unix: add SignalNum to convert signal name to a number
b688937 windows/svc: align ctlHandler parameters
12036c1 windows/svc: add Context to ChangeRequest
a34e955 unix: use 64-bit alignment on netbsd-arm
6c9a33b cpu: add CPU features for s390x
92a0ff1 cpu: don't panic on error reading /proc/self/auxv
775f819 all: add a go.mod file
cc5685c unix: don't overwrite unrelated file descriptors in TestDup
cd39177 unix: add type NdUseroptmsg on Linux
a9d3bda unix: add SetsockoptCanRawFilter for linux
ec7b60b unix: add SetsockoptSockFprog on Linux for attaching BPF filters
b4e8571 cpu: fix build for GOARCH=ppc64{,le} on GOOS!=linux
629670e windows: gofmt -w windows/security_windows.go
90b0e44 unix: do not invoke Mkfifo with a relative path in a read-only
        directory
153ac47 cpu: unexport HWCap and HWCap2
d0b11bd cpu: fix auxval parsing on big-endian systems
e777721 cpu: fix build for GOARCH=arm64 on GOOS!=linux
983097b unix: replace Perl script references in "README.md" with Go programs
cea5d2f unix: replace "mksyscall_solaris.pl" script with a Go program
3b52091 unix: add ClockGettime on darwin/amd64
f54c5e0 unix: update zsysnum_darwin_amd64 for macOS 10.14
446ad8e unix: require GOOS be set in mksyscall
41f3e65 unix/linux: update Dockerfile to glibc 2.29 and Go 1.12beta2
980327f windows: Implement WaitForMultipleObjects
7ae0202 unix: set 100644 mode on mksyscall_aix_ppc64.go
afcc84f unix: add RND* ioctl consts on Linux
2970a37 cpu: detect RDRAND and RDSEED instructions on x86
aca4487 unix: add ioctl wrappers to get and set RTC time on Linux
302c3dd unix: fix misspellings
d573998 unix: regenerate sysnum files for freebsd/arm64 and netbsd/arm64
b907332 unix: use glibc release branch in Dockerfile
c6b37f3 unix: replace "mksyscall_aix_ppc64.pl" script with a Go program
054c452 unix: add socket error queue constants and types from linux/errqueue.h
770c602 unix: add netbsd/arm64 files.
11f53e0 unix: use int8 for RawSockaddrUnix.Path on linux/riscv64
e5ecc2a unix: use Renameat2 to implement Renameat on linux/riscv64
5552a98 unix: add Renameat on dragonfly
a457fd0 unix: add Signalfd on linux
2be5172 unix: add ClockNanosleep and TIMER_ABSTIME
48ac38b unix: get *BSD syscalls.master files using HTTPS
7fbe1cd unix: replace "mksyscall_aix_ppc.pl" script with a Go program
20be8e5 cpu: add linux/ppc64x
cb59ee3 plan9: replace "mksyscall.pl" with Go program
1775db3 unix: make Fcntl* routines use libSystem on Darwin
badf558 plan9: remove "use" function and calls from generated code.
82a175f unix/linux: update Dockerfile to Linux Kernel 4.20
a91c4d2 unix: add support for freebsd/arm64
9a3f9b0 unix: fix Fstatat by using fillStat_t on linux/mips64x
c6cbdbf unix: mksysnum: correct +build restriction
367055b unix: replace mksysnum_*.pl scripts with Go program
b4a75ba unix: generate linux/sparc64 go files using Docker
a79f1b1 unix: fix unused import in syscall_darwin_386.go
8ff4e54 unix: add space to generated code
9fbf701 unix: reverse default for 1.11/1.12 split
36ca6f1 unix: add Sendfile test
b00e65a unix/linux: set 100644 mode on mksysnum.go
7c4c994 unix: remove raw syscall from Sendfile
8588221 unix: remove raw syscall from getAttrList
22c30cd unix: remove raw syscall from getattrlistTimes
4dcd0b7 unix: remove raw syscall from Getfsstat
54d2441 unix: remove Getdirentries on iOS
8b8312a unix: avoid "64"-postfixed libSystem calls on iOS
45d26eb unix: convert Darwin syscalls from raw to libSystem
97b4c2a unix: update Dockerfile to Go 1.12beta1
074acd4 windows/svc: use wevtutil.exe instead of powershell for windows/arm
dcdaa63 windows: use netevent.dll in TestFormatMessage for windows/arm
4d1cda0 unix: remove Flock syscall for aix
586ba8c unix: add SyncFileRange on linux/arm
73d4af5 unix: evaluate cmsg alignment in cmsgAlignOf at compile time
b05ddf5 unix: use correct cmsg alignment for openbsd/arm
7da8ea5 unix: regenerate ztypes for openbsd/arm
2a47403 unix: always use fstatat(AT_SYMLINK_NOFOLLOW) over lstat on AMD64
b0bfa5d unix: always use inotify_init1 over inotify_init on AMD64
ad97f36 unix: avoid index out of range in Vmsplice with empty iovs
70b957f cpu: add linux/arm64
a5c9d58 unix/linux: replace "mksysnum.pl" script with a Go program
4ed8d59 unix: replace "mksyscall.pl" script with a Go program
62eef0e unix: rework TestGetwd to handle test dirs whose names contain symlinks
0cf1ed9 unix: add IoctlSetPointerInt
ec83556 unix: add ioctl definitions for PPP interfaces.
93218de unix: add sockaddr and defines for PPPoE sockets.
5ac8a44 unix: export FdSet bits field on freebsd
66b7b13 unix: add IoctlGetPtmget on netbsd
3a76605 unix: test UtimesNanoAt on darwin
3a27cdc unix: don't use deprecated sys/capability.h header on FreeBSD
7155702 unix: fix errors in syscalls when using -linkshared on ppc64x
9b800f9 unix: avoid index out of range in *setxattr on BSD
7e31e0c unix: add remaining *at functions on dragonfly
f7626d0 unix: add remaining *at functions on netbsd
c8e3364 unix: add remaining *at functions on openbsd
d69651e unix: add Readlinkat on openbsd
95b1ffb unix: add Openat on dragonfly
9ff3f17 unix: add Openat on netbsd
2772b66 unix: allow to pass a NULL pointer to the pledge syscall
731415f unix: add kernel module load/unload syscalls on Linux
d989b31 unix: add support for OpenBSD unveil(2)
5cd93ef unix: use ppoll to implement Pause on linux/{arm64,riscv64}
22bddfe unix: add Openat on openbsd
44b849a unix: add Ppoll on openbsd
8a28ead unix: update Dockerfile to Linux 4.19
8b8824e unix: don't use local syscall number in Pledge()
5535b4e unix: FreeBSD 12 ino64 support
eda9bb2 unix: update syscall numbers to OpenBSD 6.4
8e24a49 unix: add SOF_TIMESTAMPING_* flags on Linux
8f1d3d2 unix: add support for aix/ppc64, gc implementation
fa43e7b unix: add marker comments to zsyscall_solaris_amd64.go
4497e2d unix: convert errorList and signalList to new format for linux/sparc64
f81de40 unix: add KexecFileLoad on linux/{amd64,ppc64x,s390x}
8469e31 unix: export sizeof consts
af653ce unix: use correctly aligned result buffer in SysctlClockinfo
679a27d unix: add SysctlUvmexp on OpenBSD
219bb53 unix: re-add vm.* sysctl strings on openbsd/amd64
e4b3c5e unix: add NCSI generic netlink constants
dad3d9f unix: add ClockGetres on Linux
8ccfc68 unix: add SysctlClockinfo on NetBSD
c2ed4ed unix: fix TestSchedSetaffinity for smt settings
2f1df4e unix: add additional rlimit resource constants on NetBSD
b09afc3 unix: add MNT_* flags on OpenBSD
90868a7 windows: add support for windows/arm
f02c795 unix: add MNT_* flags on DragonflyBSD
c01370c unix: add MNT_* flags on NetBSD
d47a0f3 unix: implement Linux AF_XDP sockets
d641721 unix: add more RTA_* constants on Linux
1561086 unix: add Termio, Winsize, Statfs_t, TC[GS]ET, Mkdir and Mknod for AIX
1061eb6 unix: change MemfdCreate flags parameter to int for all GOARCHes
ee1b12c unix: add MemfdCreate on Linux
d0be072 unix: correct misspelling in test output
4526dd3 windows: correct misspelling in comment
917fdcb unix: add remaining RTA_* constants for use with rtnetlink on Linux
8cf3aee unix: add support for linux/riscv64
ebe1bf3 unix: add SYNC_FILE_RANGE_* constants on Linux
d9c697b unix: correct argument order for SyncFileRange syscall on
        linux/ppc64{,le}
2b02437 Revert "unix: implement SyncFileRange for ARM"
1b73967 unix: implement SyncFileRange for ARM
fa5fdf9 windows: add support for AF_UNIX sockets
49385e6 unix: update Dockerfile to Go 1.11
d99a578 unix: code for AIX ppc and ppc64, for gccgo
4910a1d unix: add UBI ioctl constants on Linux
11551d0 unix: use pipe2 syscall on FreeBSD instead of pipe
3b58ed4 unix: add additional file mode bit constants from sys/stat.h on Solaris
4ea2f63 unix: add example for Flock
1a700e7 unix: add NOSTD syscall numbers on FreeBSD
1c95834 unix: add additional file mode bit constants from sys/stat.h on FreeBSD
871208d unix: add additional file mode bit constants from sys/stat.h on
        DragonflyBSD
14742f9 windows: add Wincrypt.h Cert related values
4e1fef5 unix: update Dockerfile to Linux 4.18, glibc 2.28 and Go 1.11beta3
98c5dad unix: update the OpenBSD pledge interface to handle execpromises
f0d5e33 unix: add *xattr functions on NetBSD
57f5ac0 unix: add additional file mode bit constants from sys/stat.h on OpenBSD
904bdc2 unix: add F*xattr on Darwin
3249cb6 unix: drop incorrect Fsetxattr size return value
f62c962 unix: add S_IRWXG and S_IRWXO to FreeBSD types
acbc56f unix: add F*xattr on Linux
90887a5 unix: add IFLA_INFO_KIND on Linux
0718ef2 unix: remove *xattr from list of unimplemented syscalls on FreeBSD
2be389f unix: add Renameat2 on Linux
34b17bd unix: fix OpenBSD codegen to include F_OK
0ffbfd4 unix, windows: add type aliases to std syscall for Signal, Errno,
        SysProcAttr
3dc4335 unix: add Linux network namespace constants
bd9dbc1 unix: support Faccessat flags argument
e3f9388 unix: add Linux blkpg_ioctl_arg and blkpg_partition types
10b189e x/sys: improve NewCallback documentation
c4d1ff1 unix: implement pipe() on linux/mips
e072cad unix: document IoctlSetWinsize and IoctlSetTermios and fix pointer
        lifetime

Signed-off-by: Julio Montes <julio.montes@intel.com>
2020-01-15 17:23:55 +00:00
Julio Montes
4a1dc1ee25 vendor: update libcontainer
bring support for cgroups v2

shortlog:
8541d9cf Fix race checking for process exit and waiting for exec fifo
52951a7c Fix race in tty integration test with slow startup
8ddd8920 libcontainer: add method to get cgroup config from cgroup Manager
cd7c59d0 libcontainer: export createCgroupConfig
41a20b58 Expose network interfaces via runc events
48b055c4 Makefile: allow overriding `docker` command
42690e68 Make event types public
faf1e44e cgroup2: ebpf: increase RLIM_MEMLOCK to avoid BPF_PROG_LOAD error
ccd4436f .travis.yml: add Fedora 31 vagrant box (for cgroup2)
faf673ee cgroup2: port over eBPF device controller from crun
74a3fe5d cgroup2: do not parse /proc/cgroups
9c81440f cgroup2: allow mounting /sys/fs/cgroup in UserNS without unsharing
         CgroupNS
13919f5d Remove the static_build build tag.
dbd771e4 cgroup2: implement `runc ps`
9996cf7d README.md: clarify cgroup2 support is not ready for production
d918e7f4 cpuset_v2: skip Apply when no limit is specified
033936ef io_v2.go: remove blkio v1 code
a610a848 criu: Ensure other users cannot read c/r files
b28f58f3 Set unified mountpoint in find mnt func
f017e0f9 checkpoint: Set descriptors.json file mode to 0600
4be50fe3 SECURITY: Add Security Policy
2111613c VERSION: back to development
d736ef14 VERSION: update to 1.0.0-rc9
d463f648 *: verify that operations on /proc/... are on procfs
9aef5044 vendor: update github.com/opencontainers/selinux
28e58a0f Support different field counts of cpuaact.stats
84373aaa Add SCMP_ACT_LOG as a valid Seccomp action (#1951)
331692ba Only allow proc mount if it is procfs
af7b6547 libcontainer/nsenter: Don't import C in non-cgo file
718a566e cgroup: support mount of cgroup2
115d4b9e bump golang/protobuf v1.0.0
85c02f3f bump coreos/go-systemd v19, godbus/dbus v5.0.1
21498b8e bump mrunalp/fileutils 7d4729fb36185a7c1719923406c9d40e54fb93c7
eb86f603 bump syndtr/gocapability d98352740cb2c55f81556b63d4a1ec64c5a319c2
1150ce9c bump urfave/cli v1.20.0
8e4f645f bump docker/go-units v0.3.3
0fc06623 bump cyphar/filepath-securejoin v0.2.2
414a39de bump containerd/console 0650fd9eeb50bab4fc99dceb9f2e14cf58f36e7f
de24d733 bump github.com/pkg/errors 0.8.1
4be3c48e Reformat vendor.conf and pin all deps by git-sha
524cb7c3 libcontainer: add systemd.UnifiedManager
ec111368 libcontainer, cgroups: rename systemd.Manager to LegacyManager
1932917b libcontainer: add initial support for cgroups v2
4316e4d0 Bump x/sys and update syscall to start Risc-V support
0bc069d7 nsenter: fix clang-tidy warning
b225ef58 nsenter: minor clean up
e4aa7342 Rename cgroups_windows.go to cgroups_unsupported.go
c740965a libcontainer: update masked paths of /proc
518c8558 Remove libcontainer detection for systemd features
4ca00773 Update vendored dependencies to remove go-systemd/util
588f040a Avoid the dependency on cgo through go-systemd/util package
afc24792 Make get devices function public
9c822e48 cgroups/fs: check nil pointers in cgroup manager
1712af0e man: fix man-pages
f08cdaee Skip searching /dev/.udev for device nodes.
808e809f doc: First process in container needs `Init: true`
5e0e67d7 fix permission denied
351bfb4b integration: remove blkio.weight (unavailable in kernel 5.0)
7e678625 Bump CRIU to 3.12
68cc1a77 Update busybox source and fix runc exec bug
371d13c9 Update bash completion for v1.0.0 release
652297c7 Update dependency libseccomp-golang
6770c869 Allow to define `COMMIT` by env
b54fd85b libcontainer: change seccomp test for clone syscall
6f77e35d Export list of HugePageSizeUnits
c6445b1c Add tests for GetHugePageSize
273e7b74 Fix cgroup hugetlb size prefix for kB
65032b55 libcontainer: fix TestGetContainerState to check configs.NEWCGROUP
8383c724 main: not reopen /dev/stderr
7a9ffa89 Change the permissions of the notify listener socket to rwx for
         everyone
46351eb3 Move systemd.Manager initialization into a function in that module
62bd2593 VERSION: back to development
425e105d VERSION: release 1.0.0-rc8
8362cd02 Vendor in latest selinux code for keycreate errors
a1460818 Write logs to stderr by default
68b4ff5b Simplify bail logic & minor nsexec improvements
17b37ea3 libcontainer: intelrdt: add missing destroy handler in defer func
475aef10 Remove redundant log function
ba3cabf9 Improve nsexec logging
e7831f2a Update to Go 1.12 and drop obsolete versions
da5a2dd4 `r.destroy` can defer exec in `runner.run` method.
8296826d specconv: always set "type: bind" in case of MS_BIND
c486e3c4 Address comments in PR 1861
feebfac3 Remove pipe close before exec.
9a599f62 Support for logging from children processes
3e6688f5 add selinux label for runc exec
dcf994b4 Fix SELinux failures on disabled SELinux Machines
6b5ee713 VERSION: back to development
69ae5da6 VERSION: release v1.0.0-rc7
eab53309 Fixes regression causing zombie runc:[1:CHILD] processes
9fe7c939 Add a Travis-CI job for systemd cgroup driver
5369f9ad Skip CRIU tests when $RUNC_USE_SYSTEMD for now
d4586090 Update tests that depend on cgroupfs paths to consider systemd cgroups
a9056a34 Add $RUNC_USE_SYSTEMD to use systemd cgroup driver in tests
4b2b9782 Add cgroup name to error message
6f714aa9 Use getenv not secure_getenv
cd96170c Need to setup labeling of kernel keyrings.
472fe623 criu image path permission error in rootless checkpoint
dbf6e48d README: link to /org/security/
2d4a37b4 nsenter: cloned_binary: userspace copy fallback if sendfile fails
16612d74 nsenter: cloned_binary: try to ro-bind /proc/self/exe before copying
af9da0a4 nsenter: cloned_binary: use the runc statedir for O_TMPFILE
2429d593 nsenter: cloned_binary: expand and add pre-3.11 fallbacks
7cb3cde1 fix preserve-fds flag may cause runc hang
5b775bf2 nsenter: cloned_binary: detect and handle short copies
52f4e0fa exec: expose --preserve-fds
f1da0d30 switched travis to xenial
9edb5494 Use vendored in CRIU Go bindings
bfca1e62 Vendor in go-criu
bb7d8b1f nsexec (CVE-2019-5736): avoid parsing environ
cd41feb4 Remove detection for scope properties, which have always been broken
7354546c Create mountpoints also on restore
f661e023 factor out bind mount mountpoint creation
0a8e4117 nsenter: clone /proc/self/exe to avoid exposing host binary to
         container
ec069fe3 Vendor opencontainers/runtime-spec 29686dbc
4a600c04 Update vendored golang.org/x/sys to latest
565325fc integration: fix mis-use of libcontainer.Factory
dd50c7e3 Add 'org.criu.config' annotation documentation
5f32bb94 Update runc-checkpoint man-page
28a697cc rootfs: umount all procfs and sysfs with --no-pivot
f0192337 systemd: fix setting kernel memory limit
acb75d0e libcontainer: intelrdt: fix null intelrdt path issue in Destroy()
403986c5 Add CRIU patch to fix checkpoint test
6f3e13cc Added test for container specific CRIU configuration files
e1579630 Enable CRIU configuration files
360ba8a2 Update criurpc definition for latest features
0855bce4 Fix .Fatalf() error message
bdf3524b Retry adding pids to cgroups when EINVAL occurs
769d6c4a Fix some typos
dce70cdf cr: get pid from criu notify when restore
8a4629f7 cgroups: nokmem: error out on explicitly-set kmemcg limits
07d1ad44 kill: allow to signal paused containers
30817421 Modify check-config.sh in accordance with Moby Project updates
a0200001 MAINTAINERS: remove @vmarmol
2efedb02 MAINTAINERS: remove @rjnagal
87a18899 may kill other process when container has been stopped
061dfe95 VERSION: back to development
ccb5efd3 VERSION: release v1.0.0~rc6
bc0b0471 Small fixes for CRIU based test cases
37634277 Bump CRIU to 3.11
056909bd Adds note about user ns for rootless containers
48189715 add missing intelRdt parameters in 'runc update' manpage
e2386860 libcontainer: Set 'status' in hook stdin
95af9eff libcontainer: intelrdt: add support for Intel RDT/MBA Software
         Controller in runc
714a4d46 rootless: fix potential panic in shouldUseRootlessCgroupManager
16d55f17 libcontainer: fix potential panic if spec.Process is nil
95d1aa18 test: fix TestDupNamespaces
f1b1407e readme: add nokmem build tag
1e0d04c6 Makefile: rm cgo tag
6a2c1559 libcontainer: ability to compile without kmem
df3fa115 Add support for cgroup namespace
869add33 rootless: fix running with /proc/self/setgroups set to deny
5c6b9c3c libcontainer: map PidsLimit to systemd's TasksMax property
9a3a8a5e libcontainer: implement CLONE_NEWCGROUP
630fb5b8 Bump Travis versions
6c307f8f libcontainer: intelrdt: add user-friendly diagnostics for Intel RDT
         operation errors
d59b17d6 libcontainer: intelrdt: Add more check if sub-features are enabled
f0973392 libcontainer: intelrdt: add test cases for Intel RDT/MBA
1ed597bf libcontainer: intelrdt: add update command support for Intel RDT/MBA
27560ace libcontainer: intelrdt: add support for Intel RDT/MBA in runc
c1cece7e libcontainer: intelrdt: add Intel RDT/MBA docs in SPEC.md
bd905416 vendor: bump runtime-spec to 5684b8af48c1
0b412e94 various cleanups to address linter issues
0d011647 Fix travis Go: tip
36f84720 fix build break
1499c746 Move spec.Linux.IntelRdt check to spec.Linux != nil block
26bdc0dc clarify license information
a1d5398a Respect container's cgroup path
5de99cd3 tty: clean up epollConsole closing
ec0d23a9 tty: close epollConsole on errors
40f14684 keyring: handle ENOSYS with keyctl(KEYCTL_JOIN_SESSION_KEYRING)
5963cf2a test: add more test case for CleanPath
06f789cf Disable rootless mode except RootlessCgMgr when executed as the root
         in userns
feb90346 doc: fix typo
4eb30fcd code optimization: use securejoin.SecureJoin and CleanPath
4fae8fcc code optimization after review
d2d226e8 fix unexpected delete bug when container id is ..
3ce8fac7 libcontainer: add /proc/loadavg to the white list of bind mount
636b6640 linux: drop check for /proc as invalid dest
b34d6d8a libcontainer: CurrentGroupSubGIDs -> CurrentUserSubGIDs
fe3d5c4c Remove unused veth setup code
832ac8a5 tests: add external network namespace tests
fa43a72a criu: restore into existing namespace when specified
b399167f Add docker proxy settings for make test in a proxy environment
62a4763a When doing a copyup, /tmp can not be a shared mount point
4803faf0 cr: don't restore net namespace by default
cb3e35b5 Add missing data to man page
26ec8a97 Revert "libcontainer/rootfs_linux: minor cleanup"
e389f575 Dockerfile: update criu to v3.10 + checkpoint-restore/criu@27034e7c
34ed6269 Update outdated nsenter README content
a2faaa13 Fix duplicate entries and missing entries in getCgroupMountsHelper
0880503b Add an explanation for TESTPATH
3321aa1a Fix regression with mounts with non-absolute source path
b681b58e Fix the problem TESTFLAGS is not to be used in Makefile correctly
8187fb74 cr: don't dump network devices and their configuration
46221e39 criu tests: rename criu feature check
7fb79f31 Add osusergo flag to static build
53fddb54 Pass GOMAXPROCS to init processes
472fcb30 docs: add information about terminals
e5a7c61f Add test for testing cgroup mounts on bedrock linux
5ee0648b Stop relying on number of subsystems for cgroups
823c06ea libcontainer: improve "kernel.{domainname,hostname}" sysctl handling
d18a45f6 Stop using unix.SIGUNUSED which has been removed from golang.org/x/sys
a0e99e7a libcontainer: devices: fix mips builds
39f679c4 travis: test cross compilation
c205e9fb libcontainer: fix compilation on GOARCH=arm GOARM=6 (32 bits)
cbcc85d3 runc: not require uid/gid mappings if euid()==0
aa3fee6c SELinux labels are tied to the thread
bd3c4f84 Fix race in runc exec
63bb0fe9 Fix merge conflict
939d5a37 cgroup: clean up isIgnorableError for skippable EROFS
c9381573 libcontainer: remove extra CAP_SETGID check for SetgroupAttr
b515963c systemd cpu quota ignores -1
fd0febd3 Wrap error messages during init
cdb7f23d main: add condition to isRootless()
f103de57 main: support rootless mode in userns
9c7d8bc1 libcontainer: add parser for /etc/sub{u,g}id and /proc/PID/{u,g}id_map
40680b2d Make the setupSeccomp function public.
1b27db67 libcontainer/rootfs_linux: minor cleanup
165ee453 Make channel for StartTransientUnit buffered
1a506462 nsexec.c: fix GCC 8 warning
4521d4b1 Only configure networking when creating a net ns
0e16bd9b Detect whether Delegate is available on both slices and scopes
8ab251f2 Fix systemd.Apply() to check for DBus error before waiting on a
         channel.
985628dd libcontainer: Don't set container state to running when exec'ing
73f3dc63 libcontainer: allow setgroup in rootless mode
ed58366c libcontainer: fix Boolmsg alignment
58415b4b Fix error message
4f4af7bf rootless: set sticky bit if using XDG_RUNTIME_DIR
fd3a6e6c libcontainer: handle unset oomScoreAdj corectly
03e58598 rootless: cgroup: treat EROFS as a skippable error
74e961e2 tests: allow to load kernel modules from a test container
43aea059 Label the masked tmpfs with the mount label
0aa6e4e5 libcontainer/specconv/spec_linux: Support empty 'type' for bind mounts
04e95b52 Add timeout while waiting for StartTransinetUnit completion signal
         from dbus
3d26fc3f cgroups/fs: fix NPE on Destroy than no cgroups are set
e7e303ab Minor wording enhancement in readme
bf749516 libcontainer/user: platform dependent calls
8d7b5731 makefile: make "release" PHONY
10a4cde4 Fix make shell
442a6cff VERSION: back to development
4fc53a81 VERSION: bump to v1.0.0-rc5
2420eb1f The setupUserNamespace function is always called.
8be31629 upgrade criu to v3.7
121c7b45 upgrade to go 1.10 with debian stretch
3f32e729 fix lint error in specconv
0f3d8245 adding go get instruction to readme
59e5b61c Update console dependency to fix runc exec on BE
50dc7ee9 libcontainer/capabilities_linux: Drop os.Getpid() call
7019e1de fix systemd slice expansion so that it could be consumed by cAdvisor
72f92cf9 Warning message if 'go-md2man' is not yet installed
7ac503d1 kill.go: Remove unnecessary checks
be16b136 libcontainer/state_linux_test: Add a testTransitions helper
91ca3314 chroot when no mount namespaces is provided
5a46c2ba nsenter: move namespace creation after userns creation
dd5eb3b9 make: validate C format
5c0af14b Return from goroutine when it should terminate
8d3e6c98 Avoid race when opening exec fifo
862e4911 man: Fix manpages related to console
cd1e7abe libcontainer: expose annotations in hooks
d5b4a3ed Fix race against systemd
a1edc03c Pin version of gojsonschema in tests
db093f62 libcontainer: remove dependency on libapparmor
bb912eb0 libcontainer: Do not wait for signalled processes if subreaper is set
5061fd3e stopped container can't be checkpoint
fec6b0fe Update criu_opts_linux.go
57edfbba specconv: avoid skipping gidmappings applied when uidmappings is empty
0495fece Ensure container tests do not write on the host
93c5f706 vendor: removed more build=ignore vendor
8898b6b4 remove placeholder for non-linux platforms
4d27f20d libcontainer: drop FreeBSD support
38d1e6ec Delete xattr related code
17db6560 support unbindable,runbindable for rootfs propagation
bca53e7b systemd: adjust CPUQuotaPerSecUSec to compensate for systemd
         internal handling
604dbfbe enable integration test on arm64 platform
03ca562b Remove github.com/docker/docker from vendor
3ca4c78b Import docker/docker/pkg/mount into runc
ab0a6dd2 Add build 1.9 to travis
0aac2368 specconv.Example(): add /proc/scsi to masked paths
dc609cc5 enable unit test on arm64 platform
fdbb9e3e Avoid disk usage explosion when copying busybox
59450147 Use cyphar/filepath-securejoin instead of docker pkg/symlink
780f8ef5 Specconv: Test create command hooks and seccomp setup
1cda65c3 tests: add missing cgroups_kmem requirement
c0e6e12f Test Cgroup creation and memory allocations
ffe5cdc4 tests: add various !terminal tests
ff5075c3 init: correctly handle unmapped stdio with multiple mappings
e9193ba6 Fix breaking change in Seccomp profile behavior
d8921751 libcontainer: intelrdt: fix a GetStats() issue
0eed453b libcontainer: use Major/Minor from x/sys/unix
80988286 propagate argv0 when re-execing from /proc/self/exe
23f4d316 tests: improve rootless_cg testing
d2bc0814 libcontainer: merge common syscall implementations
acb93c9c libcontainer: cgroups: Write freezer state after every state check
5f9284cb Check for negative gid
f55f79d6 Use Int64SliceFlag instead of StringFlag to get additional gids.
7a386c2b Add --additional-gids to runc exec.
472fa3d0 Update Travis config to use trusty-backports libseccomp
bbc847a4 Add integration tests for multi-argument Seccomp filters
03a5a747 Vendor updated libseccomp-golang for bugfix
bfe3058f Make process check more forgiving
eb68b900 Prevent invalid errors from terminate
d4f0f9a5 specconv: emit an error when using MS_PRIVATE with --no-pivot
ca4f427a Support cgroups with limits as rootless
2edd36fd libcontainer: create Cwd when it does not exist
605dc5c8 Set initial console size based on process spec
65918b02 intelrdt: add update command support
2549545d intelrdt: always init IntelRdtManager if Intel RDT is enabled
9c36ffbc make localintegration fails on Ubuntu 17.04
117c9274 rootfs: switch ms_private remount of oldroot to ms_slave
d01050e6 Add support for mips/mips64
9916b791 Put signalMap in a separate file, so it may be arch-specific
602c85fd trailing punctuation in header

Signed-off-by: Julio Montes <julio.montes@intel.com>
2020-01-15 17:23:54 +00:00