Commit graph

303 commits

Author SHA1 Message Date
Zach Reizner
c1c23a86e1 crosvm: add child process device proxy
The purpose of the child process is to enable an extra layer of
isolation between the emulated devices, which have to deal with much
more untrusted guest memory, and the main process which has access to
the kernel's KVM ioctls.

BUG=None
TEST=None

Change-Id: I13c1fcf29e6da88a8a390e1cb174915fa2d86596
Reviewed-on: https://chromium-review.googlesource.com/514685
Commit-Ready: Zach Reizner <zachr@chromium.org>
Tested-by: Zach Reizner <zachr@chromium.org>
Reviewed-by: Zach Reizner <zachr@chromium.org>
Reviewed-by: Dylan Reid <dgreid@chromium.org>
2017-06-01 23:49:24 -07:00
Zach Reizner
cce4a96fcd crosvm: add bus module for address space routing
The Bus object is meant to be useful for arbitrary address space access
routing. In practice, this is used for MMIO and I/O ports.

TEST=None
BUG=None

Change-Id: I1ac7f231ac630a29195773425ce461fa7ade1753
Reviewed-on: https://chromium-review.googlesource.com/514684
Commit-Ready: Zach Reizner <zachr@chromium.org>
Tested-by: Zach Reizner <zachr@chromium.org>
Reviewed-by: Zach Reizner <zachr@chromium.org>
2017-06-01 23:49:24 -07:00
Zach Reizner
dfda191c8a crosvm: Add hardware module
This initial commit includes a basic serial port, CMOS/RTC device, and
i8042 microcontroller.

TEST=cargo test
BUG=None

Change-Id: Ibdeaca0a9ed6ccbbf575666300d334fad5fdd557
Reviewed-on: https://chromium-review.googlesource.com/514683
Commit-Ready: Dylan Reid <dgreid@chromium.org>
Tested-by: Zach Reizner <zachr@chromium.org>
Reviewed-by: Dylan Reid <dgreid@chromium.org>
2017-05-29 21:49:05 -07:00