diff options
Diffstat (limited to 'arch/x86/boot/boot.h')
| -rw-r--r-- | arch/x86/boot/boot.h | 48 | 
1 files changed, 48 insertions, 0 deletions
diff --git a/arch/x86/boot/boot.h b/arch/x86/boot/boot.h index 7b2692e897e..98239d2658f 100644 --- a/arch/x86/boot/boot.h +++ b/arch/x86/boot/boot.h @@ -2,6 +2,7 @@   *   *   Copyright (C) 1991, 1992 Linus Torvalds   *   Copyright 2007 rPath, Inc. - All Rights Reserved + *   Copyright 2009 Intel Corporation; author H. Peter Anvin   *   *   This file is part of the Linux kernel, and is made available under   *   the terms of the GNU General Public License version 2. @@ -26,6 +27,7 @@  #include <asm/setup.h>  #include "bitops.h"  #include <asm/cpufeature.h> +#include <asm/processor-flags.h>  /* Useful macros */  #define BUILD_BUG_ON(condition) ((void)sizeof(char[1 - 2*!!(condition)])) @@ -241,6 +243,49 @@ int enable_a20(void);  /* apm.c */  int query_apm_bios(void); +/* bioscall.c */ +struct biosregs { +	union { +		struct { +			u32 edi; +			u32 esi; +			u32 ebp; +			u32 _esp; +			u32 ebx; +			u32 edx; +			u32 ecx; +			u32 eax; +			u32 _fsgs; +			u32 _dses; +			u32 eflags; +		}; +		struct { +			u16 di, hdi; +			u16 si, hsi; +			u16 bp, hbp; +			u16 _sp, _hsp; +			u16 bx, hbx; +			u16 dx, hdx; +			u16 cx, hcx; +			u16 ax, hax; +			u16 gs, fs; +			u16 es, ds; +			u16 flags, hflags; +		}; +		struct { +			u8 dil, dih, edi2, edi3; +			u8 sil, sih, esi2, esi3; +			u8 bpl, bph, ebp2, ebp3; +			u8 _spl, _sph, _esp2, _esp3; +			u8 bl, bh, ebx2, ebx3; +			u8 dl, dh, edx2, edx3; +			u8 cl, ch, ecx2, ecx3; +			u8 al, ah, eax2, eax3; +		}; +	}; +}; +void intcall(u8 int_no, const struct biosregs *ireg, struct biosregs *oreg); +  /* cmdline.c */  int cmdline_find_option(const char *option, char *buffer, int bufsize);  int cmdline_find_option_bool(const char *option); @@ -279,6 +324,9 @@ int sprintf(char *buf, const char *fmt, ...);  int vsprintf(char *buf, const char *fmt, va_list args);  int printf(const char *fmt, ...); +/* regs.c */ +void initregs(struct biosregs *regs); +  /* string.c */  int strcmp(const char *str1, const char *str2);  size_t strnlen(const char *s, size_t maxlen);  |