zx_system_mexec
名称
zx_system_mexec —— 使用新内核和启动映像软启动系统
概要
#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() 接受两个vmo句柄,其中:kernel_vmo包含内核映像,bootimage_vmo包含initrd,其地址应作为内核参数传递给新内核。
要取代正在运行的内核,必须提供ZX_RSRC_KIND_ROOT类型的resource。
执行成功后,zx_system_mexec将取代当前运行的内核映像。新内核映像包含在kernel_vmo中,将bootimage_vmo中包含的ramdisk加载到物理内存中的某个位置,并直接跳转到新内核,同时将加载的initrd的地址提供给新内核。
权限
TODO(ZX-2399)
返回值
zx_system_mexec() 执行成功将不再返回。