/* * Automatically generated C config: don't edit * Linux kernel version: 2.6.32-hardened-r91 * Sat Feb 25 01:29:02 2012 */ /* * Copyright (C) 1998-2000 Hewlett-Packard Co * David Mosberger-Tang */ /* Bytes per L1 (data) cache line. */ /* * Copyright (C) 1998-2004 Hewlett-Packard Co * David Mosberger-Tang * Stephane Eranian * Copyright (C) 2003 Intel Co * Suresh Siddha * Fenghua Yu * Arun Sharma * * 12/07/98 S. Eranian added pt_regs & switch_stack * 12/21/98 D. Mosberger updated to match latest code * 6/17/99 D. Mosberger added second unat member to "struct switch_stack" * */ /* * When a user process is blocked, its state looks as follows: * * +----------------------+ ------- IA64_STK_OFFSET * | | ^ * | struct pt_regs | | * | | | * +----------------------+ | * | | | * | memory stack | | * | (growing downwards) | | * //.....................// | * | * //.....................// | * | | | * +----------------------+ | * | struct switch_stack | | * | | | * +----------------------+ | * | | | * //.....................// | * | * //.....................// | * | | | * | register stack | | * | (growing upwards) | | * | | | * +----------------------+ | --- IA64_RBS_OFFSET * | struct thread_info | | ^ * +----------------------+ | | * | | | | * | struct task_struct | | | * current -> | | | | * +----------------------+ ------- * * Note that ar.ec is not saved explicitly in pt_reg or switch_stack. * This is because ar.ec is saved as part of ar.pfs. */ /* * Copyright (C) 1998, 1999, 2002, 2003 Hewlett-Packard Co * David Mosberger-Tang */ /* * This file is never included by application software unless explicitly * requested (e.g., via linux/types.h) in which case the application is * Linux specific so (user-) name space pollution is not a major issue. * However, for interoperability, libraries still need to be careful to * avoid naming clashes. * * Based on . * * Modified 1998-2000, 2002 * David Mosberger-Tang , Hewlett-Packard Co */ /* * asm-generic/int-ll64.h * * Integer declarations for architectures which use "long long" * for 64-bit types. */ /* * There seems to be no way of detecting this automatically from user * space, so 64 bit architectures should override this in their * bitsperlong.h. In particular, an architecture that supports * both 32 and 64 bit user space must not rely on CONFIG_64BIT * to decide it, but rather check a compiler provided macro. */ /* * FIXME: The check currently breaks x86-64 build, so it's * temporarily disabled. Please fix x86-64 and reenable */ /* floating point status register: */ /* floating-point status field controls: */ /* floating-point status field flags: */ /* floating-point rounding control: */ /* This default value is the same as HP-UX uses. Don't change it without a very good reason. */ /* * DO NOT MODIFY. * * This file was generated by Kbuild * */ /* * Base-2 logarithm of number of pages to allocate per task structure * (including register backing store and memory stack): */ /* indices to application-registers array in pt_all_user_regs */ /* * The numbers chosen here are somewhat arbitrary but absolutely MUST * not overlap with any of the number assigned in . */ /* * System defines. Note that this is included both from .c and .S * files, so it does only defines, not any C code. This is based * on information published in the Processor Abstraction Layer * and the System Abstraction Layer manual. * * Copyright (C) 1998-2003 Hewlett-Packard Co * David Mosberger-Tang * Copyright (C) 1999 Asit Mallick * Copyright (C) 1999 Don Dugger */ /* * Copyright (C) 2001-2002 Hewlett-Packard Co * David Mosberger-Tang */ /* * This file defines the kernel register usage convention used by Linux/ia64. */ /* * Kernel registers: */ /* * Translation registers: */ /* Processor status register bits: */ /* The following are not affected by save_flags()/restore_flags(): */ /* A mask of PSR bits that we generally don't want to inherit across a clone2() or an execve(). Only list flags here that need to be cleared/set for BOTH clone2() and execve(). */ /* The following are not affected by save_flags()/restore_flags(): */ /* User mask bits: */ /* Default Control Register */ /* Interrupt Status Register */ /* ISR code field for non-access instructions */ /* * Pagetable related stuff. * * Copyright (C) 1998, 1999, 2002 Hewlett-Packard Co * David Mosberger-Tang */ /* * Compiler-dependent intrinsics. * * Copyright (C) 2002-2003 Hewlett-Packard Co * David Mosberger-Tang */ /****************************************************************************** * Copyright (c) 2008 Isaku Yamahata * VA Linux Systems Japan K.K. * * This program 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 of the License, or * (at your option) any later version. * * This program 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 this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ /* fallback for native case */ /* these routines utilize privilege-sensitive or performance-sensitive * privileged instructions so the code must be replaced with * paravirtualized versions */ /* * The top three bits of an IA64 address are its Region Number. * Different regions are assigned to different purposes. */ /* * PAGE_SHIFT determines the actual kernel page size. */ /* * .. while these make it easier on the compiler */ /* * Processor Abstraction Layer definitions. * * This is based on Intel IA-64 Architecture Software Developer's Manual rev 1.0 * chapter 11 IA-64 Processor Abstraction Layer * * Copyright (C) 1998-2001 Hewlett-Packard Co * David Mosberger-Tang * Stephane Eranian * Copyright (C) 1999 VA Linux Systems * Copyright (C) 1999 Walt Drummond * Copyright (C) 1999 Srinivasa Prasad Thirumalachar * Copyright (C) 2008 Silicon Graphics, Inc. (SGI) * * 99/10/01 davidm Make sure we pass zero for reserved parameters. * 00/03/07 davidm Updated pal_cache_flush() to be in sync with PAL v2.6. * 00/03/23 cfleck Modified processor min-state save area to match updated PAL & SAL info * 00/05/24 eranian Updated to latest PAL spec, fix structures bugs, added * 00/05/25 eranian Support for stack calls, and static physical calls * 00/06/18 eranian Support for stacked physical calls * 06/10/26 rja Support for Intel Itanium Architecture Software Developer's * Manual Rev 2.2 (Jan 2006) */ /* * Note that some of these calls use a static-register only calling * convention which has nothing to do with the regular calling * convention. */ /* * Copyright (C) 2002-2003 Hewlett-Packard Co * David Mosberger-Tang */ /* * 0xa000000000000000+2*PERCPU_PAGE_SIZE * - 0xa000000000000000+3*PERCPU_PAGE_SIZE remain unmapped (guard page) */ /* * This file contains the functions and defines necessary to modify and use * the IA-64 page table tree. * * This hopefully works with any (fixed) IA-64 page-size, as defined * in . * * Copyright (C) 1998-2005 Hewlett-Packard Co * David Mosberger-Tang */ /* const.h: Macros for dealing with constants. */ /* Some constant macros are used in both assembler and * C code. Therefore we cannot annotate them always with * 'UL' and other type specifiers unilaterally. We * use the following macros to deal with this. * * Similarly, _AT() will cast an expression with a type in C, but * leave it unchanged in asm. */ /* * Based on . * * Modified 1998-2000, 2002 * David Mosberger-Tang , Hewlett-Packard Co */ /* Author: Michael S. Tsirkin , Mellanox Technologies Ltd. Based on: asm-xxx/mman.h */ /* common parameters: try to keep these consistent across architectures */ /* compatibility flags */ /* * Copyright (C) 1998-2004 Hewlett-Packard Co * David Mosberger-Tang * Stephane Eranian * Copyright (C) 1999 Asit Mallick * Copyright (C) 1999 Don Dugger * * 11/24/98 S.Eranian added ia64_set_iva() * 12/03/99 D. Mosberger implement thread_saved_pc() via kernel unwind API * 06/16/00 A. Mallick added csd/ssd/tssd for ia32 support */ /* * Constants for the user stack size */ /* The absolute hard limit for stack size is 1/2 of the mappable space in the region */ /* Make a default stack size of 2GiB */ /* * TASK_SIZE really is a mis-named. It really is the maximum user * space address (plus one). On IA-64, there are five regions of 2TB * each (assuming 8KB page size), for a total of 8TB of user virtual * address space. */ /* * This decides where the kernel will search for a free chunk of vm * space during mmap's. */ /* * This shift should be large enough to be able to represent 1000000000/itc_freq with good * accuracy while being small enough to fit 10*1000000000<