diff options
Diffstat (limited to 'sys/kern/systrace_args.c')
| -rw-r--r-- | sys/kern/systrace_args.c | 34 | 
1 files changed, 34 insertions, 0 deletions
| diff --git a/sys/kern/systrace_args.c b/sys/kern/systrace_args.c index e28fef931ea8..5951cebbe74a 100644 --- a/sys/kern/systrace_args.c +++ b/sys/kern/systrace_args.c @@ -3514,6 +3514,16 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)  		*n_args = 1;  		break;  	} +	/* kexec_load */ +	case 599: { +		struct kexec_load_args *p = params; +		uarg[a++] = p->entry; /* uint64_t */ +		uarg[a++] = p->nseg; /* u_long */ +		uarg[a++] = (intptr_t)p->segments; /* struct kexec_segment * */ +		uarg[a++] = p->flags; /* u_long */ +		*n_args = 4; +		break; +	}  	default:  		*n_args = 0;  		break; @@ -9401,6 +9411,25 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)  			break;  		};  		break; +	/* kexec_load */ +	case 599: +		switch (ndx) { +		case 0: +			p = "uint64_t"; +			break; +		case 1: +			p = "u_long"; +			break; +		case 2: +			p = "userland struct kexec_segment *"; +			break; +		case 3: +			p = "u_long"; +			break; +		default: +			break; +		}; +		break;  	default:  		break;  	}; @@ -11409,6 +11438,11 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)  		if (ndx == 0 || ndx == 1)  			p = "int";  		break; +	/* kexec_load */ +	case 599: +		if (ndx == 0 || ndx == 1) +			p = "int"; +		break;  	default:  		break;  	}; | 
