diff options
Diffstat (limited to 'include/asm-powerpc')
-rw-r--r-- | include/asm-powerpc/bugs.h | 18 | ||||
-rw-r--r-- | include/asm-powerpc/mc146818rtc.h | 36 | ||||
-rw-r--r-- | include/asm-powerpc/module.h | 77 | ||||
-rw-r--r-- | include/asm-powerpc/sembuf.h | 36 | ||||
-rw-r--r-- | include/asm-powerpc/shmbuf.h | 59 | ||||
-rw-r--r-- | include/asm-powerpc/siginfo.h | 18 | ||||
-rw-r--r-- | include/asm-powerpc/socket.h | 59 | ||||
-rw-r--r-- | include/asm-powerpc/sockios.h | 19 |
8 files changed, 322 insertions, 0 deletions
diff --git a/include/asm-powerpc/bugs.h b/include/asm-powerpc/bugs.h new file mode 100644 index 000000000000..310187d0e33a --- /dev/null +++ b/include/asm-powerpc/bugs.h | |||
@@ -0,0 +1,18 @@ | |||
1 | #ifndef _POWERPC_BUGS_H | ||
2 | #define _POWERPC_BUGS_H | ||
3 | |||
4 | /* | ||
5 | * This program is free software; you can redistribute it and/or | ||
6 | * modify it under the terms of the GNU General Public License | ||
7 | * as published by the Free Software Foundation; either version | ||
8 | * 2 of the License, or (at your option) any later version. | ||
9 | */ | ||
10 | |||
11 | /* | ||
12 | * This file is included by 'init/main.c' to check for | ||
13 | * architecture-dependent bugs. | ||
14 | */ | ||
15 | |||
16 | extern void check_bugs(void); | ||
17 | |||
18 | #endif /* _POWERPC_BUGS_H */ | ||
diff --git a/include/asm-powerpc/mc146818rtc.h b/include/asm-powerpc/mc146818rtc.h new file mode 100644 index 000000000000..a5619a2a1393 --- /dev/null +++ b/include/asm-powerpc/mc146818rtc.h | |||
@@ -0,0 +1,36 @@ | |||
1 | #ifndef _POWERPC_MC146818RTC_H | ||
2 | #define _POWERPC_MC146818RTC_H | ||
3 | |||
4 | /* | ||
5 | * Machine dependent access functions for RTC registers. | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or | ||
8 | * modify it under the terms of the GNU General Public License | ||
9 | * as published by the Free Software Foundation; either version | ||
10 | * 2 of the License, or (at your option) any later version. | ||
11 | */ | ||
12 | |||
13 | #ifdef __KERNEL__ | ||
14 | |||
15 | #include <asm/io.h> | ||
16 | |||
17 | #ifndef RTC_PORT | ||
18 | #define RTC_PORT(x) (0x70 + (x)) | ||
19 | #define RTC_ALWAYS_BCD 1 /* RTC operates in binary mode */ | ||
20 | #endif | ||
21 | |||
22 | /* | ||
23 | * The yet supported machines all access the RTC index register via | ||
24 | * an ISA port access but the way to access the date register differs ... | ||
25 | */ | ||
26 | #define CMOS_READ(addr) ({ \ | ||
27 | outb_p((addr),RTC_PORT(0)); \ | ||
28 | inb_p(RTC_PORT(1)); \ | ||
29 | }) | ||
30 | #define CMOS_WRITE(val, addr) ({ \ | ||
31 | outb_p((addr),RTC_PORT(0)); \ | ||
32 | outb_p((val),RTC_PORT(1)); \ | ||
33 | }) | ||
34 | |||
35 | #endif /* __KERNEL__ */ | ||
36 | #endif /* _POWERPC_MC146818RTC_H */ | ||
diff --git a/include/asm-powerpc/module.h b/include/asm-powerpc/module.h new file mode 100644 index 000000000000..4438f4fd6524 --- /dev/null +++ b/include/asm-powerpc/module.h | |||
@@ -0,0 +1,77 @@ | |||
1 | #ifndef _POWERPC_MODULE_H | ||
2 | #define _POWERPC_MODULE_H | ||
3 | |||
4 | /* | ||
5 | * This program is free software; you can redistribute it and/or | ||
6 | * modify it under the terms of the GNU General Public License | ||
7 | * as published by the Free Software Foundation; either version | ||
8 | * 2 of the License, or (at your option) any later version. | ||
9 | */ | ||
10 | |||
11 | #include <linux/list.h> | ||
12 | #include <asm/bug.h> | ||
13 | |||
14 | |||
15 | #ifndef __powerpc64__ | ||
16 | /* | ||
17 | * Thanks to Paul M for explaining this. | ||
18 | * | ||
19 | * PPC can only do rel jumps += 32MB, and often the kernel and other | ||
20 | * modules are furthur away than this. So, we jump to a table of | ||
21 | * trampolines attached to the module (the Procedure Linkage Table) | ||
22 | * whenever that happens. | ||
23 | */ | ||
24 | |||
25 | struct ppc_plt_entry { | ||
26 | /* 16 byte jump instruction sequence (4 instructions) */ | ||
27 | unsigned int jump[4]; | ||
28 | }; | ||
29 | #endif /* __powerpc64__ */ | ||
30 | |||
31 | |||
32 | struct mod_arch_specific { | ||
33 | #ifdef __powerpc64__ | ||
34 | unsigned int stubs_section; /* Index of stubs section in module */ | ||
35 | unsigned int toc_section; /* What section is the TOC? */ | ||
36 | #else | ||
37 | /* Indices of PLT sections within module. */ | ||
38 | unsigned int core_plt_section; | ||
39 | unsigned int init_plt_section; | ||
40 | #endif | ||
41 | |||
42 | /* List of BUG addresses, source line numbers and filenames */ | ||
43 | struct list_head bug_list; | ||
44 | struct bug_entry *bug_table; | ||
45 | unsigned int num_bugs; | ||
46 | }; | ||
47 | |||
48 | extern struct bug_entry *module_find_bug(unsigned long bugaddr); | ||
49 | |||
50 | /* | ||
51 | * Select ELF headers. | ||
52 | * Make empty section for module_frob_arch_sections to expand. | ||
53 | */ | ||
54 | |||
55 | #ifdef __powerpc64__ | ||
56 | # define Elf_Shdr Elf64_Shdr | ||
57 | # define Elf_Sym Elf64_Sym | ||
58 | # define Elf_Ehdr Elf64_Ehdr | ||
59 | # ifdef MODULE | ||
60 | asm(".section .stubs,\"ax\",@nobits; .align 3; .previous"); | ||
61 | # endif | ||
62 | #else | ||
63 | # define Elf_Shdr Elf32_Shdr | ||
64 | # define Elf_Sym Elf32_Sym | ||
65 | # define Elf_Ehdr Elf32_Ehdr | ||
66 | # ifdef MODULE | ||
67 | asm(".section .plt,\"ax\",@nobits; .align 3; .previous"); | ||
68 | asm(".section .init.plt,\"ax\",@nobits; .align 3; .previous"); | ||
69 | # endif /* MODULE */ | ||
70 | #endif | ||
71 | |||
72 | |||
73 | struct exception_table_entry; | ||
74 | void sort_ex_table(struct exception_table_entry *start, | ||
75 | struct exception_table_entry *finish); | ||
76 | |||
77 | #endif /* _POWERPC_MODULE_H */ | ||
diff --git a/include/asm-powerpc/sembuf.h b/include/asm-powerpc/sembuf.h new file mode 100644 index 000000000000..c98fc18fe805 --- /dev/null +++ b/include/asm-powerpc/sembuf.h | |||
@@ -0,0 +1,36 @@ | |||
1 | #ifndef _POWERPC_SEMBUF_H | ||
2 | #define _POWERPC_SEMBUF_H | ||
3 | |||
4 | /* | ||
5 | * This program is free software; you can redistribute it and/or | ||
6 | * modify it under the terms of the GNU General Public License | ||
7 | * as published by the Free Software Foundation; either version | ||
8 | * 2 of the License, or (at your option) any later version. | ||
9 | */ | ||
10 | |||
11 | /* | ||
12 | * The semid64_ds structure for PPC architecture. | ||
13 | * Note extra padding because this structure is passed back and forth | ||
14 | * between kernel and user space. | ||
15 | * | ||
16 | * Pad space is left for: | ||
17 | * - 64-bit time_t to solve y2038 problem | ||
18 | * - 2 miscellaneous 32-bit values | ||
19 | */ | ||
20 | |||
21 | struct semid64_ds { | ||
22 | struct ipc64_perm sem_perm; /* permissions .. see ipc.h */ | ||
23 | #ifndef __powerpc64__ | ||
24 | unsigned long __unused1; | ||
25 | #endif | ||
26 | __kernel_time_t sem_otime; /* last semop time */ | ||
27 | #ifndef __powerpc64__ | ||
28 | unsigned long __unused2; | ||
29 | #endif | ||
30 | __kernel_time_t sem_ctime; /* last change time */ | ||
31 | unsigned long sem_nsems; /* no. of semaphores in array */ | ||
32 | unsigned long __unused3; | ||
33 | unsigned long __unused4; | ||
34 | }; | ||
35 | |||
36 | #endif /* _POWERPC_SEMBUF_H */ | ||
diff --git a/include/asm-powerpc/shmbuf.h b/include/asm-powerpc/shmbuf.h new file mode 100644 index 000000000000..29632db3b178 --- /dev/null +++ b/include/asm-powerpc/shmbuf.h | |||
@@ -0,0 +1,59 @@ | |||
1 | #ifndef _POWERPC_SHMBUF_H | ||
2 | #define _POWERPC_SHMBUF_H | ||
3 | |||
4 | /* | ||
5 | * This program is free software; you can redistribute it and/or | ||
6 | * modify it under the terms of the GNU General Public License | ||
7 | * as published by the Free Software Foundation; either version | ||
8 | * 2 of the License, or (at your option) any later version. | ||
9 | */ | ||
10 | |||
11 | /* | ||
12 | * The shmid64_ds structure for PPC architecture. | ||
13 | * | ||
14 | * Note extra padding because this structure is passed back and forth | ||
15 | * between kernel and user space. | ||
16 | * | ||
17 | * Pad space is left for: | ||
18 | * - 64-bit time_t to solve y2038 problem | ||
19 | * - 2 miscellaneous 32-bit values | ||
20 | */ | ||
21 | |||
22 | struct shmid64_ds { | ||
23 | struct ipc64_perm shm_perm; /* operation perms */ | ||
24 | #ifndef __power64__ | ||
25 | unsigned long __unused1; | ||
26 | #endif | ||
27 | __kernel_time_t shm_atime; /* last attach time */ | ||
28 | #ifndef __power64__ | ||
29 | unsigned long __unused2; | ||
30 | #endif | ||
31 | __kernel_time_t shm_dtime; /* last detach time */ | ||
32 | #ifndef __power64__ | ||
33 | unsigned long __unused3; | ||
34 | #endif | ||
35 | __kernel_time_t shm_ctime; /* last change time */ | ||
36 | #ifndef __power64__ | ||
37 | unsigned long __unused4; | ||
38 | #endif | ||
39 | size_t shm_segsz; /* size of segment (bytes) */ | ||
40 | __kernel_pid_t shm_cpid; /* pid of creator */ | ||
41 | __kernel_pid_t shm_lpid; /* pid of last operator */ | ||
42 | unsigned long shm_nattch; /* no. of current attaches */ | ||
43 | unsigned long __unused5; | ||
44 | unsigned long __unused6; | ||
45 | }; | ||
46 | |||
47 | struct shminfo64 { | ||
48 | unsigned long shmmax; | ||
49 | unsigned long shmmin; | ||
50 | unsigned long shmmni; | ||
51 | unsigned long shmseg; | ||
52 | unsigned long shmall; | ||
53 | unsigned long __unused1; | ||
54 | unsigned long __unused2; | ||
55 | unsigned long __unused3; | ||
56 | unsigned long __unused4; | ||
57 | }; | ||
58 | |||
59 | #endif /* _POWERPC_SHMBUF_H */ | ||
diff --git a/include/asm-powerpc/siginfo.h b/include/asm-powerpc/siginfo.h new file mode 100644 index 000000000000..ae70b8010b19 --- /dev/null +++ b/include/asm-powerpc/siginfo.h | |||
@@ -0,0 +1,18 @@ | |||
1 | #ifndef _POWERPC_SIGINFO_H | ||
2 | #define _POWERPC_SIGINFO_H | ||
3 | |||
4 | /* | ||
5 | * This program is free software; you can redistribute it and/or | ||
6 | * modify it under the terms of the GNU General Public License | ||
7 | * as published by the Free Software Foundation; either version | ||
8 | * 2 of the License, or (at your option) any later version. | ||
9 | */ | ||
10 | |||
11 | #ifdef __powerpc64__ | ||
12 | # define __ARCH_SI_PREAMBLE_SIZE (4 * sizeof(int)) | ||
13 | # define SI_PAD_SIZE32 ((SI_MAX_SIZE/sizeof(int)) - 3) | ||
14 | #endif | ||
15 | |||
16 | #include <asm-generic/siginfo.h> | ||
17 | |||
18 | #endif /* _POWERPC_SIGINFO_H */ | ||
diff --git a/include/asm-powerpc/socket.h b/include/asm-powerpc/socket.h new file mode 100644 index 000000000000..51a0cf5ee9f0 --- /dev/null +++ b/include/asm-powerpc/socket.h | |||
@@ -0,0 +1,59 @@ | |||
1 | #ifndef _POWERPC_SOCKET_H | ||
2 | #define _POWERPC_SOCKET_H | ||
3 | |||
4 | /* | ||
5 | * This program is free software; you can redistribute it and/or | ||
6 | * modify it under the terms of the GNU General Public License | ||
7 | * as published by the Free Software Foundation; either version | ||
8 | * 2 of the License, or (at your option) any later version. | ||
9 | */ | ||
10 | |||
11 | #include <asm/sockios.h> | ||
12 | |||
13 | /* For setsockopt(2) */ | ||
14 | #define SOL_SOCKET 1 | ||
15 | |||
16 | #define SO_DEBUG 1 | ||
17 | #define SO_REUSEADDR 2 | ||
18 | #define SO_TYPE 3 | ||
19 | #define SO_ERROR 4 | ||
20 | #define SO_DONTROUTE 5 | ||
21 | #define SO_BROADCAST 6 | ||
22 | #define SO_SNDBUF 7 | ||
23 | #define SO_RCVBUF 8 | ||
24 | #define SO_SNDBUFFORCE 32 | ||
25 | #define SO_RCVBUFFORCE 33 | ||
26 | #define SO_KEEPALIVE 9 | ||
27 | #define SO_OOBINLINE 10 | ||
28 | #define SO_NO_CHECK 11 | ||
29 | #define SO_PRIORITY 12 | ||
30 | #define SO_LINGER 13 | ||
31 | #define SO_BSDCOMPAT 14 | ||
32 | /* To add :#define SO_REUSEPORT 15 */ | ||
33 | #define SO_RCVLOWAT 16 | ||
34 | #define SO_SNDLOWAT 17 | ||
35 | #define SO_RCVTIMEO 18 | ||
36 | #define SO_SNDTIMEO 19 | ||
37 | #define SO_PASSCRED 20 | ||
38 | #define SO_PEERCRED 21 | ||
39 | |||
40 | /* Security levels - as per NRL IPv6 - don't actually do anything */ | ||
41 | #define SO_SECURITY_AUTHENTICATION 22 | ||
42 | #define SO_SECURITY_ENCRYPTION_TRANSPORT 23 | ||
43 | #define SO_SECURITY_ENCRYPTION_NETWORK 24 | ||
44 | |||
45 | #define SO_BINDTODEVICE 25 | ||
46 | |||
47 | /* Socket filtering */ | ||
48 | #define SO_ATTACH_FILTER 26 | ||
49 | #define SO_DETACH_FILTER 27 | ||
50 | |||
51 | #define SO_PEERNAME 28 | ||
52 | #define SO_TIMESTAMP 29 | ||
53 | #define SCM_TIMESTAMP SO_TIMESTAMP | ||
54 | |||
55 | #define SO_ACCEPTCONN 30 | ||
56 | |||
57 | #define SO_PEERSEC 31 | ||
58 | |||
59 | #endif /* _POWERPC_SOCKET_H */ | ||
diff --git a/include/asm-powerpc/sockios.h b/include/asm-powerpc/sockios.h new file mode 100644 index 000000000000..ef7ff664167e --- /dev/null +++ b/include/asm-powerpc/sockios.h | |||
@@ -0,0 +1,19 @@ | |||
1 | #ifndef _POWERPC_SOCKIOS_H | ||
2 | #define _POWERPC_SOCKIOS_H | ||
3 | |||
4 | /* | ||
5 | * This program is free software; you can redistribute it and/or | ||
6 | * modify it under the terms of the GNU General Public License | ||
7 | * as published by the Free Software Foundation; either version | ||
8 | * 2 of the License, or (at your option) any later version. | ||
9 | */ | ||
10 | |||
11 | /* Socket-level I/O control calls. */ | ||
12 | #define FIOSETOWN 0x8901 | ||
13 | #define SIOCSPGRP 0x8902 | ||
14 | #define FIOGETOWN 0x8903 | ||
15 | #define SIOCGPGRP 0x8904 | ||
16 | #define SIOCATMARK 0x8905 | ||
17 | #define SIOCGSTAMP 0x8906 /* Get stamp */ | ||
18 | |||
19 | #endif /* _POWERPC_SOCKIOS_H */ | ||