History log of /fuchsia/zircon/system/ulib/mini-process/subprocess.h
Revision Date Author Comments
# 21f42445 02-Jul-2018 Carlos Pizano <cpu@google.com>

[zircon] Exempt ZX_INFO_HANDLE_VALID from policy

.. from policy check. In other words the syscall
zx_object_get_info(handle, ZX_INFO_HANDLE_VALID, nullptr, 0..)
should not generate an exception even if the job policy has
ZX_POL_BAD_HANDLE enforced.

The intention here is to allow developers to write debugging
aids that don't cause a fatal crash, without having to tweak
the job policy.

This was so at some point but lacking a test it regressed.

TEST= handle-info-test
policy-test (new test)

Change-Id: I9ec0f93c3fe5cd998b11adffdbf2fc2e1054c248


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

[zx] Magenta -> Zircon

The Great Renaming is here!

Change-Id: I3229bdeb2a3d0e40fb4db6fec8ca7d971fbffb94


# 7fe87420 31-Jul-2017 Abdulla Kamar <abdulla@google.com>

[magenta][policy] Remove MX_POL_NEW_GUEST.

We're moving from a job policy to resources, so first step is to
remove the policy. The next CL will add the appropriate resource
wiring.

Change-Id: I2e5de85c202cbb1fc4543863e2cb52e1bd525c81


# 60e9e6c0 25-Jul-2017 Abdulla Kamar <abdulla@google.com>

[magenta] Add syscalls for the hypervisor.

This change adds 7 syscalls for the hypervisor:
* guest_create - create a guest
* guest_set_trap - sets a trap within a guest
* vcpu_create - create a VCPU
* vcpu_resume - resume execution of a VCPU
* vcpu_interrupt - issue an interrupt on a VCPU
* vcpu_read_state - read the state of a VCPU
* vcpu_write_state - write the state of a VCPU

This formalizes the hypervisor ops that were previously used by
promoting them to first-class syscalls.

Change-Id: I5d8e3772b98ae423faa39d21a6ef2901e940ffd9


# dfc94dd6 26-Jul-2017 Mark Seaborn <mseaborn@google.com>

Revert "[mini-process] Move the subprocess's code into a separate ELF object"

This reverts commit 606773c3fc9595b82166f4389261dc45f2cf1216.

I am reverting this because it broke core-tests, when run via
"run-magenta ... -c 'userboot=bin/core-tests'". The bots did not
catch that because they don't currently run core-tests (see IN-35).

Change-Id: I9949ec809648b0254f2ae376156ca0528e781fb8


# c962df52 23-Jul-2017 Abdulla Kamar <abdulla@google.com>

[magenta][policy] Add MX_POL_NEW_GUEST.

Add MX_POL_NEW_GUEST to control creation of guests of the hypervisor.

Change-Id: Ib83df93f11fcef23ebcf298b1c865fcebcddef46


# 606773c3 25-Jul-2017 Mark Seaborn <mseaborn@google.com>

[mini-process] Move the subprocess's code into a separate ELF object

Before this change, the code for minipr_thread_loop() was copied from
the parent process into the child process. That was a hack that
assumed that the function was no bigger than kSizeLimit bytes. If
minipr_thread_loop() contained any calls to external functions (maybe
inserted by the compiler), that could cause crashes at run time.

Clean this up by moving that code to a separate ELF file (an
executable/library) and by ELF-loading that. This means that any
problems of having external references will be caught at link time.
This also makes it possible to split up the subprocess code into
multiple functions.

Change-Id: I1ecd19ae5457c3753080fd1695e0acde2d5af08b


# f4a09ffb 25-Jul-2017 Mark Seaborn <mseaborn@google.com>

[mini-process] Split the subprocess's code into a separate file

mini-process.c contained mostly code that runs in a parent process,
plus one function that runs in a subprocess. Split the latter into a
separate .c file. This involves moving some structs to a header.

This is a step towards moving the subprocess's code into a separate
ELF executable.

Change-Id: I02d23b7fdcc128d7f273a02d407f90ee1766a2c5