[PATCH 33/60] microblaze_v4: includes SHM*, msgbuf

2008-06-26 Thread monstr
From: Michal Simek [EMAIL PROTECTED]


Signed-off-by: Michal Simek [EMAIL PROTECTED]
---
 include/asm-microblaze/msgbuf.h   |   39 
 include/asm-microblaze/shmbuf.h   |   50 +
 include/asm-microblaze/shmparam.h |   14 ++
 3 files changed, 103 insertions(+), 0 deletions(-)
 create mode 100644 include/asm-microblaze/msgbuf.h
 create mode 100644 include/asm-microblaze/shmbuf.h
 create mode 100644 include/asm-microblaze/shmparam.h

diff --git a/include/asm-microblaze/msgbuf.h b/include/asm-microblaze/msgbuf.h
new file mode 100644
index 000..8172bc9
--- /dev/null
+++ b/include/asm-microblaze/msgbuf.h
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2006 Atmark Techno, Inc.
+ *
+ * This file is subject to the terms and conditions of the GNU General Public
+ * License. See the file COPYING in the main directory of this archive
+ * for more details.
+ */
+
+#ifndef _ASM_MICROBLAZE_MSGBUF_H
+#define _ASM_MICROBLAZE_MSGBUF_H
+
+/*
+ * The msqid64_ds structure for microblaze 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 /* _ASM_MICROBLAZE_MSGBUF_H */
diff --git a/include/asm-microblaze/shmbuf.h b/include/asm-microblaze/shmbuf.h
new file mode 100644
index 000..a460e36
--- /dev/null
+++ b/include/asm-microblaze/shmbuf.h
@@ -0,0 +1,50 @@
+/*
+ * Copyright (C) 2006 Atmark Techno, Inc.
+ *
+ * This file is subject to the terms and conditions of the GNU General Public
+ * License. See the file COPYING in the main directory of this archive
+ * for more details.
+ */
+
+#ifndef _ASM_MICROBLAZE_SHMBUF_H
+#define _ASM_MICROBLAZE_SHMBUF_H
+
+/*
+ * The shmid64_ds structure for microblaze 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 /* _ASM_MICROBLAZE_SHMBUF_H */
diff --git a/include/asm-microblaze/shmparam.h 
b/include/asm-microblaze/shmparam.h
new file mode 100644
index 000..719bbed
--- /dev/null
+++ b/include/asm-microblaze/shmparam.h
@@ -0,0 +1,14 @@
+/*
+ * Copyright (C) 2006 Atmark Techno, Inc.
+ *
+ * This file is subject to the terms and conditions of the GNU General Public
+ * License. See the file COPYING in the main directory of this archive
+ * for more details.
+ */
+
+#ifndef _ASM_MICROBLAZE_SHMPARAM_H
+#define _ASM_MICROBLAZE_SHMPARAM_H
+
+#define SHMLBA PAGE_SIZE /* attach addr a multiple of this */
+
+#endif /* _ASM_MICROBLAZE_SHMPARAM_H */
-- 
1.5.4.GIT

___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: [PATCH 33/60] microblaze_v4: includes SHM*, msgbuf

2008-06-26 Thread Arnd Bergmann
On Thursday 26 June 2008, [EMAIL PROTECTED] wrote:
  include/asm-microblaze/msgbuf.h   |   39 
  include/asm-microblaze/shmbuf.h   |   50 
 +
  include/asm-microblaze/shmparam.h |   14 ++
  3 files changed, 103 insertions(+), 0 deletions(-)
  create mode 100644 include/asm-microblaze/msgbuf.h
  create mode 100644 include/asm-microblaze/shmbuf.h
  create mode 100644 include/asm-microblaze/shmparam.h
 

These files are ok, but IMHO they should be in asm-generic, since there
are already many identical copies.

While the implementation of these three, as well as ipcbuf.h and sembuf.h
could be better optimized for endianess and word size differences, I have
come to the conclusion that there is no point for them to really be
different, and uClibc expects this exact layout by default anyway.

Arnd 
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev