/
niceSOFT
/
libcap
Обзор
Документация
Войти
/
niceSOFT
/
libcap
Код
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
kdebug/exit.c
36 строк
842 B
Andrew G. Morgan
Add some code to automatically exit the kernel test
14 мар 2021, 02:36
14 мар 2021, 02:36
b5dcf3a
Код
Авторство
О чём код?
/* * See https://stackoverflow.com/questions/42208228/how-to-automatically-close-the-execution-of-the-qemu-after-end-of-process */ #include <stdio.h> #include <stdlib.h> #include <sys/io.h> #include <unistd.h> #define SHUTDOWN_PORT 0x604 #define EXIT_PORT 0x501 static void clean_exit(void) { ioperm(SHUTDOWN_PORT, 16, 1); outw(0x2000, SHUTDOWN_PORT); } int main(int argc, char **argv) { int status; if (argc != 2) { clean_exit(); } status = atoi(argv[1]); printf("exiting with status %d (in three seconds)\n", status); sleep(3); if (!status) { clean_exit(); } ioperm(EXIT_PORT, 8, 1); /* * status returned is 1+(2*orig_status) */ outb(status-1, EXIT_PORT); printf("didn't exit.. did you include '-device isa-debug-exit'" " in qemu command?\n"); exit(1); }