freebsd-skq/sys/conf/files
peter 8465726bda Mega-commit for Linux emulator update.. This has been stress tested under
netscape-2.0 for Linux running all the Java stuff.  The scrollbars are now
working, at least on my machine. (whew! :-)

I'm uncomfortable with the size of this commit, but it's too
inter-dependant to easily seperate out.

The main changes:

COMPAT_LINUX is *GONE*.  Most of the code has been moved out of the i386
machine dependent section into the linux emulator itself.  The int 0x80
syscall code was almost identical to the lcall 7,0 code and a minor tweak
allows them to both be used with the same C code.  All kernels can now
just modload the lkm and it'll DTRT without having to rebuild the kernel
first.  Like IBCS2, you can statically compile it in with "options LINUX".

A pile of new syscalls implemented, including getdents(), llseek(),
readv(), writev(), msync(), personality().  The Linux-ELF libraries want
to use some of these.

linux_select() now obeys Linux semantics, ie: returns the time remaining
of the timeout value rather than leaving it the original value.

Quite a few bugs removed, including incorrect arguments being used in
syscalls..  eg:  mixups between passing the sigset as an int, vs passing
it as a pointer and doing a copyin(), missing return values, unhandled
cases, SIOC* ioctls, etc.

The build for the code has changed.  i386/conf/files now knows how
to build linux_genassym and generate linux_assym.h on the fly.

Supporting changes elsewhere in the kernel:

The user-mode signal trampoline has moved from the U area to immediately
below the top of the stack (below PS_STRINGS).  This allows the different
binary emulations to have their own signal trampoline code (which gets rid
of the hardwired syscall 103 (sigreturn on BSD, syslog on Linux)) and so
that the emulator can provide the exact "struct sigcontext *" argument to
the program's signal handlers.

The sigstack's "ss_flags" now uses SS_DISABLE and SS_ONSTACK flags, which
have the same values as the re-used SA_DISABLE and SA_ONSTACK which are
intended for sigaction only.  This enables the support of a SA_RESETHAND
flag to sigaction to implement the gross SYSV and Linux SA_ONESHOT signal
semantics where the signal handler is reset when it's triggered.

makesyscalls.sh no longer appends the struct sysentvec on the end of the
generated init_sysent.c code.  It's a lot saner to have it in a seperate
file rather than trying to update the structure inside the awk script. :-)

At exec time, the dozen bytes or so of signal trampoline code are copied
to the top of the user's stack, rather than obtaining the trampoline code
the old way by getting a clone of the parent's user area.  This allows
Linux and native binaries to freely exec each other without getting
trampolines mixed up.
1996-03-02 19:38:20 +00:00

386 lines
12 KiB
Plaintext

