#
989ee4e8 |
|
13-Jun-2018 |
David Moore <davemoore@google.com> |
[syscalls] Change vmar_... calls - Create zx_vm_option_t type - Change ZX_VM_FLAG_... to ZX_VM_... and make them new type. - Change int32_t flags parameters to zx_vm_option_t options - Make the options parameter be second. - Modify vmar_..._old functions to keep other repos working. Once they've all been updated these functions will go away. ZX-2264 Test:CQ Change-Id: I1faf4cc4e1e4dabf3d8ef680e398d83a545b0f09
|
#
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
|
#
997ec13a |
|
24-May-2018 |
Adam Barth <abarth@google.com> |
[syscalls] Remove count arguments from port_queue and port_wait This argument is not used and always must be one. I tried implementing some reasonable behavior for this parameter on port_queue, but it wasn't clear what to do when we encounter an error during the queue operation because there isn't an out parameter for how many we succeeded in queuing. Rather than having a half-baked feature, we should just remove the parameter and add another function that does vectorized versions of these operations if we need that in the future. Change-Id: Ifffcd6d705442cc830912a67c8117ffe5ec8295d
|
#
cb9b1324 |
|
16-Apr-2018 |
Garret Kelly <gdk@google.com> |
[zx] Call zx_port_{wait,queue} with correct count In the near future zx_port_{wait,queue} will not accept a count of zero. Change all zircon callers to call these functions with a count of one. ZX-1291 #comment Change-Id: I5697208c7931a5e117f469c901c78f65615eeee0
|
#
9db0af33 |
|
20-Mar-2018 |
Shai Barack <shayba@google.com> |
[syscall][vmo] removal of zx_vmo_{read,write}() actual parameter 4/n This reverts commit d7c91f0a8a876bd4de8808595cafcd4f2c3fd7a1. Change-Id: I5c61410f62850583a970d3ff2f44b6d58901509a
|
#
d7c91f0a |
|
19-Mar-2018 |
Benjamin Brittain <bwb@google.com> |
[revert] Revert "[syscall][vmo] removal of zx_vmo_{read,write}() actual parameter 4/n" This reverts commit 2d25909b7ab244d73172c9f5bc11d85b49ccefbb. Change-Id: I09efe4e1d69d7aeadb051936d3ddc8237e7d39cf
|
#
2d25909b |
|
14-Mar-2018 |
Shai Barack <shayba@google.com> |
[syscall][vmo] removal of zx_vmo_{read,write}() actual parameter 4/n Remove actual from zx_vmo_{read,write} Mark zx_vmo_{read,write}_old as deprecated Retarget most uses of zx_vmo_{read,write}_old to zx_vmo_{read,write}. Still need to migrate a handful of uses of _old that had meaningful usage of actual. This is good enough to go ahead and migrate uses in Garnet and Topaz. ZX-1802 Change-Id: If57329f9c5183a0dacd29083decbaf771925145f
|
#
939f4207 |
|
12-Mar-2018 |
Shai Barack <shayba@google.com> |
[syscall][vmo] removal of zx_vmo_{read,write}() actual parameter 1/n In preparation for changing the zx_vmo_read() and write() syscalls, introduce aliases (zx_vmo_read_old() and write_old()) for the existing behaviour, migrate zircon callers to the aliases, and mark the original syscalls as deprecated. Once the garnet and above layers have been migrated, the original syscalls will be adjusted to remove the "actual" argument, and the temporary _old() versions will be deprecated, and then removed. ZX-1802 Change-Id: I2fab9a59caf4093fb585ada6015197017767aba2
|
#
dfa4939c |
|
05-Mar-2018 |
Todd Eisenberger <teisenbe@google.com> |
[syscalls][vmar] Prohibit using SPECIFIC_OVERWRITE with MAP_RANGE This combination is currently unused in the codebase, and would require complicated logic to properly rollback the address space changes if the MAP_RANGE part of the operation fails. Change-Id: I0058b96b3b6af24995e001b6fef8cde35d5f7e20
|
#
250baf99 |
|
20-Feb-2018 |
Scott Graham <scottmg@chromium.org> |
[debugger][vm] Fix process_(read|write)_memory offset clamp f509df9187 clamped read/writes to the length of the associated VMAR, but did not take into account the mapping being offset into the VMO. Fix this and add a test. Change-Id: Id2dd0551b88e06d2befd7de53b4737a8aa326808
|
#
f509df91 |
|
30-Jan-2018 |
Scott Graham <scottmg@chromium.org> |
[kernel][vm] Make sys_process_(read|write)_memory() clamp to mapping end Previously, process_(read|write)_memory() would read/write any amount out of the VMO in which it was started. Instead, clamp the length to the mapped region. This is still not a full solution, as an ideal API would need to read from the correct VMO for each page in the region, but it's slightly less unexpected behavior. ZX-1631 Change-Id: I24d543fd867160479e8e59b2a4951b6a87774314
|
#
75cd3680 |
|
05-Dec-2017 |
Roland McGrath <mcgrathr@google.com> |
Clean up sloppy zx_handle_t/integer conflation Change-Id: I5659232efa8531ef97261639cc65f211ee9f0cc8
|
#
9d2eeade |
|
15-Oct-2017 |
Doug Evans <dje@google.com> |
[kernel][exceptions] Send gone,suspended,resumed exceptions as signals This is derived from CL 56613. This also pulls in the debugger and exception tests from CLs 76025, 76026. This patch reapplies 7e259986ff197b88212f9256a4859c8650feddfb. ZX-814 #comment patch Change-Id: Ida347bfed6644e2f33e86c0d6e26aee0c0f9c1a0
|
#
b7fce3a5 |
|
02-Nov-2017 |
Doug Evans <dje@google.com> |
Revert "[kernel][exceptions] Send gone,suspended,resumed exceptions as signals" This reverts commit 7e259986ff197b88212f9256a4859c8650feddfb. Garnet needs updating for deletion of ZX_EXCP_GONE Change-Id: I2ecd3798df30fd64abbbebc6ade21e73473374ab
|
#
7e259986 |
|
15-Oct-2017 |
Doug Evans <dje@google.com> |
[kernel][exceptions] Send gone,suspended,resumed exceptions as signals This is derived from CL 56613. This also pulls in the debugger and exception tests from CLs 76025, 76026. ZX-814 #done Change-Id: I9f5ac57079e90473092e88e84862461a295b1bfa
|
#
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
|
#
fbdbcb7b |
|
11-Aug-2017 |
Roland McGrath <mcgrathr@google.com> |
[utest][vmar] Use proper atomics rather than volatile and nonstandard barrier This eliminates the only use of the CF macro in userland. In general CF should be replaced by (mxtl::)atomic_signal_fence. Here there was no good reason to be using an explicit fence rather than just doing simple, well-defined accesses. Change-Id: I7579b2461db8cebe324a4470eaf214cb7fde7f40
|
#
fa086fac |
|
10-Aug-2017 |
Mark Seaborn <mseaborn@google.com> |
[utest] Remove empty-string msg args from EXPECT_*() calls in C++ The msg argument to EXPECT_*() and ASSERT_*() is optional in C++ now, so we can drop this argument when it's an empty string. In the earlier conversions, I only converted ASSERT_*() and forgot to convert EXPECT_*() too. This change also converts a few ASSERT_*() instances that appeared since the earlier changes. MG-905 Change-Id: I034c6d6a6b614ab0b315dcd409435c9fe9e27e6c
|
#
4983c25c |
|
02-Aug-2017 |
Mark Seaborn <mseaborn@google.com> |
[utest] Remove empty-string msg args from ASSERT_*() calls in C++ The msg argument to ASSERT_*() is optional in C++ now, so we can drop this argument when it's an empty string. MG-905 Change-Id: I6a5d6917518f8c9c4865b761dcbefe296d54c924
|
#
b31d7b7f |
|
06-Jul-2017 |
George Kulakowski <kulakowski@google.com> |
[cpp][countof] Prefer the typesafe mxtl::count_of in C++ code Change-Id: I3e475731f6872e6daf764f31964bed9f09186c7c
|
#
6bf8848c |
|
29-Jun-2017 |
Brian Swetland <swetland@google.com> |
[ports] deprecate MX_PORT_OPT_V2 - ports are just ports again Change-Id: Ia8a942dd24b711ef76bfbd7316b9166b78c20ae4
|
#
e32b34d8 |
|
28-Jun-2017 |
Brian Swetland <swetland@google.com> |
[ports][exceptions] exception delivery via ports v2, remove ports v1 - exception binding mechanism moved from ports-v1 to ports-v2 - ports-v1 removed entirely - ports-v1 tests removed entirely - syscall support for ports-v1 removed entirely - various ports-v1 clients migrated to ports-v2 (primarily unit tests using exceptions) - high 4 bits of packet type reserved for flags - PKT_FLAG_EPHEMERAL used to indicated that a packet is to be deleted upon dequeue (previously that was done only for USER packets, but we need that behaviour for EXCEPTION packets too) - packet type flags are masked off before packet is returned to userspace Change-Id: Id70d4087c9a4b876ad42c934fb4817555fae3a12
|
#
8dd845fe |
|
28-Jun-2017 |
Brian Swetland <swetland@google.com> |
[ports-v2][exceptions] reduce size of mx_exception_packet_t To enable migrating exception delivery to ports v2, we need exception packets to fit in the 32 byte limit of ports v2 payloads. This change reduces the exception packet to the minimal identifying information (type, pid, and tid), with 16 bytes of expansion space for future features. Userspace callers are updated to adjust to the new packet format and to obtain the mx_exception_report_t from mx_object_get_info() where it is needed, instead of depending on it being inline in the packet. Change-Id: I3018917f97cadb0f8b673c24dd96fa652096e583
|
#
7aa841ec |
|
21-Jun-2017 |
Todd Eisenberger <teisenbe@google.com> |
[utest][vmar] Add more tests for protect/unmap around demand paging MG-868 #comment This test reproduces this bug. Change-Id: Iba3290e02ab227ee15f8cfe26473c2364bf5afc1
|
#
5a9f91d3 |
|
15-Jun-2017 |
Todd Eisenberger <teisenbe@google.com> |
[utest][vmar] Add test for overflow on rounding sizes MG-856 #comment Add tests Change-Id: Ice903d42944c4927110bc3797d194841998ab56e
|
#
39fa7a0e |
|
15-Jun-2017 |
Todd Eisenberger <teisenbe@google.com> |
[utest][vmar] Add tests to exercise MAP_RANGE and unaligned map lens MG-847 #comment Add tests Change-Id: Ic3741a9b2c058b8503d059d17d596db309a645ca
|
#
2915c67a |
|
09-Jun-2017 |
George Kulakowski <kulakowski@google.com> |
[utest][core] MX_ERR_-ify the core unit tests Change-Id: Iebfbeba437831ad4b85d1b0bc6d6dc22bb721de9
|
#
ae7c3ce0 |
|
06-Jun-2017 |
Todd Eisenberger <teisenbe@google.com> |
[utest][vmar] Add test for mx_vmar_unmap with base not mapped MG-829 #comment Add test case Change-Id: I095abe41b10fa8399bd2203b98defbc9acdc4fe1
|
#
7f282dcf |
|
05-May-2017 |
Carlos Pizano <cpu@chromium.org> |
[kernel][magenta] Enforce job handle != 0 As a transitional step process creation accepted an invalid handle as a job handle. Remove this. Change-Id: Ibcd8d670e482199e665fea0002389068ac09c097
|
#
542fcb6f |
|
12-Dec-2016 |
Todd Eisenberger <teisenbe@google.com> |
[vmar] Implement the allocator for COMPACT regions This allocator is far from perfect and will probably need to be replaced once we start doing further analysis. However, this should be good enough for meeting the claim for COMPACT. Change-Id: I4152a924cf670ae23a96d1e15c3a4d1909fd82ce
|
#
ac42d15b |
|
28-Mar-2017 |
Todd Eisenberger <teisenbe@google.com> |
[vmar] Improve non-COMPACT randomized allocator This replaces the pick-a-spot at random allocator with one that is aware of the existing allocations, so it will never try to place on top of an existing one. The old allocator could get unlucky and spuriously fail allocations, and had some undesirable rounding behavior. The changed test corrects flakiness due to randomization. Change-Id: I98550c51c00495601a627effe1c8807d6a56f93e
|
#
a411ad70 |
|
05-Feb-2017 |
Doug Evans <dje@google.com> |
[kernel][exceptions] Fix mx_task_kill handling This patch completes the fix for MG-502, which is to unblock threads waiting in ExceptionHandlerExchange when they are killed. MG-502 #done Change-Id: Ifa71a48606291a7d10daca647247621d99c87aae
|
#
9c57c8b9 |
|
24-Feb-2017 |
Christopher Anderson <cja@google.com> |
[syscalls] object_bind_exception_port -> task_bind_exception_port MG-535 #done Change-Id: Icf61537df9417a18d9a7ff9f5eef15ca5fc939b7
|
#
682950da |
|
17-Feb-2017 |
George Kulakowski <kulakowski@google.com> |
[musl][magenta] Move process handle header into magenta Change-Id: I00eb8f5ca7fbaf9297f3b1e5b391be00ce5d11e2
|
#
2e8aaccb |
|
13-Feb-2017 |
Todd Eisenberger <teisenbe@google.com> |
[utest][vmar] Fix a flaky test This test becomes flaky once we turn on ASLR due to the random allocation (expected error code changes in one case), due to trying to map outside of the VMAR. Change-Id: I585c5e99c28cd32cdfbe6f6dac147cb0e0a00c3f
|
#
5455c73e |
|
31-Jan-2017 |
Roland McGrath <mcgrathr@google.com> |
[utest][vmar] Properly align stack for test thread ARM64 hardware cares about the stack alignment. The ABI is not a suggestion. Change-Id: Ifb71d6ad58ce1f2e0aa7330c53f577dedcca8f07
|
#
fbe78489 |
|
27-Jan-2017 |
Todd Eisenberger <teisenbe@google.com> |
[utest][vmar] Handle error conditions more cleanly Change-Id: I63784059a0c2eead3a25a4eb66b3c59e66d6c308
|
#
0665e20f |
|
26-Jan-2017 |
Todd Eisenberger <teisenbe@google.com> |
[utest][vmar] Fix hang in VMAR tests We need to resume the thread after killing it, otherwise the test process hangs on exit. Change-Id: I7af1a16314361a5b4b8bbeb5724889a016c85a43
|
#
5bfc2db6 |
|
23-Jan-2017 |
Todd Eisenberger <teisenbe@google.com> |
[mmu] Skip unmapped pages when updating mappings Pages may be unmapped due to demand paging. The old behavior would cause the update function to bail early and only partially change the protections. Adds a test to validate that this situation does not reoccur. MG-475 #done Change-Id: Ieb5d754758509ccf7ac103a4327c0244e214306f
|
#
d5f096a6 |
|
06-Dec-2016 |
Todd Eisenberger <teisenbe@google.com> |
[vmar][protect] Remove size=0 compatibility hack Change-Id: I95839d6f7a5ad76237d2b843d7ba238fc4cc60eb
|
#
04c683a2 |
|
05-Dec-2016 |
Todd Eisenberger <teisenbe@google.com> |
[vmar][protect] Implement splitting protect mx_vmar_protect can now be called on subranges of mappings and across multiple mappings. See the docs for more details. Change-Id: Ia295ae5b31b1d8ae0912dfd891f4f4fa84c07ebf
|
#
1ccf454a |
|
12-Jan-2017 |
Carlos Pizano <cpu@google.com> |
[system][utest] Process tests This change adds a bunch of tests regarding circular references of handles that we were missing. It also improves mini-process lib and renames some process names. Change-Id: Id4f1ccefd052f487bd5fbb3e492808681ec2cbb0
|
#
74d96698 |
|
02-Dec-2016 |
Todd Eisenberger <teisenbe@google.com> |
[vmar][map] Add support for SPECIFIC_OVERWRITE SPECIFIC_OVERWRITE allows mx_vmar_map callers to request overwriting of existing mappings, atomically with respect to other mx_vmar_map/unmap/protect calls. See docs for more details. MG-133 #done This addresses the spirit of the bug, if not the letter. Change-Id: I011bb6339817e7a2c4e33e2338ad458871e666d6
|
#
6cdc3cb5 |
|
11-Jan-2017 |
Brian Swetland <swetland@google.com> |
[magenta][syscalls] provide pseudo syscall mx_job_default() This is similar to mx_process_self(), but since the job may not be the job that the current process is a child of, we call it job_default -- the default job within which the process may try to create additional processes. Change-Id: I5169cf91b732de794fc2f9e18a78c2a51030d6c8
|
#
f264e421 |
|
10-Jan-2017 |
George Kulakowski <kulakowski@google.com> |
[jobs] Partially jobify coretests Change-Id: Ide029018cc9e15826e9708f562c0f6ac903fab2c
|
#
618e1f08 |
|
02-Dec-2016 |
Todd Eisenberger <teisenbe@google.com> |
[vmar][unmap] Remove size=0 compatibility hack For compatibility with the old interface, we were allowing size=0 to be passed in to mean "unmap the entire mapping that contains the base address". Change-Id: I9f6f560a685aff37fcd56d92ffca4ed94655b88b
|
#
01bfdb53 |
|
01-Dec-2016 |
Todd Eisenberger <teisenbe@google.com> |
[vmar][unmap] Add support for unmapping multiple regions The mx_vmar_unmap call can now unmap multiple mappings/regions simultaneously, as long as there is no partial overlap with a subregion. Change-Id: Ib3d3d6db8dbe5a2c991da75f5e1f462228fd8da3
|
#
ac6bdcb0 |
|
16-Dec-2016 |
Todd Eisenberger <teisenbe@google.com> |
[vmar][map] Require that vmo_offset + size not overflow Change-Id: I134b81e09a80be99ce3c92667273e11b0101fbb8
|
#
e13f1d16 |
|
30-Nov-2016 |
Todd Eisenberger <teisenbe@google.com> |
[vmar][unmap] Support splitting a single mapping Unmap is now capable of unmapping a subset of a mapping rather than requiring the entire mapping to be unmapped. This is the first step towards implementing the originally planned mx_vmar_unmap syscall, which can unmap multiple regions. Change-Id: Iafa5082f32a7d9732ad55ee2f2e43d4fee4bb77a
|
#
d576cfd1 |
|
16-Dec-2016 |
Todd Eisenberger <teisenbe@google.com> |
[vmar] Reject map attempts with unaligned vmo_offsets Change-Id: I9846be9d8a1062bf92706f9f77011beaa481cdc4
|
#
63d4263f |
|
16-Dec-2016 |
Todd Eisenberger <teisenbe@google.com> |
[vmar] Accept unaligned lengths in unmap/protect This makes the interface a little more ergonomic to use alongside mx_vmar_map. If a non-page-aligned len is passed in, it is rounded up to the next page. Change-Id: I06ff5d5f19f680d98d8430e1be6ba19caadc4cc7
|
#
77dc978d |
|
22-Nov-2016 |
Todd Eisenberger <teisenbe@google.com> |
[vmar] Add MX_INFO_VMAR to object_get_info to export VMAR base/len Change-Id: I1c4ce79221413e9b3d185c5c0974727db94da7bd
|
#
2d1c46fe |
|
15-Nov-2016 |
Todd Eisenberger <teisenbe@google.com> |
[vm] Implement new VM Address Region syscall interface For compatibility, allow passing a process handle instead of a VMAR to the vmar_map/unmap/protect calls and add usermode shims that translate the old syscalls into the new ones. Change-Id: I9ba29921d45f47d0d068e46e113dac1d139fce52
|