Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions iommufd-bindings/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,19 @@
## Fixed


# [v0.2.0]

## Changed
- Regenerate the bindings from kernel
[v7.1](https://github.com/torvalds/linux/tree/v7.1).

## Added
- vIOMMU, vDevice, vEVENTQ and HW queue uAPIs, together with the ARM SMMUv3
hardware info, invalidation and event types.

## Fixed


# [v0.1.0]

This is the first `iommufd-bindings` crate release.
Expand Down
2 changes: 1 addition & 1 deletion iommufd-bindings/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "iommufd-bindings"
version = "0.1.0"
version = "0.2.0"
authors = ["The Cloud Hypervisor Authors"]
license = "Apache-2.0"
description = "Rust FFI bindings to iommufd generated using bindgen."
Expand Down
8 changes: 4 additions & 4 deletions iommufd-bindings/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,15 @@ kernel version running on a particular host. The user must ensure that
specific structures, members, or constants are supported and valid for the
kernel version they are using.

Currently, the bindings are generated using bindgen version 0.72.0 and
kernel version [v6.6](https://github.com/torvalds/linux/tree/v6.6).
Currently, the bindings are generated using bindgen version 0.72.1 and
kernel version [v7.1](https://github.com/torvalds/linux/tree/v7.1).

## Regenerating Bindings

### Bindgen
Install bindgen version 0.72.0
Install bindgen version 0.72.1
```bash
cargo install bindgen-cli --vers 0.72.0
cargo install bindgen-cli --vers 0.72.1
```

### Linux Kernel
Expand Down
772 changes: 756 additions & 16 deletions iommufd-bindings/src/iommufd.rs

Large diffs are not rendered by default.

6 changes: 5 additions & 1 deletion iommufd-bindings/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,11 @@
// SPDX-License-Identifier: Apache-2.0
//

#[allow(non_camel_case_types, non_upper_case_globals)]
#[allow(
non_camel_case_types,
non_upper_case_globals,
clippy::undocumented_unsafe_blocks
Comment thread
likebreath marked this conversation as resolved.
)]
pub mod iommufd;

pub use iommufd::*;
18 changes: 18 additions & 0 deletions iommufd-ioctls/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,24 @@

## Fixed

# [v0.3.0]

## Changed
- Require `iommufd-bindings` 0.2.0.

## Added
- Add `Iommufd` wrappers for the vIOMMU, vDevice, vEVENTQ and HW queue ioctls.
- Add `IommufdVIommu` and `IommufdVDevice`, which own the lifetime of a vIOMMU,
its stage 2 HWPT and the per device stage 1 HWPTs, and expose invalidation and
hardware info queries.
- Add `IommufdVEventQ` and ARM SMMUv3 event decoding.
- Add the `AttachHwpt` trait so a caller can attach a device to a stage 1
HWPT without depending on how the device was opened.
- Add `IommufdHwQueue` for hardware accelerated command queues, enabled with
the `hw_queue` flag through `IommufdVIommu::new`.

## Fixed

# [v0.2.0]

## Changed
Expand Down
6 changes: 4 additions & 2 deletions iommufd-ioctls/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "iommufd-ioctls"
version = "0.2.0"
version = "0.3.0"
authors = ["The Cloud Hypervisor Authors"]
license = "Apache-2.0"
description = "Safe wrappers over IOMMUFD uAPIs"
Expand All @@ -10,6 +10,8 @@ edition = "2024"
keywords = ["iommufd"]

[dependencies]
iommufd-bindings = { version = "0.1.0", path = "../iommufd-bindings" }
iommufd-bindings = { version = "0.2.0", path = "../iommufd-bindings" }
libc = "0.2.39"
log = "0.4"
thiserror = "2.0.17"
vmm-sys-util = { version = "0.15.0" }
Loading
Loading