From dd56fdf23dfa0127d512b73d4238dbd2b5a7c1eb Mon Sep 17 00:00:00 2001 From: "jdl@freescale.com" Date: Wed, 7 Sep 2005 15:59:48 -0500 Subject: [PATCH] [PATCH] powerpc: Merge a few more include files Merge a few asm-ppc and asm-ppc64 header files. Note: the merge of setup.h intentionally does not carry forward the m68k cruft. That means this patch continues to break the already broken amiga on the ppc32. Signed-off-by: Jon Loeliger Signed-off-by: Kumar Gala Signed-off-by: Paul Mackerras --- include/{asm-ppc => asm-powerpc}/msgbuf.h | 16 +++-- include/{asm-ppc => asm-powerpc}/param.h | 8 +-- include/asm-powerpc/setup.h | 9 +++ include/{asm-ppc => asm-powerpc}/timex.h | 37 +++++++----- include/{asm-ppc64 => asm-powerpc}/topology.h | 9 +-- include/{asm-ppc => asm-powerpc}/user.h | 15 ++--- include/asm-ppc/setup.h | 14 ----- include/asm-ppc/topology.h | 6 -- include/asm-ppc64/msgbuf.h | 27 --------- include/asm-ppc64/param.h | 31 ---------- include/asm-ppc64/setup.h | 6 -- include/asm-ppc64/timex.h | 26 --------- include/asm-ppc64/user.h | 58 ------------------- 13 files changed, 61 insertions(+), 201 deletions(-) rename include/{asm-ppc => asm-powerpc}/msgbuf.h (64%) rename include/{asm-ppc => asm-powerpc}/param.h (70%) create mode 100644 include/asm-powerpc/setup.h rename include/{asm-ppc => asm-powerpc}/timex.h (53%) rename include/{asm-ppc64 => asm-powerpc}/topology.h (92%) rename include/{asm-ppc => asm-powerpc}/user.h (92%) delete mode 100644 include/asm-ppc/setup.h delete mode 100644 include/asm-ppc/topology.h delete mode 100644 include/asm-ppc64/msgbuf.h delete mode 100644 include/asm-ppc64/param.h delete mode 100644 include/asm-ppc64/setup.h delete mode 100644 include/asm-ppc64/timex.h delete mode 100644 include/asm-ppc64/user.h diff --git a/include/asm-ppc/msgbuf.h b/include/asm-powerpc/msgbuf.h similarity index 64% rename from include/asm-ppc/msgbuf.h rename to include/asm-powerpc/msgbuf.h index 1053452a937..dd76743c753 100644 --- a/include/asm-ppc/msgbuf.h +++ b/include/asm-powerpc/msgbuf.h @@ -1,17 +1,25 @@ -#ifndef _PPC_MSGBUF_H -#define _PPC_MSGBUF_H +#ifndef _ASM_POWERPC_MSGBUF_H +#define _ASM_POWERPC_MSGBUF_H /* - * The msqid64_ds structure for the PPC architecture. + * The msqid64_ds structure for the PowerPC architecture. + * Note extra padding because this structure is passed back and forth + * between kernel and user space. */ struct msqid64_ds { struct ipc64_perm msg_perm; +#ifndef __powerpc64__ unsigned int __unused1; +#endif __kernel_time_t msg_stime; /* last msgsnd time */ +#ifndef __powerpc64__ unsigned int __unused2; +#endif __kernel_time_t msg_rtime; /* last msgrcv time */ +#ifndef __powerpc64__ unsigned int __unused3; +#endif __kernel_time_t msg_ctime; /* last change time */ unsigned long msg_cbytes; /* current number of bytes on queue */ unsigned long msg_qnum; /* number of messages in queue */ @@ -22,4 +30,4 @@ struct msqid64_ds { unsigned long __unused5; }; -#endif /* _PPC_MSGBUF_H */ +#endif /* _ASM_POWERPC_MSGBUF_H */ diff --git a/include/asm-ppc/param.h b/include/asm-powerpc/param.h similarity index 70% rename from include/asm-ppc/param.h rename to include/asm-powerpc/param.h index 6198b1657a4..bdc724f7088 100644 --- a/include/asm-ppc/param.h +++ b/include/asm-powerpc/param.h @@ -1,10 +1,10 @@ -#ifndef _ASM_PPC_PARAM_H -#define _ASM_PPC_PARAM_H +#ifndef _ASM_POWERPC_PARAM_H +#define _ASM_POWERPC_PARAM_H #include #ifdef __KERNEL__ -#define HZ CONFIG_HZ /* internal timer frequency */ +#define HZ CONFIG_HZ /* internal kernel timer frequency */ #define USER_HZ 100 /* for user interfaces in "ticks" */ #define CLOCKS_PER_SEC (USER_HZ) /* frequency at which times() counts */ #endif /* __KERNEL__ */ @@ -21,4 +21,4 @@ #define MAXHOSTNAMELEN 64 /* max length of hostname */ -#endif +#endif /* _ASM_POWERPC_PARAM_H */ diff --git a/include/asm-powerpc/setup.h b/include/asm-powerpc/setup.h new file mode 100644 index 00000000000..3d9740aae01 --- /dev/null +++ b/include/asm-powerpc/setup.h @@ -0,0 +1,9 @@ +#ifndef _ASM_POWERPC_SETUP_H +#define _ASM_POWERPC_SETUP_H + +#ifdef __KERNEL__ + +#define COMMAND_LINE_SIZE 512 + +#endif /* __KERNEL__ */ +#endif /* _ASM_POWERPC_SETUP_H */ diff --git a/include/asm-ppc/timex.h b/include/asm-powerpc/timex.h similarity index 53% rename from include/asm-ppc/timex.h rename to include/asm-powerpc/timex.h index cffc8712077..51c5b316be5 100644 --- a/include/asm-ppc/timex.h +++ b/include/asm-powerpc/timex.h @@ -1,11 +1,11 @@ +#ifndef _ASM_POWERPC_TIMEX_H +#define _ASM_POWERPC_TIMEX_H + +#ifdef __KERNEL__ + /* - * include/asm-ppc/timex.h - * - * ppc architecture timex specifications + * PowerPC architecture timex specifications */ -#ifdef __KERNEL__ -#ifndef _ASMppc_TIMEX_H -#define _ASMppc_TIMEX_H #include #include @@ -14,14 +14,21 @@ typedef unsigned long cycles_t; -/* - * For the "cycle" counter we use the timebase lower half. - * Currently only used on SMP. - */ - static inline cycles_t get_cycles(void) { - cycles_t ret = 0; + cycles_t ret; + +#ifdef __powerpc64__ + + __asm__ __volatile__("mftb %0" : "=r" (ret) : ); + +#else + /* + * For the "cycle" counter we use the timebase lower half. + * Currently only used on SMP. + */ + + ret = 0; __asm__ __volatile__( "98: mftb %0\n" @@ -33,8 +40,10 @@ static inline cycles_t get_cycles(void) " .long 99b\n" ".previous" : "=r" (ret) : "i" (CPU_FTR_601)); +#endif + return ret; } -#endif -#endif /* __KERNEL__ */ +#endif /* __KERNEL__ */ +#endif /* _ASM_POWERPC_TIMEX_H */ diff --git a/include/asm-ppc64/topology.h b/include/asm-powerpc/topology.h similarity index 92% rename from include/asm-ppc64/topology.h rename to include/asm-powerpc/topology.h index 1e9b1907323..2512e3836bf 100644 --- a/include/asm-ppc64/topology.h +++ b/include/asm-powerpc/topology.h @@ -1,11 +1,12 @@ -#ifndef _ASM_PPC64_TOPOLOGY_H -#define _ASM_PPC64_TOPOLOGY_H +#ifndef _ASM_POWERPC_TOPOLOGY_H +#define _ASM_POWERPC_TOPOLOGY_H #include -#include #ifdef CONFIG_NUMA +#include + static inline int cpu_to_node(int cpu) { int node; @@ -66,4 +67,4 @@ static inline int node_to_first_cpu(int node) #endif /* CONFIG_NUMA */ -#endif /* _ASM_PPC64_TOPOLOGY_H */ +#endif /* _ASM_POWERPC_TOPOLOGY_H */ diff --git a/include/asm-ppc/user.h b/include/asm-powerpc/user.h similarity index 92% rename from include/asm-ppc/user.h rename to include/asm-powerpc/user.h index d662b215137..e59ade4b3df 100644 --- a/include/asm-ppc/user.h +++ b/include/asm-powerpc/user.h @@ -1,13 +1,14 @@ -#ifdef __KERNEL__ -#ifndef _PPC_USER_H -#define _PPC_USER_H +#ifndef _ASM_POWERPC_USER_H +#define _ASM_POWERPC_USER_H -/* Adapted from */ +#ifdef __KERNEL__ -#include +#include #include /* + * Adapted from + * * Core file format: The core file is written in such a way that gdb * can understand it and provide useful information to the user (under * linux we use the `trad-core' bfd, NOT the osf-core). The file contents @@ -50,5 +51,5 @@ struct user { #define HOST_DATA_START_ADDR (u.start_data) #define HOST_STACK_END_ADDR (u.start_stack + u.u_ssize * NBPG) -#endif /* _PPC_USER_H */ -#endif /* __KERNEL__ */ +#endif /* __KERNEL__ */ +#endif /* _ASM_POWERPC_USER_H */ diff --git a/include/asm-ppc/setup.h b/include/asm-ppc/setup.h deleted file mode 100644 index d2d19ee103d..00000000000 --- a/include/asm-ppc/setup.h +++ /dev/null @@ -1,14 +0,0 @@ -#ifdef __KERNEL__ -#ifndef _PPC_SETUP_H -#define _PPC_SETUP_H - -#define m68k_num_memory num_memory -#define m68k_memory memory - -#include -/* We have a bigger command line buffer. */ -#undef COMMAND_LINE_SIZE -#define COMMAND_LINE_SIZE 512 - -#endif /* _PPC_SETUP_H */ -#endif /* __KERNEL__ */ diff --git a/include/asm-ppc/topology.h b/include/asm-ppc/topology.h deleted file mode 100644 index 6a029bbba6e..00000000000 --- a/include/asm-ppc/topology.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef _ASM_PPC_TOPOLOGY_H -#define _ASM_PPC_TOPOLOGY_H - -#include - -#endif /* _ASM_PPC_TOPOLOGY_H */ diff --git a/include/asm-ppc64/msgbuf.h b/include/asm-ppc64/msgbuf.h deleted file mode 100644 index 31c1cbf133c..00000000000 --- a/include/asm-ppc64/msgbuf.h +++ /dev/null @@ -1,27 +0,0 @@ -#ifndef _PPC64_MSGBUF_H -#define _PPC64_MSGBUF_H - -/* - * The msqid64_ds structure for the 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. - */ - -struct msqid64_ds { - struct ipc64_perm msg_perm; - __kernel_time_t msg_stime; /* last msgsnd time */ - __kernel_time_t msg_rtime; /* last msgrcv time */ - __kernel_time_t msg_ctime; /* last change time */ - unsigned long msg_cbytes; /* current number of bytes on queue */ - unsigned long msg_qnum; /* number of messages in queue */ - unsigned long msg_qbytes; /* max number of bytes on queue */ - __kernel_pid_t msg_lspid; /* pid of last msgsnd */ - __kernel_pid_t msg_lrpid; /* last receive pid */ - unsigned long __unused1; - unsigned long __unused2; -}; - -#endif /* _PPC64_MSGBUF_H */ diff --git a/include/asm-ppc64/param.h b/include/asm-ppc64/param.h deleted file mode 100644 index 76c212d475b..00000000000 --- a/include/asm-ppc64/param.h +++ /dev/null @@ -1,31 +0,0 @@ -#ifndef _ASM_PPC64_PARAM_H -#define _ASM_PPC64_PARAM_H - -#include - -/* - * 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. - */ - -#ifdef __KERNEL__ -# define HZ CONFIG_HZ /* Internal kernel timer frequency */ -# define USER_HZ 100 /* .. some user interfaces are in "ticks" */ -# define CLOCKS_PER_SEC (USER_HZ) /* like times() */ -#endif - -#ifndef HZ -#define HZ 100 -#endif - -#define EXEC_PAGESIZE 4096 - -#ifndef NOGROUP -#define NOGROUP (-1) -#endif - -#define MAXHOSTNAMELEN 64 /* max length of hostname */ - -#endif /* _ASM_PPC64_PARAM_H */ diff --git a/include/asm-ppc64/setup.h b/include/asm-ppc64/setup.h deleted file mode 100644 index b257b8348c7..00000000000 --- a/include/asm-ppc64/setup.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef _PPC_SETUP_H -#define _PPC_SETUP_H - -#define COMMAND_LINE_SIZE 512 - -#endif /* _PPC_SETUP_H */ diff --git a/include/asm-ppc64/timex.h b/include/asm-ppc64/timex.h deleted file mode 100644 index 8db4da4064c..00000000000 --- a/include/asm-ppc64/timex.h +++ /dev/null @@ -1,26 +0,0 @@ -/* - * linux/include/asm-ppc/timex.h - * - * PPC64 architecture timex specifications - * - * 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. - */ -#ifndef _ASMPPC64_TIMEX_H -#define _ASMPPC64_TIMEX_H - -#define CLOCK_TICK_RATE 1193180 /* Underlying HZ */ - -typedef unsigned long cycles_t; - -static inline cycles_t get_cycles(void) -{ - cycles_t ret; - - __asm__ __volatile__("mftb %0" : "=r" (ret) : ); - return ret; -} - -#endif diff --git a/include/asm-ppc64/user.h b/include/asm-ppc64/user.h deleted file mode 100644 index d7d6554a421..00000000000 --- a/include/asm-ppc64/user.h +++ /dev/null @@ -1,58 +0,0 @@ -#ifndef _PPC_USER_H -#define _PPC_USER_H - -/* Adapted from - * - * 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 -#include - -/* - * Core file format: The core file is written in such a way that gdb - * can understand it and provide useful information to the user (under - * linux we use the `trad-core' bfd, NOT the osf-core). The file contents - * are as follows: - * - * upage: 1 page consisting of a user struct that tells gdb - * what is present in the file. Directly after this is a - * copy of the task_struct, which is currently not used by gdb, - * but it may come in handy at some point. All of the registers - * are stored as part of the upage. The upage should always be - * only one page long. - * data: The data segment follows next. We use current->end_text to - * current->brk to pick up all of the user variables, plus any memory - * that may have been sbrk'ed. No attempt is made to determine if a - * page is demand-zero or if a page is totally unused, we just cover - * the entire range. All of the addresses are rounded in such a way - * that an integral number of pages is written. - * stack: We need the stack information in order to get a meaningful - * backtrace. We need to write the data from usp to - * current->start_stack, so we round each of these in order to be able - * to write an integer number of pages. - */ -struct user { - struct pt_regs regs; /* entire machine state */ - size_t u_tsize; /* text size (pages) */ - size_t u_dsize; /* data size (pages) */ - size_t u_ssize; /* stack size (pages) */ - unsigned long start_code; /* text starting address */ - unsigned long start_data; /* data starting address */ - unsigned long start_stack; /* stack starting address */ - long int signal; /* signal causing core dump */ - struct regs * u_ar0; /* help gdb find registers */ - unsigned long magic; /* identifies a core file */ - char u_comm[32]; /* user command name */ -}; - -#define NBPG PAGE_SIZE -#define UPAGES 1 -#define HOST_TEXT_START_ADDR (u.start_code) -#define HOST_DATA_START_ADDR (u.start_data) -#define HOST_STACK_END_ADDR (u.start_stack + u.u_ssize * NBPG) - -#endif /* _PPC_USER_H */ -- 2.41.1