1133819Stjr/*- 2230132Suqs * Copyright (c) 1994-1995 S��ren Schmidt 3133819Stjr * All rights reserved. 4133819Stjr * 5133819Stjr * Redistribution and use in source and binary forms, with or without 6133819Stjr * modification, are permitted provided that the following conditions 7133819Stjr * are met: 8133819Stjr * 1. Redistributions of source code must retain the above copyright 9133819Stjr * notice, this list of conditions and the following disclaimer 10133819Stjr * in this position and unchanged. 11133819Stjr * 2. Redistributions in binary form must reproduce the above copyright 12133819Stjr * notice, this list of conditions and the following disclaimer in the 13133819Stjr * documentation and/or other materials provided with the distribution. 14133819Stjr * 3. The name of the author may not be used to endorse or promote products 15133819Stjr * derived from this software without specific prior written permission 16133819Stjr * 17133819Stjr * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 18133819Stjr * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 19133819Stjr * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 20133819Stjr * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 21133819Stjr * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 22133819Stjr * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 23133819Stjr * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 24133819Stjr * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25133819Stjr * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 26133819Stjr * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27133819Stjr */ 28133819Stjr 29133819Stjr#include <sys/cdefs.h> 30133819Stjr__FBSDID("$FreeBSD$"); 31133819Stjr 32235063Snetchild#include "opt_compat.h" 33235063Snetchild#include "opt_kdtrace.h" 34235063Snetchild 35133819Stjr#include <sys/param.h> 36235063Snetchild#include <sys/kernel.h> 37235063Snetchild#include <sys/sdt.h> 38133819Stjr#include <sys/systm.h> 39133819Stjr#include <sys/proc.h> 40133819Stjr 41133819Stjr#include <amd64/linux32/linux.h> 42133819Stjr#include <amd64/linux32/linux32_proto.h> 43235063Snetchild#include <compat/linux/linux_dtrace.h> 44133819Stjr#include <compat/linux/linux_util.h> 45133819Stjr 46235063Snetchild/* DTrace init */ 47235063SnetchildLIN_SDT_PROVIDER_DECLARE(LINUX_DTRACE); 48235063Snetchild 49133819StjrDUMMY(stime); 50133819StjrDUMMY(olduname); 51133819StjrDUMMY(syslog); 52133819StjrDUMMY(uname); 53133819StjrDUMMY(vhangup); 54133819StjrDUMMY(swapoff); 55133819StjrDUMMY(adjtimex); 56133819StjrDUMMY(create_module); 57133819StjrDUMMY(init_module); 58133819StjrDUMMY(delete_module); 59133819StjrDUMMY(get_kernel_syms); 60133819StjrDUMMY(quotactl); 61133819StjrDUMMY(bdflush); 62133819StjrDUMMY(sysfs); 63133819StjrDUMMY(query_module); 64133819StjrDUMMY(nfsservctl); 65133819StjrDUMMY(sendfile); 66133819StjrDUMMY(setfsuid); 67133819StjrDUMMY(setfsgid); 68133819StjrDUMMY(pivot_root); 69133819StjrDUMMY(mincore); 70133819StjrDUMMY(ptrace); 71159824SnetchildDUMMY(lookup_dcookie); 72159824SnetchildDUMMY(remap_file_pages); 73159824SnetchildDUMMY(mbind); 74159824SnetchildDUMMY(get_mempolicy); 75159824SnetchildDUMMY(set_mempolicy); 76159824SnetchildDUMMY(mq_open); 77159824SnetchildDUMMY(mq_unlink); 78159824SnetchildDUMMY(mq_timedsend); 79159824SnetchildDUMMY(mq_timedreceive); 80159824SnetchildDUMMY(mq_notify); 81159824SnetchildDUMMY(mq_getsetattr); 82159824SnetchildDUMMY(kexec_load); 83232799Snetchild/* linux 2.6.11: */ 84159824SnetchildDUMMY(add_key); 85159824SnetchildDUMMY(request_key); 86159824SnetchildDUMMY(keyctl); 87232799Snetchild/* linux 2.6.13: */ 88159824SnetchildDUMMY(ioprio_set); 89159824SnetchildDUMMY(ioprio_get); 90159824SnetchildDUMMY(inotify_init); 91159824SnetchildDUMMY(inotify_add_watch); 92159824SnetchildDUMMY(inotify_rm_watch); 93232799Snetchild/* linux 2.6.16: */ 94159824SnetchildDUMMY(migrate_pages); 95159824SnetchildDUMMY(unshare); 96232799Snetchild/* linux 2.6.17: */ 97178257SjkimDUMMY(splice); 98178257SjkimDUMMY(sync_file_range); 99178257SjkimDUMMY(tee); 100178257SjkimDUMMY(vmsplice); 101232799Snetchild/* linux 2.6.18: */ 102232799SnetchildDUMMY(move_pages); 103232799Snetchild/* linux 2.6.19: */ 104232799SnetchildDUMMY(getcpu); 105232799Snetchild/* linux 2.6.22: */ 106232799SnetchildDUMMY(signalfd); 107232799SnetchildDUMMY(timerfd_create); 108232799Snetchild/* linux 2.6.25: */ 109232799SnetchildDUMMY(timerfd_settime); 110232799SnetchildDUMMY(timerfd_gettime); 111232799Snetchild/* linux 2.6.27: */ 112232799SnetchildDUMMY(signalfd4); 113232799SnetchildDUMMY(inotify_init1); 114232799Snetchild/* linux 2.6.30: */ 115232799SnetchildDUMMY(preadv); 116232799SnetchildDUMMY(pwritev); 117232799Snetchild/* linux 2.6.31: */ 118232799SnetchildDUMMY(rt_tsigqueueinfo); 119232799SnetchildDUMMY(perf_event_open); 120232799Snetchild/* linux 2.6.33: */ 121232799SnetchildDUMMY(fanotify_init); 122232799SnetchildDUMMY(fanotify_mark); 123232799Snetchild/* later: */ 124232799SnetchildDUMMY(name_to_handle_at); 125232799SnetchildDUMMY(open_by_handle_at); 126232799SnetchildDUMMY(clock_adjtime); 127232799SnetchildDUMMY(setns); 128232799SnetchildDUMMY(process_vm_readv); 129232799SnetchildDUMMY(process_vm_writev); 130133819Stjr 131133819Stjr#define DUMMY_XATTR(s) \ 132133819Stjrint \ 133133819Stjrlinux_ ## s ## xattr( \ 134133819Stjr struct thread *td, struct linux_ ## s ## xattr_args *arg) \ 135133819Stjr{ \ 136133819Stjr \ 137133819Stjr return (ENOATTR); \ 138133819Stjr} 139133819StjrDUMMY_XATTR(set); 140133819StjrDUMMY_XATTR(lset); 141133819StjrDUMMY_XATTR(fset); 142133819StjrDUMMY_XATTR(get); 143133819StjrDUMMY_XATTR(lget); 144133819StjrDUMMY_XATTR(fget); 145133819StjrDUMMY_XATTR(list); 146133819StjrDUMMY_XATTR(llist); 147133819StjrDUMMY_XATTR(flist); 148133819StjrDUMMY_XATTR(remove); 149133819StjrDUMMY_XATTR(lremove); 150133819StjrDUMMY_XATTR(fremove); 151