📄 voyager.c
字号:
/* -*- linux-c -*- ------------------------------------------------------- * * * Copyright (C) 1991, 1992 Linus Torvalds * Copyright 2007 rPath, Inc. - All Rights Reserved * * This file is part of the Linux kernel, and is made available under * the terms of the GNU General Public License version 2. * * ----------------------------------------------------------------------- *//* * arch/i386/boot/voyager.c * * Get the Voyager config information */#include "boot.h"#ifdef CONFIG_X86_VOYAGERint query_voyager(void){ u8 err; u16 es, di; /* Abuse the apm_bios_info area for this */ u8 *data_ptr = (u8 *)&boot_params.apm_bios_info; data_ptr[0] = 0xff; /* Flag on config not found(?) */ asm("pushw %%es ; " "int $0x15 ; " "setc %0 ; " "movw %%es, %1 ; " "popw %%es" : "=q" (err), "=r" (es), "=D" (di) : "a" (0xffc0)); if (err) return -1; /* Not Voyager */ set_fs(es); copy_from_fs(data_ptr, di, 7); /* Table is 7 bytes apparently */ return 0;}#endif /* CONFIG_X86_VOYAGER */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -