#
46a7c5a8 |
|
24-Jul-2018 |
Travis Geiselbrecht <travisg@google.com> |
[kernel][pmm] change pmm single page alloc routines to return status Move from returning a status and the page pointer and/or physical address in an argument. Tested: build and runtests on both x86 and arm Change-Id: If10d877f152d355bfa1359338cd71f5aefbccfb4
|
#
d2acc06e |
|
12-Sep-2018 |
Abdulla Kamar <abdulla@google.com> |
[hypervisor] Set fault flags based on VMAR flags When we fault in pages for the guest physical address space, use the VMAR flags for the faulting address to apply the correct fault flags. This allows users to map VMOs into the guest VMAR that have a more limited set of permissions. MAC-166 #done Test: Ran "k ut hypervisor", "linux_guest", and "zircon_guest". Change-Id: I9d03b0b609daf20355fdb552a49b789b63830084
|
#
6b918c6f |
|
20-Aug-2018 |
Abdulla Kamar <abdulla@google.com> |
[hypervisor] Add VmAddressRegion::UnmapAllowPartial Add VmAddressRegion::UnmapAllowPartial() so that we can set hypervisor traps that cross multiple mappings. Test: Ran "k ut hypervisor", "hypervisor-test", "vmar-test", and "debian_guest". Change-Id: I6f41b496ed0ae17db63d5ad0ba3ff0ad4df8cc0e
|
#
178322b9 |
|
09-Aug-2018 |
Abdulla Kamar <abdulla@google.com> |
[lib][hypervisor] Traps outside of mapped memory Allow traps to be set that are outside of mapped memory. This will return success if attempt to set a trap that straddles mappings, but the trap will not operate correctly in that situation. Test: Ran "k ut hypervisor". Change-Id: I0c8a70b9d9564b5892eb96b71c9798d86de9deb6
|
#
ffd5fb53 |
|
06-Aug-2018 |
Abdulla Kamar <abdulla@google.com> |
[mmu][hypervisor] Support for more memory types Add support for uncached, uncached device, and write-combining to stage-2 page tables on arm64 and EPT page tables on x86-64. Test: Ran 'guest launch zircon_guest', 'hypervisor-test', 'machina_unittests', and 'k ut hypervisor'. Change-Id: I9d8e55c8357384e04a099c1cb25ac977027ed239
|
#
c60c64df |
|
05-Aug-2018 |
Abdulla Kamar <abdulla@google.com> |
[hypervisor] Make zx_guest_create return a VMAR Modify zx_guest_create to return a VMAR that represents the guest physical address space. A follow up CL will cover changes to the MMU code that allows uncached and write-combining VMOs to be mapped into the guest physical address space VMAR. Test: Ran 'vmar-test', 'hypervisor-test', 'machina_unittests', and 'guest launch zircon_guest' Change-Id: I4b9eada3ccb206a205c6b30f1cf882766ba70fed
|
#
30ac10bf |
|
18-Jun-2018 |
Carlos Pizano <cpu@google.com> |
[zircon] non-resizable VMOS This CL introduces the first option for VMO creation ZX_VMO_NOT_RESIZABLE that 'locks' the size of a root (non-clone) VMO Also enables the same for COW clones via ZX_VMO_CLONE_NON_RESIZEABLE This is meant to answer safety hazards of having a client pass VMOs to servers which the client can resize while the server is copying data into via a memory map. Today this is done via ZX_INFO_HANDLE_COUNT but that turns out is racy. This CL also cleans up vmo-tests so they using proble_for_read and probe_for_write instead of using unrelated syscalls to test memory mappings. TEST=added unittests in vmo_tests ZX-2279 #comment progress Change-Id: If69ce772dcccd92db83f5bda313ae2343ebb448e
|
#
b58bad29 |
|
04-Apr-2018 |
Nick Maniscalco <maniscalco@google.com> |
[kernel] Move unittest.h to include/lib/unittest/ Move unittest.h deeper in the tree so include statements will say: Change-Id: I85cb027a53530cd2003d813f004aaea3509f9f40
|
#
87b543ef |
|
18-Mar-2018 |
Abdulla Kamar <abdulla@google.com> |
[hypervisor][ktrace] Add VCPU blocking events Add ktrace events for when the VCPU is blocked while either waiting for an interrupt or waiting for a port packet to become available. This also restructures the way we record metadata for VCPU ktraces in order to be more efficient. PD-100 #comment Change-Id: I43551a0068bb3d6393a9a58c21b3ea813edfb726
|
#
88a0e892 |
|
05-Mar-2018 |
Mike Voydanoff <voydanoff@google.com> |
[build] Rename x86 project to "x64" Build output will now be in build-x64 instead of build-x86 Renamed and updated various scripts as appropriate Within zircon, $ARCH remains "x86". This avoids having to rename kernel/arch/x86/ and change a lot of #include paths Removed unnecessary $SUBARCH build variable Renamed the kernel target from pc-x86 to pc, and the board name in boards.list from "x86" to "pc". Change-Id: I0eb44a21ba731653b92f3ce2b78a7819c0a8f61c
|
#
55f571e0 |
|
05-Mar-2018 |
Mark Seaborn <mseaborn@google.com> |
[kernel][unittest] Remove unused "void* context" argument from test cases This argument is always NULL. This argument was part of an init/cleanup feature that was unused and that was removed. Change-Id: I997a268be10c6837b2d7529fb92c2df2e3bab814
|
#
b7def50e |
|
28-Feb-2018 |
Mark Seaborn <mseaborn@google.com> |
[kernel][unittest] Remove unused init/cleanup function parameters None of the in-kernel test cases provide init or cleanup functions. They all pass NULL to UNITTEST_END_TESTCASE() for those parameters, so we can remove those parameters. Note that unittest.c wasn't actually using the cleanup function. Change-Id: I0332bc5c870deec8a021f543ec2c31ef95c30d0f
|
#
35c1acbe |
|
15-Feb-2018 |
Abdulla Kamar <abdulla@google.com> |
[lib][hypervisor] Move everything into a namespace Move everything, but vmm_guest_page_fault_handler, into the hypervisor namespace. Change-Id: Ied96a7945b26c4a1ed24c03b293d42c7d89e7812
|
#
4cd4a22c |
|
28-Jan-2018 |
Abdulla Kamar <abdulla@google.com> |
[arm64][hypervisor] Set VMID in aspace earlier Set VMID earlier in the setup of the guest physical address space, so that it's harder to mistakenly use the wrong VMID. Change-Id: Ie413354471cc8e512e99e40c44e246befba5966c
|
#
b8801913 |
|
25-Jan-2018 |
Abdulla Kamar <abdulla@google.com> |
[utest] Check whether the hypervisor is supported Adds a check to see whether the hypervisor is supported before running Guest Physical Address Spaces tests on ARM64. On ARM64, we need to jump to EL2 during operation of the Guest Physical Address Space. If we run these tests without access to EL2, we'll fail. This can be seen when run under QEMU without virtualisation support. ZX-1614 #done Change-Id: I345af9c09361e64aee4cd58d07385d5228783d2d
|
#
6260e1ee |
|
19-Nov-2017 |
Abdulla Kamar <abdulla@google.com> |
[arm64][hypervisor] Map GICV into guests Map GICV into guests so that they can communicate with the vGIC. ZX-1347 #comment Change-Id: I1e4323ccf7ad26bbcd288af6c311ad24647a1d8b
|
#
5fb8e9ed |
|
23-Sep-2017 |
Travis Geiselbrecht <travisg@google.com> |
[kernel][vm] move vm.h to the new spot and remove some unused code Change-Id: I69f1b804fb95dd44e3e0619943e8809519aa82ca
|
#
f3e2126c |
|
12-Sep-2017 |
Roland McGrath <mcgrathr@google.com> |
[zx] Magenta -> Zircon The Great Renaming is here! Change-Id: I3229bdeb2a3d0e40fb4db6fec8ca7d971fbffb94
|
#
59e644b1 |
|
07-Sep-2017 |
George Kulakowski <kulakowski@google.com> |
[zircon][mxtl->fbl] Rename mxtl to fbl Change-Id: Ie21b6498e1bfb0a7fa0315e40b9e5c3ee78646be
|
#
e1490736 |
|
01-Sep-2017 |
Travis Geiselbrecht <travisg@google.com> |
[kernel][vm] move kernel/kernel/vm to just kernel/vm Change-Id: I8f724a9f8a61415712661d1fdd3dc4e1c70cf620
|
#
8196f160 |
|
25-Aug-2017 |
Abdulla Kamar <abdulla@google.com> |
[hypervisor] Replace all status_t with mx_status_t. As requested from a previous CL. (Also ran clang-format.) Change-Id: Ib4106f3c03f2084755c596062d34c8f72e42dcdb
|
#
ef8b498d |
|
21-Aug-2017 |
George Kulakowski <kulakowski@google.com> |
[hypervisor][status] Use mx_status_t instead of status_t Change-Id: I5491394231771d04352ab48e7adf5a0b434926c4
|
#
4b913ba9 |
|
10-Aug-2017 |
Mark Seaborn <mseaborn@google.com> |
[unittest] Use ASSERT_NE()/EXPECT_NE() instead of ASSERT_NEQ()/EXPECT_NEQ() This is to make the interface more consistent with gtest, which uses the _NE suffix rather than _NEQ for "not equal". Change-Id: Ic03fda7322ab79cbd806c8f849b6956d201c6d45
|
#
ce8c0523 |
|
20-Jul-2017 |
Abdulla Kamar <abdulla@google.com> |
[hypervisor] Restructure around VCPUs. This changes the structure of the hypervisor to be modelled around virtual CPUs. Each VCPU is associated with a thread and a CPU, in order to increase performance and simplify communication with user space. While the kernel-side of the hypervisor has been restructured, the user space-side has not been modified to take advantage of the optimisations that are possible. This will come in a follow up CL. Change-Id: Ic0c9be724f12c9de601fc4b892d74ba224b0d85e
|
#
464f7a4d |
|
11-Jul-2017 |
Travis Geiselbrecht <travisg@google.com> |
[kernel][vm] flip the VmObject::Create() calls to returning an error and taking a ref ptr as an arg Lets us more easily check errors inside the create function and return the right thing instead of just MX_ERR_NO_MEMORY Change-Id: I20f6e9453204a8d0f6ce2eabf735451c8d10d952
|
#
4e88dcc0 |
|
28-Jun-2017 |
Tim Detwiler <tjdetwiler@google.com> |
[hypervisor][vm] Allocate a root VMAR for guests. First steps towards allowing for on-demand allocation of pages to guests. All pages are still committed up front but this will stop happening once we begin handling the EPT violations for uncommitted pages. Change-Id: I808ee3402f4903046bbcb4f76b8231fb51cf86cf
|