History log of /fuchsia/zircon/system/utest/hypervisor/rules.mk
Revision Date Author Comments
# 49dfdab4 05-Aug-2018 Abdulla Kamar <abdulla@google.com>

[ulib][zx] Add VCPU syscall wrapper

Also update the hypervisor tests to use the syscall wrappers.

PD-167 #done

Test: Passed CQ.
Change-Id: Iaed8b743461c981b1d71090ea44e488bc69a1e68


# 31af8337 15-Feb-2018 Abdulla Kamar <abdulla@google.com>

[ulib][hypervisor] Remove the ulib from Zircon

All of this code is being migrated to Garnet.

Change-Id: I0119e6897fd5dabf7add6f0c0a689a702418275f


# 4b57ec76 15-Feb-2018 Abdulla Kamar <abdulla@google.com>

[utest][hypervisor] Break most of ulib dependency

This is so we can begin the process of removing ulib/hypervisor and
integrating everything directly into lib/machina. This will ease a lot
of the inter-layer dependency tangling we see.

For now, the test still has to have a dependency on ulib/hypervisor for
the decode tests, but a follow up change will move that across too.

Change-Id: Iea20400b4df02cecfa674bf79b8567a770891902


# 296fb2ac 29-Jan-2018 Adam Barth <abarth@google.com>

[async] Separate fbl dependency from async_t

The C++ FIDL support library in Garnet wants to be able to use async_t
without linking against libfbl. Previously, the C declarations needed
create an async_wait_t were in the same header as code that depended on
fbl, which meant C++ clients of async_wait_t were forced to depend on
fbl.

After this change, the C++ wrappers for libasync interfaces are
separated from the core C declarations.

Change-Id: Ic172911a9dc775d5b5e540a33ce87d2dc218a3d9


# c9bef8ff 19-Dec-2017 Alex Legg <alexlegg@google.com>

[ulib][hypervisor] Remove page table code from Guest.

Moved to garnet/lib/machina.

Change-Id: Idc2be4a9fbffe50d962cfee08eaa849dd719a8ae


# d2ad288a 19-Nov-2017 Mike Krinkin <krinkin@google.com>

[ulib][hypervisor] Implement Local APIC timer

With this Local APIC Timer implementation I was able to start
Zircon inside Zircon hypervisor inside KVM using nested
virtualization. It might come in handy with debugging and speedup
devlopment a bit.

Change-Id: I6d4ef356dcda23e93defa9a28616cc8da675171e


# 10abda1a 20-Nov-2017 Tim Detwiler <tjdetwiler@google.com>

[hypervisor][ulib] Split off ulib/machina.

Migrate most device implementations into a new library under
ulib/machina.

ZX-1379 #comment

Change-Id: I3b82d458ca60056c81bb8e1f978f4197884047ab


# 6d8d1ba0 19-Nov-2017 Abdulla Kamar <abdulla@google.com>

[ulib][hypervisor] Move to arch-specific dirs

Use architecture-specific directories for the hypervisor code. This way
we can split out arm64 from x86 code, and reduce the amount of
if-defines needed.

Also temporarily add a stub GIC distributor in order to make PCI happy.

ZX-1347 #comment

Change-Id: Ifbc2416530872d0a064efdd738155aa0714ac8ac


# dbc403d4 15-Nov-2017 Abdulla Kamar <abdulla@google.com>

[ulib][hypervisor] Simplify X86 UART

Make the X86 UART dumb, as we now have Virtio GPU and Virtio Input, so
we can use a proper gfxconsole. The next step is to support the ARM UART
in the same code.

ZX-1347 #comment

Change-Id: Ied77dfff6ee84cb71e9df37dfcc73655a919dac5


# c654515a 11-Oct-2017 Tim Detwiler <tjdetwiler@google.com>

[hypervisor][pci] Migrate ECAM and config ports to IoHandlers.

Change-Id: I3f2699a6d1253fd13804b37315a84c5849d27333


# 7277c8d6 08-Sep-2017 Tim Detwiler <tjdetwiler@google.com>

[hypervisor][input] Add virtio-input device.

Support virtualized keyboard devices.

Change-Id: I39a94a81feac33f8485693b2cbbcc66a1bee720d


# 0bdb746f 08-Oct-2017 Abdulla Kamar <abdulla@google.com>

[utest][hypervisor] Restructure tests for ARM64.

Restructure the guest test so that it can be used on ARM64. The assembly
for the test will come in a follow up CL.

Change-Id: I3286d050ec28cf7b2990741eb2e5005819e4c364


# 65cb8ada 27-Sep-2017 Tim Detwiler <tjdetwiler@google.com>

[hypervisor] Replace guest_ctx_t with Guest class.

This class provides a higher-level wrapper around the guest system
calls and owns the guest handle. In a follow up commit we will expose
APIs to allow devices to map handlers to IO ranges and remove the
public data pointers from the guest class.

Additionally this will allow us to remove the public handle accessor
from Guest, allowing all guest-related resources to be managed
internally.

Change-Id: I3fa57b6f2e95dad589d7fe201cfabb67c55cb234


