Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 58797
b: refs/heads/master
c: 337496e
h: refs/heads/master
i:
  58795: 9040ffc
v: v3
  • Loading branch information
H. Peter Anvin authored and Linus Torvalds committed Jul 12, 2007
1 parent 46714cd commit 825593e
Show file tree
Hide file tree
Showing 2 changed files with 47 additions and 1 deletion.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 449f2ab946b5ffbc357d815e8e3cce8def642984
refs/heads/master: 337496eb73ec970fe008095fdb2b2af60a2a7fa3
46 changes: 46 additions & 0 deletions trunk/arch/i386/boot/voyager.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
/* -*- 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_VOYAGER

int 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"
: "=qm" (err), "=rm" (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 */

0 comments on commit 825593e

Please sign in to comment.