xref: /aosp_15_r20/external/strace/reboot.c (revision cf84ac9a129d8ea9952db616b4e9b904c4bdde56)
1*cf84ac9aSAndroid Build Coastguard Worker #include "defs.h"
2*cf84ac9aSAndroid Build Coastguard Worker 
3*cf84ac9aSAndroid Build Coastguard Worker #include "xlat/bootflags1.h"
4*cf84ac9aSAndroid Build Coastguard Worker #include "xlat/bootflags2.h"
5*cf84ac9aSAndroid Build Coastguard Worker #include "xlat/bootflags3.h"
6*cf84ac9aSAndroid Build Coastguard Worker 
SYS_FUNC(reboot)7*cf84ac9aSAndroid Build Coastguard Worker SYS_FUNC(reboot)
8*cf84ac9aSAndroid Build Coastguard Worker {
9*cf84ac9aSAndroid Build Coastguard Worker 	const unsigned int magic1 = tcp->u_arg[0];
10*cf84ac9aSAndroid Build Coastguard Worker 	const unsigned int magic2 = tcp->u_arg[1];
11*cf84ac9aSAndroid Build Coastguard Worker 	const unsigned int cmd = tcp->u_arg[2];
12*cf84ac9aSAndroid Build Coastguard Worker 
13*cf84ac9aSAndroid Build Coastguard Worker 	printxval(bootflags1, magic1, "LINUX_REBOOT_MAGIC_???");
14*cf84ac9aSAndroid Build Coastguard Worker 	tprints(", ");
15*cf84ac9aSAndroid Build Coastguard Worker 	printxval(bootflags2, magic2, "LINUX_REBOOT_MAGIC_???");
16*cf84ac9aSAndroid Build Coastguard Worker 	tprints(", ");
17*cf84ac9aSAndroid Build Coastguard Worker 	printxval(bootflags3, cmd, "LINUX_REBOOT_CMD_???");
18*cf84ac9aSAndroid Build Coastguard Worker 	if (cmd == LINUX_REBOOT_CMD_RESTART2) {
19*cf84ac9aSAndroid Build Coastguard Worker 		tprints(", ");
20*cf84ac9aSAndroid Build Coastguard Worker 		/*
21*cf84ac9aSAndroid Build Coastguard Worker 		 * The size of kernel buffer is 256 bytes and
22*cf84ac9aSAndroid Build Coastguard Worker 		 * the last byte is always zero, at most 255 bytes
23*cf84ac9aSAndroid Build Coastguard Worker 		 * are copied from the user space.
24*cf84ac9aSAndroid Build Coastguard Worker 		 */
25*cf84ac9aSAndroid Build Coastguard Worker 		printstr_ex(tcp, tcp->u_arg[3], 255, QUOTE_0_TERMINATED);
26*cf84ac9aSAndroid Build Coastguard Worker 	}
27*cf84ac9aSAndroid Build Coastguard Worker 	return RVAL_DECODED;
28*cf84ac9aSAndroid Build Coastguard Worker }
29