# e684fefe 02-Oct-2017 Tim Detwiler <tjdetwiler@google.com>

[hypervisor][virtio] Handle queue index overflow.

Issue was exposed fairly quickly by the GPU when outputting large
amounts of text.

Change-Id: I80c665e82abee101de677fc8457a9b2fa6a1e270


# 7ae31892 29-Sep-2017 Tim Detwiler <tjdetwiler@google.com>

[hypervisor][utest] Add virtio-gpu tests.

Change-Id: I5184673f93c5e8e13c2604c1a940d3eee2e611a9


# 50cf1c1c 27-Sep-2017 Tim Detwiler <tjdetwiler@google.com>

[hypervisor][utest] Add virtio test utility.

VirtioQueueFake is a utility class to assist with adding buffers to a
queue under test.

Change-Id: If5b929f0c3589dada34d998b57d7f09c608f0c02


# a40fa541 15-Sep-2017 Tim Detwiler <tjdetwiler@google.com>

[hypervisor][virtio] Add VirtioDevice class.

Change-Id: Ia7f74cd1baff2eab0b7a1edd3e9876fb2cf83f0d


# f3e2126c 12-Sep-2017 Roland McGrath <mcgrathr@google.com>

[zx] Magenta -> Zircon

The Great Renaming is here!

Change-Id: I3229bdeb2a3d0e40fb4db6fec8ca7d971fbffb94


# 99b27790 31-Aug-2017 Tim Detwiler <tjdetwiler@google.com>

[hypervisor][utest] Initial C++ conversion.

Change-Id: I293463e10d1a95ec2d7a8918e2270b572f80c891


# 8d105a40 15-Aug-2017 Andy Mutton <andymutton@google.com>

[hypervisor] Improve UART interrupt/status logic.

Makes the UART impl more closely match the spec
for reset of registers and raising of interrupts.

Change-Id: I3c1325e858ea487c7ef448d7f0ac285b5383bc8e


# 38239314 26-Jul-2017 Tim Detwiler <tjdetwiler@google.com>

[hypervisor][pci] Support port IO accesses to PCI config space.

Linux uses ports 0xcf8 and 0xcfc to address and access the PCI
configuration space. In order to support both MMIO and PIO accesses to
PCI configuration space, factor this out methods that can be wired up to
both mem traps and port accesses in the VCPU.

Change-Id: If0d540ad081d968b078367481b97765be866fc2d


# 76424c24 26-Jul-2017 Tim Detwiler <tjdetwiler@google.com>

[hypervisor] Add vcpu tests.

Place system calls behind function pointers in vcpu_context_t that
allow tests to replace the system calls with a fake implementation.

Change-Id: Ide6fefaa564d45b40b6c25741c79d38563ebf025


# 446ada35 24-Jun-2017 Abdulla Kamar <abdulla@google.com>

[hypervisor] Add test for null_block_device.

This change also restructures the user-space hypervisor code to enable
more testing, moving the VCPU code into the hypervisor lib, and
splitting off the block-specific code.

Change-Id: I65354a442f40be8af3cdfbfdf7b1f303f640c19e


# cead3ded 22-May-2017 Abdulla Kamar <abdulla@google.com>

[hypervisor] Move APIC and EPT handling to user-space.

This means that the local APIC, IO APIC, and all related instruction
decoding moves to user-space.

Change-Id: I4c2dfd306dc5d30bb404f06e9fc9174101e472b6


# 0d5ae8c9 12-May-2017 Dave Bort <dbort@google.com>

[ulib] Merge ulib/hexdump into ulib/pretty

Change-Id: I194595de04e83178121c455f31732d1046448850


# c6a42ca2 10-Apr-2017 Abdulla Kamar <abdulla@google.com>

[hypervisor] Make common hypervisor ulib.

Factor out common code that can be used by userspace to build guests.

For now, this helps out with both the hypervisor test, and with the
Magenta on Magenta binary. This isn't the final API, more a
placeholder for now.

Change-Id: I758195f6e396d1758f34e2930f8b8ee8d8692c19


# 16656ae0 05-Apr-2017 Brian Swetland <swetland@google.com>

[build] flatten the build

Previously we treated kernel/, system/, and third_party/ as
overlays on a shared namespace. This required the concept
of "canonical" module names, and a lot of complexity to ensure
that things didn't collide and the build worked.

This change gets rid of that, no longer passes -I to make,
so that include directives from our *.mk files do not magically
wildcard across various paths, etc.

The most user-visible change is that everywhere where a module
name is specified (MODULE_DEPS, MODULE_LIBS, etc), full module
names like kernel/lib/io or system/ulib/mxio must be used instead
of previously-allowed "short" names like lib/io and ulib/mxio.

The build output still has a similar shape, but the first segment
of the module path (kernel/, system/, or third_party/) is no
longer elided under $(BUILDDIR)

Change-Id: I525aba1da1c86eb7a86007bddc669f7eeebfedd5


# 7c95d35b 29-Mar-2017 Abdulla Kamar <abdulla@google.com>

[hypervisor] Move hypervisor test out of coretests.

Change-Id: I344c96d1bd4af63bde3b1891067c2a5192768ebe