mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-24 21:54:34 -04:00
Merge master.kernel.org:/pub/scm/linux/kernel/git/paulus/ppc64-2.6
This commit is contained in:
commit
3aed77bc84
65 changed files with 530 additions and 529 deletions
|
|
@ -1,10 +1,10 @@
|
|||
#ifndef _ASM_POWERPC_8253PIT_H
|
||||
#define _ASM_POWERPC_8253PIT_H
|
||||
|
||||
/*
|
||||
* 8253/8254 Programmable Interval Timer
|
||||
*/
|
||||
|
||||
#ifndef _8253PIT_H
|
||||
#define _8253PIT_H
|
||||
|
||||
#define PIT_TICK_RATE 1193182UL
|
||||
|
||||
#endif
|
||||
#endif /* _ASM_POWERPC_8253PIT_H */
|
||||
|
|
|
|||
|
|
@ -1,10 +1,8 @@
|
|||
#ifndef AGP_H
|
||||
#define AGP_H 1
|
||||
#ifndef _ASM_POWERPC_AGP_H
|
||||
#define _ASM_POWERPC_AGP_H
|
||||
|
||||
#include <asm/io.h>
|
||||
|
||||
/* nothing much needed here */
|
||||
|
||||
#define map_page_into_agp(page)
|
||||
#define unmap_page_from_agp(page)
|
||||
#define flush_agp_mappings()
|
||||
|
|
@ -20,4 +18,4 @@
|
|||
#define free_gatt_pages(table, order) \
|
||||
free_pages((unsigned long)(table), (order))
|
||||
|
||||
#endif
|
||||
#endif /* _ASM_POWERPC_AGP_H */
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
#ifndef _POWERPC_BUGS_H
|
||||
#define _POWERPC_BUGS_H
|
||||
#ifndef _ASM_POWERPC_BUGS_H
|
||||
#define _ASM_POWERPC_BUGS_H
|
||||
|
||||
/*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
|
|
@ -13,6 +13,6 @@
|
|||
* architecture-dependent bugs.
|
||||
*/
|
||||
|
||||
extern void check_bugs(void);
|
||||
static inline void check_bugs(void) { }
|
||||
|
||||
#endif /* _POWERPC_BUGS_H */
|
||||
#endif /* _ASM_POWERPC_BUGS_H */
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
#ifndef _PPC_ERRNO_H
|
||||
#define _PPC_ERRNO_H
|
||||
#ifndef _ASM_POWERPC_ERRNO_H
|
||||
#define _ASM_POWERPC_ERRNO_H
|
||||
|
||||
#include <asm-generic/errno.h>
|
||||
|
||||
|
|
@ -8,4 +8,4 @@
|
|||
|
||||
#define _LAST_ERRNO 516
|
||||
|
||||
#endif
|
||||
#endif /* _ASM_POWERPC_ERRNO_H */
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
#ifndef _PPC_IOCTL_H
|
||||
#define _PPC_IOCTL_H
|
||||
#ifndef _ASM_POWERPC_IOCTL_H
|
||||
#define _ASM_POWERPC_IOCTL_H
|
||||
|
||||
|
||||
/*
|
||||
|
|
@ -66,4 +66,4 @@ extern unsigned int __invalid_size_argument_for_IOC;
|
|||
#define IOCSIZE_MASK (_IOC_SIZEMASK << _IOC_SIZESHIFT)
|
||||
#define IOCSIZE_SHIFT (_IOC_SIZESHIFT)
|
||||
|
||||
#endif
|
||||
#endif /* _ASM_POWERPC_IOCTL_H */
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
#ifndef _ASM_PPC_IOCTLS_H
|
||||
#define _ASM_PPC_IOCTLS_H
|
||||
#ifndef _ASM_POWERPC_IOCTLS_H
|
||||
#define _ASM_POWERPC_IOCTLS_H
|
||||
|
||||
#include <asm/ioctl.h>
|
||||
|
||||
|
|
@ -104,4 +104,4 @@
|
|||
#define TIOCMIWAIT 0x545C /* wait for a change on serial input line(s) */
|
||||
#define TIOCGICOUNT 0x545D /* read serial port inline interrupt counts */
|
||||
|
||||
#endif /* _ASM_PPC_IOCTLS_H */
|
||||
#endif /* _ASM_POWERPC_IOCTLS_H */
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
#ifndef __ASM_LINKAGE_H
|
||||
#define __ASM_LINKAGE_H
|
||||
#ifndef _ASM_POWERPC_LINKAGE_H
|
||||
#define _ASM_POWERPC_LINKAGE_H
|
||||
|
||||
/* Nothing to see here... */
|
||||
|
||||
#endif
|
||||
#endif /* _ASM_POWERPC_LINKAGE_H */
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
#ifndef _POWERPC_MC146818RTC_H
|
||||
#define _POWERPC_MC146818RTC_H
|
||||
#ifndef _ASM_POWERPC_MC146818RTC_H
|
||||
#define _ASM_POWERPC_MC146818RTC_H
|
||||
|
||||
/*
|
||||
* Machine dependent access functions for RTC registers.
|
||||
|
|
@ -33,4 +33,4 @@ outb_p((val),RTC_PORT(1)); \
|
|||
})
|
||||
|
||||
#endif /* __KERNEL__ */
|
||||
#endif /* _POWERPC_MC146818RTC_H */
|
||||
#endif /* _ASM_POWERPC_MC146818RTC_H */
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
#ifndef _POWERPC_MMAN_H
|
||||
#define _POWERPC_MMAN_H
|
||||
#ifndef _ASM_POWERPC_MMAN_H
|
||||
#define _ASM_POWERPC_MMAN_H
|
||||
|
||||
/*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
|
|
@ -49,4 +49,4 @@
|
|||
#define MAP_ANON MAP_ANONYMOUS
|
||||
#define MAP_FILE 0
|
||||
|
||||
#endif /* _POWERPC_MMAN_H */
|
||||
#endif /* _ASM_POWERPC_MMAN_H */
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
#ifndef _POWERPC_MODULE_H
|
||||
#define _POWERPC_MODULE_H
|
||||
#ifndef _ASM_POWERPC_MODULE_H
|
||||
#define _ASM_POWERPC_MODULE_H
|
||||
|
||||
/*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
|
|
@ -74,4 +74,4 @@ struct exception_table_entry;
|
|||
void sort_ex_table(struct exception_table_entry *start,
|
||||
struct exception_table_entry *finish);
|
||||
|
||||
#endif /* _POWERPC_MODULE_H */
|
||||
#endif /* _ASM_POWERPC_MODULE_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 */
|
||||
|
|
@ -1,14 +1,14 @@
|
|||
#ifndef _ASM_POWERPC_NAMEI_H
|
||||
#define _ASM_POWERPC_NAMEI_H
|
||||
|
||||
#ifdef __KERNEL__
|
||||
|
||||
/*
|
||||
* include/asm-ppc/namei.h
|
||||
* Adapted from include/asm-alpha/namei.h
|
||||
*
|
||||
* Included from fs/namei.c
|
||||
*/
|
||||
|
||||
#ifdef __KERNEL__
|
||||
#ifndef __PPC_NAMEI_H
|
||||
#define __PPC_NAMEI_H
|
||||
|
||||
/* This dummy routine maybe changed to something useful
|
||||
* for /usr/gnemul/ emulation stuff.
|
||||
* Look at asm-sparc/namei.h for details.
|
||||
|
|
@ -16,5 +16,5 @@
|
|||
|
||||
#define __emul_prefix() NULL
|
||||
|
||||
#endif /* __PPC_NAMEI_H */
|
||||
#endif /* __KERNEL__ */
|
||||
#endif /* __KERNEL__ */
|
||||
#endif /* _ASM_POWERPC_NAMEI_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 <linux/config.h>
|
||||
|
||||
#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 */
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
#ifndef __PPC_POLL_H
|
||||
#define __PPC_POLL_H
|
||||
#ifndef _ASM_POWERPC_POLL_H
|
||||
#define _ASM_POWERPC_POLL_H
|
||||
|
||||
#define POLLIN 0x0001
|
||||
#define POLLPRI 0x0002
|
||||
|
|
@ -20,4 +20,4 @@ struct pollfd {
|
|||
short revents;
|
||||
};
|
||||
|
||||
#endif
|
||||
#endif /* _ASM_POWERPC_POLL_H */
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
#ifndef _POWERPC_SEMBUF_H
|
||||
#define _POWERPC_SEMBUF_H
|
||||
#ifndef _ASM_POWERPC_SEMBUF_H
|
||||
#define _ASM_POWERPC_SEMBUF_H
|
||||
|
||||
/*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
|
|
@ -33,4 +33,4 @@ struct semid64_ds {
|
|||
unsigned long __unused4;
|
||||
};
|
||||
|
||||
#endif /* _POWERPC_SEMBUF_H */
|
||||
#endif /* _ASM_POWERPC_SEMBUF_H */
|
||||
|
|
|
|||
9
include/asm-powerpc/setup.h
Normal file
9
include/asm-powerpc/setup.h
Normal file
|
|
@ -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 */
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
#ifndef _POWERPC_SHMBUF_H
|
||||
#define _POWERPC_SHMBUF_H
|
||||
#ifndef _ASM_POWERPC_SHMBUF_H
|
||||
#define _ASM_POWERPC_SHMBUF_H
|
||||
|
||||
/*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
|
|
@ -21,19 +21,19 @@
|
|||
|
||||
struct shmid64_ds {
|
||||
struct ipc64_perm shm_perm; /* operation perms */
|
||||
#ifndef __power64__
|
||||
#ifndef __powerpc64__
|
||||
unsigned long __unused1;
|
||||
#endif
|
||||
__kernel_time_t shm_atime; /* last attach time */
|
||||
#ifndef __power64__
|
||||
#ifndef __powerpc64__
|
||||
unsigned long __unused2;
|
||||
#endif
|
||||
__kernel_time_t shm_dtime; /* last detach time */
|
||||
#ifndef __power64__
|
||||
#ifndef __powerpc64__
|
||||
unsigned long __unused3;
|
||||
#endif
|
||||
__kernel_time_t shm_ctime; /* last change time */
|
||||
#ifndef __power64__
|
||||
#ifndef __powerpc64__
|
||||
unsigned long __unused4;
|
||||
#endif
|
||||
size_t shm_segsz; /* size of segment (bytes) */
|
||||
|
|
@ -56,4 +56,4 @@ struct shminfo64 {
|
|||
unsigned long __unused4;
|
||||
};
|
||||
|
||||
#endif /* _POWERPC_SHMBUF_H */
|
||||
#endif /* _ASM_POWERPC_SHMBUF_H */
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
#ifndef _PPC_SHMPARAM_H
|
||||
#define _PPC_SHMPARAM_H
|
||||
#ifndef _ASM_POWERPC_SHMPARAM_H
|
||||
#define _ASM_POWERPC_SHMPARAM_H
|
||||
|
||||
#define SHMLBA PAGE_SIZE /* attach addr a multiple of this */
|
||||
|
||||
#endif /* _PPC_SHMPARAM_H */
|
||||
#endif /* _ASM_POWERPC_SHMPARAM_H */
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
#ifndef _POWERPC_SIGINFO_H
|
||||
#define _POWERPC_SIGINFO_H
|
||||
#ifndef _ASM_POWERPC_SIGINFO_H
|
||||
#define _ASM_POWERPC_SIGINFO_H
|
||||
|
||||
/*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
|
|
@ -15,4 +15,4 @@
|
|||
|
||||
#include <asm-generic/siginfo.h>
|
||||
|
||||
#endif /* _POWERPC_SIGINFO_H */
|
||||
#endif /* _ASM_POWERPC_SIGINFO_H */
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
#ifndef _POWERPC_SOCKET_H
|
||||
#define _POWERPC_SOCKET_H
|
||||
#ifndef _ASM_POWERPC_SOCKET_H
|
||||
#define _ASM_POWERPC_SOCKET_H
|
||||
|
||||
/*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
|
|
@ -56,4 +56,4 @@
|
|||
|
||||
#define SO_PEERSEC 31
|
||||
|
||||
#endif /* _POWERPC_SOCKET_H */
|
||||
#endif /* _ASM_POWERPC_SOCKET_H */
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
#ifndef _POWERPC_SOCKIOS_H
|
||||
#define _POWERPC_SOCKIOS_H
|
||||
#ifndef _ASM_POWERPC_SOCKIOS_H
|
||||
#define _ASM_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 /* _POWERPC_SOCKIOS_H */
|
||||
#endif /* _ASM_POWERPC_SOCKIOS_H */
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
#ifndef _PPC_STRING_H_
|
||||
#define _PPC_STRING_H_
|
||||
#ifndef _ASM_POWERPC_STRING_H
|
||||
#define _ASM_POWERPC_STRING_H
|
||||
|
||||
#ifdef __KERNEL__
|
||||
|
||||
|
|
@ -29,4 +29,4 @@ extern void * memchr(const void *,int,__kernel_size_t);
|
|||
|
||||
#endif /* __KERNEL__ */
|
||||
|
||||
#endif
|
||||
#endif /* _ASM_POWERPC_STRING_H */
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
#ifndef _POWERPC_TERMBITS_H
|
||||
#define _POWERPC_TERMBITS_H
|
||||
#ifndef _ASM_POWERPC_TERMBITS_H
|
||||
#define _ASM_POWERPC_TERMBITS_H
|
||||
|
||||
/*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
|
|
@ -188,4 +188,4 @@ struct termios {
|
|||
#define TCSADRAIN 1
|
||||
#define TCSAFLUSH 2
|
||||
|
||||
#endif /* _POWERPC_TERMBITS_H */
|
||||
#endif /* _ASM_POWERPC_TERMBITS_H */
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
#ifndef _POWERPC_TERMIOS_H
|
||||
#define _POWERPC_TERMIOS_H
|
||||
#ifndef _ASM_POWERPC_TERMIOS_H
|
||||
#define _ASM_POWERPC_TERMIOS_H
|
||||
|
||||
/*
|
||||
* Liberally adapted from alpha/termios.h. In particular, the c_cc[]
|
||||
|
|
@ -233,4 +233,4 @@ struct termio {
|
|||
|
||||
#endif /* __KERNEL__ */
|
||||
|
||||
#endif /* _POWERPC_TERMIOS_H */
|
||||
#endif /* _ASM_POWERPC_TERMIOS_H */
|
||||
|
|
|
|||
|
|
@ -1,11 +1,11 @@
|
|||
/*
|
||||
* include/asm-ppc/timex.h
|
||||
*
|
||||
* ppc architecture timex specifications
|
||||
*/
|
||||
#ifndef _ASM_POWERPC_TIMEX_H
|
||||
#define _ASM_POWERPC_TIMEX_H
|
||||
|
||||
#ifdef __KERNEL__
|
||||
#ifndef _ASMppc_TIMEX_H
|
||||
#define _ASMppc_TIMEX_H
|
||||
|
||||
/*
|
||||
* PowerPC architecture timex specifications
|
||||
*/
|
||||
|
||||
#include <linux/config.h>
|
||||
#include <asm/cputable.h>
|
||||
|
|
@ -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 */
|
||||
|
|
@ -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 <linux/config.h>
|
||||
#include <asm/mmzone.h>
|
||||
|
||||
#ifdef CONFIG_NUMA
|
||||
|
||||
#include <asm/mmzone.h>
|
||||
|
||||
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 */
|
||||
|
|
@ -1,6 +1,7 @@
|
|||
#ifndef _ASM_POWERPC_UNALIGNED_H
|
||||
#define _ASM_POWERPC_UNALIGNED_H
|
||||
|
||||
#ifdef __KERNEL__
|
||||
#ifndef __PPC_UNALIGNED_H
|
||||
#define __PPC_UNALIGNED_H
|
||||
|
||||
/*
|
||||
* The PowerPC can do unaligned accesses itself in big endian mode.
|
||||
|
|
@ -14,5 +15,5 @@
|
|||
|
||||
#define put_unaligned(val, ptr) ((void)( *(ptr) = (val) ))
|
||||
|
||||
#endif
|
||||
#endif /* __KERNEL__ */
|
||||
#endif /* __KERNEL__ */
|
||||
#endif /* _ASM_POWERPC_UNALIGNED_H */
|
||||
|
|
|
|||
|
|
@ -1,13 +1,14 @@
|
|||
#ifndef _ASM_POWERPC_USER_H
|
||||
#define _ASM_POWERPC_USER_H
|
||||
|
||||
#ifdef __KERNEL__
|
||||
#ifndef _PPC_USER_H
|
||||
#define _PPC_USER_H
|
||||
|
||||
/* Adapted from <asm-alpha/user.h> */
|
||||
|
||||
#include <linux/ptrace.h>
|
||||
#include <asm/ptrace.h>
|
||||
#include <asm/page.h>
|
||||
|
||||
/*
|
||||
* Adapted from <asm-alpha/user.h>
|
||||
*
|
||||
* 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 */
|
||||
|
|
@ -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 <asm-m68k/setup.h>
|
||||
/* We have a bigger command line buffer. */
|
||||
#undef COMMAND_LINE_SIZE
|
||||
#define COMMAND_LINE_SIZE 512
|
||||
|
||||
#endif /* _PPC_SETUP_H */
|
||||
#endif /* __KERNEL__ */
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
#ifndef _ASM_PPC_TOPOLOGY_H
|
||||
#define _ASM_PPC_TOPOLOGY_H
|
||||
|
||||
#include <asm-generic/topology.h>
|
||||
|
||||
#endif /* _ASM_PPC_TOPOLOGY_H */
|
||||
|
|
@ -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 */
|
||||
|
|
@ -1,31 +0,0 @@
|
|||
#ifndef _ASM_PPC64_PARAM_H
|
||||
#define _ASM_PPC64_PARAM_H
|
||||
|
||||
#include <linux/config.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.
|
||||
*/
|
||||
|
||||
#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 */
|
||||
|
|
@ -48,19 +48,52 @@ struct pci_controller {
|
|||
unsigned long dma_window_size;
|
||||
};
|
||||
|
||||
/*
|
||||
* PCI stuff, for nodes representing PCI devices, pointed to
|
||||
* by device_node->data.
|
||||
*/
|
||||
struct pci_controller;
|
||||
struct iommu_table;
|
||||
|
||||
struct pci_dn {
|
||||
int busno; /* for pci devices */
|
||||
int bussubno; /* for pci devices */
|
||||
int devfn; /* for pci devices */
|
||||
int eeh_mode; /* See eeh.h for possible EEH_MODEs */
|
||||
int eeh_config_addr;
|
||||
int eeh_capable; /* from firmware */
|
||||
int eeh_check_count; /* # times driver ignored error */
|
||||
int eeh_freeze_count; /* # times this device froze up. */
|
||||
int eeh_is_bridge; /* device is pci-to-pci bridge */
|
||||
|
||||
int pci_ext_config_space; /* for pci devices */
|
||||
struct pci_controller *phb; /* for pci devices */
|
||||
struct iommu_table *iommu_table; /* for phb's or bridges */
|
||||
struct pci_dev *pcidev; /* back-pointer to the pci device */
|
||||
struct device_node *node; /* back-pointer to the device_node */
|
||||
u32 config_space[16]; /* saved PCI config space */
|
||||
};
|
||||
|
||||
/* Get the pointer to a device_node's pci_dn */
|
||||
#define PCI_DN(dn) ((struct pci_dn *) (dn)->data)
|
||||
|
||||
struct device_node *fetch_dev_dn(struct pci_dev *dev);
|
||||
|
||||
/* Get a device_node from a pci_dev. This code must be fast except in the case
|
||||
* where the sysdata is incorrect and needs to be fixed up (hopefully just once)
|
||||
/* Get a device_node from a pci_dev. This code must be fast except
|
||||
* in the case where the sysdata is incorrect and needs to be fixed
|
||||
* up (this will only happen once).
|
||||
* In this case the sysdata will have been inherited from a PCI host
|
||||
* bridge or a PCI-PCI bridge further up the tree, so it will point
|
||||
* to a valid struct pci_dn, just not the one we want.
|
||||
*/
|
||||
static inline struct device_node *pci_device_to_OF_node(struct pci_dev *dev)
|
||||
{
|
||||
struct device_node *dn = dev->sysdata;
|
||||
struct pci_dn *pdn = dn->data;
|
||||
|
||||
if (dn->devfn == dev->devfn && dn->busno == dev->bus->number)
|
||||
if (pdn && pdn->devfn == dev->devfn && pdn->busno == dev->bus->number)
|
||||
return dn; /* fast path. sysdata is good */
|
||||
else
|
||||
return fetch_dev_dn(dev);
|
||||
return fetch_dev_dn(dev);
|
||||
}
|
||||
|
||||
static inline struct device_node *pci_bus_to_OF_node(struct pci_bus *bus)
|
||||
|
|
@ -83,7 +116,7 @@ static inline struct pci_controller *pci_bus_to_host(struct pci_bus *bus)
|
|||
struct device_node *busdn = bus->sysdata;
|
||||
|
||||
BUG_ON(busdn == NULL);
|
||||
return busdn->phb;
|
||||
return PCI_DN(busdn)->phb;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -116,14 +116,6 @@ struct property {
|
|||
struct property *next;
|
||||
};
|
||||
|
||||
/* NOTE: the device_node contains PCI specific info for pci devices.
|
||||
* This perhaps could be hung off the device_node with another struct,
|
||||
* but for now it is directly in the node. The phb ptr is a good
|
||||
* indication of a real PCI node. Other nodes leave these fields zeroed.
|
||||
*/
|
||||
struct pci_controller;
|
||||
struct iommu_table;
|
||||
|
||||
struct device_node {
|
||||
char *name;
|
||||
char *type;
|
||||
|
|
@ -135,16 +127,6 @@ struct device_node {
|
|||
struct interrupt_info *intrs;
|
||||
char *full_name;
|
||||
|
||||
/* PCI stuff probably doesn't belong here */
|
||||
int busno; /* for pci devices */
|
||||
int bussubno; /* for pci devices */
|
||||
int devfn; /* for pci devices */
|
||||
int eeh_mode; /* See eeh.h for possible EEH_MODEs */
|
||||
int eeh_config_addr;
|
||||
int pci_ext_config_space; /* for pci devices */
|
||||
struct pci_controller *phb; /* for pci devices */
|
||||
struct iommu_table *iommu_table; /* for phb's or bridges */
|
||||
|
||||
struct property *properties;
|
||||
struct device_node *parent;
|
||||
struct device_node *child;
|
||||
|
|
@ -154,6 +136,7 @@ struct device_node {
|
|||
struct proc_dir_entry *pde; /* this node's proc directory */
|
||||
struct kref kref;
|
||||
unsigned long _flags;
|
||||
void *data;
|
||||
};
|
||||
|
||||
extern struct device_node *of_chosen;
|
||||
|
|
|
|||
|
|
@ -1,6 +0,0 @@
|
|||
#ifndef __PPC64_SEGMENT_H
|
||||
#define __PPC64_SEGMENT_H
|
||||
|
||||
/* Only here because we have some old header files that expect it.. */
|
||||
|
||||
#endif /* __PPC64_SEGMENT_H */
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
#ifndef _PPC_SETUP_H
|
||||
#define _PPC_SETUP_H
|
||||
|
||||
#define COMMAND_LINE_SIZE 512
|
||||
|
||||
#endif /* _PPC_SETUP_H */
|
||||
|
|
@ -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
|
||||
|
|
@ -1,58 +0,0 @@
|
|||
#ifndef _PPC_USER_H
|
||||
#define _PPC_USER_H
|
||||
|
||||
/* Adapted from <asm-alpha/user.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 <asm/ptrace.h>
|
||||
#include <asm/page.h>
|
||||
|
||||
/*
|
||||
* 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 */
|
||||
Loading…
Reference in a new issue