ddb/db_access.c optional ddb
ddb/db_aout.c optional ddb
ddb/db_break.c optional ddb
ddb/db_command.c optional ddb
ddb/db_examine.c optional ddb
ddb/db_expr.c optional ddb
ddb/db_input.c optional ddb
ddb/db_lex.c optional ddb
ddb/db_output.c optional ddb
ddb/db_print.c optional ddb
ddb/db_ps.c optional ddb
ddb/db_run.c optional ddb
ddb/db_sym.c optional ddb
ddb/db_trap.c optional ddb
ddb/db_variables.c optional ddb
ddb/db_watch.c optional ddb
ddb/db_write_cmd.c optional ddb
dev/vn/vn.c optional vn
gnu/isdn/iitel.c optional itel device-driver
gnu/isdn/iitty.c optional ity device-driver
gnu/isdn/if_ii.c optional ii device-driver
gnu/isdn/isdn.c optional isdn device-driver
gnu/isdn/iispy.c optional ispy device-driver
isofs/cd9660/cd9660_bmap.c optional cd9660
isofs/cd9660/cd9660_lookup.c optional cd9660
isofs/cd9660/cd9660_node.c optional cd9660
isofs/cd9660/cd9660_rrip.c optional cd9660
isofs/cd9660/cd9660_util.c optional cd9660
isofs/cd9660/cd9660_vfsops.c optional cd9660
isofs/cd9660/cd9660_vnops.c optional cd9660
kdb/kdb_access.c optional kadb
kdb/kdb_command.c optional kadb
kdb/kdb_ctype.c optional kadb
kdb/kdb_expr.c optional kadb
kdb/kdb_format.c optional kadb
kdb/kdb_input.c optional kadb
kdb/kdb_message.c optional kadb
kdb/kdb_output.c optional kadb
kdb/kdb_pcs.c optional kadb
kdb/kdb_print.c optional kadb
kdb/kdb_runpcs.c optional kadb
kdb/kdb_sym.c optional kadb
kdb/kdb_trap.c optional kadb
kern/imgact_aout.c standard
kern/imgact_gzip.c optional gzip
kern/imgact_shell.c standard
kern/inflate.c optional gzip
kern/init_main.c standard
kern/init_sysent.c standard
kern/init_sysvec.c standard
kern/kern_acct.c standard
kern/kern_clock.c standard
kern/kern_conf.c standard
kern/kern_descrip.c standard
kern/kern_devconf.c standard
kern/kern_exec.c standard
kern/kern_exit.c standard
kern/kern_fork.c standard
kern/kern_ktrace.c standard
kern/kern_lkm.c standard
kern/kern_lockf.c standard
kern/kern_malloc.c standard
kern/kern_ntptime.c standard
kern/kern_physio.c standard
kern/kern_proc.c standard
kern/kern_prot.c standard
kern/kern_resource.c standard
kern/kern_sig.c standard
kern/kern_subr.c standard
kern/kern_synch.c standard
kern/kern_sysctl.c standard
kern/kern_time.c standard
kern/kern_xxx.c standard
kern/subr_diskslice.c standard
kern/subr_dkbad.c standard
kern/subr_log.c standard
kern/subr_prf.c standard
kern/subr_prof.c standard
kern/subr_rlist.c standard
kern/subr_xxx.c standard
kern/sys_generic.c standard
kern/sys_process.c standard
kern/sys_socket.c standard
kern/sys_pipe.c standard
kern/sysv_ipc.c standard
kern/sysv_msg.c optional sysvmsg
kern/sysv_sem.c optional sysvsem
kern/sysv_shm.c optional sysvshm
kern/tty.c standard
kern/tty_compat.c standard
kern/tty_conf.c standard
kern/tty_pty.c optional pty
kern/tty_snoop.c optional snp
kern/tty_subr.c standard
kern/tty_tb.c optional tb
kern/tty_tty.c standard
kern/uipc_domain.c standard
kern/uipc_mbuf.c standard
kern/uipc_proto.c standard
kern/uipc_socket.c standard
kern/uipc_socket2.c standard
kern/uipc_syscalls.c standard
kern/uipc_usrreq.c standard
kern/vfs_bio.c standard
kern/vfs_cache.c standard
kern/vfs_cluster.c standard
kern/vfs_conf.c standard
kern/vfs_init.c standard
kern/vfs_lookup.c standard
kern/vfs_subr.c standard
kern/vfs_syscalls.c standard
kern/vfs_vnops.c standard
miscfs/deadfs/dead_vnops.c standard
miscfs/fdesc/fdesc_vfsops.c optional fdesc
miscfs/fdesc/fdesc_vnops.c optional fdesc
miscfs/fifofs/fifo_vnops.c standard
miscfs/kernfs/kernfs_vfsops.c optional kernfs
miscfs/kernfs/kernfs_vnops.c optional kernfs
miscfs/nullfs/null_subr.c optional nullfs
miscfs/nullfs/null_vfsops.c optional nullfs
miscfs/nullfs/null_vnops.c optional nullfs
miscfs/portal/portal_vfsops.c optional portal
miscfs/portal/portal_vnops.c optional portal
miscfs/procfs/procfs_ctl.c optional procfs
miscfs/procfs/procfs_fpregs.c standard
miscfs/procfs/procfs_mem.c standard
miscfs/procfs/procfs_note.c optional procfs
miscfs/procfs/procfs_regs.c standard
miscfs/procfs/procfs_status.c optional procfs
miscfs/procfs/procfs_subr.c optional procfs
miscfs/procfs/procfs_vfsops.c optional procfs
miscfs/procfs/procfs_vnops.c optional procfs
miscfs/specfs/spec_vnops.c standard
miscfs/umapfs/umap_subr.c optional umapfs
miscfs/umapfs/umap_vfsops.c optional umapfs
miscfs/umapfs/umap_vnops.c optional umapfs
miscfs/union/union_subr.c optional union
miscfs/union/union_vfsops.c optional union
miscfs/union/union_vnops.c optional union
miscfs/devfs/devfs_vnops.c optional devfs
miscfs/devfs/devfs_vfsops.c optional devfs
miscfs/devfs/devfs_tree.c optional devfs
msdosfs/msdosfs_conv.c optional msdosfs
msdosfs/msdosfs_denode.c optional msdosfs
msdosfs/msdosfs_fat.c optional msdosfs
msdosfs/msdosfs_lookup.c optional msdosfs
msdosfs/msdosfs_vfsops.c optional msdosfs
msdosfs/msdosfs_vnops.c optional msdosfs
net/bpf.c optional bpfilter
net/bpf_filter.c optional bpfilter
net/bsd_comp.c optional ppp
net/if.c standard
net/if_disc.c optional disc
net/if_ethersubr.c optional ether
net/if_fddisubr.c optional fddi
net/if_loop.c optional loop
net/if_ppp.c optional ppp
net/if_sl.c optional sl
net/if_spppsubr.c optional sppp
net/ppp_tty.c optional ppp
net/radix.c standard
net/raw_cb.c standard
net/raw_usrreq.c standard
net/route.c standard
net/rtsock.c standard
net/slcompress.c optional ppp
net/slcompress.c optional sl
net/if_tun.c optional tun
#netccitt/ccitt_proto.c optional ccitt
#netccitt/hd_debug.c optional hdlc
#netccitt/hd_input.c optional hdlc
#netccitt/hd_output.c optional hdlc
#netccitt/hd_subr.c optional hdlc
#netccitt/hd_timer.c optional hdlc
#netccitt/if_x25subr.c optional ccitt
#netccitt/llc_input.c optional llc
#netccitt/llc_output.c optional llc
#netccitt/llc_subr.c optional llc
#netccitt/llc_timer.c optional llc
#netccitt/pk_acct.c optional ccitt
#netccitt/pk_debug.c optional ccitt
#netccitt/pk_input.c optional ccitt
#netccitt/pk_llcsubr.c optional hdlc
#netccitt/pk_llcsubr.c optional llc
#netccitt/pk_output.c optional ccitt
#netccitt/pk_subr.c optional ccitt
#netccitt/pk_timer.c optional ccitt
#netccitt/pk_usrreq.c optional ccitt
#netimp/if_imp.c optional imp
#netimp/if_imphost.c optional imp
#netimp/raw_imp.c optional imp
netinet/if_ether.c optional ether
netinet/igmp.c optional inet
netinet/in.c optional inet
netinet/in_pcb.c optional inet
netinet/in_proto.c optional inet
netinet/in_rmx.c optional inet
netinet/ip_icmp.c optional inet
netinet/ip_input.c optional inet
netinet/ip_mroute.c optional inet
netinet/ip_output.c optional inet
netinet/raw_ip.c optional inet
netinet/ip_fw.c optional ipfirewall
netinet/tcp_debug.c optional tcpdebug
netinet/tcp_input.c optional inet
netinet/tcp_output.c optional inet
netinet/tcp_subr.c optional inet
netinet/tcp_timer.c optional inet
netinet/tcp_usrreq.c optional inet
netinet/udp_usrreq.c optional inet
netipx/ipx_usrreq.c optional ipx
netipx/ipx.c optional ipx
netipx/ipx_cksum.c optional ipx
netipx/ipx_error.c optional ipx
netipx/ipx_input.c optional ipx
netipx/ipx_ip.c optional ipx
netipx/ipx_outputfl.c optional ipx
netipx/ipx_pcb.c optional ipx
netipx/ipx_proto.c optional ipx
netipx/ipx_tun.c optional ipx
netipx/spx_debug.c optional ipx
netipx/spx_usrreq.c optional ipx
#netiso/clnp_debug.c optional iso
#netiso/clnp_er.c optional iso
#netiso/clnp_frag.c optional iso
#netiso/clnp_input.c optional iso
#netiso/clnp_options.c optional iso
#netiso/clnp_output.c optional iso
#netiso/clnp_raw.c optional iso
#netiso/clnp_subr.c optional iso
#netiso/clnp_timer.c optional iso
#netiso/cltp_usrreq.c optional iso
#netiso/esis.c optional iso
#netiso/idrp_usrreq.c optional iso
#netiso/if_eon.c optional eon
#netiso/iso.c optional iso
#netiso/iso_chksum.c optional iso
#netiso/iso_pcb.c optional iso
#netiso/iso_proto.c optional iso
#netiso/iso_snpac.c optional iso
#netiso/tp_astring.c optional iso
#netiso/tp_astring.c optional tpip
#netiso/tp_cons.c optional iso
#netiso/tp_driver.c optional iso
#netiso/tp_driver.c optional tpip
#netiso/tp_emit.c optional iso
#netiso/tp_emit.c optional tpip
#netiso/tp_inet.c optional iso
#netiso/tp_inet.c optional tpip
#netiso/tp_input.c optional iso
#netiso/tp_input.c optional tpip
#netiso/tp_iso.c optional iso
#netiso/tp_meas.c optional iso
#netiso/tp_meas.c optional tpip
#netiso/tp_output.c optional iso
#netiso/tp_output.c optional tpip
#netiso/tp_pcb.c optional iso
#netiso/tp_pcb.c optional tpip
#netiso/tp_subr.c optional iso
#netiso/tp_subr.c optional tpip
#netiso/tp_subr2.c optional iso
#netiso/tp_subr2.c optional tpip
#netiso/tp_timer.c optional iso
#netiso/tp_timer.c optional tpip
#netiso/tp_trace.c optional iso
#netiso/tp_trace.c optional tpip
#netiso/tp_usrreq.c optional iso
#netiso/tp_usrreq.c optional tpip
#netiso/tuba_subr.c optional iso tuba
#netiso/tuba_table.c optional iso tuba
#netiso/tuba_usrreq.c optional iso tuba
#netns/idp_usrreq.c optional ns
#netns/ns.c optional ns
#netns/ns_error.c optional ns
#netns/ns_input.c optional ns
#netns/ns_ip.c optional ns
#netns/ns_output.c optional ns
#netns/ns_pcb.c optional ns
#netns/ns_proto.c optional ns
#netns/spp_debug.c optional ns
#netns/spp_usrreq.c optional ns
nfs/nfs_bio.c optional nfs
nfs/nfs_node.c optional nfs
nfs/nfs_nqlease.c optional nfs
nfs/nfs_serv.c optional nfs
nfs/nfs_socket.c optional nfs
nfs/nfs_srvcache.c optional nfs
nfs/nfs_subs.c optional nfs
nfs/nfs_syscalls.c optional nfs
nfs/nfs_vfsops.c optional nfs
nfs/nfs_vnops.c optional nfs
pccard/pccard.c optional crd
pccard/pcic.c optional pcic device-driver
pci/aic7870.c optional ahc device-driver
pci/bt9xx.c optional bt device-driver
pci/if_de.c optional de device-driver
pci/if_fxp.c optional fxp device-driver
pci/if_vx.c optional vx device-driver
pci/ncr.c optional ncr device-driver
pci/pci.c optional pci device-driver
pci/pcisupport.c optional pci
pci/if_pdq.c optional fea device-driver
pci/pdq.c optional fea device-driver
pci/if_pdq.c optional fpa device-driver
pci/pdq.c optional fpa device-driver
pci/meteor.c optional meteor device-driver
scsi/cd.c optional cd
scsi/ch.c optional ch
scsi/od.c optional od
scsi/scsi_base.c optional scbus
scsi/scsi_sense.c optional scbus
scsi/scsi_ioctl.c optional scbus
scsi/scsiconf.c optional scbus
scsi/scsi_driver.c optional scbus
scsi/uk.c optional scbus
scsi/pt.c optional pt
scsi/sd.c optional sd
scsi/st.c optional st
scsi/worm.c optional worm
scsi/su.c optional su
scsi/ssc.c optional ssc
scsi/sctarg.c optional sctarg
ufs/ffs/ffs_alloc.c optional ffs
ufs/ffs/ffs_alloc.c optional mfs
ufs/ffs/ffs_balloc.c optional ffs
ufs/ffs/ffs_balloc.c optional mfs
ufs/ffs/ffs_inode.c optional ffs
ufs/ffs/ffs_inode.c optional mfs
ufs/ffs/ffs_subr.c optional ffs
ufs/ffs/ffs_subr.c optional mfs
ufs/ffs/ffs_tables.c optional ffs
ufs/ffs/ffs_tables.c optional mfs
ufs/ffs/ffs_vfsops.c optional ffs
ufs/ffs/ffs_vfsops.c optional mfs
ufs/ffs/ffs_vnops.c optional ffs
ufs/ffs/ffs_vnops.c optional mfs
ufs/lfs/lfs_alloc.c optional lfs
ufs/lfs/lfs_balloc.c optional lfs
ufs/lfs/lfs_bio.c optional lfs
ufs/lfs/lfs_cksum.c optional lfs
ufs/lfs/lfs_debug.c optional lfs
ufs/lfs/lfs_inode.c optional lfs
ufs/lfs/lfs_segment.c optional lfs
ufs/lfs/lfs_subr.c optional lfs
ufs/lfs/lfs_syscalls.c optional lfs
ufs/lfs/lfs_vfsops.c optional lfs
ufs/lfs/lfs_vnops.c optional lfs
ufs/mfs/mfs_vfsops.c optional mfs
ufs/mfs/mfs_vnops.c optional mfs
gnu/ext2fs/ext2_balloc.c optional ext2fs
gnu/ext2fs/ext2_inode.c optional ext2fs
gnu/ext2fs/ext2_subr.c optional ext2fs
gnu/ext2fs/ext2_vfsops.c optional ext2fs
gnu/ext2fs/ext2_vnops.c optional ext2fs
gnu/ext2fs/ext2_inode_cnv.c optional ext2fs
gnu/ext2fs/ext2_lookup.c optional ext2fs
gnu/ext2fs/ext2_linux_ialloc.c optional ext2fs
gnu/ext2fs/ext2_linux_balloc.c optional ext2fs
gnu/ext2fs/ext2_alloc.c optional ext2fs
ufs/ufs/ufs_bmap.c standard
ufs/ufs/ufs_disksubr.c standard
ufs/ufs/ufs_ihash.c standard
ufs/ufs/ufs_inode.c standard
ufs/ufs/ufs_lookup.c standard
ufs/ufs/ufs_quota.c standard
ufs/ufs/ufs_vfsops.c standard
ufs/ufs/ufs_vnops.c standard
vm/default_pager.c standard
vm/device_pager.c standard
vm/kern_lock.c standard
vm/swap_pager.c standard
vm/vm_fault.c standard
vm/vm_glue.c standard
vm/vm_init.c standard
vm/vm_kern.c standard
vm/vm_map.c standard
vm/vm_meter.c standard
vm/vm_mmap.c standard
vm/vm_object.c standard
vm/vm_page.c standard
vm/vm_pageout.c standard
vm/vm_pager.c standard
vm/vm_swap.c standard
vm/vm_unix.c standard
vm/vnode_pager.c standard