mirror of
https://github.com/adulau/aha.git
synced 2024-12-28 11:46:19 +00:00
[PATCH] ppc/ppc64: Merge more include files
This patch merges several include files from asm-ppc and asm-ppc64 into the new asm-powerpc. Signed-off-by: Jon Loeliger <jdl@freescale.com> Signed-off-by: Kumar Gala <kumar.gala@freescale.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
This commit is contained in:
parent
ad6571a78a
commit
6b9269abd6
18 changed files with 167 additions and 307 deletions
18
include/asm-powerpc/bugs.h
Normal file
18
include/asm-powerpc/bugs.h
Normal file
|
@ -0,0 +1,18 @@
|
|||
#ifndef _POWERPC_BUGS_H
|
||||
#define _POWERPC_BUGS_H
|
||||
|
||||
/*
|
||||
* 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 file is included by 'init/main.c' to check for
|
||||
* architecture-dependent bugs.
|
||||
*/
|
||||
|
||||
extern void check_bugs(void);
|
||||
|
||||
#endif /* _POWERPC_BUGS_H */
|
|
@ -1,3 +1,6 @@
|
|||
#ifndef _POWERPC_MC146818RTC_H
|
||||
#define _POWERPC_MC146818RTC_H
|
||||
|
||||
/*
|
||||
* Machine dependent access functions for RTC registers.
|
||||
*
|
||||
|
@ -6,8 +9,8 @@
|
|||
* as published by the Free Software Foundation; either version
|
||||
* 2 of the License, or (at your option) any later version.
|
||||
*/
|
||||
#ifndef __ASM_PPC64_MC146818RTC_H
|
||||
#define __ASM_PPC64_MC146818RTC_H
|
||||
|
||||
#ifdef __KERNEL__
|
||||
|
||||
#include <asm/io.h>
|
||||
|
||||
|
@ -29,4 +32,5 @@ outb_p((addr),RTC_PORT(0)); \
|
|||
outb_p((val),RTC_PORT(1)); \
|
||||
})
|
||||
|
||||
#endif /* __ASM_PPC64_MC146818RTC_H */
|
||||
#endif /* __KERNEL__ */
|
||||
#endif /* _POWERPC_MC146818RTC_H */
|
77
include/asm-powerpc/module.h
Normal file
77
include/asm-powerpc/module.h
Normal file
|
@ -0,0 +1,77 @@
|
|||
#ifndef _POWERPC_MODULE_H
|
||||
#define _POWERPC_MODULE_H
|
||||
|
||||
/*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
#include <linux/list.h>
|
||||
#include <asm/bug.h>
|
||||
|
||||
|
||||
#ifndef __powerpc64__
|
||||
/*
|
||||
* Thanks to Paul M for explaining this.
|
||||
*
|
||||
* PPC can only do rel jumps += 32MB, and often the kernel and other
|
||||
* modules are furthur away than this. So, we jump to a table of
|
||||
* trampolines attached to the module (the Procedure Linkage Table)
|
||||
* whenever that happens.
|
||||
*/
|
||||
|
||||
struct ppc_plt_entry {
|
||||
/* 16 byte jump instruction sequence (4 instructions) */
|
||||
unsigned int jump[4];
|
||||
};
|
||||
#endif /* __powerpc64__ */
|
||||
|
||||
|
||||
struct mod_arch_specific {
|
||||
#ifdef __powerpc64__
|
||||
unsigned int stubs_section; /* Index of stubs section in module */
|
||||
unsigned int toc_section; /* What section is the TOC? */
|
||||
#else
|
||||
/* Indices of PLT sections within module. */
|
||||
unsigned int core_plt_section;
|
||||
unsigned int init_plt_section;
|
||||
#endif
|
||||
|
||||
/* List of BUG addresses, source line numbers and filenames */
|
||||
struct list_head bug_list;
|
||||
struct bug_entry *bug_table;
|
||||
unsigned int num_bugs;
|
||||
};
|
||||
|
||||
extern struct bug_entry *module_find_bug(unsigned long bugaddr);
|
||||
|
||||
/*
|
||||
* Select ELF headers.
|
||||
* Make empty section for module_frob_arch_sections to expand.
|
||||
*/
|
||||
|
||||
#ifdef __powerpc64__
|
||||
# define Elf_Shdr Elf64_Shdr
|
||||
# define Elf_Sym Elf64_Sym
|
||||
# define Elf_Ehdr Elf64_Ehdr
|
||||
# ifdef MODULE
|
||||
asm(".section .stubs,\"ax\",@nobits; .align 3; .previous");
|
||||
# endif
|
||||
#else
|
||||
# define Elf_Shdr Elf32_Shdr
|
||||
# define Elf_Sym Elf32_Sym
|
||||
# define Elf_Ehdr Elf32_Ehdr
|
||||
# ifdef MODULE
|
||||
asm(".section .plt,\"ax\",@nobits; .align 3; .previous");
|
||||
asm(".section .init.plt,\"ax\",@nobits; .align 3; .previous");
|
||||
# endif /* MODULE */
|
||||
#endif
|
||||
|
||||
|
||||
struct exception_table_entry;
|
||||
void sort_ex_table(struct exception_table_entry *start,
|
||||
struct exception_table_entry *finish);
|
||||
|
||||
#endif /* _POWERPC_MODULE_H */
|
|
@ -1,27 +1,36 @@
|
|||
#ifndef _PPC64_SEMBUF_H
|
||||
#define _PPC64_SEMBUF_H
|
||||
#ifndef _POWERPC_SEMBUF_H
|
||||
#define _POWERPC_SEMBUF_H
|
||||
|
||||
/*
|
||||
* The semid64_ds structure for PPC architecture.
|
||||
*
|
||||
*
|
||||
/*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
/*
|
||||
* The semid64_ds structure for PPC architecture.
|
||||
* Note extra padding because this structure is passed back and forth
|
||||
* between kernel and user space.
|
||||
*
|
||||
* Pad space is left for:
|
||||
* - 2 miscellaneous 64-bit values
|
||||
* - 64-bit time_t to solve y2038 problem
|
||||
* - 2 miscellaneous 32-bit values
|
||||
*/
|
||||
|
||||
struct semid64_ds {
|
||||
struct ipc64_perm sem_perm; /* permissions .. see ipc.h */
|
||||
#ifndef __powerpc64__
|
||||
unsigned long __unused1;
|
||||
#endif
|
||||
__kernel_time_t sem_otime; /* last semop time */
|
||||
#ifndef __powerpc64__
|
||||
unsigned long __unused2;
|
||||
#endif
|
||||
__kernel_time_t sem_ctime; /* last change time */
|
||||
unsigned long sem_nsems; /* no. of semaphores in array */
|
||||
|
||||
unsigned long __unused1;
|
||||
unsigned long __unused2;
|
||||
unsigned long __unused3;
|
||||
unsigned long __unused4;
|
||||
};
|
||||
|
||||
#endif /* _PPC64_SEMBUF_H */
|
||||
#endif /* _POWERPC_SEMBUF_H */
|
|
@ -1,31 +1,47 @@
|
|||
#ifndef _PPC64_SHMBUF_H
|
||||
#define _PPC64_SHMBUF_H
|
||||
#ifndef _POWERPC_SHMBUF_H
|
||||
#define _POWERPC_SHMBUF_H
|
||||
|
||||
/*
|
||||
* The shmid64_ds structure for PPC64 architecture.
|
||||
* Note extra padding because this structure is passed back and forth
|
||||
* between kernel and user space.
|
||||
*
|
||||
* Pad space is left for:
|
||||
* - 2 miscellaneous 64-bit values
|
||||
*
|
||||
/*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
/*
|
||||
* The shmid64_ds structure for PPC architecture.
|
||||
*
|
||||
* Note extra padding because this structure is passed back and forth
|
||||
* between kernel and user space.
|
||||
*
|
||||
* Pad space is left for:
|
||||
* - 64-bit time_t to solve y2038 problem
|
||||
* - 2 miscellaneous 32-bit values
|
||||
*/
|
||||
|
||||
struct shmid64_ds {
|
||||
struct ipc64_perm shm_perm; /* operation perms */
|
||||
#ifndef __power64__
|
||||
unsigned long __unused1;
|
||||
#endif
|
||||
__kernel_time_t shm_atime; /* last attach time */
|
||||
#ifndef __power64__
|
||||
unsigned long __unused2;
|
||||
#endif
|
||||
__kernel_time_t shm_dtime; /* last detach time */
|
||||
#ifndef __power64__
|
||||
unsigned long __unused3;
|
||||
#endif
|
||||
__kernel_time_t shm_ctime; /* last change time */
|
||||
#ifndef __power64__
|
||||
unsigned long __unused4;
|
||||
#endif
|
||||
size_t shm_segsz; /* size of segment (bytes) */
|
||||
__kernel_pid_t shm_cpid; /* pid of creator */
|
||||
__kernel_pid_t shm_lpid; /* pid of last operator */
|
||||
unsigned long shm_nattch; /* no. of current attaches */
|
||||
unsigned long __unused1;
|
||||
unsigned long __unused2;
|
||||
unsigned long __unused5;
|
||||
unsigned long __unused6;
|
||||
};
|
||||
|
||||
struct shminfo64 {
|
||||
|
@ -40,4 +56,4 @@ struct shminfo64 {
|
|||
unsigned long __unused4;
|
||||
};
|
||||
|
||||
#endif /* _PPC64_SHMBUF_H */
|
||||
#endif /* _POWERPC_SHMBUF_H */
|
|
@ -1,5 +1,5 @@
|
|||
#ifndef _PPC64_SIGINFO_H
|
||||
#define _PPC64_SIGINFO_H
|
||||
#ifndef _POWERPC_SIGINFO_H
|
||||
#define _POWERPC_SIGINFO_H
|
||||
|
||||
/*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
|
@ -8,9 +8,11 @@
|
|||
* 2 of the License, or (at your option) any later version.
|
||||
*/
|
||||
|
||||
#define __ARCH_SI_PREAMBLE_SIZE (4 * sizeof(int))
|
||||
#define SI_PAD_SIZE32 ((SI_MAX_SIZE/sizeof(int)) - 3)
|
||||
#ifdef __powerpc64__
|
||||
# define __ARCH_SI_PREAMBLE_SIZE (4 * sizeof(int))
|
||||
# define SI_PAD_SIZE32 ((SI_MAX_SIZE/sizeof(int)) - 3)
|
||||
#endif
|
||||
|
||||
#include <asm-generic/siginfo.h>
|
||||
|
||||
#endif /* _PPC64_SIGINFO_H */
|
||||
#endif /* _POWERPC_SIGINFO_H */
|
|
@ -1,5 +1,5 @@
|
|||
#ifndef _ASM_SOCKET_H
|
||||
#define _ASM_SOCKET_H
|
||||
#ifndef _POWERPC_SOCKET_H
|
||||
#define _POWERPC_SOCKET_H
|
||||
|
||||
/*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
|
@ -10,7 +10,7 @@
|
|||
|
||||
#include <asm/sockios.h>
|
||||
|
||||
/* For setsockoptions(2) */
|
||||
/* For setsockopt(2) */
|
||||
#define SOL_SOCKET 1
|
||||
|
||||
#define SO_DEBUG 1
|
||||
|
@ -52,8 +52,8 @@
|
|||
#define SO_TIMESTAMP 29
|
||||
#define SCM_TIMESTAMP SO_TIMESTAMP
|
||||
|
||||
#define SO_ACCEPTCONN 30
|
||||
#define SO_ACCEPTCONN 30
|
||||
|
||||
#define SO_PEERSEC 31
|
||||
#define SO_PEERSEC 31
|
||||
|
||||
#endif /* _ASM_SOCKET_H */
|
||||
#endif /* _POWERPC_SOCKET_H */
|
|
@ -1,5 +1,5 @@
|
|||
#ifndef _ASM_PPC64_SOCKIOS_H
|
||||
#define _ASM_PPC64_SOCKIOS_H
|
||||
#ifndef _POWERPC_SOCKIOS_H
|
||||
#define _POWERPC_SOCKIOS_H
|
||||
|
||||
/*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
|
@ -16,4 +16,4 @@
|
|||
#define SIOCATMARK 0x8905
|
||||
#define SIOCGSTAMP 0x8906 /* Get stamp */
|
||||
|
||||
#endif /* _ASM_PPC64_SOCKIOS_H */
|
||||
#endif /* _POWERPC_SOCKIOS_H */
|
|
@ -1,6 +0,0 @@
|
|||
/*
|
||||
* This file is included by 'init/main.c'
|
||||
*/
|
||||
|
||||
extern void
|
||||
check_bugs(void);
|
|
@ -1,31 +0,0 @@
|
|||
/*
|
||||
* Machine dependent access functions for RTC registers.
|
||||
*/
|
||||
#ifdef __KERNEL__
|
||||
#ifndef __ASM_PPC_MC146818RTC_H
|
||||
#define __ASM_PPC_MC146818RTC_H
|
||||
|
||||
#include <asm/io.h>
|
||||
|
||||
#ifndef RTC_PORT
|
||||
#define RTC_PORT(x) (0x70 + (x))
|
||||
#define RTC_ALWAYS_BCD 1 /* RTC operates in binary mode */
|
||||
#endif
|
||||
|
||||
/*
|
||||
* The yet supported machines all access the RTC index register via
|
||||
* an ISA port access but the way to access the date register differs ...
|
||||
*/
|
||||
#define CMOS_READ(addr) ({ \
|
||||
outb_p((addr),RTC_PORT(0)); \
|
||||
inb_p(RTC_PORT(1)); \
|
||||
})
|
||||
#define CMOS_WRITE(val, addr) ({ \
|
||||
outb_p((addr),RTC_PORT(0)); \
|
||||
outb_p((val),RTC_PORT(1)); \
|
||||
})
|
||||
|
||||
#define RTC_IRQ 8
|
||||
|
||||
#endif /* __ASM_PPC_MC146818RTC_H */
|
||||
#endif /* __KERNEL__ */
|
|
@ -1,44 +0,0 @@
|
|||
#ifndef _ASM_PPC_MODULE_H
|
||||
#define _ASM_PPC_MODULE_H
|
||||
/* Module stuff for PPC. (C) 2001 Rusty Russell */
|
||||
|
||||
#include <linux/list.h>
|
||||
#include <asm/bug.h>
|
||||
|
||||
/* Thanks to Paul M for explaining this.
|
||||
|
||||
PPC can only do rel jumps += 32MB, and often the kernel and other
|
||||
modules are furthur away than this. So, we jump to a table of
|
||||
trampolines attached to the module (the Procedure Linkage Table)
|
||||
whenever that happens.
|
||||
*/
|
||||
|
||||
struct ppc_plt_entry
|
||||
{
|
||||
/* 16 byte jump instruction sequence (4 instructions) */
|
||||
unsigned int jump[4];
|
||||
};
|
||||
|
||||
struct mod_arch_specific
|
||||
{
|
||||
/* Indices of PLT sections within module. */
|
||||
unsigned int core_plt_section, init_plt_section;
|
||||
|
||||
/* List of BUG addresses, source line numbers and filenames */
|
||||
struct list_head bug_list;
|
||||
struct bug_entry *bug_table;
|
||||
unsigned int num_bugs;
|
||||
};
|
||||
|
||||
extern struct bug_entry *module_find_bug(unsigned long bugaddr);
|
||||
|
||||
#define Elf_Shdr Elf32_Shdr
|
||||
#define Elf_Sym Elf32_Sym
|
||||
#define Elf_Ehdr Elf32_Ehdr
|
||||
|
||||
/* Make empty sections for module_frob_arch_sections to expand. */
|
||||
#ifdef MODULE
|
||||
asm(".section .plt,\"ax\",@nobits; .align 3; .previous");
|
||||
asm(".section .init.plt,\"ax\",@nobits; .align 3; .previous");
|
||||
#endif
|
||||
#endif /* _ASM_PPC_MODULE_H */
|
|
@ -1,19 +0,0 @@
|
|||
#ifndef _PPC_SEMBUF_H
|
||||
#define _PPC_SEMBUF_H
|
||||
|
||||
/*
|
||||
* The semid64_ds structure for PPC architecture.
|
||||
*/
|
||||
|
||||
struct semid64_ds {
|
||||
struct ipc64_perm sem_perm; /* permissions .. see ipc.h */
|
||||
unsigned int __unused1;
|
||||
__kernel_time_t sem_otime; /* last semop time */
|
||||
unsigned int __unused2;
|
||||
__kernel_time_t sem_ctime; /* last change time */
|
||||
unsigned long sem_nsems; /* no. of semaphores in array */
|
||||
unsigned long __unused3;
|
||||
unsigned long __unused4;
|
||||
};
|
||||
|
||||
#endif /* _PPC_SEMBUF_H */
|
|
@ -1,37 +0,0 @@
|
|||
#ifndef _PPC_SHMBUF_H
|
||||
#define _PPC_SHMBUF_H
|
||||
|
||||
/*
|
||||
* The shmid64_ds structure for PPC architecture.
|
||||
*/
|
||||
|
||||
struct shmid64_ds {
|
||||
struct ipc64_perm shm_perm; /* operation perms */
|
||||
unsigned int __unused1;
|
||||
__kernel_time_t shm_atime; /* last attach time */
|
||||
unsigned int __unused2;
|
||||
__kernel_time_t shm_dtime; /* last detach time */
|
||||
unsigned int __unused3;
|
||||
__kernel_time_t shm_ctime; /* last change time */
|
||||
unsigned int __unused4;
|
||||
size_t shm_segsz; /* size of segment (bytes) */
|
||||
__kernel_pid_t shm_cpid; /* pid of creator */
|
||||
__kernel_pid_t shm_lpid; /* pid of last operator */
|
||||
unsigned long shm_nattch; /* no. of current attaches */
|
||||
unsigned long __unused5;
|
||||
unsigned long __unused6;
|
||||
};
|
||||
|
||||
struct shminfo64 {
|
||||
unsigned long shmmax;
|
||||
unsigned long shmmin;
|
||||
unsigned long shmmni;
|
||||
unsigned long shmseg;
|
||||
unsigned long shmall;
|
||||
unsigned long __unused1;
|
||||
unsigned long __unused2;
|
||||
unsigned long __unused3;
|
||||
unsigned long __unused4;
|
||||
};
|
||||
|
||||
#endif /* _PPC_SHMBUF_H */
|
|
@ -1,6 +0,0 @@
|
|||
#ifndef _PPC_SIGINFO_H
|
||||
#define _PPC_SIGINFO_H
|
||||
|
||||
#include <asm-generic/siginfo.h>
|
||||
|
||||
#endif
|
|
@ -1,58 +0,0 @@
|
|||
#ifndef _ASM_SOCKET_H
|
||||
#define _ASM_SOCKET_H
|
||||
|
||||
/* Socket-level I/O control calls. */
|
||||
#define FIOSETOWN 0x8901
|
||||
#define SIOCSPGRP 0x8902
|
||||
#define FIOGETOWN 0x8903
|
||||
#define SIOCGPGRP 0x8904
|
||||
#define SIOCATMARK 0x8905
|
||||
#define SIOCGSTAMP 0x8906 /* Get stamp */
|
||||
|
||||
/* For setsockopt(2) */
|
||||
#define SOL_SOCKET 1
|
||||
|
||||
#define SO_DEBUG 1
|
||||
#define SO_REUSEADDR 2
|
||||
#define SO_TYPE 3
|
||||
#define SO_ERROR 4
|
||||
#define SO_DONTROUTE 5
|
||||
#define SO_BROADCAST 6
|
||||
#define SO_SNDBUF 7
|
||||
#define SO_RCVBUF 8
|
||||
#define SO_SNDBUFFORCE 32
|
||||
#define SO_RCVBUFFORCE 33
|
||||
#define SO_KEEPALIVE 9
|
||||
#define SO_OOBINLINE 10
|
||||
#define SO_NO_CHECK 11
|
||||
#define SO_PRIORITY 12
|
||||
#define SO_LINGER 13
|
||||
#define SO_BSDCOMPAT 14
|
||||
/* To add :#define SO_REUSEPORT 15 */
|
||||
#define SO_RCVLOWAT 16
|
||||
#define SO_SNDLOWAT 17
|
||||
#define SO_RCVTIMEO 18
|
||||
#define SO_SNDTIMEO 19
|
||||
#define SO_PASSCRED 20
|
||||
#define SO_PEERCRED 21
|
||||
|
||||
/* Security levels - as per NRL IPv6 - don't actually do anything */
|
||||
#define SO_SECURITY_AUTHENTICATION 22
|
||||
#define SO_SECURITY_ENCRYPTION_TRANSPORT 23
|
||||
#define SO_SECURITY_ENCRYPTION_NETWORK 24
|
||||
|
||||
#define SO_BINDTODEVICE 25
|
||||
|
||||
/* Socket filtering */
|
||||
#define SO_ATTACH_FILTER 26
|
||||
#define SO_DETACH_FILTER 27
|
||||
|
||||
#define SO_PEERNAME 28
|
||||
#define SO_TIMESTAMP 29
|
||||
#define SCM_TIMESTAMP SO_TIMESTAMP
|
||||
|
||||
#define SO_ACCEPTCONN 30
|
||||
|
||||
#define SO_PEERSEC 31
|
||||
|
||||
#endif /* _ASM_SOCKET_H */
|
|
@ -1,17 +0,0 @@
|
|||
#ifndef _ASM_PPC_SOCKIOS_H
|
||||
#define _ASM_PPC_SOCKIOS_H
|
||||
|
||||
#if 0 /* These are defined this way on Alpha - maybe later. */
|
||||
/* Socket-level I/O control calls. */
|
||||
|
||||
#define FIOGETOWN _IOR('f', 123, int)
|
||||
#define FIOSETOWN _IOW('f', 124, int)
|
||||
|
||||
#define SIOCATMARK _IOR('s', 7, int)
|
||||
#define SIOCSPGRP _IOW('s', 8, pid_t)
|
||||
#define SIOCGPGRP _IOR('s', 9, pid_t)
|
||||
|
||||
#define SIOCGSTAMP 0x8906 /* Get stamp - linux-specific */
|
||||
#endif
|
||||
|
||||
#endif /* _ASM_PPC_SOCKIOS_H */
|
|
@ -1,12 +0,0 @@
|
|||
/*
|
||||
* This file is included by 'init/main.c' to check for architecture-dependent
|
||||
* bugs.
|
||||
*
|
||||
*/
|
||||
#ifndef _ASM_PPC64_BUGS_H
|
||||
#define _ASM_PPC64_BUGS_H
|
||||
|
||||
static void check_bugs(void) {
|
||||
}
|
||||
|
||||
#endif /* _ASM_PPC64_BUGS_H */
|
|
@ -1,36 +0,0 @@
|
|||
#ifndef _ASM_PPC64_MODULE_H
|
||||
#define _ASM_PPC64_MODULE_H
|
||||
|
||||
#include <linux/list.h>
|
||||
#include <asm/bug.h>
|
||||
|
||||
struct mod_arch_specific
|
||||
{
|
||||
/* Index of stubs section within module. */
|
||||
unsigned int stubs_section;
|
||||
|
||||
/* What section is the TOC? */
|
||||
unsigned int toc_section;
|
||||
|
||||
/* List of BUG addresses, source line numbers and filenames */
|
||||
struct list_head bug_list;
|
||||
struct bug_entry *bug_table;
|
||||
unsigned int num_bugs;
|
||||
};
|
||||
|
||||
extern struct bug_entry *module_find_bug(unsigned long bugaddr);
|
||||
|
||||
#define Elf_Shdr Elf64_Shdr
|
||||
#define Elf_Sym Elf64_Sym
|
||||
#define Elf_Ehdr Elf64_Ehdr
|
||||
|
||||
/* Make empty section for module_frob_arch_sections to expand. */
|
||||
#ifdef MODULE
|
||||
asm(".section .stubs,\"ax\",@nobits; .align 3; .previous");
|
||||
#endif
|
||||
|
||||
struct exception_table_entry;
|
||||
void sort_ex_table(struct exception_table_entry *start,
|
||||
struct exception_table_entry *finish);
|
||||
|
||||
#endif /* _ASM_PPC64_MODULE_H */
|
Loading…
Reference in a new issue