⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sysdeps.h

📁 EFI(Extensible Firmware Interface)是下一代BIOS
💻 H
字号:
/* *  Copyright (C) 2001-2003 Hewlett-Packard Co. *	Contributed by Stephane Eranian <eranian@hpl.hp.com> * * This file is part of the ELILO, the EFI Linux boot loader. * *  ELILO is free software; you can redistribute it and/or modify *  it under the terms of the GNU General Public License as published by *  the Free Software Foundation; either version 2, or (at your option) *  any later version. * *  ELILO is distributed in the hope that it will be useful, *  but WITHOUT ANY WARRANTY; without even the implied warranty of *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the *  GNU General Public License for more details. * *  You should have received a copy of the GNU General Public License *  along with ELILO; see the file COPYING.  If not, write to the Free *  Software Foundation, 59 Temple Place - Suite 330, Boston, MA *  02111-1307, USA. * * Please check out the elilo.txt for complete documentation on how * to use this program. *//* * This file is used to define all the IA64-specific data structures, functions,  * and constants used by the generic ELILO.  * * For things specific to this platform use private.h instead */#ifndef __ELILO_SYSDEPS_IA64_H__#define __ELILO_SYSDEPS_IA64_H__#define ELILO_ARCH	"IA-64" /* ASCII string ! *//* in respective assembly files */extern VOID Memset(VOID *, INTN, UINTN);extern VOID Memcpy(VOID *, VOID *, UINTN);extern VOID sysdep_register_options(VOID);/* * This version must match the one in the kernel */typedef struct ia64_boot_params {	/*	 * The following three pointers MUST point to memory that is marked	 * as EfiRuntimeServicesData so that the kernel doesn't think the	 * underlying memory is free.	 */	UINTN command_line;		/* physical address of command line arguments */	UINTN efi_systab;		/* physical address of EFI system table */	UINTN efi_memmap;		/* physical address of EFI memory map */	UINTN efi_memmap_size;		/* size of EFI memory map */	UINTN efi_memdesc_size;	/* size of an EFI memory map descriptor */	UINT32 efi_memdesc_version;	/* descriptor version */	struct {		UINT16 num_cols;	/* number of columns on console output device */		UINT16 num_rows;	/* number of rows on console output device */		UINT16 orig_x;		/* cursor's x position */		UINT16 orig_y;		/* cursor's y position */	} console_info;	UINTN fpswa;			/* physical address of fpswa interface */	UINTN initrd_start;		/* virtual address where the initial ramdisk begins */	UINTN initrd_size;		/* how big is the initial ramdisk */	UINTN loader_addr;		/* start address of boot loader */	UINTN loader_size;		/* size of loader code & data */} boot_params_t;typedef struct sys_img_options {	UINT8 dummy; 			/* forces non-zero offset for first field */	UINT8 allow_relocation;		/* allow kernel relocation on allocation error */} sys_img_options_t;/* * How to jump to kernel code */static inline voidstart_kernel(VOID *kentry, VOID *bp){        asm volatile ("mov r28=%1; br.sptk.few %0" :: "b"(kentry),"r"(bp));}static inline const UINT64__ia64_swab64 (UINT64 x){	UINT64 result;	asm volatile ("mux1 %0=%1,@rev" : "=r" (result) : "r" (x));	return result;}static inline const UINT32__ia64_swab32 (UINT32 x){	return __ia64_swab64(x) >> 32;}static inline const UINT16__ia64_swab16(UINT16 x){	return __ia64_swab64(x) >> 48;}#endif /* __ELILO_SYSDEPS_IA64_H__ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -