| To: | Heiko Carstens <heiko.carstens@de.ibm.com> |
|---|---|
| Subject: | Re: [-next Nov 17] s390 build break(arch/s390/kernel/compat_wrapper.S) |
| From: | Ralf Baechle <ralf@linux-mips.org> |
| Date: | Wed, 18 Nov 2009 15:49:36 +0100 |
| Cc: | Eric Paris <eparis@redhat.com>, Sachin Sant <sachinp@in.ibm.com>, linux-s390@vger.kernel.org, Stephen Rothwell <sfr@canb.auug.org.au>, linux-next@vger.kernel.org, linux-mips@linux-mips.org, Andrew Morton <akpm@linux-foundation.org>, Martin Schwidefsky <schwidefsky@de.ibm.com>, linux-arch@vger.kernel.org |
| In-reply-to: | <20091118070418.GA4392@osiris.boeblingen.de.ibm.com> |
| Original-recipient: | rfc822;linux-mips@linux-mips.org |
| References: | <20091117195309.6cc3ead0.sfr@canb.auug.org.au> <4B0291BB.3090005@in.ibm.com> <20091117125201.GB5124@osiris.boeblingen.de.ibm.com> <1258465241.2876.29.camel@dhcp231-106.rdu.redhat.com> <20091117135525.GF5124@osiris.boeblingen.de.ibm.com> <1258471436.2876.34.camel@dhcp231-106.rdu.redhat.com> <20091118070418.GA4392@osiris.boeblingen.de.ibm.com> |
| Sender: | linux-mips-bounce@linux-mips.org |
| User-agent: | Mutt/1.5.19 (2009-01-05) |
On Wed, Nov 18, 2009 at 08:04:18AM +0100, Heiko Carstens wrote:
> Please note that other architectures (I think at least arm and powerpc) put
> 64 bit values into even/odd register pairs and add padding if the first free
> available register is an odd one. So any of the following interfaces should
> work for all architectures:
>
> long sys_fanotify_mark(int fanotify_fd, unsigned int flags,
> int fd, const char __user *pathname,
> u32 mask_high, u32 mask_low);
>
> long sys_fanotify_mark(int fanotify_fd, unsigned int flags,
> u64 mask,
> int fd, const char __user *pathname);
>
> long sys_fanotify_mark(u64 mask,
> int fanotify_fd, unsigned int flags,
> int fd, const char __user *pathname);
Correct - but the splitting is unnecessary pain for some platforms like
64-bit userland on 64-bit MIPS where the 64-bit argument would be passed
in a single register so I have preference for the 2nd or 3rd suggestion.
The 1st prototype has the advantage of avoiding the need for a compat
wrapper which otherwise would look like:
long compat_sys_fanotify_mark(int fanotify_fd, unsigned int flags,
u32 a2, u32 a3,
int fd, const char __user *pathname);
{
/* assuming 2nd suggested prototype from above */
return sys_fanotify_mark(fd, flags,
merge64(a2, a3),
fd, pathname);
}
I'd prefer to see the compat code carrying the burden.
Ralf
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | Re: [PATCH] MIPS: Fixups of ALSA memory maps, Ralf Baechle |
|---|---|
| Next by Date: | Re: problem bring up initramfs and busybox, myuboot |
| Previous by Thread: | how i can know the linux-mips implememt cache strategy?, figo zhang |
| Next by Thread: | Disable EARLY_PRINTK on IP22 to make the system boot, Martin Michlmayr |
| Indexes: | [Date] [Thread] [Top] [All Lists] |