#
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
|