1 #ifndef __RELOCATE_I386_H__
2 #define __RELOCATE_I386_H__
4 /* =================================================================
8 * Architecture dependent relocation routines for the i386
10 * =================================================================
11 * ####ECOSGPLCOPYRIGHTBEGIN####
12 * -------------------------------------------
13 * This file is part of eCos, the Embedded Configurable Operating
15 * Copyright (C) 2005 Andrew Lunn <andrew.lunn@ascom.ch>
17 * eCos is free software; you can redistribute it and/or modify it
18 * under the terms of the GNU General Public License as published by
19 * the Free Software Foundation; either version 2 or (at your option)
22 * eCos is distributed in the hope that it will be useful, but
23 * WITHOUT ANY WARRANTY; without even the implied warranty of
24 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
25 * General Public License for more details.
27 * You should have received a copy of the GNU General Public License
28 * along with eCos; if not, write to the Free Software Foundation,
29 * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
31 * As a special exception, if other files instantiate templates or
32 * use macros or inline functions from this file, or you compile this
33 * file and link it with other works to produce a work based on this
34 * file, this file does not by itself cause the resulting work to be
35 * covered by the GNU General Public License. However the source code
36 * for this file must still be made available in accordance with
37 * section (3) of the GNU General Public License.
39 * This exception does not invalidate any other reasons why a work
40 * based on this file might be covered by the GNU General Public
43 * -------------------------------------------
44 * ####ECOSGPLCOPYRIGHTEND####
45 * =================================================================
46 * #####DESCRIPTIONBEGIN####
48 * Author(s): andrew.lunn@ascom.ch
53 * ####DESCRIPTIONEND####
55 * =================================================================
61 #define ELF_ARCH_MACHINE_TYPE 3 // i386
62 #define ELF_ARCH_ENDIANNESS ELFDATA2LSB
63 #define ELF_ARCH_RELTYPE Elf_Rel
68 void cyg_ldr_flush_cache(void);
69 cyg_int32 cyg_ldr_relocate(cyg_int32, cyg_uint32, cyg_int32);
71 #endif //__RELOCATE_I386_H__