Commit graph

371 commits

Author SHA1 Message Date
dependabot[bot]
48b1f36ac1 build(deps): bump bitfield from 0.16.1 to 0.17.0
Bumps [bitfield](https://github.com/dzamlo/rust-bitfield) from 0.16.1 to 0.17.0.
- [Changelog](https://github.com/dzamlo/rust-bitfield/blob/master/CHANGELOG.md)
- [Commits](https://github.com/dzamlo/rust-bitfield/compare/v0.16.1...v0.17.0)

---
updated-dependencies:
- dependency-name: bitfield
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-09 09:14:29 -07:00
dependabot[bot]
0073a89bc0 build(deps): bump clap from 4.5.16 to 4.5.17
Bumps [clap](https://github.com/clap-rs/clap) from 4.5.16 to 4.5.17.
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.5.16...clap_complete-v4.5.17)

---
updated-dependencies:
- dependency-name: clap
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-09 09:14:21 -07:00
dependabot[bot]
632a492ec7 build(deps): bump serde from 1.0.209 to 1.0.210
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.209 to 1.0.210.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.209...v1.0.210)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-09 09:14:00 -07:00
Changyuan Lyu
342e0163f7 feat(blk): io_uring based virtio-blk device
Signed-off-by: Changyuan Lyu <changyuanl@google.com>
2024-09-08 20:02:17 -07:00
Changyuan Lyu
213e216b48 refactor(blk): split descriptor handler to 2 parts
Parse the descriptor first and then do the IO. The first part can
be reused in an io_uring based implementation.

Signed-off-by: Changyuan Lyu <changyuanl@google.com>
2024-09-08 20:02:17 -07:00
Changyuan Lyu
9a3857f84d fix(blk): flush disk file on FLUSH requests
Signed-off-by: Changyuan Lyu <changyuanl@google.com>
2024-09-08 20:02:17 -07:00
Changyuan Lyu
e9fe9c82ae fix(virtio): let devices handle hostside io errors
Some devices can report errors to the guest. For example, virtio-blk
can set a non-zero status code in the buffer.

Signed-off-by: Changyuan Lyu <changyuanl@google.com>
2024-09-08 20:02:17 -07:00
Changyuan Lyu
6d1f59925c perf(virtio): replace Vec<QueueSubmit> with Box<[QueueSubmit]>
We never need to push new elements to the vector.

Signed-off-by: Changyuan Lyu <changyuanl@google.com>
2024-09-07 18:23:39 -07:00
Changyuan Lyu
0c4fc4e3ba fix(virtio): monitor eventfds with IORING_OP_POLL_ADD
The extra benefit is that for the waker, we can use
`IORING_POLL_ADD_MULTI` to avoid re-registering the waker.

Signed-off-by: Changyuan Lyu <changyuanl@google.com>
2024-09-07 18:23:39 -07:00
Changyuan Lyu
8968a24bc3 fix(virtio): reset io_uring queue_submits at start up
Otherwise, after guest reboots, `queue_submits` still holds the
states of queues before reboot.

Signed-off-by: Changyuan Lyu <changyuanl@google.com>
2024-09-07 18:23:39 -07:00
Changyuan Lyu
798ae4cdf9 refactor(virtio): replace Queues<'m> with [Option<Q>]
Signed-off-by: Changyuan Lyu <changyuanl@google.com>
2024-09-07 18:23:39 -07:00
Changyuan Lyu
08d4876fef chore: add description to serde-aco-derive
Signed-off-by: Changyuan Lyu <changyuanl@google.com>
2024-09-02 20:46:22 -07:00
Changyuan Lyu
d574a2c83a chore: bump version to 0.5.0
Signed-off-by: Changyuan Lyu <changyuanl@google.com>
2024-09-02 20:20:23 -07:00
Changyuan Lyu
1407086c96 fix(virtio): avoid spam of no free entry warnings
Signed-off-by: Changyuan Lyu <changyuanl@google.com>
2024-09-02 20:17:30 -07:00
Changyuan Lyu
10002f508b feat(net): implement io_uring based virtio device
Signed-off-by: Changyuan Lyu <changyuanl@google.com>
2024-09-02 15:40:39 -07:00
Changyuan Lyu
648fdf7d44 feat(virtio): io_uring based async IO backend
Signed-off-by: Changyuan Lyu <changyuanl@google.com>
2024-09-02 15:40:39 -07:00
Changyuan Lyu
0a33defb13 refactor(virtio): separate mio from trait Virtio
Signed-off-by: Changyuan Lyu <changyuanl@google.com>
2024-09-02 15:40:39 -07:00
Changyuan Lyu
3d416a1f1c refactor(virtio): log device errors in do_work()
Signed-off-by: Changyuan Lyu <changyuanl@google.com>
2024-09-02 15:40:39 -07:00
Changyuan Lyu
7155249f23 refactor(virtio): add name() to trait Virtio
Signed-off-by: Changyuan Lyu <changyuanl@google.com>
2024-09-02 15:40:39 -07:00
dependabot[bot]
566ee4cec7 build(deps): bump syn from 2.0.76 to 2.0.77
Bumps [syn](https://github.com/dtolnay/syn) from 2.0.76 to 2.0.77.
- [Release notes](https://github.com/dtolnay/syn/releases)
- [Commits](https://github.com/dtolnay/syn/compare/2.0.76...2.0.77)

---
updated-dependencies:
- dependency-name: syn
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-02 12:37:18 -07:00
Changyuan Lyu
bc95efc670 perf: replace Arc<Vec<T>> with Arc<[T]>
Signed-off-by: Changyuan Lyu <changyuanl@google.com>
2024-08-31 23:18:02 -07:00
Changyuan Lyu
5304e37ab5 perf: replace Arc<String> with Arc<str>
Signed-off-by: Changyuan Lyu <changyuanl@google.com>
2024-08-31 23:18:02 -07:00
Changyuan Lyu
ed2a72ccd0 refactor(virtio): replace device_id() with an associated const
Signed-off-by: Changyuan Lyu <changyuanl@google.com>
2024-08-31 20:22:10 -07:00
Changyuan Lyu
fc059ad171 perf(virtio): lock memory layout while running
Signed-off-by: Changyuan Lyu <changyuanl@google.com>
2024-08-31 17:14:31 -07:00
Changyuan Lyu
03ee6c42ef perf(help): replace help() with an associated const
Signed-off-by: Changyuan Lyu <changyuanl@google.com>
2024-08-31 01:14:24 -07:00
dependabot[bot]
816804aa53 build(deps): bump flexi_logger from 0.28.5 to 0.29.0
Bumps [flexi_logger](https://github.com/emabee/flexi_logger) from 0.28.5 to 0.29.0.
- [Changelog](https://github.com/emabee/flexi_logger/blob/master/CHANGELOG.md)
- [Commits](https://github.com/emabee/flexi_logger/commits/v0.29.0)

---
updated-dependencies:
- dependency-name: flexi_logger
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-26 07:57:52 -07:00
dependabot[bot]
4bbece71bf build(deps): bump quote from 1.0.36 to 1.0.37
Bumps [quote](https://github.com/dtolnay/quote) from 1.0.36 to 1.0.37.
- [Release notes](https://github.com/dtolnay/quote/releases)
- [Commits](https://github.com/dtolnay/quote/compare/1.0.36...1.0.37)

---
updated-dependencies:
- dependency-name: quote
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-26 07:57:41 -07:00
dependabot[bot]
43b6745e17 build(deps): bump serde from 1.0.208 to 1.0.209
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.208 to 1.0.209.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.208...v1.0.209)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-26 07:57:19 -07:00
dependabot[bot]
73dea68261 build(deps): bump syn from 2.0.75 to 2.0.76
Bumps [syn](https://github.com/dtolnay/syn) from 2.0.75 to 2.0.76.
- [Release notes](https://github.com/dtolnay/syn/releases)
- [Commits](https://github.com/dtolnay/syn/compare/2.0.75...2.0.76)

---
updated-dependencies:
- dependency-name: syn
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-26 07:57:05 -07:00
Changyuan Lyu
5733913533 refactor(virtio): replace actions with states
Signed-off-by: Changyuan Lyu <changyuanl@google.com>
2024-08-20 23:35:29 -07:00
Changyuan Lyu
00a32a2a70 fix(virtio): reset the device on shutdown
Signed-off-by: Changyuan Lyu <changyuanl@google.com>
2024-08-20 23:35:29 -07:00
Changyuan Lyu
52077ed9e6 fix(virtio): allow dev reset while waiting start
Signed-off-by: Changyuan Lyu <changyuanl@google.com>
2024-08-20 23:35:29 -07:00
Changyuan Lyu
47d86a40af ci: change dependabot interval to weekly
Signed-off-by: Changyuan Lyu <changyuanl@google.com>
2024-08-19 09:46:58 -07:00
dependabot[bot]
51809ad4ab build(deps): bump libc from 0.2.156 to 0.2.158
Bumps [libc](https://github.com/rust-lang/libc) from 0.2.156 to 0.2.158.
- [Release notes](https://github.com/rust-lang/libc/releases)
- [Changelog](https://github.com/rust-lang/libc/blob/0.2.158/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/libc/compare/0.2.156...0.2.158)

---
updated-dependencies:
- dependency-name: libc
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-19 09:36:01 -07:00
dependabot[bot]
e847b0f056 build(deps): bump syn from 2.0.74 to 2.0.75
Bumps [syn](https://github.com/dtolnay/syn) from 2.0.74 to 2.0.75.
- [Release notes](https://github.com/dtolnay/syn/releases)
- [Commits](https://github.com/dtolnay/syn/compare/2.0.74...2.0.75)

---
updated-dependencies:
- dependency-name: syn
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-19 09:35:50 -07:00
Changyuan Lyu
42593bcd26 fix(net): detect tap offload cap after setup
In the TUN/TAP case, the fd must be attached to an interface before
the userspace can enable offloads.

Signed-off-by: Changyuan Lyu <changyuanl@google.com>
2024-08-18 23:01:11 -07:00
Changyuan Lyu
9340c98378 perf(virtio): remove unnecessary wake at startup
Signed-off-by: Changyuan Lyu <changyuanl@google.com>
2024-08-17 17:47:14 -07:00
dependabot[bot]
183d67c805 build(deps): bump clap from 4.5.15 to 4.5.16
Bumps [clap](https://github.com/clap-rs/clap) from 4.5.15 to 4.5.16.
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.5.15...clap_complete-v4.5.16)

---
updated-dependencies:
- dependency-name: clap
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-16 09:02:53 -07:00
dependabot[bot]
9a56950700 build(deps): bump serde from 1.0.207 to 1.0.208
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.207 to 1.0.208.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.207...v1.0.208)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-16 09:02:45 -07:00
dependabot[bot]
1addf7ba67 build(deps): bump libc from 0.2.155 to 0.2.156
Bumps [libc](https://github.com/rust-lang/libc) from 0.2.155 to 0.2.156.
- [Release notes](https://github.com/rust-lang/libc/releases)
- [Changelog](https://github.com/rust-lang/libc/blob/0.2.156/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/libc/compare/0.2.155...0.2.156)

---
updated-dependencies:
- dependency-name: libc
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-16 09:02:36 -07:00
dependabot[bot]
f9816ca117 build(deps): bump serde from 1.0.206 to 1.0.207
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.206 to 1.0.207.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.206...v1.0.207)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-13 08:10:57 -07:00
dependabot[bot]
864ec6575d build(deps): bump serde from 1.0.205 to 1.0.206
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.205 to 1.0.206.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.205...v1.0.206)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-12 07:42:06 -07:00
dependabot[bot]
2c5e4f2300 build(deps): bump syn from 2.0.72 to 2.0.74
Bumps [syn](https://github.com/dtolnay/syn) from 2.0.72 to 2.0.74.
- [Release notes](https://github.com/dtolnay/syn/releases)
- [Commits](https://github.com/dtolnay/syn/compare/2.0.72...2.0.74)

---
updated-dependencies:
- dependency-name: syn
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-12 07:41:49 -07:00
dependabot[bot]
4436b53801 build(deps): bump mio from 1.0.1 to 1.0.2
Bumps [mio](https://github.com/tokio-rs/mio) from 1.0.1 to 1.0.2.
- [Release notes](https://github.com/tokio-rs/mio/releases)
- [Changelog](https://github.com/tokio-rs/mio/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tokio-rs/mio/compare/v1.0.1...v1.0.2)

---
updated-dependencies:
- dependency-name: mio
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-12 07:41:23 -07:00
dependabot[bot]
f3a81481dd build(deps): bump clap from 4.5.14 to 4.5.15
Bumps [clap](https://github.com/clap-rs/clap) from 4.5.14 to 4.5.15.
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.5.14...v4.5.15)

---
updated-dependencies:
- dependency-name: clap
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-12 07:41:09 -07:00
dependabot[bot]
da158ab674 build(deps): bump clap from 4.5.13 to 4.5.14
Bumps [clap](https://github.com/clap-rs/clap) from 4.5.13 to 4.5.14.
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.5.13...v4.5.14)

---
updated-dependencies:
- dependency-name: clap
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-09 08:49:50 -07:00
dependabot[bot]
99cf392fe3 build(deps): bump serde from 1.0.204 to 1.0.205
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.204 to 1.0.205.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.204...v1.0.205)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-08 11:58:13 -07:00
Changyuan Lyu
1323affd98 fix(cpuid): add processor name
Signed-off-by: Changyuan Lyu <changyuanl@google.com>
2024-08-04 15:40:46 -07:00
Changyuan Lyu
8baaef0bfc fix(cpuid): add cache and TLB information
Signed-off-by: Changyuan Lyu <changyuanl@google.com>
2024-08-04 15:40:46 -07:00
Changyuan Lyu
2c419dae89 fix(cpuid): set the x2APIC ID in CPUID leaf 0x1f
Signed-off-by: Changyuan Lyu <changyuanl@google.com>
2024-08-04 15:40:46 -07:00