linux_exec.h revision 1.2
11.2Smanu/* $NetBSD: linux_exec.h,v 1.2 2001/09/02 08:39:37 manu Exp $ */ 21.1Smanu 31.1Smanu/*- 41.1Smanu * Copyright (c) 1998, 2001 The NetBSD Foundation, Inc. 51.1Smanu * All rights reserved. 61.1Smanu * 71.1Smanu * This code is derived from software contributed to The NetBSD Foundation 81.1Smanu * by Emmanuel Dreyfus. 91.1Smanu * 101.1Smanu * Redistribution and use in source and binary forms, with or without 111.1Smanu * modification, are permitted provided that the following conditions 121.1Smanu * are met: 131.1Smanu * 1. Redistributions of source code must retain the above copyright 141.1Smanu * notice, this list of conditions and the following disclaimer. 151.1Smanu * 2. Redistributions in binary form must reproduce the above copyright 161.1Smanu * notice, this list of conditions and the following disclaimer in the 171.1Smanu * documentation and/or other materials provided with the distribution. 181.1Smanu * 3. All advertising materials mentioning features or use of this software 191.1Smanu * must display the following acknowledgement: 201.1Smanu * This product includes software developed by the NetBSD 211.1Smanu * Foundation, Inc. and its contributors. 221.1Smanu * 4. Neither the name of The NetBSD Foundation nor the names of its 231.1Smanu * contributors may be used to endorse or promote products derived 241.1Smanu * from this software without specific prior written permission. 251.1Smanu * 261.1Smanu * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS 271.1Smanu * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 281.1Smanu * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 291.1Smanu * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS 301.1Smanu * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 311.1Smanu * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 321.1Smanu * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 331.1Smanu * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 341.1Smanu * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 351.1Smanu * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 361.1Smanu * POSSIBILITY OF SUCH DAMAGE. 371.1Smanu */ 381.1Smanu 391.1Smanu#ifndef _MIPS_LINUX_EXEC_H 401.1Smanu#define _MIPS_LINUX_EXEC_H 411.1Smanu 421.1Smanu#include <sys/exec_aout.h> 431.1Smanu#include <sys/exec_elf.h> 441.1Smanu#include <sys/types.h> 451.1Smanu#include <sys/systm.h> 461.1Smanu 471.1Smanu/* 481.1Smanu * From Linux's include/asm-mips/elf.h 491.1Smanu */ 501.1Smanu#define LINUX_ELF_HWCAP (0) 511.1Smanu 521.1Smanu/* 531.1Smanu * Linux a.out format parameters 541.1Smanu */ 551.1Smanu#define LINUX_M_MIPS MID_MIPS /* XXX This is a guess */ 561.1Smanu#define LINUX_MID_MACHINE LINUX_M_MIPS 571.1Smanu 581.1Smanu/* 591.1Smanu * Linux Elf32 format parameters 601.1Smanu */ 611.1Smanu 621.1Smanu#define LINUX_GCC_SIGNATURE 1 /* XXX to be tested */ 631.1Smanu 641.2Smanu#define LINUX_COPYARGS_FUNCTION ELFNAME2(linux,copyargs) 651.1Smanu 661.1Smanutypedef struct { 671.1Smanu Elf32_Sword a_type; 681.1Smanu Elf32_Word a_v; 691.1Smanu} LinuxAux32Info; 701.2Smanutypedef struct { 711.2Smanu Elf64_Sword a_type; 721.2Smanu Elf64_Word a_v; 731.2Smanu} LinuxAux64Info; 741.2Smanu#if defined(ELFSIZE) && (ELFSIZE == 64) 751.2Smanu#define LinuxAuxInfo LinuxAux64Info 761.2Smanu#else 771.1Smanu#define LinuxAuxInfo LinuxAux32Info 781.2Smanu#endif 791.1Smanu 801.1Smanu#ifdef _KERNEL 811.1Smanu__BEGIN_DECLS 821.2Smanuvoid * ELFNAME2(linux,copyargs) __P((struct exec_package *, 831.1Smanu struct ps_strings *, void *, void *)); 841.1Smanu__END_DECLS 851.1Smanu#endif /* _KERNEL */ 861.1Smanu 871.1Smanu#endif /* !_MIPS_LINUX_EXEC_H */ 88