36 lines
721 B
C
36 lines
721 B
C
#pragma once
|
|
|
|
#include <lib/type.h>
|
|
|
|
struct pmo_request {
|
|
/* input: args */
|
|
u64 size;
|
|
u64 type;
|
|
|
|
/* output: return value */
|
|
u64 ret_cap;
|
|
};
|
|
|
|
struct pmo_map_request {
|
|
/* input: args */
|
|
u64 pmo_cap;
|
|
u64 addr;
|
|
u64 perm;
|
|
|
|
/* output: return value */
|
|
u64 ret;
|
|
};
|
|
|
|
int launch_process(struct user_elf *user_elf,
|
|
int *child_process_cap,
|
|
int *child_main_thread_cap,
|
|
struct pmo_map_request *pmo_map_reqs,
|
|
int nr_pmo_map_reqs, int caps[], int nr_caps, int cpuid);
|
|
|
|
int launch_process_with_pmos_caps(struct user_elf *user_elf,
|
|
int *child_process_cap,
|
|
int *child_main_thread_cap,
|
|
struct pmo_map_request *pmo_map_reqs,
|
|
int nr_pmo_map_reqs, int caps[], int nr_caps,
|
|
s32 aff);
|