%PDF- %PDF-
Direktori : /backups/router/usr/local/lib/perl5/site_perl/mach/5.36/sys/ |
Current File : //backups/router/usr/local/lib/perl5/site_perl/mach/5.36/sys/systm.ph |
require '_h2ph_pre.ph'; no warnings qw(redefine misc); unless(defined(&_SYS_SYSTM_H_)) { eval 'sub _SYS_SYSTM_H_ () {1;}' unless defined(&_SYS_SYSTM_H_); require 'sys/types.ph'; require 'sys/callout.ph'; require 'sys/kassert.ph'; require 'sys/queue.ph'; require 'sys/stdint.ph'; require 'machine/atomic.ph'; require 'machine/cpufunc.ph'; if(defined(&_KERNEL)) { eval("sub VM_GUEST_NO () { 0; }") unless defined(&VM_GUEST_NO); eval("sub VM_GUEST_VM () { 1; }") unless defined(&VM_GUEST_VM); eval("sub VM_GUEST_XEN () { 2; }") unless defined(&VM_GUEST_XEN); eval("sub VM_GUEST_HV () { 3; }") unless defined(&VM_GUEST_HV); eval("sub VM_GUEST_VMWARE () { 4; }") unless defined(&VM_GUEST_VMWARE); eval("sub VM_GUEST_KVM () { 5; }") unless defined(&VM_GUEST_KVM); eval("sub VM_GUEST_BHYVE () { 6; }") unless defined(&VM_GUEST_BHYVE); eval("sub VM_GUEST_VBOX () { 7; }") unless defined(&VM_GUEST_VBOX); eval("sub VM_GUEST_PARALLELS () { 8; }") unless defined(&VM_GUEST_PARALLELS); eval("sub VM_GUEST_NVMM () { 9; }") unless defined(&VM_GUEST_NVMM); eval("sub VM_LAST () { 10; }") unless defined(&VM_LAST); } eval 'sub __read_mostly () { &__section(".data.read_mostly");}' unless defined(&__read_mostly); eval 'sub __read_frequently () { &__section(".data.read_frequently");}' unless defined(&__read_frequently); eval 'sub __exclusive_cache_line () { &__aligned( &CACHE_LINE_SIZE) &__section(".data.exclusive_cache_line");}' unless defined(&__exclusive_cache_line); if(defined(&_STANDALONE)) { } if(defined(&_KERNEL)) { require 'sys/param.ph'; require 'sys/pcpu.ph'; require 'sys/kpilite.ph'; eval 'sub SCHEDULER_STOPPED_TD { my($td) = @_; eval q(({ &MPASS(($td) == &curthread); &__predict_false(($td)-> &td_stopsched); })); }' unless defined(&SCHEDULER_STOPPED_TD); eval 'sub SCHEDULER_STOPPED () { eval q( &SCHEDULER_STOPPED_TD( &curthread)); }' unless defined(&SCHEDULER_STOPPED); if(defined(&__LP64__)) { eval 'sub IOSIZE_MAX () { &iosize_max();}' unless defined(&IOSIZE_MAX); eval 'sub DEVFS_IOSIZE_MAX () { &devfs_iosize_max();}' unless defined(&DEVFS_IOSIZE_MAX); } else { eval 'sub IOSIZE_MAX () { &SSIZE_MAX;}' unless defined(&IOSIZE_MAX); eval 'sub DEVFS_IOSIZE_MAX () { &SSIZE_MAX;}' unless defined(&DEVFS_IOSIZE_MAX); } eval 'sub HASH_NOWAIT () {0x1;}' unless defined(&HASH_NOWAIT); eval 'sub HASH_WAITOK () {0x2;}' unless defined(&HASH_WAITOK); if((defined(&KLD_MODULE) && !defined(&KLD_TIED)) || defined(&KTR_CRITICAL) || !defined(&_KERNEL) || defined(&GENOFFSET)) { eval 'sub critical_enter () { eval q( &critical_enter_KBI()); }' unless defined(&critical_enter); eval 'sub critical_exit () { eval q( &critical_exit_KBI()); }' unless defined(&critical_exit); } else { eval 'sub critical_enter { my($void) = @_; eval q({ \'struct thread_lite\' * &td; &td = &curthread; ($td->{td_critnest})++; &atomic_interrupt_fence(); }); }' unless defined(&critical_enter); eval 'sub critical_exit { my($void) = @_; eval q({ \'struct thread_lite\' * &td; &td = &curthread; &KASSERT( ($td->{td_critnest}) != 0, (\\"critical_exit: td_critnest == 0\\")); &atomic_interrupt_fence(); ($td->{td_critnest})--; &atomic_interrupt_fence(); &if ( &__predict_false( ($td->{td_owepreempt}))) &critical_exit_preempt(); }); }' unless defined(&critical_exit); } if(defined(&EARLY_PRINTF)) { } eval 'sub HD_COLUMN_MASK () {0xff;}' unless defined(&HD_COLUMN_MASK); eval 'sub HD_DELIM_MASK () {0xff00;}' unless defined(&HD_DELIM_MASK); eval 'sub HD_OMIT_COUNT () {(1<< 16);}' unless defined(&HD_OMIT_COUNT); eval 'sub HD_OMIT_HEX () {(1<< 17);}' unless defined(&HD_OMIT_HEX); eval 'sub HD_OMIT_CHARS () {(1<< 18);}' unless defined(&HD_OMIT_CHARS); eval 'sub ovbcopy { my($f, $t, $l) = @_; eval q( &bcopy(($f), ($t), ($l))); }' unless defined(&ovbcopy); if(defined(&SAN_NEEDS_INTERCEPTORS)) { eval 'sub SAN_INTERCEPTOR { my($func) = @_; eval q( &__CONCAT( &SAN_INTERCEPTOR_PREFIX, &__CONCAT( &_, $func))); }' unless defined(&SAN_INTERCEPTOR); unless(defined(&SAN_RUNTIME)) { eval 'sub bcopy { my($from, $to, $len) = @_; eval q( &SAN_INTERCEPTOR( &memmove)(($to), ($from), ($len))); }' unless defined(&bcopy); eval 'sub bzero { my($buf, $len) = @_; eval q( &SAN_INTERCEPTOR( &memset)(($buf), 0, ($len))); }' unless defined(&bzero); eval 'sub bcmp { my($b1, $b2, $len) = @_; eval q( &SAN_INTERCEPTOR( &memcmp)(($b1), ($b2), ($len))); }' unless defined(&bcmp); eval 'sub memset { my($buf, $c, $len) = @_; eval q( &SAN_INTERCEPTOR( &memset)(($buf), ($c), ($len))); }' unless defined(&memset); eval 'sub memcpy { my($to, $from, $len) = @_; eval q( &SAN_INTERCEPTOR( &memcpy)(($to), ($from), ($len))); }' unless defined(&memcpy); eval 'sub memmove { my($dest, $src, $n) = @_; eval q( &SAN_INTERCEPTOR( &memmove)(($dest), ($src), ($n))); }' unless defined(&memmove); eval 'sub memcmp { my($b1, $b2, $len) = @_; eval q( &SAN_INTERCEPTOR( &memcmp)(($b1), ($b2), ($len))); }' unless defined(&memcmp); } } else { eval 'sub bcopy { my($from, $to, $len) = @_; eval q( &__builtin_memmove(($to), ($from), ($len))); }' unless defined(&bcopy); eval 'sub bzero { my($buf, $len) = @_; eval q( &__builtin_memset(($buf), 0, ($len))); }' unless defined(&bzero); eval 'sub bcmp { my($b1, $b2, $len) = @_; eval q( &__builtin_memcmp(($b1), ($b2), ($len))); }' unless defined(&bcmp); eval 'sub memset { my($buf, $c, $len) = @_; eval q( &__builtin_memset(($buf), ($c), ($len))); }' unless defined(&memset); eval 'sub memcpy { my($to, $from, $len) = @_; eval q( &__builtin_memcpy(($to), ($from), ($len))); }' unless defined(&memcpy); eval 'sub memmove { my($dest, $src, $n) = @_; eval q( &__builtin_memmove(($dest), ($src), ($n))); }' unless defined(&memmove); eval 'sub memcmp { my($b1, $b2, $len) = @_; eval q( &__builtin_memcmp(($b1), ($b2), ($len))); }' unless defined(&memcmp); } eval 'sub bzero_early { my($buf, $len) = @_; eval q( &memset_early(($buf), 0, ($len))); }' unless defined(&bzero_early); eval 'sub bcopy_early { my($from, $to, $len) = @_; eval q( &memmove_early(($to), ($from), ($len))); }' unless defined(&bcopy_early); eval 'sub copystr { my($src, $dst, $len, $outlen) = @_; eval q(({ \'size_t\' &__r, &__len, * &__outlen; &__len = ($len); &__outlen = ($outlen); &__r = &strlcpy(($dst), ($src), &__len); &if ( &__outlen != &NULL) * &__outlen = (( &__r >= &__len) ? &__len : &__r + 1); (( &__r >= &__len) ? &ENAMETOOLONG : 0); })); }' unless defined(©str); if(defined(&SAN_NEEDS_INTERCEPTORS)) { unless(defined(&SAN_RUNTIME)) { eval 'sub copyin { my($u, $k, $l) = @_; eval q( &SAN_INTERCEPTOR( ©in)(($u), ($k), ($l))); }' unless defined(©in); eval 'sub copyinstr { my($u, $k, $l, $lc) = @_; eval q( &SAN_INTERCEPTOR( ©instr)(($u), ($k), ($l), ($lc))); }' unless defined(©instr); eval 'sub copyout { my($k, $u, $l) = @_; eval q( &SAN_INTERCEPTOR( ©out)(($k), ($u), ($l))); }' unless defined(©out); } } if(defined(&SAN_NEEDS_INTERCEPTORS) && !defined(&KCSAN)) { unless(defined(&SAN_RUNTIME)) { eval 'sub fubyte { my($b) = @_; eval q( &SAN_INTERCEPTOR( &fubyte)(($b))); }' unless defined(&fubyte); eval 'sub fuword16 { my($b) = @_; eval q( &SAN_INTERCEPTOR( &fuword16)(($b))); }' unless defined(&fuword16); eval 'sub fueword { my($b, $v) = @_; eval q( &SAN_INTERCEPTOR( &fueword)(($b), ($v))); }' unless defined(&fueword); eval 'sub fueword32 { my($b, $v) = @_; eval q( &SAN_INTERCEPTOR( &fueword32)(($b), ($v))); }' unless defined(&fueword32); eval 'sub fueword64 { my($b, $v) = @_; eval q( &SAN_INTERCEPTOR( &fueword64)(($b), ($v))); }' unless defined(&fueword64); eval 'sub subyte { my($b, $w) = @_; eval q( &SAN_INTERCEPTOR( &subyte)(($b), ($w))); }' unless defined(&subyte); eval 'sub suword { my($b, $w) = @_; eval q( &SAN_INTERCEPTOR( &suword)(($b), ($w))); }' unless defined(&suword); eval 'sub suword16 { my($b, $w) = @_; eval q( &SAN_INTERCEPTOR( &suword16)(($b), ($w))); }' unless defined(&suword16); eval 'sub suword32 { my($b, $w) = @_; eval q( &SAN_INTERCEPTOR( &suword32)(($b), ($w))); }' unless defined(&suword32); eval 'sub suword64 { my($b, $w) = @_; eval q( &SAN_INTERCEPTOR( &suword64)(($b), ($w))); }' unless defined(&suword64); eval 'sub casueword32 { my($b, $o, $p, $n) = @_; eval q( &SAN_INTERCEPTOR( &casueword32)(($b), ($o), ($p), ($n))); }' unless defined(&casueword32); eval 'sub casueword { my($b, $o, $p, $n) = @_; eval q( &SAN_INTERCEPTOR( &casueword)(($b), ($o), ($p), ($n))); }' unless defined(&casueword); } } eval 'sub tcp_hpts_softclock () { eval q( &do { &if ( &hpts_that_need_softclock > 0) &tcp_hpts_softclock(); } &while (0)); }' unless defined(&tcp_hpts_softclock); eval 'sub GETENV_UNSIGNED () { &false;}' unless defined(&GETENV_UNSIGNED); eval 'sub GETENV_SIGNED () { &true;}' unless defined(&GETENV_SIGNED); require 'sys/libkern.ph'; eval 'sub msleep { my($chan, $mtx, $pri, $wmesg, $timo) = @_; eval q( &_sleep(($chan), ($mtx)-> &lock_object, ($pri), ($wmesg), &tick_sbt * ($timo), 0, &C_HARDCLOCK)); }' unless defined(&msleep); eval 'sub msleep_sbt { my($chan, $mtx, $pri, $wmesg, $bt, $pr, $flags) = @_; eval q( &_sleep(($chan), ($mtx)-> &lock_object, ($pri), ($wmesg), ($bt), ($pr), ($flags))); }' unless defined(&msleep_sbt); eval 'sub msleep_spin { my($chan, $mtx, $wmesg, $timo) = @_; eval q( &msleep_spin_sbt(($chan), ($mtx), ($wmesg), &tick_sbt * ($timo), 0, &C_HARDCLOCK)); }' unless defined(&msleep_spin); eval 'sub pause { my($wmesg,$timo) = @_; eval q({ ( &pause_sbt($wmesg, &tick_sbt * $timo, 0, &C_HARDCLOCK)); }); }' unless defined(&pause); eval 'sub pause_sig { my($wmesg, $timo) = @_; eval q( &pause_sbt(($wmesg), &tick_sbt * ($timo), 0, &C_HARDCLOCK | &C_CATCH)); }' unless defined(&pause_sig); eval 'sub tsleep { my($chan, $pri, $wmesg, $timo) = @_; eval q( &_sleep(($chan), &NULL, ($pri), ($wmesg), &tick_sbt * ($timo), 0, &C_HARDCLOCK)); }' unless defined(&tsleep); eval 'sub tsleep_sbt { my($chan, $pri, $wmesg, $bt, $pr, $flags) = @_; eval q( &_sleep(($chan), &NULL, ($pri), ($wmesg), ($bt), ($pr), ($flags))); }' unless defined(&tsleep_sbt); if(defined(&__LP64__)) { } eval 'sub UNR_NO_MTX () {(( &void *)( &uintptr_t)-1);}' unless defined(&UNR_NO_MTX); eval 'sub new_unrhdr64 { my($unr64,$low) = @_; eval q({ ($unr64->{counter}) = $low; }); }' unless defined(&new_unrhdr64); eval 'sub alloc_unr64 { my($unr64) = @_; eval q({ ( &atomic_fetchadd_64( ($unr64->{counter}), 1)); }); }' unless defined(&alloc_unr64); if(defined(&NO_OBSOLETE_CODE)) { eval 'sub __gone_ok { my($m, $msg) = @_; eval q( &_Static_assert($m < &P_OSREL_MAJOR( &__FreeBSD_version)), \\"Obsolete code: \\" $msg);); }' unless defined(&__gone_ok); } else { eval 'sub __gone_ok { my($m, $msg) = @_; eval q(); }' unless defined(&__gone_ok); } eval 'sub gone_in { my($major, $msg) = @_; eval q( &__gone_ok($major, $msg) &_gone_in($major, $msg)); }' unless defined(&gone_in); eval 'sub gone_in_dev { my($dev, $major, $msg) = @_; eval q( &__gone_ok($major, $msg) &_gone_in_dev($dev, $major, $msg)); }' unless defined(&gone_in_dev); if(defined(&INVARIANTS)) { eval 'sub __diagused () {1;}' unless defined(&__diagused); } else { eval 'sub __diagused () { &__unused;}' unless defined(&__diagused); } if(defined(&WITNESS)) { eval 'sub __witness_used () {1;}' unless defined(&__witness_used); } else { eval 'sub __witness_used () { &__unused;}' unless defined(&__witness_used); } } } 1;