Re: [Qemu-devel] [PATCH] linux-user semaphore structure mapping
On Fri, 1 Jun 2007, Thiemo Seufer wrote: Stuart Anderson wrote: This is a refresh (vs 5/28 cvs) of a patch sent several weeks ago. This patch implments the structure handling for the semaphore IPC related structures used by semctl(). It produces too many compiler warnings to be comfortable with, and breaks compilation of alpha-linux-user. Thiemo, I've attached both the semaphore and message queue patches to this message since there is a dependency between them (message queue patch must be applied on top of the semaphore patch). This is updated to 6/01 cvs, and includes the additional part to fix alpha the same as is done for the other archs. It also cleans up the warnings in the new code areas. Stuart Stuart R. Anderson [EMAIL PROTECTED] Network Software Engineering http://www.netsweng.com/ 1024D/37A79149: 0791 D3B8 9A4C 2CDC A31F BD03 0A62 E534 37A7 9149Index: qemu/linux-user/i386/syscall.h === --- qemu.orig/linux-user/i386/syscall.h 2007-06-01 16:52:07.0 -0400 +++ qemu/linux-user/i386/syscall.h 2007-06-01 17:08:29.0 -0400 @@ -142,80 +142,4 @@ struct target_vm86plus_info_struct vm86plus; }; -/* ipcs */ - -#define TARGET_SEMOP 1 -#define TARGET_SEMGET 2 -#define TARGET_SEMCTL 3 -#define TARGET_MSGSND 11 -#define TARGET_MSGRCV 12 -#define TARGET_MSGGET 13 -#define TARGET_MSGCTL 14 -#define TARGET_SHMAT 21 -#define TARGET_SHMDT 22 -#define TARGET_SHMGET 23 -#define TARGET_SHMCTL 24 - -struct target_msgbuf { - int mtype; - char mtext[1]; -}; - -struct target_ipc_kludge { - unsigned int msgp; /* Really (struct msgbuf *) */ - int msgtyp; -}; - -struct target_ipc_perm { - int key; - unsigned short uid; - unsigned short gid; - unsigned short cuid; - unsigned short cgid; - unsigned short mode; - unsigned short seq; -}; - -struct target_msqid_ds { - struct target_ipc_perm msg_perm; - unsigned int msg_first; /* really struct target_msg* */ - unsigned int msg_last; /* really struct target_msg* */ - unsigned int msg_stime; /* really target_time_t */ - unsigned int msg_rtime; /* really target_time_t */ - unsigned int msg_ctime; /* really target_time_t */ - unsigned int wwait; /* really struct wait_queue* */ - unsigned int rwait; /* really struct wait_queue* */ - unsigned short msg_cbytes; - unsigned short msg_qnum; - unsigned short msg_qbytes; - unsigned short msg_lspid; - unsigned short msg_lrpid; -}; - -struct target_shmid_ds { - struct target_ipc_perm shm_perm; - int shm_segsz; - unsigned int shm_atime; /* really target_time_t */ - unsigned int shm_dtime; /* really target_time_t */ - unsigned int shm_ctime; /* really target_time_t */ - unsigned short shm_cpid; - unsigned short shm_lpid; - short shm_nattch; - unsigned short shm_npages; - unsigned long *shm_pages; - void *attaches; /* really struct shm_desc * */ -}; - -#define TARGET_IPC_RMID 0 -#define TARGET_IPC_SET 1 -#define TARGET_IPC_STAT 2 - -union target_semun { -int val; -unsigned int buf; /* really struct semid_ds * */ -unsigned int array; /* really unsigned short * */ -unsigned int __buf; /* really struct seminfo * */ -unsigned int __pad; /* really void* */ -}; - #define UNAME_MACHINE i686 Index: qemu/linux-user/ppc/syscall.h === --- qemu.orig/linux-user/ppc/syscall.h 2007-06-01 16:52:07.0 -0400 +++ qemu/linux-user/ppc/syscall.h 2007-06-01 17:08:29.0 -0400 @@ -51,80 +51,4 @@ * flags masks */ -/* ipcs */ - -#define TARGET_SEMOP 1 -#define TARGET_SEMGET 2 -#define TARGET_SEMCTL 3 -#define TARGET_MSGSND 11 -#define TARGET_MSGRCV 12 -#define TARGET_MSGGET 13 -#define TARGET_MSGCTL 14 -#define TARGET_SHMAT 21 -#define TARGET_SHMDT 22 -#define TARGET_SHMGET 23 -#define TARGET_SHMCTL 24 - -struct target_msgbuf { - int mtype; - char mtext[1]; -}; - -struct target_ipc_kludge { - unsigned int msgp; /* Really (struct msgbuf *) */ - int msgtyp; -}; - -struct target_ipc_perm { - int key; - unsigned short uid; - unsigned short gid; - unsigned short cuid; - unsigned short cgid; - unsigned short mode; - unsigned short seq; -}; - -struct target_msqid_ds { - struct target_ipc_perm msg_perm; - unsigned int msg_first; /* really struct target_msg* */ - unsigned int msg_last; /* really struct target_msg* */ - unsigned int msg_stime; /* really target_time_t */ - unsigned int msg_rtime; /* really target_time_t */ - unsigned int msg_ctime; /* really target_time_t */ - unsigned int wwait; /* really struct wait_queue* */ - unsigned int rwait; /* really struct
Re: [Qemu-devel] [PATCH] linux-user semaphore structure mapping
Stuart Anderson wrote: This is a refresh (vs 5/28 cvs) of a patch sent several weeks ago. This patch implments the structure handling for the semaphore IPC related structures used by semctl(). This was tested using LTP on an ARM target. Were there any objections to this patch? It produces too many compiler warnings to be comfortable with, and breaks compilation of alpha-linux-user. Thiemo
Re: [Qemu-devel] [PATCH] linux-user semaphore structure mapping
On Fri, 1 Jun 2007, Thiemo Seufer wrote: Stuart Anderson wrote: This is a refresh (vs 5/28 cvs) of a patch sent several weeks ago. This patch implments the structure handling for the semaphore IPC related structures used by semctl(). This was tested using LTP on an ARM target. Were there any objections to this patch? It produces too many compiler warnings to be comfortable with, and breaks compilation of alpha-linux-user. I think alpha was actually added after I first created this patch, and I haven't been building it as it's not one of the archs I normally use. Note to self to do a build w/ everything turned on more often. The fix for it is to remove the same stuff as is done for a couple of the other archs. I'll clean it up, and take another look at the warning for this and the message queue patch, and resubmit. Stuart Stuart R. Anderson [EMAIL PROTECTED] Network Software Engineering http://www.netsweng.com/ 1024D/37A79149: 0791 D3B8 9A4C 2CDC A31F BD03 0A62 E534 37A7 9149
[Qemu-devel] [PATCH] linux-user semaphore structure mapping
This is a refresh (vs 5/28 cvs) of a patch sent several weeks ago. This patch implments the structure handling for the semaphore IPC related structures used by semctl(). This was tested using LTP on an ARM target. Were there any objections to this patch? Stuart Stuart R. Anderson [EMAIL PROTECTED] Network Software Engineering http://www.netsweng.com/ 1024D/37A79149: 0791 D3B8 9A4C 2CDC A31F BD03 0A62 E534 37A7 9149Index: qemu/linux-user/i386/syscall.h === --- qemu.orig/linux-user/i386/syscall.h 2007-03-23 09:05:19.0 -0400 +++ qemu/linux-user/i386/syscall.h 2007-03-23 09:05:32.0 -0400 @@ -142,80 +142,4 @@ struct target_vm86plus_info_struct vm86plus; }; -/* ipcs */ - -#define TARGET_SEMOP 1 -#define TARGET_SEMGET 2 -#define TARGET_SEMCTL 3 -#define TARGET_MSGSND 11 -#define TARGET_MSGRCV 12 -#define TARGET_MSGGET 13 -#define TARGET_MSGCTL 14 -#define TARGET_SHMAT 21 -#define TARGET_SHMDT 22 -#define TARGET_SHMGET 23 -#define TARGET_SHMCTL 24 - -struct target_msgbuf { - int mtype; - char mtext[1]; -}; - -struct target_ipc_kludge { - unsigned int msgp; /* Really (struct msgbuf *) */ - int msgtyp; -}; - -struct target_ipc_perm { - int key; - unsigned short uid; - unsigned short gid; - unsigned short cuid; - unsigned short cgid; - unsigned short mode; - unsigned short seq; -}; - -struct target_msqid_ds { - struct target_ipc_perm msg_perm; - unsigned int msg_first; /* really struct target_msg* */ - unsigned int msg_last; /* really struct target_msg* */ - unsigned int msg_stime; /* really target_time_t */ - unsigned int msg_rtime; /* really target_time_t */ - unsigned int msg_ctime; /* really target_time_t */ - unsigned int wwait; /* really struct wait_queue* */ - unsigned int rwait; /* really struct wait_queue* */ - unsigned short msg_cbytes; - unsigned short msg_qnum; - unsigned short msg_qbytes; - unsigned short msg_lspid; - unsigned short msg_lrpid; -}; - -struct target_shmid_ds { - struct target_ipc_perm shm_perm; - int shm_segsz; - unsigned int shm_atime; /* really target_time_t */ - unsigned int shm_dtime; /* really target_time_t */ - unsigned int shm_ctime; /* really target_time_t */ - unsigned short shm_cpid; - unsigned short shm_lpid; - short shm_nattch; - unsigned short shm_npages; - unsigned long *shm_pages; - void *attaches; /* really struct shm_desc * */ -}; - -#define TARGET_IPC_RMID 0 -#define TARGET_IPC_SET 1 -#define TARGET_IPC_STAT 2 - -union target_semun { -int val; -unsigned int buf; /* really struct semid_ds * */ -unsigned int array; /* really unsigned short * */ -unsigned int __buf; /* really struct seminfo * */ -unsigned int __pad; /* really void* */ -}; - #define UNAME_MACHINE i686 Index: qemu/linux-user/ppc/syscall.h === --- qemu.orig/linux-user/ppc/syscall.h 2007-03-23 09:05:19.0 -0400 +++ qemu/linux-user/ppc/syscall.h 2007-03-23 09:05:32.0 -0400 @@ -51,80 +51,4 @@ * flags masks */ -/* ipcs */ - -#define TARGET_SEMOP 1 -#define TARGET_SEMGET 2 -#define TARGET_SEMCTL 3 -#define TARGET_MSGSND 11 -#define TARGET_MSGRCV 12 -#define TARGET_MSGGET 13 -#define TARGET_MSGCTL 14 -#define TARGET_SHMAT 21 -#define TARGET_SHMDT 22 -#define TARGET_SHMGET 23 -#define TARGET_SHMCTL 24 - -struct target_msgbuf { - int mtype; - char mtext[1]; -}; - -struct target_ipc_kludge { - unsigned int msgp; /* Really (struct msgbuf *) */ - int msgtyp; -}; - -struct target_ipc_perm { - int key; - unsigned short uid; - unsigned short gid; - unsigned short cuid; - unsigned short cgid; - unsigned short mode; - unsigned short seq; -}; - -struct target_msqid_ds { - struct target_ipc_perm msg_perm; - unsigned int msg_first; /* really struct target_msg* */ - unsigned int msg_last; /* really struct target_msg* */ - unsigned int msg_stime; /* really target_time_t */ - unsigned int msg_rtime; /* really target_time_t */ - unsigned int msg_ctime; /* really target_time_t */ - unsigned int wwait; /* really struct wait_queue* */ - unsigned int rwait; /* really struct wait_queue* */ - unsigned short msg_cbytes; - unsigned short msg_qnum; - unsigned short msg_qbytes; - unsigned short msg_lspid; - unsigned short msg_lrpid; -}; - -struct target_shmid_ds { - struct target_ipc_perm shm_perm; - int shm_segsz; - unsigned int shm_atime; /* really target_time_t */ - unsigned int shm_dtime; /* really target_time_t */ - unsigned int shm_ctime; /* really target_time_t */ - unsigned short shm_cpid; - unsigned short shm_lpid; - short