Soft reboot the system with a new kernel and bootimage.
#include <zircon/syscalls.h> zx_status_t zx_system_mexec(zx_handle_t resource, zx_handle_t kernel_vmo, zx_handle_t bootimage_vmo);
zx_system_mexec() accepts two vmo handles: kernel_vmo should contain a
kernel image and bootimage_vmo should contain an initrd whose address shall
be passed to the new kernel as a kernel argument.
To supplant the running kernel, a resource of ZX_RSRC_KIND_ROOT must be supplied.
zx_system_mexec() shall supplant the currently running kernel
image with the kernel image contained within kernel_vmo, load the ramdisk
contained within bootimage_vmo to a location in physical memory and branch
directly into the new kernel while providing the address of the loaded initrd
to the new kernel.
To use the
zx_system_mexec() function, you must specify
kernel.enable-debugging-syscalls=true on the kernel command line. Otherwise,
the function returns ZX_ERR_NOT_SUPPORTED.
resource must have resource kind ZX_RSRC_KIND_ROOT.
kernel_vmo must be of type ZX_OBJ_TYPE_VMO and have ZX_RIGHT_READ.
bootimage_vmo must be of type ZX_OBJ_TYPE_VMO and have ZX_RIGHT_READ.
zx_system_mexec() shall not return upon success.
kernel.enable-debugging-syscalls is not set to
on the kernel command line.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2019-11-21.