2.3.39
Peter Hunter
peter at fido.bfriars.ox.ac.uk
Thu Jan 13 08:18:48 EST 2000
I had to apply the below patch to get 2.3.39 to compile.
Also, I sometimes have trouble booting 2.2.14 - it sometimes panics between
"TCP: hash tables configured" and "Starting kswapd". There doesn't seem to
be any pattern to it though - sometimes it will boot just fine with exactly
the same kernel. Is that hardware?
Regards,
Peter
--- cut ---
diff -ruP /home/linux/include/asm-ppc/ipcbuf.h linux/include/asm-ppc/ipcbuf.h
--- /home/linux/include/asm-ppc/ipcbuf.h Thu Jan 1 01:00:00 1970
+++ linux/include/asm-ppc/ipcbuf.h Wed Jan 12 11:35:52 2000
@@ -0,0 +1,29 @@
+#ifndef __PPC_IPCBUF_H__
+#define __PPC_IPCBUF_H__
+
+/*
+ * The ipc64_perm 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:
+ * - 32-bit mode_t and seq
+ * - 2 miscellaneous 32-bit values
+ */
+
+struct ipc64_perm
+{
+ __kernel_key_t key;
+ __kernel_uid32_t uid;
+ __kernel_gid32_t gid;
+ __kernel_uid32_t cuid;
+ __kernel_gid32_t cgid;
+ __kernel_mode_t mode;
+ unsigned short __pad1;
+ unsigned short seq;
+ unsigned short __pad2;
+ unsigned long __unused1;
+ unsigned long __unused2;
+};
+
+#endif /* __PPC_IPCBUF_H__ */
diff -ruP /home/linux/include/asm-ppc/msgbuf.h linux/include/asm-ppc/msgbuf.h
--- /home/linux/include/asm-ppc/msgbuf.h Thu Jan 1 01:00:00 1970
+++ linux/include/asm-ppc/msgbuf.h Wed Jan 12 12:02:16 2000
@@ -0,0 +1,31 @@
+#ifndef _PPC_MSGBUF_H
+#define _PPC_MSGBUF_H
+
+/*
+ * The msqid64_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 msqid64_ds {
+ struct ipc64_perm msg_perm;
+ __kernel_time_t msg_stime; /* last msgsnd time */
+ unsigned long __unused1;
+ __kernel_time_t msg_rtime; /* last msgrcv time */
+ unsigned long __unused2;
+ __kernel_time_t msg_ctime; /* last change time */
+ unsigned long __unused3;
+ 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 __unused4;
+ unsigned long __unused5;
+};
+
+#endif /* _PPC_MSGBUF_H */
diff -ruP /home/linux/include/asm-ppc/posix_types.h linux/include/asm-ppc/posix_types.h
--- /home/linux/include/asm-ppc/posix_types.h Sat Nov 27 23:42:33 1999
+++ linux/include/asm-ppc/posix_types.h Wed Jan 12 11:43:25 2000
@@ -24,6 +24,16 @@
typedef int __kernel_daddr_t;
typedef char * __kernel_caddr_t;
typedef short __kernel_ipc_pid_t;
+typedef unsigned short __kernel_uid16_t;
+typedef unsigned short __kernel_gid16_t;
+typedef unsigned int __kernel_uid32_t;
+typedef unsigned int __kernel_gid32_t;
+
+#ifdef __KERNEL__
+#define UID16_COMPAT_NEEDED
+typedef unsigned short __kernel_old_uid_t;
+typedef unsigned short __kernel_old_gid_t;
+#endif /* __KERNEL__ */
#ifdef __GNUC__
typedef long long __kernel_loff_t;
diff -ruP /home/linux/include/asm-ppc/sembuf.h linux/include/asm-ppc/sembuf.h
--- /home/linux/include/asm-ppc/sembuf.h Thu Jan 1 01:00:00 1970
+++ linux/include/asm-ppc/sembuf.h Wed Jan 12 11:38:29 2000
@@ -0,0 +1,25 @@
+#ifndef _PPC_SEMBUF_H
+#define _PPC_SEMBUF_H
+
+/*
+ * 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:
+ * - 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 */
+ __kernel_time_t sem_otime; /* last semop time */
+ unsigned long __unused1;
+ __kernel_time_t sem_ctime; /* last change time */
+ unsigned long __unused2;
+ unsigned long sem_nsems; /* no. of semaphores in array */
+ unsigned long __unused3;
+ unsigned long __unused4;
+};
+
+#endif /* _PPC_SEMBUF_H */
diff -ruP /home/linux/include/asm-ppc/shmbuf.h linux/include/asm-ppc/shmbuf.h
--- /home/linux/include/asm-ppc/shmbuf.h Thu Jan 1 01:00:00 1970
+++ linux/include/asm-ppc/shmbuf.h Wed Jan 12 11:55:47 2000
@@ -0,0 +1,42 @@
+#ifndef _PPC_SHMBUF_H
+#define _PPC_SHMBUF_H
+
+/*
+ * 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 */
+ size_t shm_segsz; /* size of segment (bytes) */
+ __kernel_time_t shm_atime; /* last attach time */
+ unsigned long __unused1;
+ __kernel_time_t shm_dtime; /* last detach time */
+ unsigned long __unused2;
+ __kernel_time_t shm_ctime; /* last change time */
+ unsigned long __unused3;
+ __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 __unused4;
+ unsigned long __unused5;
+};
+
+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 */
diff -ruP /home/linux/include/asm-ppc/siginfo.h linux/include/asm-ppc/siginfo.h
--- /home/linux/include/asm-ppc/siginfo.h Sat Nov 27 23:42:33 1999
+++ linux/include/asm-ppc/siginfo.h Wed Jan 12 11:50:29 2000
@@ -24,7 +24,8 @@
/* kill() */
struct {
pid_t _pid; /* sender's pid */
- uid_t _uid; /* sender's uid */
+ old_uid_t _uid; /* backwards compatibility */
+ uid_t _uid32; /* sender's uid */
} _kill;
/* POSIX.1b timers */
@@ -36,17 +37,19 @@
/* POSIX.1b signals */
struct {
pid_t _pid; /* sender's pid */
- uid_t _uid; /* sender's uid */
+ old_uid_t _uid; /* backwards compatibility */
sigval_t _sigval;
+ uid_t _uid32; /* sender's uid */
} _rt;
/* SIGCHLD */
struct {
pid_t _pid; /* which child */
- uid_t _uid; /* sender's uid */
+ old_uid_t _uid; /* backwards compatibility */
int _status; /* exit code */
clock_t _utime;
clock_t _stime;
+ uid_t _uid32; /* sender's uid */
} _sigchld;
/* SIGILL, SIGFPE, SIGSEGV, SIGBUS */
@@ -62,11 +65,18 @@
} _sifields;
} siginfo_t;
+#define UID16_SIGINFO_COMPAT_NEEDED
+
/*
* How these fields are to be accessed.
*/
#define si_pid _sifields._kill._pid
+#ifdef __KERNEL__
+#define si_uid _sifields._kill._uid32
+#define si_uid16 _sifields._kill._uid
+#else
#define si_uid _sifields._kill._uid
+#endif /* __KERNEL__ */
#define si_status _sifields._sigchld._status
#define si_utime _sifields._sigchld._utime
#define si_stime _sifields._sigchld._stime
@@ -122,7 +132,7 @@
* SIGSEGV si_codes
*/
#define SEGV_MAPERR 1 /* address not mapped to object */
-#define SRGV_ACCERR 2 /* invalid permissions for mapped object */
+#define SEGV_ACCERR 2 /* invalid permissions for mapped object */
#define NSIGSEGV 2
/*
--- cut ---
** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
More information about the Linuxppc-dev
mailing list