ia64/linux-2.6.18-xen.hg

view arch/sparc64/kernel/systbls.S @ 897:329ea0ccb344

balloon: try harder to balloon up under memory pressure.

Currently if the balloon driver is unable to increase the guest's
reservation it assumes the failure was due to reaching its full
allocation, gives up on the ballooning operation and records the limit
it reached as the "hard limit". The driver will not try again until
the target is set again (even to the same value).

However it is possible that ballooning has in fact failed due to
memory pressure in the host and therefore it is desirable to keep
attempting to reach the target in case memory becomes available. The
most likely scenario is that some guests are ballooning down while
others are ballooning up and therefore there is temporary memory
pressure while things stabilise. You would not expect a well behaved
toolstack to ask a domain to balloon to more than its allocation nor
would you expect it to deliberately over-commit memory by setting
balloon targets which exceed the total host memory.

This patch drops the concept of a hard limit and causes the balloon
driver to retry increasing the reservation on a timer in the same
manner as when decreasing the reservation.

Also if we partially succeed in increasing the reservation
(i.e. receive less pages than we asked for) then we may as well keep
those pages rather than returning them to Xen.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
author Keir Fraser <keir.fraser@citrix.com>
date Fri Jun 05 14:01:20 2009 +0100 (2009-06-05)
parents 831230e53067
children
line source
1 /* $Id: systbls.S,v 1.81 2002/02/08 03:57:14 davem Exp $
2 * systbls.S: System call entry point tables for OS compatibility.
3 * The native Linux system call table lives here also.
4 *
5 * Copyright (C) 1995, 1996 David S. Miller (davem@caip.rutgers.edu)
6 * Copyright (C) 1997 Jakub Jelinek (jj@sunsite.mff.cuni.cz)
7 *
8 * Based upon preliminary work which is:
9 *
10 * Copyright (C) 1995 Adrian M. Rodriguez (adrian@remus.rutgers.edu)
11 */
14 .text
15 .align 4
17 #ifdef CONFIG_COMPAT
18 /* First, the 32-bit Linux native syscall table. */
20 .globl sys_call_table32
21 sys_call_table32:
22 /*0*/ .word sys_restart_syscall, sys32_exit, sys_fork, sys_read, sys_write
23 /*5*/ .word sys32_open, sys_close, sys32_wait4, sys32_creat, sys_link
24 /*10*/ .word sys_unlink, sunos_execv, sys_chdir, sys32_chown16, sys32_mknod
25 /*15*/ .word sys_chmod, sys32_lchown16, sparc_brk, sys32_perfctr, sys32_lseek
26 /*20*/ .word sys_getpid, sys_capget, sys_capset, sys32_setuid16, sys32_getuid16
27 /*25*/ .word sys32_vmsplice, sys_ptrace, sys_alarm, sys32_sigaltstack, sys32_pause
28 /*30*/ .word compat_sys_utime, sys_lchown, sys_fchown, sys32_access, sys32_nice
29 .word sys_chown, sys_sync, sys32_kill, compat_sys_newstat, sys32_sendfile
30 /*40*/ .word compat_sys_newlstat, sys_dup, sys_pipe, compat_sys_times, sys_getuid
31 .word sys32_umount, sys32_setgid16, sys32_getgid16, sys32_signal, sys32_geteuid16
32 /*50*/ .word sys32_getegid16, sys_acct, sys_nis_syscall, sys_getgid, compat_sys_ioctl
33 .word sys32_reboot, sys32_mmap2, sys_symlink, sys32_readlink, sys32_execve
34 /*60*/ .word sys32_umask, sys_chroot, compat_sys_newfstat, compat_sys_fstat64, sys_getpagesize
35 .word sys32_msync, sys_vfork, sys32_pread64, sys32_pwrite64, sys_geteuid
36 /*70*/ .word sys_getegid, sys_mmap, sys_setreuid, sys_munmap, sys_mprotect
37 .word sys_madvise, sys_vhangup, sys32_truncate64, sys_mincore, sys32_getgroups16
38 /*80*/ .word sys32_setgroups16, sys_getpgrp, sys32_setgroups, sys32_setitimer, sys32_ftruncate64
39 .word sys32_swapon, sys32_getitimer, sys_setuid, sys32_sethostname, sys_setgid
40 /*90*/ .word sys_dup2, sys_setfsuid, compat_sys_fcntl, sys32_select, sys_setfsgid
41 .word sys_fsync, sys32_setpriority, sys_nis_syscall, sys_nis_syscall, sys_nis_syscall
42 /*100*/ .word sys32_getpriority, sys32_rt_sigreturn, sys32_rt_sigaction, sys32_rt_sigprocmask, sys32_rt_sigpending
43 .word compat_sys_rt_sigtimedwait, sys32_rt_sigqueueinfo, compat_sys_rt_sigsuspend, sys_setresuid, sys_getresuid
44 /*110*/ .word sys_setresgid, sys_getresgid, sys_setregid, sys_nis_syscall, sys_nis_syscall
45 .word sys32_getgroups, sys32_gettimeofday, sys32_getrusage, sys_nis_syscall, sys_getcwd
46 /*120*/ .word compat_sys_readv, compat_sys_writev, sys32_settimeofday, sys32_fchown16, sys_fchmod
47 .word sys_nis_syscall, sys32_setreuid16, sys32_setregid16, sys_rename, sys_truncate
48 /*130*/ .word sys_ftruncate, sys_flock, compat_sys_lstat64, sys_nis_syscall, sys_nis_syscall
49 .word sys_nis_syscall, sys32_mkdir, sys_rmdir, sys32_utimes, compat_sys_stat64
50 /*140*/ .word sys32_sendfile64, sys_nis_syscall, sys32_futex, sys_gettid, compat_sys_getrlimit
51 .word compat_sys_setrlimit, sys_pivot_root, sys32_prctl, sys_pciconfig_read, sys_pciconfig_write
52 /*150*/ .word sys_nis_syscall, sys_inotify_init, sys_inotify_add_watch, sys_poll, sys_getdents64
53 .word compat_sys_fcntl64, sys_inotify_rm_watch, compat_sys_statfs, compat_sys_fstatfs, sys_oldumount
54 /*160*/ .word compat_sys_sched_setaffinity, compat_sys_sched_getaffinity, sys32_getdomainname, sys32_setdomainname, sys_nis_syscall
55 .word sys_quotactl, sys_set_tid_address, compat_sys_mount, sys_ustat, sys32_setxattr
56 /*170*/ .word sys32_lsetxattr, sys32_fsetxattr, sys_getxattr, sys_lgetxattr, compat_sys_getdents
57 .word sys_setsid, sys_fchdir, sys32_fgetxattr, sys_listxattr, sys_llistxattr
58 /*180*/ .word sys32_flistxattr, sys_removexattr, sys_lremovexattr, compat_sys_sigpending, sys_ni_syscall
59 .word sys32_setpgid, sys32_fremovexattr, sys32_tkill, sys32_exit_group, sparc64_newuname
60 /*190*/ .word sys32_init_module, sparc64_personality, sys_remap_file_pages, sys32_epoll_create, sys32_epoll_ctl
61 .word sys32_epoll_wait, sys32_ioprio_set, sys_getppid, sys32_sigaction, sys_sgetmask
62 /*200*/ .word sys32_ssetmask, sys_sigsuspend, compat_sys_newlstat, sys_uselib, compat_sys_old_readdir
63 .word sys32_readahead, sys32_socketcall, sys32_syslog, sys32_lookup_dcookie, sys32_fadvise64
64 /*210*/ .word sys32_fadvise64_64, sys32_tgkill, sys32_waitpid, sys_swapoff, sys32_sysinfo
65 .word sys32_ipc, sys32_sigreturn, sys_clone, sys32_ioprio_get, compat_sys_adjtimex
66 /*220*/ .word sys32_sigprocmask, sys_ni_syscall, sys32_delete_module, sys_ni_syscall, sys32_getpgid
67 .word sys32_bdflush, sys32_sysfs, sys_nis_syscall, sys32_setfsuid16, sys32_setfsgid16
68 /*230*/ .word sys32_select, compat_sys_time, sys32_splice, compat_sys_stime, compat_sys_statfs64
69 .word compat_sys_fstatfs64, sys_llseek, sys_mlock, sys_munlock, sys32_mlockall
70 /*240*/ .word sys_munlockall, sys32_sched_setparam, sys32_sched_getparam, sys32_sched_setscheduler, sys32_sched_getscheduler
71 .word sys_sched_yield, sys32_sched_get_priority_max, sys32_sched_get_priority_min, sys32_sched_rr_get_interval, compat_sys_nanosleep
72 /*250*/ .word sys32_mremap, sys32_sysctl, sys32_getsid, sys_fdatasync, sys32_nfsservctl
73 .word sys32_sync_file_range, compat_sys_clock_settime, compat_sys_clock_gettime, compat_sys_clock_getres, sys32_clock_nanosleep
74 /*260*/ .word compat_sys_sched_getaffinity, compat_sys_sched_setaffinity, sys32_timer_settime, compat_sys_timer_gettime, sys_timer_getoverrun
75 .word sys_timer_delete, compat_sys_timer_create, sys_ni_syscall, compat_sys_io_setup, sys_io_destroy
76 /*270*/ .word sys32_io_submit, sys_io_cancel, compat_sys_io_getevents, sys32_mq_open, sys_mq_unlink
77 .word compat_sys_mq_timedsend, compat_sys_mq_timedreceive, compat_sys_mq_notify, compat_sys_mq_getsetattr, compat_sys_waitid
78 /*280*/ .word sys32_tee, sys_add_key, sys_request_key, sys_keyctl, compat_sys_openat
79 .word sys_mkdirat, sys_mknodat, sys_fchownat, compat_sys_futimesat, compat_sys_fstatat64
80 /*290*/ .word sys_unlinkat, sys_renameat, sys_linkat, sys_symlinkat, sys_readlinkat
81 .word sys_fchmodat, sys_faccessat, compat_sys_pselect6, compat_sys_ppoll, sys_unshare
82 /*300*/ .word compat_sys_set_robust_list, compat_sys_get_robust_list
84 #endif /* CONFIG_COMPAT */
86 /* Now the 64-bit native Linux syscall table. */
88 .align 4
89 .globl sys_call_table64, sys_call_table
90 sys_call_table64:
91 sys_call_table:
92 /*0*/ .word sys_restart_syscall, sparc_exit, sys_fork, sys_read, sys_write
93 /*5*/ .word sys_open, sys_close, sys_wait4, sys_creat, sys_link
94 /*10*/ .word sys_unlink, sys_nis_syscall, sys_chdir, sys_chown, sys_mknod
95 /*15*/ .word sys_chmod, sys_lchown, sparc_brk, sys_perfctr, sys_lseek
96 /*20*/ .word sys_getpid, sys_capget, sys_capset, sys_setuid, sys_getuid
97 /*25*/ .word sys_vmsplice, sys_ptrace, sys_alarm, sys_sigaltstack, sys_nis_syscall
98 /*30*/ .word sys_utime, sys_nis_syscall, sys_nis_syscall, sys_access, sys_nice
99 .word sys_nis_syscall, sys_sync, sys_kill, sys_newstat, sys_sendfile64
100 /*40*/ .word sys_newlstat, sys_dup, sys_pipe, sys_times, sys_nis_syscall
101 .word sys_umount, sys_setgid, sys_getgid, sys_signal, sys_geteuid
102 /*50*/ .word sys_getegid, sys_acct, sys_memory_ordering, sys_nis_syscall, sys_ioctl
103 .word sys_reboot, sys_nis_syscall, sys_symlink, sys_readlink, sys_execve
104 /*60*/ .word sys_umask, sys_chroot, sys_newfstat, sys_fstat64, sys_getpagesize
105 .word sys_msync, sys_vfork, sys_pread64, sys_pwrite64, sys_nis_syscall
106 /*70*/ .word sys_nis_syscall, sys_mmap, sys_nis_syscall, sys64_munmap, sys_mprotect
107 .word sys_madvise, sys_vhangup, sys_nis_syscall, sys_mincore, sys_getgroups
108 /*80*/ .word sys_setgroups, sys_getpgrp, sys_nis_syscall, sys_setitimer, sys_nis_syscall
109 .word sys_swapon, sys_getitimer, sys_nis_syscall, sys_sethostname, sys_nis_syscall
110 /*90*/ .word sys_dup2, sys_nis_syscall, sys_fcntl, sys_select, sys_nis_syscall
111 .word sys_fsync, sys_setpriority, sys_socket, sys_connect, sys_accept
112 /*100*/ .word sys_getpriority, sys_rt_sigreturn, sys_rt_sigaction, sys_rt_sigprocmask, sys_rt_sigpending
113 .word sys_rt_sigtimedwait, sys_rt_sigqueueinfo, sys_rt_sigsuspend, sys_setresuid, sys_getresuid
114 /*110*/ .word sys_setresgid, sys_getresgid, sys_nis_syscall, sys_recvmsg, sys_sendmsg
115 .word sys_nis_syscall, sys_gettimeofday, sys_getrusage, sys_getsockopt, sys_getcwd
116 /*120*/ .word sys_readv, sys_writev, sys_settimeofday, sys_fchown, sys_fchmod
117 .word sys_recvfrom, sys_setreuid, sys_setregid, sys_rename, sys_truncate
118 /*130*/ .word sys_ftruncate, sys_flock, sys_lstat64, sys_sendto, sys_shutdown
119 .word sys_socketpair, sys_mkdir, sys_rmdir, sys_utimes, sys_stat64
120 /*140*/ .word sys_sendfile64, sys_getpeername, sys_futex, sys_gettid, sys_getrlimit
121 .word sys_setrlimit, sys_pivot_root, sys_prctl, sys_pciconfig_read, sys_pciconfig_write
122 /*150*/ .word sys_getsockname, sys_inotify_init, sys_inotify_add_watch, sys_poll, sys_getdents64
123 .word sys_nis_syscall, sys_inotify_rm_watch, sys_statfs, sys_fstatfs, sys_oldumount
124 /*160*/ .word sys_sched_setaffinity, sys_sched_getaffinity, sys_getdomainname, sys_setdomainname, sys_utrap_install
125 .word sys_quotactl, sys_set_tid_address, sys_mount, sys_ustat, sys_setxattr
126 /*170*/ .word sys_lsetxattr, sys_fsetxattr, sys_getxattr, sys_lgetxattr, sys_getdents
127 .word sys_setsid, sys_fchdir, sys_fgetxattr, sys_listxattr, sys_llistxattr
128 /*180*/ .word sys_flistxattr, sys_removexattr, sys_lremovexattr, sys_nis_syscall, sys_ni_syscall
129 .word sys_setpgid, sys_fremovexattr, sys_tkill, sys_exit_group, sparc64_newuname
130 /*190*/ .word sys_init_module, sparc64_personality, sys_remap_file_pages, sys_epoll_create, sys_epoll_ctl
131 .word sys_epoll_wait, sys_ioprio_set, sys_getppid, sys_nis_syscall, sys_sgetmask
132 /*200*/ .word sys_ssetmask, sys_nis_syscall, sys_newlstat, sys_uselib, sys_nis_syscall
133 .word sys_readahead, sys_socketcall, sys_syslog, sys_lookup_dcookie, sys_fadvise64
134 /*210*/ .word sys_fadvise64_64, sys_tgkill, sys_waitpid, sys_swapoff, sys_sysinfo
135 .word sys_ipc, sys_nis_syscall, sys_clone, sys_ioprio_get, sys_adjtimex
136 /*220*/ .word sys_nis_syscall, sys_ni_syscall, sys_delete_module, sys_ni_syscall, sys_getpgid
137 .word sys_bdflush, sys_sysfs, sys_nis_syscall, sys_setfsuid, sys_setfsgid
138 /*230*/ .word sys_select, sys_nis_syscall, sys_splice, sys_stime, sys_statfs64
139 .word sys_fstatfs64, sys_llseek, sys_mlock, sys_munlock, sys_mlockall
140 /*240*/ .word sys_munlockall, sys_sched_setparam, sys_sched_getparam, sys_sched_setscheduler, sys_sched_getscheduler
141 .word sys_sched_yield, sys_sched_get_priority_max, sys_sched_get_priority_min, sys_sched_rr_get_interval, sys_nanosleep
142 /*250*/ .word sys64_mremap, sys_sysctl, sys_getsid, sys_fdatasync, sys_nfsservctl
143 .word sys_sync_file_range, sys_clock_settime, sys_clock_gettime, sys_clock_getres, sys_clock_nanosleep
144 /*260*/ .word sys_sched_getaffinity, sys_sched_setaffinity, sys_timer_settime, sys_timer_gettime, sys_timer_getoverrun
145 .word sys_timer_delete, sys_timer_create, sys_ni_syscall, sys_io_setup, sys_io_destroy
146 /*270*/ .word sys_io_submit, sys_io_cancel, sys_io_getevents, sys_mq_open, sys_mq_unlink
147 .word sys_mq_timedsend, sys_mq_timedreceive, sys_mq_notify, sys_mq_getsetattr, sys_waitid
148 /*280*/ .word sys_tee, sys_add_key, sys_request_key, sys_keyctl, sys_openat
149 .word sys_mkdirat, sys_mknodat, sys_fchownat, sys_futimesat, sys_fstatat64
150 /*290*/ .word sys_unlinkat, sys_renameat, sys_linkat, sys_symlinkat, sys_readlinkat
151 .word sys_fchmodat, sys_faccessat, sys_pselect6, sys_ppoll, sys_unshare
152 /*300*/ .word sys_set_robust_list, sys_get_robust_list
154 #if defined(CONFIG_SUNOS_EMUL) || defined(CONFIG_SOLARIS_EMUL) || \
155 defined(CONFIG_SOLARIS_EMUL_MODULE)
156 /* Now the 32-bit SunOS syscall table. */
158 .align 4
159 .globl sunos_sys_table
160 sunos_sys_table:
161 /*0*/ .word sunos_indir, sys32_exit, sys_fork
162 .word sunos_read, sunos_write, sunos_open
163 .word sys_close, sunos_wait4, sys_creat
164 .word sys_link, sys_unlink, sunos_execv
165 .word sys_chdir, sunos_nosys, sys32_mknod
166 .word sys_chmod, sys32_lchown16, sunos_brk
167 .word sunos_nosys, sys32_lseek, sunos_getpid
168 .word sunos_nosys, sunos_nosys, sunos_nosys
169 .word sunos_getuid, sunos_nosys, sys_ptrace
170 .word sunos_nosys, sunos_nosys, sunos_nosys
171 .word sunos_nosys, sunos_nosys, sunos_nosys
172 .word sys_access, sunos_nosys, sunos_nosys
173 .word sys_sync, sys_kill, compat_sys_newstat
174 .word sunos_nosys, compat_sys_newlstat, sys_dup
175 .word sys_pipe, sunos_nosys, sunos_nosys
176 .word sunos_nosys, sunos_nosys, sunos_getgid
177 .word sunos_nosys, sunos_nosys
178 /*50*/ .word sunos_nosys, sys_acct, sunos_nosys
179 .word sunos_mctl, sunos_ioctl, sys_reboot
180 .word sunos_nosys, sys_symlink, sys_readlink
181 .word sys32_execve, sys_umask, sys_chroot
182 .word compat_sys_newfstat, sunos_nosys, sys_getpagesize
183 .word sys_msync, sys_vfork, sunos_nosys
184 .word sunos_nosys, sunos_sbrk, sunos_sstk
185 .word sunos_mmap, sunos_vadvise, sys_munmap
186 .word sys_mprotect, sys_madvise, sys_vhangup
187 .word sunos_nosys, sys_mincore, sys32_getgroups16
188 .word sys32_setgroups16, sys_getpgrp, sunos_setpgrp
189 .word compat_sys_setitimer, sunos_nosys, sys_swapon
190 .word compat_sys_getitimer, sys_gethostname, sys_sethostname
191 .word sunos_getdtablesize, sys_dup2, sunos_nop
192 .word compat_sys_fcntl, sunos_select, sunos_nop
193 .word sys_fsync, sys32_setpriority, sys32_socket
194 .word sys32_connect, sunos_accept
195 /*100*/ .word sys_getpriority, sunos_send, sunos_recv
196 .word sunos_nosys, sys32_bind, sunos_setsockopt
197 .word sys32_listen, sunos_nosys, sunos_sigaction
198 .word sunos_sigblock, sunos_sigsetmask, sys_sigpause
199 .word sys32_sigstack, sys32_recvmsg, sys32_sendmsg
200 .word sunos_nosys, sys32_gettimeofday, compat_sys_getrusage
201 .word sunos_getsockopt, sunos_nosys, sunos_readv
202 .word sunos_writev, sys32_settimeofday, sys32_fchown16
203 .word sys_fchmod, sys32_recvfrom, sys32_setreuid16
204 .word sys32_setregid16, sys_rename, sys_truncate
205 .word sys_ftruncate, sys_flock, sunos_nosys
206 .word sys32_sendto, sys32_shutdown, sys32_socketpair
207 .word sys_mkdir, sys_rmdir, sys32_utimes
208 .word sys32_sigreturn, sunos_nosys, sys32_getpeername
209 .word sunos_gethostid, sunos_nosys, compat_sys_getrlimit
210 .word compat_sys_setrlimit, sunos_killpg, sunos_nosys
211 .word sunos_nosys, sunos_nosys
212 /*150*/ .word sys32_getsockname, sunos_nosys, sunos_nosys
213 .word sys_poll, sunos_nosys, sunos_nosys
214 .word sunos_getdirentries, compat_sys_statfs, compat_sys_fstatfs
215 .word sys_oldumount, sunos_nosys, sunos_nosys
216 .word sys_getdomainname, sys_setdomainname
217 .word sunos_nosys, sys_quotactl, sunos_nosys
218 .word sunos_nosys, sys_ustat, sunos_semsys
219 .word sunos_nosys, sunos_shmsys, sunos_audit
220 .word sunos_nosys, sunos_getdents, sys_setsid
221 .word sys_fchdir, sunos_nosys, sunos_nosys
222 .word sunos_nosys, sunos_nosys, sunos_nosys
223 .word sunos_nosys, compat_sys_sigpending, sunos_nosys
224 .word sys_setpgid, sunos_pathconf, sunos_fpathconf
225 .word sunos_sysconf, sunos_uname, sunos_nosys
226 .word sunos_nosys, sunos_nosys, sunos_nosys
227 .word sunos_nosys, sunos_nosys, sunos_nosys
228 .word sunos_nosys, sunos_nosys, sunos_nosys
229 /*200*/ .word sunos_nosys, sunos_nosys, sunos_nosys
230 .word sunos_nosys, sunos_nosys, sunos_nosys
231 .word sunos_nosys, sunos_nosys, sunos_nosys
232 .word sunos_nosys, sunos_nosys, sunos_nosys
233 .word sunos_nosys, sunos_nosys, sunos_nosys
234 .word sunos_nosys, sunos_nosys, sunos_nosys
235 .word sunos_nosys, sunos_nosys, sunos_nosys
236 .word sunos_nosys, sunos_nosys, sunos_nosys
237 .word sunos_nosys, sunos_nosys, sunos_nosys
238 .word sunos_nosys, sunos_nosys, sunos_nosys
239 .word sunos_nosys, sunos_nosys, sunos_nosys
240 .word sunos_nosys, sunos_nosys, sunos_nosys
241 .word sunos_nosys, sunos_nosys, sunos_nosys
242 .word sunos_nosys, sunos_nosys, sunos_nosys
243 .word sunos_nosys, sunos_nosys, sunos_nosys
244 .word sunos_nosys, sunos_nosys, sunos_nosys
245 .word sunos_nosys, sunos_nosys
246 /*250*/ .word sunos_nosys, sunos_nosys, sunos_nosys
247 .word sunos_nosys, sunos_nosys, sunos_nosys
248 .word sunos_nosys, sunos_nosys, sunos_nosys
249 .word sunos_nosys
250 /*260*/ .word sunos_nosys, sunos_nosys, sunos_nosys
251 .word sunos_nosys, sunos_nosys, sunos_nosys
252 .word sunos_nosys, sunos_nosys, sunos_nosys
253 .word sunos_nosys
254 /*270*/ .word sunos_nosys, sunos_nosys, sunos_nosys
255 .word sunos_nosys, sunos_nosys, sunos_nosys
256 .word sunos_nosys, sunos_nosys, sunos_nosys
257 .word sunos_nosys
258 /*280*/ .word sunos_nosys, sunos_nosys, sunos_nosys
259 .word sunos_nosys, sunos_nosys, sunos_nosys
260 .word sunos_nosys, sunos_nosys, sunos_nosys
261 .word sunos_nosys
262 /*290*/ .word sunos_nosys, sunos_nosys, sunos_nosys
263 .word sunos_nosys, sunos_nosys, sunos_nosys
264 .word sunos_nosys, sunos_nosys, sunos_nosys
265 .word sunos_nosys, sunos_nosys, sunos_nosys
266 #endif