blob: f12f20fbd6c6b7179c7a22870860a8337606a358 [file] [log] [blame] [view]
# zx_system_mexec
## NAME
zx_system_mexec - Soft reboot the system with a new kernel and bootimage
## SYNOPSIS
```
#include <zircon/syscalls.h>
zx_status_t zx_system_mexec(zx_handle_t resource,
zx_handle_t kernel_vmo,
zx_handle_t bootimage_vmo);
```
## DESCRIPTION
**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.
Upon success, *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.
## RETURN VALUE
**zx_system_mexec**() shall not return upon success.