Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6b9269ab authored by Jon Loeliger's avatar Jon Loeliger Committed by Paul Mackerras
Browse files

[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: default avatarJon Loeliger <jdl@freescale.com>
Signed-off-by: default avatarKumar Gala <kumar.gala@freescale.com>
Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
parent ad6571a7
Loading
Loading
Loading
Loading
+18 −0
Original line number Diff line number Diff line
#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 */
+7 −3
Original line number Diff line number Diff line
#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 −0
Original line number Diff line number Diff line
#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 */
+20 −11
Original line number Diff line number Diff line
#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 */
+29 −13
Original line number Diff line number Diff line
#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 */
Loading