diff options
38 files changed, 2260 insertions, 232 deletions
diff --git a/=announce-1.0 b/=announce-1.0 new file mode 100644 index 0000000..a8eb895 --- /dev/null +++ b/=announce-1.0 @@ -0,0 +1,38 @@ +I am pleased to announce version 1.0 of the GNU distribution of the +Mach kernel. It may be found in the file (about XXX MB compressed) +ftp://prep.ai.mit.edu/pub/gnu/gnumach-1.0.tar.gz. + +This distribution was prepared in order to install some bug fixes and +minor improvements (not worth noting here) to the Utah microkernel, +and to make the package conform to the GNU coding standards, at least +minimally, as regards configuration. This was based upon the UK22 +distribution, with some modifications made at Utah as well. + +This kernel will be in the forthcoming complete binary distribution of +GNU. The release is being made now, in the hopes that any serious +problems we didn't notice might be found in advance of that +distribution. Volunteers who are interested in compiling this release +should do so, and please report any problems asap. + +All the non-kernel pieces of the Utah distribution are not present in +this distribution, except for the MiG interface generator which is +still supplied. These other pieces were never used for GNU, and are +not really part of the kernel at all. We may separate MiG into a +separate distribution for convenience at some later date. + +This distribution is only for i386, i486, i586 (pentium), and i686 +(sexium [pentium pro]) processors on PC-AT compatible machines. +Volunteers interested in ports to other architectures are eagerly +sought. + +Most ethernet cards and disk controllers are supported by this kernel; +ones for which Linux drivers exist can be ported easily. Non-network +devices for which BSD drivers exist can be ported with a little +effort, but not much. + +Bug reports relating to this distribution should be sent to +bug-hurd@prep.ai.mit.edu. Requests for assistance should be made on +help-hurd@prep.ai.mit.edu. + +The md5sum checksum for gnumach-1.0.tar.gz is: + @@ -1,3 +1,110 @@ +Mon Mar 24 16:23:21 1997 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> + + * version.c (version): Make that 1.0. Whee. + +Fri Mar 21 15:50:09 1997 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> + + * i386/i386at/gpl/linux/scsi/aha1740.c (aha1740_test_port): Try + and turn on PORTADDR_ENH before checking it. + + * vm/vm_object.c (vm_object_cached_max): Increase to 200. + +Thu Mar 20 12:33:06 1997 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> + + * Makefile.in (dist): New target. Reorganized some vars + describing source. + * i386/Subdirs: New file. + * i386/Files: New file. + + * version.c (version): Push back to 0.1. + + * Makefile.in (cross_compiling, bindir, libexecdir): New + variable. + + * Makefile.in (install): Depend on cross-mig and cross-migcom; + install them. New rules added to build mig, migcom, cross-mig, + and cross-migcom. + + * configure.in (AC_PROG_LEX, AC_PROG_YACC): New tests. + (BUILD_CC): New test to set these. + + * Makefile.in (%.h %_user.c): Depend on $(MIG) too. + (%_interface.h %_server.c): Likewise. + (MIG): Don't use @MIG@; hard code it to the one we build. + (BUILD_CC, BUILD_CFLAGS, MIGCOM, LEX, YACC, LEXLIB): New variables. + +Wed Mar 19 16:47:28 1997 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> + + * i386/i386at/kd.c (BROKEN_KEYBOARD_RESET): Turn off this so that + we attempt the keyboard resets. + * i386/i386/locore.S (cpu_shutdown): Attempt to provide a more + `robust' null_idtr. + +Mon Mar 17 13:47:14 1997 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> + + * i386/i386at/gpl/linux/scsi/hosts.c (scsi_init): Don't print out + gratuitious obnoxiousness. + * i386/i386at/gpl/linux/scsi/scsi.c (scsi_dev_init): Likewise. + * i386/i386at/gpl/linux/block/triton.c (ide_init_triton): + Likewise. + (init_triton_dma): Likewise. + * i386/i386at/gpl/linux/pci/pci.c (pci_init): Likewise. + * i386/i386at/gpl/linux/pci/bios32.c (check_pcibios): Likewise. + (pcibios_init): Likewise. + * i386/i386at/gpl/linux/block/genhd.c (add_partition): Likewise. + + * i386/i386at/gpl/linux/net/8390.c (ei_debug): Make default value + zero. + +Wed Mar 12 14:50:46 1997 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> + + * i386/i386at/com.c (comprobe): Turn off noisiness. + + * i386/i386at/gpl/linux/linux_block.c (check_disk_change): Don't + print out gratuitous obnoxiousness. + (device_open): Likewise. + * kern/bootstrap.c (copy_bootstrap): Likewise. + (user_bootstrap): Likewise. + * i386/i386at/gpl/linux/block/genhd.c (msdos_partition): Likewise. + (osf_partition): Likewise. + (sun_partition): Likewise. + (check_partition): Likewise. + * i386/i386/pit.c (findspeed): Likewise. + * vm/vm_resident.c (vm_page_bootstrap): Likewise. + +Mon Mar 10 15:04:47 1997 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> + + * i386/i386at/gpl/linux/linux_init.c (calibrate_delay): Don't + print out gratuitous obnoxiousness. + + * i386/i386at/gpl/linux/linux_init.c (linux_init): Only call + linux_net_emulation_init if CONFIG_INET. Include + <i386/device-drivers.h>. + + * i386/i386at/i386at_ds_routines.c: Include + <i386/device-drivers.h>. Don't mention linux_net_emulation_ops + unless CONFIG_INET. + + * device/ds_routines.c (io_done_thread_continue): [i386] + Conditionalize free_skbuffs also on CONFIG_INET. Include + <i386/device-drivers.h>. + + * i386/Drivers.in, i386/device-drivers.h.in, i386/driverlist.in: + New files. + * i386/Makefrag: Include i386/driverlist; don't include all device + drivers in kernel image; instead use list from driverlist. + * configure.in: Configure in $systype subdir too. + + * i386/i386at/gpl/linux/include/linux/autoconf.h: Damage severly + to conform to device-drivers.h model. + + * i386/bogus/com.h: Include <i386/device-drivers.h>. + Only turn on NCOM if CONFIG_MACH_COM is present. + +Mon Mar 3 16:26:58 1997 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> + + * include/mach/message.h (__mach_msg, __mach_msg_trap): Add decls. + Tue Feb 25 15:42:23 1997 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> * i386/Makefrag (INCLUDES): Find `include' directory in new diff --git a/Drivers.macros b/Drivers.macros new file mode 100644 index 0000000..95bab83 --- /dev/null +++ b/Drivers.macros @@ -0,0 +1,44 @@ +dnl +dnl Some autoconf macros useful for device driver configuration +dnl + +AC_SUBST(device_drivers) + +dnl AC_DRIVER_ALIAS(alias, canonical) makes --enable-alias have the +dnl same effect as --enable-canonical. + +AC_DEFUN(AC_DRIVER_ALIAS, [ +[#] Checking for alias [$1] +AC_ARG_ENABLE([$1],, +enable_[$2]="$enable_[$1]" +)]) + +dnl AC_DRIVER_CLASS(name,option,files) defines a class of drivers. If +dnl any driver declared by AC_DRIVER to be in that class is selected +dnl by the user, then set the specified option with AC_DEFINE and add +dnl the specified files to the output variable `device_drivers'. This +dnl macro must precede the use of any corresponding AC_DRIVER macros. + +AC_DEFUN(AC_DRIVER_CLASS, [ +driver_class_[$1]_option=[$2] +driver_class_[$1]_files="[$3]" +]) + +dnl AC_DRIVER(name,option,files [,class]) detects option --enable-name. If +dnl it's set, then `option' is defined with AC_DEFINE, and files is +dnl added to the output variable `device_drivers'. The driver is of class +dnl `class'; see the comments on AC_DRIVER_CLASS for more information. + +AC_DEFUN(AC_DRIVER, [ +[#] Checking for device driver option [$1] +AC_ARG_ENABLE([$1],, +AC_DEFINE([$2]) +device_drivers="$device_drivers [$3]" +if test "driver_class_[$4]_selected+set" != set; then + driver_class_[$4]_selected=yes + AC_DEFINE_UNQUOTED($driver_class_[$4]_option) + device_drivers="$device_drivers $driver_class_[$4]_files" +fi +)]) + + @@ -0,0 +1,183 @@ +Basic Installation +================== + + These are generic installation instructions. + + The `configure' shell script attempts to guess correct values for +various system-dependent variables used during compilation. It uses +those values to create a `Makefile' in each directory of the package. +It may also create one or more `.h' files containing system-dependent +definitions. Finally, it creates a shell script `config.status' that +you can run in the future to recreate the current configuration, a file +`config.cache' that saves the results of its tests to speed up +reconfiguring, and a file `config.log' containing compiler output +(useful mainly for debugging `configure'). + + If you need to do unusual things to compile the package, please try +to figure out how `configure' could check whether to do them, and mail +diffs or instructions to the address given in the `README' so they can +be considered for the next release. If at some point `config.cache' +contains results you don't want to keep, you may remove or edit it. + + The file `configure.in' is used to create `configure' by a program +called `autoconf'. You only need `configure.in' if you want to change +it or regenerate `configure' using a newer version of `autoconf'. + +The simplest way to compile this package is: + + 1. `cd' to the directory containing the package's source code and type + `./configure' to configure the package for your system. If you're + using `csh' on an old version of System V, you might need to type + `sh ./configure' instead to prevent `csh' from trying to execute + `configure' itself. + + Running `configure' takes awhile. While running, it prints some + messages telling which features it is checking for. + + 2. Type `make' to compile the package. + + 3. Optionally, type `make check' to run any self-tests that come with + the package. + + 4. Type `make install' to install the programs and any data files and + documentation. + + 5. You can remove the program binaries and object files from the + source code directory by typing `make clean'. To also remove the + files that `configure' created (so you can compile the package for + a different kind of computer), type `make distclean'. There is + also a `make maintainer-clean' target, but that is intended mainly + for the package's developers. If you use it, you may have to get + all sorts of other programs in order to regenerate files that came + with the distribution. + +Compilers and Options +===================== + + Some systems require unusual options for compilation or linking that +the `configure' script does not know about. You can give `configure' +initial values for variables by setting them in the environment. Using +a Bourne-compatible shell, you can do that on the command line like +this: + CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure + +Or on systems that have the `env' program, you can do it like this: + env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure + +Compiling For Multiple Architectures +==================================== + + You can compile the package for more than one kind of computer at the +same time, by placing the object files for each architecture in their +own directory. To do this, you must use a version of `make' that +supports the `VPATH' variable, such as GNU `make'. `cd' to the +directory where you want the object files and executables to go and run +the `configure' script. `configure' automatically checks for the +source code in the directory that `configure' is in and in `..'. + + If you have to use a `make' that does not supports the `VPATH' +variable, you have to compile the package for one architecture at a time +in the source code directory. After you have installed the package for +one architecture, use `make distclean' before reconfiguring for another +architecture. + +Installation Names +================== + + By default, `make install' will install the package's files in +`/usr/local/bin', `/usr/local/man', etc. You can specify an +installation prefix other than `/usr/local' by giving `configure' the +option `--prefix=PATH'. + + You can specify separate installation prefixes for +architecture-specific files and architecture-independent files. If you +give `configure' the option `--exec-prefix=PATH', the package will use +PATH as the prefix for installing programs and libraries. +Documentation and other data files will still use the regular prefix. + + In addition, if you use an unusual directory layout you can give +options like `--bindir=PATH' to specify different values for particular +kinds of files. Run `configure --help' for a list of the directories +you can set and what kinds of files go in them. + + If the package supports it, you can cause programs to be installed +with an extra prefix or suffix on their names by giving `configure' the +option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. + +Optional Features +================= + + Some packages pay attention to `--enable-FEATURE' options to +`configure', where FEATURE indicates an optional part of the package. +They may also pay attention to `--with-PACKAGE' options, where PACKAGE +is something like `gnu-as' or `x' (for the X Window System). The +`README' should mention any `--enable-' and `--with-' options that the +package recognizes. + + For packages that use the X Window System, `configure' can usually +find the X include and library files automatically, but if it doesn't, +you can use the `configure' options `--x-includes=DIR' and +`--x-libraries=DIR' to specify their locations. + +Specifying the System Type +========================== + + There may be some features `configure' can not figure out +automatically, but needs to determine by the type of host the package +will run on. Usually `configure' can figure that out, but if it prints +a message saying it can not guess the host type, give it the +`--host=TYPE' option. TYPE can either be a short name for the system +type, such as `sun4', or a canonical name with three fields: + CPU-COMPANY-SYSTEM + +See the file `config.sub' for the possible values of each field. If +`config.sub' isn't included in this package, then this package doesn't +need to know the host type. + + If you are building compiler tools for cross-compiling, you can also +use the `--target=TYPE' option to select the type of system they will +produce code for and the `--build=TYPE' option to select the type of +system on which you are compiling the package. + +Sharing Defaults +================ + + If you want to set default values for `configure' scripts to share, +you can create a site shell script called `config.site' that gives +default values for variables like `CC', `cache_file', and `prefix'. +`configure' looks for `PREFIX/share/config.site' if it exists, then +`PREFIX/etc/config.site' if it exists. Or, you can set the +`CONFIG_SITE' environment variable to the location of the site script. +A warning: not all `configure' scripts look for a site script. + +Operation Controls +================== + + `configure' recognizes the following options to control how it +operates. + +`--cache-file=FILE' + Use and save the results of the tests in FILE instead of + `./config.cache'. Set FILE to `/dev/null' to disable caching, for + debugging `configure'. + +`--help' + Print a summary of the options to `configure', and exit. + +`--quiet' +`--silent' +`-q' + Do not print messages saying which checks are being made. To + suppress all normal output, redirect it to `/dev/null' (any error + messages will still be shown). + +`--srcdir=DIR' + Look for the package's source code in directory DIR. Usually + `configure' can determine that directory automatically. + +`--version' + Print the version of Autoconf used to generate the `configure' + script, and exit. + +`configure' also accepts some other, not widely useful, options. + diff --git a/Makefile b/Makefile deleted file mode 100644 index 558b094..0000000 --- a/Makefile +++ /dev/null @@ -1,176 +0,0 @@ -# Makefile for Mach 4 kernel directory -# Copyright 1996 Free Software Foundation, Inc. -# This file is part of GNU Mach. Redistribution terms are not yet decided. - - - -# Set at entry: -# $(srcdir) $(systype) $(installed-clib) - -sysdep = $(srcdir)/$(systype) - -ifeq ($(MIG),) -MIG := mig -endif - -ifeq ($(AWK),) -AWK := awk -endif - -all: - -# All the source in each directory. Note that `bogus' contains no source, -# only header files. - -# Generic code for various hardware drivers -chips-files = atm.c audio.c bt431.c bt455.c bt459.c build_font.c busses.c \ - cfb_hdw.c cfb_misc.c dc503.c dtop_handlers.c dtop_hdw.c dz_hdw.c \ - fb_hdw.c fb_misc.c fdc_82077_hdw.c frc.c ims332.c isdn_79c30_hdw.c \ - kernel_font.c lance.c lance_mapped.c lk201.c mc_clock.c mouse.c \ - nc.c nw_mk.c pm_hdw.c pm_misc.c scc_8530_hdw.c screen.c \ - screen_switch.c serial_console.c sfb_hdw.c sfb_misc.c spans.c \ - tca100.c tca100_if.c xcfb_hdb.c xcfb_misc.c - -# Generic code for various SCSI unit types -scsi-files = disk_label.c mapped_scsi.c pc_scsi_label.c rz.c rz_audio.c \ - rz_cpu.c rz_disk.c rz_disk_bbr.c rz_host.c rz_tape.c scsi.c \ - scsi_alldevs.c scsi_comm.c scsi_cpu.c scsi_disk.c scsi_jukebox.c \ - scsi_optical.c scsi_printer.c scsi_rom.c scsi_scanner.c \ - scsi_tape.c scsi_worm.c - -# Icky kernel debugger -ddb-files = $(addprefix db_,$(ddb-names)) -ddb-names = access.c aout.c break.c command.c cond.c examine.c expr.c \ - ext_symtab.c input.c lex.c macro.c mp.c output.c print.c run.c \ - sym.c task_thread.c trap.c variables.c watch.c write_cmd.c - -# Device support interfaces -device-files = blkio.c chario.c cirbuf.c cons.c dev_lookup.c dev_name.c \ - dev_pager.c device_init.c dk_label.c ds_routines.c net_io.c subrs.c - -# IPC implementation -ipc-files = $(addprefix ipc_,$(ipc-names)) \ - mach_msg.c mach_port.c mach_rpc.c mach_debug.c fipc.c -ipc-names = entry.c hash.c init.c kmsg.c marequest.c mqueue.c \ - notify.c object.c port.c pset.c right.c space.c splay.c \ - table.c target.c thread.c - -# "kernel" implementation (tasks, threads, trivia, etc.) -kern-files = act.c ast.c bootstrap.c counters.c debug.c eventcount.c \ - exception.c host.c ipc_host.c ipc_kobject.c ipc_mig.c ipc_sched.c \ - ipc_tt.c kalloc.c lock.c lock_mon.c mach_clock.c mach_factor.c \ - machine.c pc_sample.c printf.c priority.c processor.c profile.c \ - queue.c sched_prim.c startup.c strings.c syscall_emulation.c \ - syscall_subr.c syscall_sw.c task.c thread.c thread_swap.c \ - time_stamp.c timer.c xpr.c zalloc.c elf-load.c - -# Still more trivia -util-files = about_to_die.c cpu.c cpu_init.c die.c putchar.c puts.c - -# Virtual memory implementation -vm-files = $(addprefix vm_,$(vm-names)) memory_object.c -vm-names = debug.c external.c fault.c init.c kern.c map.c \ - object.c pageout.c resident.c user.c - - - -# Object files that go into the kernel image. (This will be augmented by the -# machine dependent Makefile fragment.) - -# Basic kernel source for Mach -objfiles := $(subst .c,.o,$(ipc-files) $(kern-files) $(util-files) $(vm-files)) -vpath %.c $(srcdir)/ipc $(srcdir)/kern $(srcdir)/util $(srcdir)/vm - -# These device support files are always needed; the others are needed only -# if particular drivers want the routines. -# XXX functions in device/subrs.c should each be moved elsewhere -objfiles += cons.o dev_lookup.o dev_name.o dev_pager.o device_init.o \ - ds_routines.o subrs.o net_io.o blkio.o chario.o -vpath %.c $(srcdir)/device - -# DDB support -- eventually to die. Please. -objfiles += $(subst .c,.o,$(ddb-files)) -vpath %.c $(srcdir)/ddb - -# Version number -objfiles += version.o -vpath version.c $(srcdir) - - -# We steal routines from the C library and put them here. -objfiles += clib-routines.o - -clib-routines = memcpy memset bcopy bzero htonl ntohl ntohs - -clib-routines.o: $(installed-clib) - $(LD) -o clib-routines.o -r $(addprefix -u ,$(clib-routines)) $(installed-clib) - - -# Automatically generated source - -# User stubs -objfiles += memory_object_user_user.o memory_object_default_user.o \ - device_reply_user.o memory_object_reply_user.o - -# Server stubs -objfiles += device_server.o device_pager_server.o mach_port_server.o \ - mach_server.o mach4_server.o mach_debug_server.o mach_host_server.o - -# Where to find the relevant Mig source files -vpath %.cli $(srcdir)/vm $(srcdir)/device -vpath %.srv $(srcdir)/device $(srcdir)/ipc $(srcdir)/kern - - -# XXXX temporary -vm_fault.o: memory_object_user.h -vm_object.o: memory_object_default.h -ds_routines.o: device_reply.h - - - - -# -# Compilation flags -# - -DEFINES += -DMACH -DCMU -DMACH_KERNEL -DKERNEL -INCLUDES += -I. -I$(srcdir) -I$(srcdir)/util -I$(srcdir)/bogus \ - -I$(srcdir)/kern -I$(srcdir)/device \ - -I$(srcdir)/include -I$(srcdir)/include/mach/sa - -include $(sysdep)/Makefrag - -CPPFLAGS += -nostdinc $(DEFINES) $(INCLUDES) - -MIGFLAGS += $(CPPFLAGS) - -# -# Image -# -# (The newline in this command makes it much easier to read in make output.) -all: kernel -kernel: $(objfiles) - $(LD) -o $@ $(LDFLAGS) \ - $(objfiles) -# -# How to do some things -# - -# Building foo.h from foo.sym: -%.symc: %.sym - $(AWK) -f $(srcdir)/gensym.awk $< >$*.symc -%.symc.o: %.symc - $(CC) -S $(CPPFLAGS) $(CFLAGS) $(CPPFLAGS-$@) -x c -o $@ $< -%.h: %.symc.o - sed <$< -e 's/^[^*].*$$//' | \ - sed -e 's/^[*]/#define/' -e 's/mAgIc[^-0-9]*//' >$@ - -# Building from foo.cli -%.h %_user.c: %.cli - $(MIG) $(MIGFLAGS) -header $*.h -user $*_user.c -server /dev/null $< - -# Building from foo.srv -%_interface.h %_server.c: %.srv - $(MIG) $(MIGFLAGS) -header $*_interface.h -server $*_server.c -user /dev/null $< - - diff --git a/Makefile.in b/Makefile.in new file mode 100644 index 0000000..8ecc22c --- /dev/null +++ b/Makefile.in @@ -0,0 +1,513 @@ +# Makefile for Mach 4 kernel directory +# Copyright 1996 Free Software Foundation, Inc. +# This file is part of GNU Mach. Redistribution terms are not yet decided. + + + +# Variables from `configure'. +srcdir=@srcdir@ +systype=@systype@ +prefix=@prefix@ + +installed-clib=$(prefix)/lib/libcrt.a +exec_prefix=$(prefix) + +bootdir=$(exec_prefix)/boot +includedir=$(prefix)/include +libexecdir=$(exec_prefix)/libexec +bindir=$(exec_prefix)/bin + +sysdep = $(srcdir)/$(systype) + +cross_compiling=@cross_compiling@ + +# Programs found by configure. +AWK=@AWK@ +INSTALL=@INSTALL@ +CC=@CC@ +BUILD_CC=@BUILD_CC@ +LEX=@LEX@ +YACC=@YACC@ + +LEXLIB=@LEXLIB@ + +INSTALL_PROGRAM=$(INSTALL) +INSTALL_DATA=$(INSTALL) -m 644 + +CFLAGS=@CFLAGS@ + +# We build these locally +MIG=./mig +MIGCOM=./migcom + +all: + +# All the possible architectures +all-archs = i386 + +all-archs-subdirs = $(patsubst %,$(srcdir)/%/Subdirs,$(all-archs)) +all-archs-files = $(patsubst %,$(srcdir)/%/Files,$(all-archs)) + +# Files distributed from the top level directory: +topfiles = ChangeLog ChangeLog.0 ChangeLog.00 Drivers.macros Makefile.in \ + README INSTALL config.guess config.sub configure configure.in \ + gensym.awk install-sh version.c + +# All the source in each directory. + +# Old crud from a previous configure scheme +bogus-files = bootstrap_symbols.h fast_tas.h hw_footprint.h net_atm.h \ + power_save.h simple_clock.h stat_time.h xpr_debug.h \ + $(patsubst %,mach_%.h,assert counters debug fixpri host ipc_compat \ + ipc_debug ipc_test kdb ldebug lock_mon machine_routines mp_debug \ + pagemap pcsample ttd vm_debug) \ + $(patsubst %,norma_%.h,device ether ipc task vm) + +# Generic code for various hardware drivers +chips-files = atm.c audio.c bt431.c bt455.c bt459.c build_font.c busses.c \ + cfb_hdw.c cfb_misc.c dc503.c dtop_handlers.c dtop_hdw.c dz_hdw.c \ + fb_hdw.c fb_misc.c fdc_82077_hdw.c frc.c ims332.c isdn_79c30_hdw.c \ + kernel_font.c lance.c lance_mapped.c lk201.c mc_clock.c mouse.c \ + nc.c nw_mk.c pm_hdw.c pm_misc.c scc_8530_hdw.c screen.c \ + screen_switch.c serial_console.c sfb_hdw.c sfb_misc.c spans.c \ + tca100.c tca100_if.c xcfb_hdw.c xcfb_misc.c \ + atmreg.h audio_config.h audio_defs.h bt431.h bt455.h bt459.h \ + bt478.h busses.h dc503.h dtop.h dz_7085.h dz_defs.h eccreg.h \ + fdc_82077.h ims332.h isdn_79c30.h lance.h lk201.h mc_clock.h \ + nc.h nw.h nw_mk.h pm_defs.h scc_8530.h screen.h screen_defs.h \ + screen_switch.h serial_defs.h spans.h tca100.h tca100_if.h \ + vs42x_rb.h xcfb_monitor.h + +# Generic code for various SCSI unit types +scsi-files = disk_label.c mapped_scsi.c pc_scsi_label.c rz.c rz_audio.c \ + rz_cpu.c rz_disk.c rz_disk_bbr.c rz_host.c rz_tape.c scsi.c \ + scsi_alldevs.c scsi_comm.c scsi_cpu.c scsi_disk.c scsi_jukebox.c \ + scsi_optical.c scsi_printer.c scsi_rom.c scsi_scanner.c \ + scsi_tape.c scsi_worm.c \ + compat_30.h mapped_scsi.h rz.h rz_labels.h scsi.h scsi2.h \ + scsi_defs.h scsi_endian.h + +# Icky kernel debugger +ddb-cfiles = $(addprefix db_,$(ddb-names)) +ddb-names = access.c aout.c break.c command.c cond.c examine.c expr.c \ + ext_symtab.c input.c lex.c macro.c mp.c output.c print.c run.c \ + sym.c task_thread.c trap.c variables.c watch.c write_cmd.c +ddb-files = $(ddb-cfiles) $(patsubst %,db_%.h, \ + access break command expr lex output print run sym task_thread \ + variables watch) nlist.h stab.h tr.h + +# Device support interfaces +device-files = blkio.c chario.c cirbuf.c cons.c dev_lookup.c dev_name.c \ + dev_pager.c device_init.c dk_label.c ds_routines.c net_io.c subrs.c \ + buf.h cirbuf.h conf.h cons.h dev_hdr.h dev_master.h device_port.h \ + device_types_kernel.h ds_routines.h errno.h if_ether.h if_hdr.h \ + io_req.h net_io.h param.h tty.h memory_object_reply.cli \ + dev_forward.defs device_pager.srv device_reply.cli + +# IPC implementation +ipc-cfiles = $(addprefix ipc_,$(ipc-names)) \ + mach_msg.c mach_port.c mach_rpc.c mach_debug.c fipc.c +ipc-names = entry.c hash.c init.c kmsg.c marequest.c mqueue.c \ + notify.c object.c port.c pset.c right.c space.c splay.c \ + table.c target.c thread.c +ipc-files = $(ipc-cfiles) mach_port.srv fipc.h port.h mach_msg.h \ + $(patsubst %,ipc_%.h, \ + entry hash init kmsg kmsg_queue machdep marequest mqueue notify \ + object port pset right space splay table target thread types) + +# "kernel" implementation (tasks, threads, trivia, etc.) +kern-cfiles = act.c ast.c bootstrap.c counters.c debug.c eventcount.c \ + exception.c host.c ipc_host.c ipc_kobject.c ipc_mig.c ipc_sched.c \ + ipc_tt.c kalloc.c lock.c lock_mon.c mach_clock.c mach_factor.c \ + machine.c pc_sample.c printf.c priority.c processor.c profile.c \ + queue.c sched_prim.c startup.c strings.c syscall_emulation.c \ + syscall_subr.c syscall_sw.c task.c thread.c thread_swap.c \ + time_stamp.c timer.c xpr.c zalloc.c elf-load.c +kern-files = $(kern-cfiles) \ + act.h assert.h ast.h compat_xxx_defs.h counters.h cpu_number.h \ + debug.h eventcount.h host.h ipc_host.h ipc_kobject.h ipc_sched.h \ + ipc_tt.h kalloc.h kern_types.h lock.h mach_param.h macro_help.h \ + pc_sample.h processor.h queue.h refcount.h sched.h sched_prim.h \ + shuttle.h strings.h syscall_emulation.h syscall_subr.h syscall_sw.h \ + task.h thread.h thread_swap.h time_out.h time_stamp.h timer.h xpr.h \ + zalloc.h \ + mach.srv mach4.srv mach_debug.srv mach_host.srv + +# Still more trivia +util-cfiles = about_to_die.c cpu.c cpu_init.c die.c putchar.c puts.c +util-files = $(util-cfiles) config.h cpu.h cpu_subs.h cpus.h debug.h \ + phys_mem.h ref_count.h + +# Virtual memory implementation +vm-cfiles = $(addprefix vm_,$(vm-names)) memory_object.c +vm-names = debug.c external.c fault.c init.c kern.c map.c \ + object.c pageout.c resident.c user.c +vm-files = $(vm-cfiles) memory_object_default.cli memory_object_user.cli \ + memory_object.h pmap.h $(patsubst %,vm_%.h, \ + external fault kern map object page pageout user) + + + +# Object files that go into the kernel image. (This will be augmented by the +# machine dependent Makefile fragment.) + +# Basic kernel source for Mach +objfiles := $(subst .c,.o,$(ipc-cfiles) $(kern-cfiles) \ + $(util-cfiles) $(vm-cfiles)) +vpath %.c $(srcdir)/ipc $(srcdir)/kern $(srcdir)/util $(srcdir)/vm + +# These device support files are always needed; the others are needed only +# if particular drivers want the routines. +# XXX functions in device/subrs.c should each be moved elsewhere +objfiles += cons.o dev_lookup.o dev_name.o dev_pager.o device_init.o \ + ds_routines.o subrs.o net_io.o blkio.o chario.o +vpath %.c $(srcdir)/device + +# DDB support -- eventually to die. Please. +objfiles += $(subst .c,.o,$(ddb-cfiles)) +vpath %.c $(srcdir)/ddb + +# Version number +objfiles += version.o +vpath version.c $(srcdir) + + +# Header files installed for user use +device-headers= $(addprefix device/,audio_status.h bpf.h device.defs \ + device_reply.defs device_request.defs device_types.defs \ + device_types.h disk_status.h net_status.h tape_status.h \ + tty_status.h) +mach-headers= $(addprefix mach/, bootstrap.defs default_pager.defs \ + default_pager_helper.defs default_pager_types.defs \ + exc.defs mach.defs mach4.defs mach_host.defs mach_norma.defs \ + mach_port.defs mach_types.defs memory_object.defs \ + memory_object_default.defs norma_task.defs notify.defs \ + std_types.defs \ + alert.h boolean.h boot.h default_pager_types.h exception.h \ + host_info.h kern_return.h mach_param.h mach_types.h \ + machine.h macro_help.h memory_object.h message.h mig_errors.h \ + msg_type.h multiboot.h norma_special_ports.h notify.h \ + pc_sample.h policy.h port.h proc_ops.h processor_info.h \ + profil.h profilparam.h rpc.h std_types.h syscall_sw.h \ + task_info.h task_special_ports.h thread_info.h \ + thread_special_ports.h thread_status.h thread_switch.h \ + time_value.h version.h vm_attributes.h vm_inherit.h \ + vm_param.h vm_prot.h vm_statistics.h) + +mach-debug-headers:= $(addprefix mach_debug/, hash_info.h ipc_info.h \ + mach_debug.defs mach_debug_types.defs mach_debug_types.h \ + pc_info.h vm_info.h zone_info.h) + +installed-headers:= $(device-headers) $(mach-headers) + + + +# We steal routines from the C library and put them here. +# If we link against the C library directly, then we have to hope that we have +# correctly found all the dependencies that might bring in C library code. +# This method is much safer because it's easy to check this one object file +# for sanity. +objfiles += clib-routines.o + +clib-routines = memcpy memset bcopy bzero htonl ntohl ntohs + +clib-routines.o: $(installed-clib) + $(LD) -o clib-routines.o -r $(addprefix -u ,$(clib-routines)) $(installed-clib) + +# This rule checks clib-routines and makes sure it doesn't have any +# extra symbols. +kernel: check-clib-routines +check-clib-routines: clib-routines.o + (set -e; test `echo $(clib-routines) | wc -w` -eq `nm $< | wc -l`; \ + touch check-clib-routines) + + +# Empty dependency file +clib-routines.d:; touch $@ + + + +# Automatically generated source + +# User stubs +objfiles += memory_object_user_user.o memory_object_default_user.o \ + device_reply_user.o memory_object_reply_user.o + +# Server stubs +objfiles += device_server.o device_pager_server.o mach_port_server.o \ + mach_server.o mach4_server.o mach_debug_server.o mach_host_server.o + +# Where to find the relevant Mig source files +vpath %.cli $(srcdir)/vm $(srcdir)/device +vpath %.srv $(srcdir)/device $(srcdir)/ipc $(srcdir)/kern + + + + +# +# Compilation flags +# + +DEFINES += -DMACH -DCMU -DMACH_KERNEL -DKERNEL +INCLUDES += -I. -I$(srcdir) -I$(srcdir)/include -I$(srcdir)/include/mach/sa \ + -I$(srcdir)/bogus -I$(srcdir)/util -I$(srcdir)/kern -I$(srcdir)/device + + +include $(sysdep)/Makefrag + +CPPFLAGS += -nostdinc $(DEFINES) $(INCLUDES) + +MIGFLAGS += $(CPPFLAGS) + + +all: kernel cross-migcom + + +# +# Kernel Image +# +# (The newline in this command makes it much easier to read in make output.) +kernel: $(objfiles) + $(LD) -o $@ $(LDFLAGS) \ + $(objfiles) + + + +# +# Installation +# +installed-headers-names = $(addprefix $(includedir)/,$(installed-headers)) +installed-sysdep-headers-names = $(addprefix $(includedir)/,$($(systype)-installed-headers)) +install: mkinstalldirs kernel $(installed-headers-names) $(installed-sysdep-headers-names) cross-mig cross-migcom + $(INSTALL_PROGRAM) kernel $(bootdir)/gnumach + $(INSTALL_PROGRAM) cross-mig $(bindir)/mig + $(INSTALL_PROGRAM) cross-migcom $(libexecdir)/mig + -ln -s $(systype) $(includedir)/mach/machine + +$(installed-headers-names): $(includedir)/%: $(srcdir)/include/% + $(INSTALL_DATA) $< $@ + +$(installed-sysdep-headers-names): $(includedir)/%: $(sysdep)/include/% + $(INSTALL_DATA) $< $@ + +mkinstalldirs: + mkdir -p $(bootdir) $(includedir) $(includedir)/device \ + $(includedir)/mach $(includedir)/mach/$(systype) + + +# +# Building the distribution +# + +dist: + rm -rf gnumach-$(version) + mkdir gnumach-$(version) + # Directories + mkdir gnumach-$(version)/{bogus,chips,ddb,device,ipc,kern,mig,scsi,util,vm,include} + mkdir gnumach-$(version)/include/{mach,device,mach_debug} + for dir in `cat $(all-archs-subdirs)`; do \ + mkdir -p gnumach-$(version)/$$dir; \ + done + # Files + ln $(addprefix $(srcdir)/,$(topfiles)) gnumach-$(version) + ln $(addprefix $(srcdir)/bogus/,$(bogus-files)) gnumach-$(version)/bogus + ln $(addprefix $(srcdir)/chips/,$(chips-files)) gnumach-$(version)/chips + ln $(addprefix $(srcdir)/ddb/,$(ddb-files)) gnumach-$(version)/ddb + ln $(addprefix $(srcdir)/device/,$(device-files)) gnumach-$(version)/device + ln $(addprefix $(srcdir)/ipc/,$(ipc-files)) gnumach-$(version)/ipc + ln $(addprefix $(srcdir)/kern/,$(kern-files)) gnumach-$(version)/kern + ln $(addprefix $(srcdir)/mig/,$(mig-files)) gnumach-$(version)/mig + ln $(addprefix $(srcdir)/scsi/,$(scsi-files)) gnumach-$(version)/scsi + ln $(addprefix $(srcdir)/util/,$(util-files)) gnumach-$(version)/util + ln $(addprefix $(srcdir)/vm/,$(vm-files)) gnumach-$(version)/vm + ln $(addprefix $(srcdir)/include/,$(mach-headers)) gnumach-$(version)/include/mach + ln $(addprefix $(srcdir)/include/,$(device-headers)) gnumach-$(version)/include/device + ln $(addprefix $(srcdir)/include/,$(mach-debug-headers)) gnumach-$(version)/include/mach_debug + # Files in arch dirs + for file in `cat $(all-archs-files)`; do \ + ln $(srcdir)/$$file gnumach-$(version)/`dirname $$file`; \ + done + for arch in $(all-archs); do \ + ln -s $$arch gnumach-$(version)/arch/include/mach/machine; \ + done + + + +# +# Autoconf support +# +$(srcdir)/configure: configure.in + cd $(srcdir) && autoconf + +Makefile: Makefile.in config.status + ./config.status + +config.status: configure + ./config.status --recheck + +vpath %.in $(srcdir) +vpath configure $(srcdir) + + + +# +# How to do some things +# + +# Building foo.h from foo.sym: +%.symc: %.sym + $(AWK) -f $(srcdir)/gensym.awk $< >$*.symc +%.symc.o: %.symc + $(CC) -S $(CPPFLAGS) $(CFLAGS) $(CPPFLAGS-$@) -x c -o $@ $< +%.h: %.symc.o + sed <$< -e 's/^[^*].*$$//' | \ + sed -e 's/^[*]/#define/' -e 's/mAgIc[^-0-9]*//' >$@ + +# Building from foo.cli +%.h %_user.c: %.cli $(MIG) $(MIGCOM) + $(MIG) $(MIGFLAGS) -header $*.h -user $*_user.c -server /dev/null $< + +# Building from foo.srv +%_interface.h %_server.c: %.srv $(MIG) $(MIGCOM) + $(MIG) $(MIGFLAGS) -header $*_interface.h -server $*_server.c -user /dev/null $< + +# +# Dependency generation +# + +# Include dependency files +ifneq ($(no_deps),t) + +# For each file generated by MiG we need a .d file. +servers = $(filter %_server.o,$(objfiles)) +include $(subst _server.o,.migs_d,$(servers)) /dev/null +include $(subst _server.o,.migsh_d,$(servers)) /dev/null + +# vm_user.o fits the pattern, but is not actually a MiG-related file. +users = $(filter-out vm_user.o,$(filter %_user.o,$(objfiles))) +include $(subst _user.o,.migu_d,$(users)) /dev/null +include $(subst _user.o,.miguh_d,$(users)) /dev/null + +# For each .o file we need a .d file. +include $(subst .o,.d,$(filter %.o,$(objfiles))) /dev/null + +endif + +# Here is how to make those dependency files + +%.migs_d: %.srv + (set -e; $(CPP) $(MIGFLAGS) -M -MG -x c $< | \ + sed -e 's/\.srv\.o:/_server.c $@:/' > $@) + +%.migu_d: %.cli + (set -e; $(CPP) $(MIGFLAGS) -M -MG -x c $< | \ + sed -e 's/\.cli\.o:/_user.c $@:/' > $@) + +%.migsh_d: %.migs_d + sed -e 's/_server\.c /_interface.h /' -e 's/migs_d/migsh_d/' < $< > $@ + +%.miguh_d: %.migu_d + sed -e 's/_user\.c /.h /' -e 's/migu_d/miguh_d/' < $< > $@ + +# Generic rule for $(CC) based compilation for making dependencies +define make-deps +set -e; $(CC) $(CFLAGS) $(CPPFLAGS) -M -MG $< | \ + sed > $@.new -e 's/$*\.o:/$*.o $@:/' +mv -f $@.new $@ +endef + +%.d: %.c; $(make-deps) +%.d: %.S; $(make-deps) + +# .s files don't go through the preprocessor, so we do this +# This rule must come *after* the genuine ones above, so that +# make doesn't build a .s file and then make an empty dependency +# list. +%.d: %.s + echo '$*.o: $<' > $@ + + +# How to build MiG: + +mig-objfiles = error.o global.o header.o lexxer.o migcom.o parser.o routine.o \ + server.o statement.o string.o type.o user.o utils.o +mig-csrcfiles = $(subst .o,.c,$(mig-objfiles)) +mig-othersrc = alloc.h boolean.h error.h global.h lexxer.h message.h \ + mig_string.h routine.h statement.h type.h utils.h write.h \ + lexxer.l parser.y mig.sh parser.h cpu.sym + +mig-files = $(mig-csrcfiles) $(mig-othersrc) ChangeLog + +vpath cpu.sym $(srcdir)/mig + +# Don't use $(CPPFLAGS) here; MiG needs none of the Mach headers except +# what happens automagically to build cpu.h. + +# Here's how to build MiG for the target. +cross-mig-objfiles = $(addprefix cross-,$(mig-objfiles)) + +$(cross-mig-objfiles): cross-%.o: $(srcdir)/mig/%.c + $(CC) -c $(CFLAGS) -I. -I$(srcdir)/mig -o $@ $< + +./cross-migcom: $(cross-mig-objfiles) + $(CC) $(CFLAGS) $(cross-mig-objfiles) $(LEXLIB) -o $@ + +# Dependencies for these .o files +ifneq ($(no_deps),t) +include $(subst .o,.d,$(cross-mig-objfiles)) /dev/null +endif + +$(subst .o,.d,$(cross-mig-objfiles)): cross-%.d: $(srcdir)/mig/%.c + set -e; $(CC) $(CFLAGS) -M -MG $< | \ + sed > $@.new -e 's/$*\.o:/$*.o $@:/' + mv -f $@.new $@ + + +ifeq ($(cross_compiling),yes) +# When cross compiling, we build two migcoms; one for our use and one to +# install. Otherwise, we just build the one. + +$(mig-objfiles): %.o: $(srcdir)/mig/%.c + $(BUILD_CC) -c $(BUILD_CFLAGS) -I. -I$(srcdir)/mig -o $@ $< + +./migcom: $(mig-objfiles) + $(BUILD_CC) $(BUILD_CFLAGS) $(mig-objfiles) $(LEXLIB) -o $@ + +ifneq ($(no_deps),t) +include $(subst .o,.d,$(mig-objfiles)) +endif + +$(subst .o,.d,$(mig-objfiles)): %.d: $(srcdir)/mig/%.c + set -e; $(BUILD_CC) $(BUILD_CFLAGS) -M -MG $< | \ + sed > $@.new -e 's/$*\.o:/$*.o $@:/' + mv -f $@.new $@ + +else +./migcom: ./cross-migcom + rm -f $@ + $(LN) $< $@ +endif + +$(srcdir)/mig/lexxer.c: $(srcdir)/mig/lexxer.l + $(LEX) $(LFLAGS) $< + mv lex.yy.c $*.c + +$(srcdir)/mig/parser.c $(srcdir)/mig/parser.h: $(srcdir)/mig/parser.y + $(YACC) $(YFLAGS) -d $< + mv y.tab.c $(srcdir)/mig/parser.c + mv y.tab.h $(srcdir)/mig/parser.h + +# Version of mig script that looks for the right local tools +ifeq ($(cross_compiling),yes) +./mig: $(srcdir)/mig/mig.sh Makefile + sed -e 's,@MIGDIR@,.,g' \ + -e 's,@CPP@,${BUILD_CC} -x c-header -E,g' \ + $< >$@.tmp && chmod +x $@.tmp && mv -f $@.tmp $@ +else +./mig: $(srcdir)/mig/mig.sh Makefile + sed -e 's,@MIGDIR@,.,g' \ + -e 's,@CPP@,${CC} -x c-header -E,g' \ + $< >$@.tmp && chmod +x $@.tmp && mv -f $@.tmp $@ +endif + + @@ -0,0 +1,37 @@ +-*- Text -*- +This is the GNU mach 0.1 distribution. + +This kernel is derived from the Utah kernel source. We use it to run +the Hurd on. It is being distributed by us so that we can more easily +modify the source, and so that it will work with the normal GNU coding +standards and Makefile conventions. + +libmach, bootloaders, default pagers, and the like are not part of +this distribution. For libraries, we refer you to the GNU C library, +which has Mach support. For bootloaders, we refer you to GRUB. (This +kernel can be loaded by any bootloader that uses the multiboot +standard.) For default pagers, we refer you to your particular system +that you will run on top of Mach. The upcoming Hurd distribution +(version 0.2) will contain the code that used to be in the Utah kernel +distributions for doing the work of the default pager. + +The interface generator `MiG' is still part of this distribution. +Perhaps at some later point it will be split out, as it surely should +be. + +Generic installation instructions may be found in the file INSTALL. + +By default, you get a kernel with no device drivers for disks and +network devices. This is not what you want! Examine the file +`README-Drivers' in the directory for the machine type your kernel is +on (e.g., `i386/README-Drivers') for a list of configure --enable +switches. Give the appropriate set for your hardware. It is +generally safe to specify switches for hardware you don't have; in +this way you can build kernels that work on different physical machine +set ups. + +The specific switches you give to configure are always recorded in the +file `config.status'. So you can always tell what options you used to +build a particular kernel. + + diff --git a/configure.in b/configure.in new file mode 100644 index 0000000..aef8c73 --- /dev/null +++ b/configure.in @@ -0,0 +1,45 @@ +dnl Configure script for GNU Mach. +dnl Copyright 1997 Free Software Foundation, Inc. +dnl This file is part of GNU Mach. Redistribution terms are not yet decided. + +AC_INIT(kern/ipc_kobject.c) + +# +# Deduce output var `systype' from configuration parms. +# +AC_CANONICAL_HOST + +case "$host_cpu" in +i[[345]]86) systype=i386 ;; +*) AC_MSG_ERROR([unsupported CPU type]) ;; +esac + +AC_SUBST(systype) +AC_SUBST(cross_compiling) + +# Default prefix is / for the kernel. +AC_PREFIX_DEFAULT() + +# +# Programs +# +AC_PROG_CC +AC_PROG_AWK +AC_PROG_INSTALL +AC_PROG_LEX +AC_PROG_YACC +AC_CHECK_TOOL(MIG, mig, mig) + +if test $host != $build; then + AC_CHECK_PROG(BUILD_CC, gcc cc) +fi + +# Set up `machine' link in build directory for easier header file location. +AC_LINK_FILES(${systype}/${systype},machine) + +# Do machine-specific configuration last so that it can override anything +# set above if necessary. + +AC_CONFIG_SUBDIRS($systype) + +AC_OUTPUT(Makefile) diff --git a/device/ds_routines.c b/device/ds_routines.c index 9880f7e..9f3e039 100644 --- a/device/ds_routines.c +++ b/device/ds_routines.c @@ -66,6 +66,7 @@ #ifdef i386 #include <i386at/device_emul.h> +#include <i386/device-drivers.h> #endif #ifdef i386 @@ -1428,7 +1429,7 @@ void io_done_thread_continue() register spl_t s; register io_req_t ior; -#if defined (i386) && defined (LINUX_DEV) +#if defined (i386) && defined (LINUX_DEV) && defined (CONFIG_INET) free_skbuffs (); #endif s = splio(); diff --git a/i386/Drivers.in b/i386/Drivers.in new file mode 100644 index 0000000..e4d2260 --- /dev/null +++ b/i386/Drivers.in @@ -0,0 +1,117 @@ +AC_INIT(i386/i386asm.sym) + +sinclude([../Drivers.macros]) + +AC_CONFIG_HEADER(device-drivers.h) + +dnl Aliases have to come first. + +AC_DRIVER_ALIAS(3c501, el1) +AC_DRIVER_ALIAS(3c503, el2) +AC_DRIVER_ALIAS(3c59x, vortex) +AC_DRIVER_ALIAS(hpj2577, hp100) +AC_DRIVER_ALIAS(hpj2573, hp100) +AC_DRIVER_ALIAS(hpj2585, hp100) +AC_DRIVER_ALIAS(hp27248b, hp100) +AC_DRIVER_ALIAS(eth32, eth16i) +AC_DRIVER_ALIAS(znote, znet) +AC_DRIVER_ALIAS(de100, depca) +AC_DRIVER_ALIAS(de101, depca) +AC_DRIVER_ALIAS(de200, depca) +AC_DRIVER_ALIAS(de201, depca) +AC_DRIVER_ALIAS(de202, depca) +AC_DRIVER_ALIAS(de210, depca) +AC_DRIVER_ALIAS(de422, depca) +AC_DRIVER_ALIAS(de203, ewrk3) +AC_DRIVER_ALIAS(de204, ewrk3) +AC_DRIVER_ALIAS(de205, ewrk3) +AC_DRIVER_ALIAS(de425, de4x5) +AC_DRIVER_ALIAS(de434, de4x5) +AC_DRIVER_ALIAS(de435, de4x5) +AC_DRIVER_ALIAS(de500, de4x5) +AC_DRIVER_ALIAS(3c507, el16) +AC_DRIVER_ALIAS(3c505, elplus) + + +dnl Kinds of drivers that have gobs of source files that get brought in. + +AC_DRIVER_CLASS(scsi, CONFIG_SCSI, constants.o hosts.o scsi.o scsi_debug.o scsi_ioctl.o scsi_proc.o scsicam.o sd.o sd_ioctl.o sr.o sr_ioctl.o) + +AC_DRIVER_CLASS(net, CONFIG_INET, linux_net.o Space.o dev.o net_init.o) + +dnl Strictly speaking, we could have a `linux' option too, but it's +dnl not possible to built a useful kernel without at least one Linux +dnl driver, so that's not really necessary. + + +dnl Serial devices + +AC_DRIVER(com, CONFIG_MACH_COM, com.o) + + +dnl non-SCSI Disk controllers + +AC_DRIVER(floppy, CONFIG_BLK_DEV_FD, floppy.o) +AC_DRIVER(ide, CONFIG_BLK_DEV_IDE, cmd640.o ide-cd.o ide.o rz1000.o triton.o) + + +dnl SCSI Disk controllers + +AC_DRIVER(advansys, CONFIG_SCSI_ADVANSYS, advansys.o, scsi) +AC_DRIVER(buslogic, CONFIG_SCSI_BUSLOGIC, BusLogic.o, scsi) +AC_DRIVER(u1434f, CONFIG_SCSI_U14_34F, u14-34f.o, scsi) +AC_DRIVER(ultrastor, CONFIG_SCSI_ULTRASTOR, ultrastor.o, scsi) +AC_DRIVER(aha152x, CONFIG_SCSI_AHA152X, aha152x.o, scsi) +AC_DRIVER(aha1542, CONFIG_SCSI_AHA1542, aha1542.o, scsi) +AC_DRIVER(aha1740, CONFIG_SCSI_AHA1740, aha1740.o, scsi) +AC_DRIVER(aic7xxx, CONFIG_SCSI_AIC7XXX, aic7xxx.o, scsi) +AC_DRIVER(futuredomain, CONFIG_SCSI_FUTURE_DOMAIN, fdomain.o, scsi) +AC_DRIVER(in2000, CONFIG_SCSI_IN2000, in2000.o, scsi) +AC_DRIVER(ncr5380, CONFIG_SCSI_GENERIC_NCR5380, g_NCR5380.o, scsi) +AC_DRIVER(ncr53c406a, CONFIG_SCSI_NCR53C406A, NCR53c406a.o, scsi) +AC_DRIVER(qlogic, CONFIG_SCSI_QLOGIC, qlogic.o, scsi) +AC_DRIVER(pas16, CONFIG_SCSI_PASS16, pas16.o, scsi) +AC_DRIVER(seagate, CONFIG_SCSI_SEAGATE, seagate.o, scsi) +AC_DRIVER(t128, CONFIG_SCSI_T128, t128.o, scsi) +AC_DRIVER(ncr53c7xx, CONFIG_SCSI_NCR53C7xx, 53c7,8xx.o, scsi) +AC_DRIVER(eatadma, CONFIG_SCSI_EATA_DMA, eata_dma.o, scsi) +AC_DRIVER(eatapio, CONFIG_SCSI_EATA_PIO, eata_pio.o, scsi) +AC_DRIVER(wd7000, CONFIG_SCSI_7000FASST, wd7000.o, scsi) +AC_DRIVER(eata, CONFIG_SCSI_EATA, eata.o, scsi) +AC_DRIVER(am53c974, CONFIG_SCSI_AM53C974, AM53C974.o, scsi) + + +dnl Ethernet controllers + +AC_DRIVER(ne2000, CONFIG_NE2000, ne.o 8390.o, net) +AC_DRIVER(el2, CONFIG_EL2, 3c403.o 8390.o, net) +AC_DRIVER(wd80x3, CONFIG_WD80x3, wd.o 8390.o, net) +AC_DRIVER(el1, CONFIG_EL1, 3c501.o, net) +AC_DRIVER(ul, CONFIG_ULTRA, smc-ultra.o 8390.o, net) +AC_DRIVER(hplanplus, CONFIG_HPLAN_PLUS, hp-plus.o, net) +AC_DRIVER(hplan, CONFIG_HPLAN, hp.o 8390.o, net) +AC_DRIVER(vortex, CONFIG_VORTEX, 3c59x.o, net) +AC_DRIVER(seeq8005, CONFIG_SEEQ8005, seeq8005.o, net) +AC_DRIVER(hp100, CONFIG_HP100, hp100.o, net) +AC_DRIVER(ac3200, CONFIG_AC3200, ac3200.o 8390.o, net) +AC_DRIVER(e2100, CONFIG_E2100, e2100.o 8390.o, net) +AC_DRIVER(at1700, CONFIG_AT1700, at1700.o, net) +AC_DRIVER(eth16i, CONFIG_ETH16I, eth16i.o, net) +AC_DRIVER(znet, CONFIG_ZNET, znet.o, net) +AC_DRIVER(eexpress, CONFIG_EEXPRESS, eexpress.o, net) +AC_DRIVER(eexpresspro, CONFIG_EEXPRESS_PRO, eepro.o, net) +AC_DRIVER(depca, CONFIG_DEPCA, depca.o, net) +AC_DRIVER(ewrk3, CONFIG_EWRK3, ewrk3.o, net) +AC_DRIVER(de4x5, CONFIG_DE4X5, de4x5.o, net) +AC_DRIVER(apricot, CONFIG_APRICOT, apricot.o, net) +AC_DRIVER(wavelan, CONFIG_WAVELAN, wavelan.o, net) +AC_DRIVER(el16, CONFIG_EL16, 3c507.o, net) +AC_DRIVER(elplus, CONFIG_ELPLUS, 3c505.o, net) +AC_DRIVER(de600, CONFIG_DE600, de600.o, net) +AC_DRIVER(de620, CONFIG_DE620, de620.o, net) +AC_DRIVER(skg16, CONFIG_SK_G16, sk_g16.o, net) +AC_DRIVER(ni52, CONFIG_NI52, ni52.o, net) +AC_DRIVER(ni65, CONFIG_NI65, ni65.o, net) +AC_DRIVER(atp, CONFIG_ATP, apt.o, net) + +AC_OUTPUT(driverlist) diff --git a/i386/Files b/i386/Files new file mode 100644 index 0000000..9521be3 --- /dev/null +++ b/i386/Files @@ -0,0 +1,628 @@ +i386/Makefrag +i386/bogus/aha.h +i386/bogus/asc.h +i386/bogus/at3c501.h +i386/bogus/blit.h +i386/bogus/com.h +i386/bogus/de6c.h +i386/bogus/eaha.h +i386/bogus/evc.h +i386/bogus/fd.h +i386/bogus/fpe.h +i386/bogus/hd.h +i386/bogus/hpp.h +i386/bogus/lpr.h +i386/bogus/mach_machine_routines.h +i386/bogus/ne.h +i386/bogus/ns8390.h +i386/bogus/nscsi.h +i386/bogus/par.h +i386/bogus/pc586.h +i386/bogus/platforms.h +i386/bogus/rc.h +i386/bogus/sbic.h +i386/bogus/sci.h +i386/bogus/sii.h +i386/bogus/siop.h +i386/bogus/ul.h +i386/bogus/wd.h +i386/bogus/wt.h +i386/dos/dos_buf.c +i386/dos/dos_check_err.c +i386/dos/dos_close.c +i386/dos/dos_fstat.c +i386/dos/dos_gettimeofday.c +i386/dos/dos_io.h +i386/dos/dos_open.c +i386/dos/dos_read.c +i386/dos/dos_rename.c +i386/dos/dos_seek.c +i386/dos/dos_tcgetattr.c +i386/dos/dos_unlink.c +i386/dos/dos_write.c +i386/dos/putchar.c +i386/dos/i16/gdt.h +i386/dos/i16/gdt_sels.h +i386/dos/i16/i16_crt0.S +i386/dos/i16/i16_crt0.h +i386/dos/i16/i16_dos.h +i386/dos/i16/i16_dos_mem.c +i386/dos/i16/i16_exit.c +i386/dos/i16/i16_main.c +i386/dos/i16/i16_putchar.c +i386/dos/i16/i16_vcpi.c +i386/dos/i16/i16_xms.c +i386/dos/i16/idt.h +i386/dos/i16/phys_mem_sources.h +i386/i386/ast.h +i386/i386/ast_check.c +i386/i386/ast_types.h +i386/i386/cpu_number.h +i386/i386/cswitch.S +i386/i386/db_disasm.c +i386/i386/db_interface.c +i386/i386/db_machdep.h +i386/i386/db_trace.c +i386/i386/debug.h +i386/i386/debug_i386.c +i386/i386/debug_trace.S +i386/i386/eflags.h +i386/i386/fpu.c +i386/i386/fpe.b +i386/i386/fpe.b_elf +i386/i386/fpe_linkage.c +i386/i386/fpu.h +i386/i386/gdt.c +i386/i386/gdt.h +i386/i386/hardclock.c +i386/i386/i386asm.sym +i386/i386/idt-gen.h +i386/i386/idt.c +i386/i386/idt_inittab.S +i386/i386/io_emulate.c +i386/i386/io_emulate.h +i386/i386/io_map.c +i386/i386/io_port.h +i386/i386/iopb.c +i386/i386/iopb.h +i386/i386/ipl.h +i386/i386/ktss.c +i386/i386/ktss.h +i386/i386/ldt.c +i386/i386/kttd_interface.c +i386/i386/kttd_machdep.h +i386/i386/ldt.h +i386/i386/lock.h +i386/i386/locore.S +i386/i386/loose_ends.c +i386/i386/mach_i386.srv +i386/i386/mach_param.h +i386/i386/machine_routines.h +i386/i386/machspl.h +i386/i386/mp_desc.c +i386/i386/mp_desc.h +i386/i386/pcb.c +i386/i386/phys.c +i386/i386/pic.c +i386/i386/pic.h +i386/i386/pio.h +i386/i386/pit.c +i386/i386/pit.h +i386/i386/pmap.h +i386/i386/proc_reg.h +i386/i386/sched_param.h +i386/i386/seg.c +i386/i386/seg.h +i386/i386/setjmp.h +i386/i386/spl.S +i386/i386/spl.h +i386/i386/thread.h +i386/i386/time_stamp.h +i386/i386/timer.h +i386/i386/trap.c +i386/i386/trap.h +i386/i386/tss.h +i386/i386/user_ldt.c +i386/i386/user_ldt.h +i386/i386/vm_param.h +i386/i386/vm_tuning.h +i386/i386/xpr.h +i386/i386/zalloc.h +i386/i386at/asm_startup.h +i386/i386at/autoconf.c +i386/i386at/blit.c +i386/i386at/blitreg.h +i386/i386at/blituser.h +i386/i386at/blitvar.h +i386/i386at/boothdr.S +i386/i386at/com.c +i386/i386at/comreg.h +i386/i386at/conf.c +i386/i386at/cram.h +i386/i386at/cons_conf.c +i386/i386at/dev_hdr.h +i386/i386at/device_emul.h +i386/i386at/disk.h +i386/i386at/ds8390.h +i386/i386at/eisa.h +i386/i386at/fd.c +i386/i386at/fdreg.h +i386/i386at/i386at_ds_routines.c +i386/i386at/i8250.h +i386/i386at/i82586.h +i386/i386at/idt.h +i386/i386at/if_3c501.c +i386/i386at/lpr.c +i386/i386at/if_3c501.h +i386/i386at/if_3c503.h +i386/i386at/if_ne.c +i386/i386at/if_de6c.c +i386/i386at/if_de6c.h +i386/i386at/if_de6s.S +i386/i386at/if_nereg.h +i386/i386at/if_ns8390.c +i386/i386at/if_ns8390.h +i386/i386at/if_par.c +i386/i386at/if_par.h +i386/i386at/if_pc586.c +i386/i386at/if_pc586.h +i386/i386at/if_wd8003.h +i386/i386at/immc.c +i386/i386at/int_init.c +i386/i386at/interrupt.S +i386/i386at/iopl.c +i386/i386at/kd.c +i386/i386at/kd.h +i386/i386at/kd_event.c +i386/i386at/kd_mouse.c +i386/i386at/kd_queue.c +i386/i386at/kd_queue.h +i386/i386at/kdasm.S +i386/i386at/kdsoft.h +i386/i386at/gpl/if_hpp.c +i386/i386at/gpl/if_ns.c +i386/i386at/gpl/if_nsreg.h +i386/i386at/gpl/if_ul.c +i386/i386at/gpl/if_wd.c +i386/i386at/gpl/linux/linux_autoirq.c +i386/i386at/gpl/linux/linux_block.c +i386/i386at/gpl/linux/linux_dma.c +i386/i386at/gpl/linux/linux_emul.h +i386/i386at/gpl/linux/linux_init.c +i386/i386at/gpl/linux/linux_irq.c +i386/i386at/gpl/linux/linux_kmem.c +i386/i386at/gpl/linux/linux_misc.c +i386/i386at/gpl/linux/linux_net.c +i386/i386at/gpl/linux/linux_port.c +i386/i386at/gpl/linux/linux_printk.c +i386/i386at/gpl/linux/linux_sched.c +i386/i386at/gpl/linux/linux_soft.c +i386/i386at/gpl/linux/linux_timer.c +i386/i386at/gpl/linux/linux_version.c +i386/i386at/gpl/linux/linux_vsprintf.c +i386/i386at/gpl/linux/block/cmd640.c +i386/i386at/gpl/linux/block/floppy.c +i386/i386at/gpl/linux/block/genhd.c +i386/i386at/gpl/linux/block/ide-cd.c +i386/i386at/gpl/linux/block/ide.c +i386/i386at/gpl/linux/block/ide.h +i386/i386at/gpl/linux/block/ide_modes.h +i386/i386at/gpl/linux/block/rz1000.c +i386/i386at/gpl/linux/block/triton.c +i386/i386at/gpl/linux/include/asm/bitops.h +i386/i386at/gpl/linux/include/asm/byteorder.h +i386/i386at/gpl/linux/include/asm/delay.h +i386/i386at/gpl/linux/include/asm/errno.h +i386/i386at/gpl/linux/include/asm/dma.h +i386/i386at/gpl/linux/include/asm/fcntl.h +i386/i386at/gpl/linux/include/asm/floppy.h +i386/i386at/gpl/linux/include/asm/io.h +i386/i386at/gpl/linux/include/asm/irq.h +i386/i386at/gpl/linux/include/asm/ioctl.h +i386/i386at/gpl/linux/include/asm/page.h +i386/i386at/gpl/linux/include/asm/param.h +i386/i386at/gpl/linux/include/asm/processor.h +i386/i386at/gpl/linux/include/asm/ptrace.h +i386/i386at/gpl/linux/include/asm/resource.h +i386/i386at/gpl/linux/include/asm/segment.h +i386/i386at/gpl/linux/include/asm/sigcontext.h +i386/i386at/gpl/linux/include/asm/signal.h +i386/i386at/gpl/linux/include/asm/socket.h +i386/i386at/gpl/linux/include/asm/stat.h +i386/i386at/gpl/linux/include/asm/statfs.h +i386/i386at/gpl/linux/include/asm/string.h +i386/i386at/gpl/linux/include/asm/system.h +i386/i386at/gpl/linux/include/asm/termios.h +i386/i386at/gpl/linux/include/asm/types.h +i386/i386at/gpl/linux/include/asm/unistd.h +i386/i386at/gpl/linux/include/linux/autoconf.h +i386/i386at/gpl/linux/include/linux/binfmts.h +i386/i386at/gpl/linux/include/linux/bios32.h +i386/i386at/gpl/linux/include/linux/blk.h +i386/i386at/gpl/linux/include/linux/blkdev.h +i386/i386at/gpl/linux/include/linux/cdrom.h +i386/i386at/gpl/linux/include/linux/config.h +i386/i386at/gpl/linux/include/linux/delay.h +i386/i386at/gpl/linux/include/linux/errno.h +i386/i386at/gpl/linux/include/linux/etherdevice.h +i386/i386at/gpl/linux/include/linux/fcntl.h +i386/i386at/gpl/linux/include/linux/fd.h +i386/i386at/gpl/linux/include/linux/fdreg.h +i386/i386at/gpl/linux/include/linux/fs.h +i386/i386at/gpl/linux/include/linux/genhd.h +i386/i386at/gpl/linux/include/linux/hdreg.h +i386/i386at/gpl/linux/include/linux/head.h +i386/i386at/gpl/linux/include/linux/if.h +i386/i386at/gpl/linux/include/linux/if_arp.h +i386/i386at/gpl/linux/include/linux/if_ether.h +i386/i386at/gpl/linux/include/linux/if_tr.h +i386/i386at/gpl/linux/include/linux/igmp.h +i386/i386at/gpl/linux/include/linux/in.h +i386/i386at/gpl/linux/include/linux/interrupt.h +i386/i386at/gpl/linux/include/linux/inet.h +i386/i386at/gpl/linux/include/linux/ioctl.h +i386/i386at/gpl/linux/include/linux/ioport.h +i386/i386at/gpl/linux/include/linux/ip.h +i386/i386at/gpl/linux/include/linux/ipc.h +i386/i386at/gpl/linux/include/linux/kdev_t.h +i386/i386at/gpl/linux/include/linux/kernel.h +i386/i386at/gpl/linux/include/linux/kernel_stat.h +i386/i386at/gpl/linux/include/linux/limits.h +i386/i386at/gpl/linux/include/linux/linkage.h +i386/i386at/gpl/linux/include/linux/locks.h +i386/i386at/gpl/linux/include/linux/major.h +i386/i386at/gpl/linux/include/linux/malloc.h +i386/i386at/gpl/linux/include/linux/math_emu.h +i386/i386at/gpl/linux/include/linux/mc146818rtc.h +i386/i386at/gpl/linux/include/linux/minix_fs.h +i386/i386at/gpl/linux/include/linux/minix_fs_sb.h +i386/i386at/gpl/linux/include/linux/mm.h +i386/i386at/gpl/linux/include/linux/module.h +i386/i386at/gpl/linux/include/linux/net.h +i386/i386at/gpl/linux/include/linux/mount.h +i386/i386at/gpl/linux/include/linux/netdevice.h +i386/i386at/gpl/linux/include/linux/nfs.h +i386/i386at/gpl/linux/include/linux/notifier.h +i386/i386at/gpl/linux/include/linux/pagemap.h +i386/i386at/gpl/linux/include/linux/param.h +i386/i386at/gpl/linux/include/linux/pci.h +i386/i386at/gpl/linux/include/linux/personality.h +i386/i386at/gpl/linux/include/linux/proc_fs.h +i386/i386at/gpl/linux/include/linux/ptrace.h +i386/i386at/gpl/linux/include/linux/resource.h +i386/i386at/gpl/linux/include/linux/quota.h +i386/i386at/gpl/linux/include/linux/route.h +i386/i386at/gpl/linux/include/linux/sched.h +i386/i386at/gpl/linux/include/linux/scsicam.h +i386/i386at/gpl/linux/include/linux/scsi.h +i386/i386at/gpl/linux/include/linux/sem.h +i386/i386at/gpl/linux/include/linux/signal.h +i386/i386at/gpl/linux/include/linux/skbuff.h +i386/i386at/gpl/linux/include/linux/smp.h +i386/i386at/gpl/linux/include/linux/socket.h +i386/i386at/gpl/linux/include/linux/sockios.h +i386/i386at/gpl/linux/include/linux/stat.h +i386/i386at/gpl/linux/include/linux/stddef.h +i386/i386at/gpl/linux/include/linux/string.h +i386/i386at/gpl/linux/include/linux/tasks.h +i386/i386at/gpl/linux/include/linux/tcp.h +i386/i386at/gpl/linux/include/linux/termios.h +i386/i386at/gpl/linux/include/linux/time.h +i386/i386at/gpl/linux/include/linux/timer.h +i386/i386at/gpl/linux/include/linux/tqueue.h +i386/i386at/gpl/linux/include/linux/trdevice.h +i386/i386at/gpl/linux/include/linux/tty.h +i386/i386at/gpl/linux/include/linux/tty_driver.h +i386/i386at/gpl/linux/include/linux/tty_ldisc.h +i386/i386at/gpl/linux/include/linux/types.h +i386/i386at/gpl/linux/include/linux/uio.h +i386/i386at/gpl/linux/include/linux/unistd.h +i386/i386at/gpl/linux/include/linux/utsname.h +i386/i386at/gpl/linux/include/linux/version.h +i386/i386at/gpl/linux/include/linux/vfs.h +i386/i386at/gpl/linux/include/linux/vm86.h +i386/i386at/gpl/linux/include/linux/wait.h +i386/i386at/gpl/linux/include/net/af_unix.h +i386/i386at/gpl/linux/include/net/arp.h +i386/i386at/gpl/linux/include/net/atalkcall.h +i386/i386at/gpl/linux/include/net/ax25.h +i386/i386at/gpl/linux/include/net/ax25call.h +i386/i386at/gpl/linux/include/net/checksum.h +i386/i386at/gpl/linux/include/net/datalink.h +i386/i386at/gpl/linux/include/net/icmp.h +i386/i386at/gpl/linux/include/net/ip.h +i386/i386at/gpl/linux/include/net/ip_alias.h +i386/i386at/gpl/linux/include/net/ip_forward.h +i386/i386at/gpl/linux/include/net/ipip.h +i386/i386at/gpl/linux/include/net/ipx.h +i386/i386at/gpl/linux/include/net/ipxcall.h +i386/i386at/gpl/linux/include/net/netlink.h +i386/i386at/gpl/linux/include/net/netrom.h +i386/i386at/gpl/linux/include/net/nrcall.h +i386/i386at/gpl/linux/include/net/p8022.h +i386/i386at/gpl/linux/include/net/p8022call.h +i386/i386at/gpl/linux/include/net/protocol.h +i386/i386at/gpl/linux/include/net/psnap.h +i386/i386at/gpl/linux/include/net/psnapcall.h +i386/i386at/gpl/linux/include/net/rarp.h +i386/i386at/gpl/linux/include/net/raw.h +i386/i386at/gpl/linux/include/net/route.h +i386/i386at/gpl/linux/include/net/slhc.h +i386/i386at/gpl/linux/include/net/snmp.h +i386/i386at/gpl/linux/include/net/sock.h +i386/i386at/gpl/linux/include/net/tcp.h +i386/i386at/gpl/linux/include/net/udp.h +i386/i386at/gpl/linux/net/3c501.c +i386/i386at/gpl/linux/net/3c503.c +i386/i386at/gpl/linux/net/3c503.h +i386/i386at/gpl/linux/net/3c505.c +i386/i386at/gpl/linux/net/3c505.h +i386/i386at/gpl/linux/net/3c507.c +i386/i386at/gpl/linux/net/3c509.c +i386/i386at/gpl/linux/net/3c59x.c +i386/i386at/gpl/linux/net/8390.c +i386/i386at/gpl/linux/net/8390.h +i386/i386at/gpl/linux/net/Space.c +i386/i386at/gpl/linux/net/ac3200.c +i386/i386at/gpl/linux/net/apricot.c +i386/i386at/gpl/linux/net/at1700.c +i386/i386at/gpl/linux/net/atp.c +i386/i386at/gpl/linux/net/atp.h +i386/i386at/gpl/linux/net/de4x5.c +i386/i386at/gpl/linux/net/de4x5.h +i386/i386at/gpl/linux/net/de620.h +i386/i386at/gpl/linux/net/de600.c +i386/i386at/gpl/linux/net/de620.c +i386/i386at/gpl/linux/net/depca.c +i386/i386at/gpl/linux/net/depca.h +i386/i386at/gpl/linux/net/dev.c +i386/i386at/gpl/linux/net/e2100.c +i386/i386at/gpl/linux/net/eepro.c +i386/i386at/gpl/linux/net/eexpress.c +i386/i386at/gpl/linux/net/eth16i.c +i386/i386at/gpl/linux/net/ewrk3.c +i386/i386at/gpl/linux/net/ewrk3.h +i386/i386at/gpl/linux/net/hp-plus.c +i386/i386at/gpl/linux/net/hp.c +i386/i386at/gpl/linux/net/hp100.c +i386/i386at/gpl/linux/net/hp100.h +i386/i386at/gpl/linux/net/i82586.h +i386/i386at/gpl/linux/net/iow.h +i386/i386at/gpl/linux/net/lance.c +i386/i386at/gpl/linux/net/ne.c +i386/i386at/gpl/linux/net/net_init.c +i386/i386at/gpl/linux/net/ni52.c +i386/i386at/gpl/linux/net/ni52.h +i386/i386at/gpl/linux/net/ni65.c +i386/i386at/gpl/linux/net/ni65.h +i386/i386at/gpl/linux/net/seeq8005.c +i386/i386at/gpl/linux/net/seeq8005.h +i386/i386at/gpl/linux/net/smc-ultra.c +i386/i386at/gpl/linux/net/sk_g16.c +i386/i386at/gpl/linux/net/sk_g16.h +i386/i386at/gpl/linux/net/tulip.c +i386/i386at/gpl/linux/net/wavelan.c +i386/i386at/gpl/linux/net/wavelan.h +i386/i386at/gpl/linux/net/wd.c +i386/i386at/gpl/linux/net/znet.c +i386/i386at/gpl/linux/pci/bios32.c +i386/i386at/gpl/linux/pci/pci.c +i386/i386at/gpl/linux/scsi/53c7,8xx.c +i386/i386at/gpl/linux/scsi/53c7,8xx.h +i386/i386at/gpl/linux/scsi/53c8xx_d.h +i386/i386at/gpl/linux/scsi/53c8xx_u.h +i386/i386at/gpl/linux/scsi/BusLogic.c +i386/i386at/gpl/linux/scsi/AM53C974.c +i386/i386at/gpl/linux/scsi/AM53C974.h +i386/i386at/gpl/linux/scsi/BusLogic.h +i386/i386at/gpl/linux/scsi/constants.c +i386/i386at/gpl/linux/scsi/NCR5380.h +i386/i386at/gpl/linux/scsi/NCR5380.src +i386/i386at/gpl/linux/scsi/NCR53c406a.c +i386/i386at/gpl/linux/scsi/NCR53c406a.h +i386/i386at/gpl/linux/scsi/advansys.c +i386/i386at/gpl/linux/scsi/advansys.h +i386/i386at/gpl/linux/scsi/aha152x.c +i386/i386at/gpl/linux/scsi/aha152x.h +i386/i386at/gpl/linux/scsi/aha1542.c +i386/i386at/gpl/linux/scsi/aha1542.h +i386/i386at/gpl/linux/scsi/aha1740.c +i386/i386at/gpl/linux/scsi/aha1740.h +i386/i386at/gpl/linux/scsi/aic7xxx.c +i386/i386at/gpl/linux/scsi/aic7xxx.h +i386/i386at/gpl/linux/scsi/aic7xxx_proc.src +i386/i386at/gpl/linux/scsi/aic7xxx_reg.h +i386/i386at/gpl/linux/scsi/aic7xxx_seq.h +i386/i386at/gpl/linux/scsi/constants.h +i386/i386at/gpl/linux/scsi/eata.c +i386/i386at/gpl/linux/scsi/eata.h +i386/i386at/gpl/linux/scsi/eata_dma.c +i386/i386at/gpl/linux/scsi/eata_dma.h +i386/i386at/gpl/linux/scsi/eata_dma_proc.h +i386/i386at/gpl/linux/scsi/eata_dma_proc.src +i386/i386at/gpl/linux/scsi/eata_generic.h +i386/i386at/gpl/linux/scsi/eata_pio.c +i386/i386at/gpl/linux/scsi/eata_pio.h +i386/i386at/gpl/linux/scsi/eata_pio_proc.src +i386/i386at/gpl/linux/scsi/in2000.c +i386/i386at/gpl/linux/scsi/fdomain.c +i386/i386at/gpl/linux/scsi/fdomain.h +i386/i386at/gpl/linux/scsi/g_NCR5380.c +i386/i386at/gpl/linux/scsi/g_NCR5380.h +i386/i386at/gpl/linux/scsi/hosts.c +i386/i386at/gpl/linux/scsi/hosts.h +i386/i386at/gpl/linux/scsi/pas16.c +i386/i386at/gpl/linux/scsi/in2000.h +i386/i386at/gpl/linux/scsi/pas16.h +i386/i386at/gpl/linux/scsi/qlogic.c +i386/i386at/gpl/linux/scsi/qlogic.h +i386/i386at/gpl/linux/scsi/scsi.h +i386/i386at/gpl/linux/scsi/scsi.c +i386/i386at/gpl/linux/scsi/scsi_proc.c +i386/i386at/gpl/linux/scsi/scsi_debug.c +i386/i386at/gpl/linux/scsi/scsi_debug.h +i386/i386at/gpl/linux/scsi/scsi_ioctl.c +i386/i386at/gpl/linux/scsi/scsi_ioctl.h +i386/i386at/gpl/linux/scsi/scsicam.c +i386/i386at/gpl/linux/scsi/sd_ioctl.c +i386/i386at/gpl/linux/scsi/sd.c +i386/i386at/gpl/linux/scsi/sd.h +i386/i386at/gpl/linux/scsi/seagate.c +i386/i386at/gpl/linux/scsi/seagate.h +i386/i386at/gpl/linux/scsi/sr.c +i386/i386at/gpl/linux/scsi/sr.h +i386/i386at/gpl/linux/scsi/sr_ioctl.c +i386/i386at/gpl/linux/scsi/u14-34f.c +i386/i386at/gpl/linux/scsi/t128.c +i386/i386at/gpl/linux/scsi/t128.h +i386/i386at/gpl/linux/scsi/u14-34f.h +i386/i386at/gpl/linux/scsi/ultrastor.c +i386/i386at/gpl/linux/scsi/ultrastor.h +i386/i386at/gpl/linux/scsi/wd7000.c +i386/i386at/gpl/linux/scsi/wd7000.h +i386/i386at/lprreg.h +i386/i386at/model_dep.c +i386/i386at/nfd.c +i386/i386at/nfdreg.h +i386/i386at/nhd.c +i386/i386at/nhdreg.h +i386/i386at/phys_mem_grab_page.c +i386/i386at/pic_isa.c +i386/i386at/rtc.c +i386/i386at/rtc.h +i386/imps/Makefile.in +i386/imps/apic.h +i386/imps/cpu_number.h +i386/imps/cpus.h +i386/imps/imps.c +i386/imps/impsasm.sym +i386/include/Makefile.in +i386/include/Makerules +i386/include/mach/proc_ops.h +i386/include/mach/setjmp.h +i386/include/mach/machine +i386/include/mach/sa/stdarg.h +i386/include/mach/sa/sys/varargs.h +i386/include/mach/i386/asm.h +i386/include/mach/i386/bios.h +i386/include/mach/i386/boolean.h +i386/include/mach/i386/code16.h +i386/include/mach/i386/cthreads.h +i386/include/mach/i386/debug_reg.h +i386/include/mach/i386/disk.h +i386/include/mach/i386/dpmi.h +i386/include/mach/i386/eflags.h +i386/include/mach/i386/exception.h +i386/include/mach/i386/far_ptr.h +i386/include/mach/i386/fp_reg.h +i386/include/mach/i386/ioccom.h +i386/include/mach/i386/kern_return.h +i386/include/mach/i386/mach_i386.defs +i386/include/mach/i386/mach_i386_types.h +i386/include/mach/i386/machine_types.defs +i386/include/mach/i386/multiboot.h +i386/include/mach/i386/paging.h +i386/include/mach/i386/pio.h +i386/include/mach/i386/pmode.h +i386/include/mach/i386/proc_reg.h +i386/include/mach/i386/rpc.h +i386/include/mach/i386/seg.h +i386/include/mach/i386/syscall_sw.h +i386/include/mach/i386/thread_status.h +i386/include/mach/i386/time_stamp.h +i386/include/mach/i386/trap.h +i386/include/mach/i386/tss.h +i386/include/mach/i386/vcpi.h +i386/include/mach/i386/vm_param.h +i386/include/mach/i386/vm_types.h +i386/include/mach/i386/exec/elf.h +i386/intel/pmap.c +i386/intel/pmap.h +i386/intel/read_fault.c +i386/pc/Makerules +i386/pc/NOTES +i386/pc/debug.h +i386/pc/exit.c +i386/pc/gdt.h +i386/pc/gdt_sels.h +i386/pc/ipl.h +i386/pc/irq.h +i386/pc/irq_list.h +i386/pc/pc_asm.sym +i386/pc/phys_mem.h +i386/pc/phys_mem_add.c +i386/pc/pic.c +i386/pc/pic.h +i386/pc/putchar.c +i386/pc/real.h +i386/pc/real_tss.c +i386/pc/real_tss.h +i386/pc/real_tss_def.S +i386/pc/i16/i16_a20.c +i386/pc/i16/i16_a20.h +i386/pc/i16/i16_bios.h +i386/pc/i16/i16_exit.c +i386/pc/i16/i16_ext_mem.c +i386/pc/i16/i16_init.c +i386/pc/i16/i16_main.c +i386/pc/i16/i16_pic.c +i386/pc/i16/i16_putchar.c +i386/pc/i16/i16_raw.c +i386/pc/i16/i16_raw_test_a20.S +i386/pc/i16/i16_real_int.S +i386/pc/i16/i16_switch.h +i386/pc/i16/phys_mem_collect.c +i386/pc/i16/phys_mem_sources.h +i386/pc/i16/raw_exit.c +i386/pc/i16/raw_real_int.c +i386/pc/rv86/config.h +i386/pc/rv86/gdt_sels.h +i386/pc/rv86/idt_irq_init.c +i386/pc/rv86/rv86_real_int.c +i386/pc/rv86/rv86_real_int_asm.S +i386/pc/rv86/rv86_reflect_irq.S +i386/pc/rv86/rv86_trap_handler.S +i386/pc/rv86/trap_handler.S +i386/util/Makerules +i386/util/NOTES +i386/util/anno.c +i386/util/anno.h +i386/util/cpu.h +i386/util/cpu_subs.h +i386/util/cpu_tables_init.c +i386/util/cpu_tables_load.c +i386/util/crtn.S +i386/util/debug.h +i386/util/gdt.c +i386/util/gdt.h +i386/util/gdt_sels.h +i386/util/i386_asm.sym +i386/util/idt.c +i386/util/idt.h +i386/util/idt_inittab.S +i386/util/idt_inittab.h +i386/util/ldt.h +i386/util/trap.h +i386/util/trap_asm.sym +i386/util/trap_dump.c +i386/util/trap_dump_die.c +i386/util/trap_handler.S +i386/util/trap_return.S +i386/util/tss.c +i386/util/tss.h +i386/util/tss_dump.c +i386/util/vm_param.h +i386/util/i16/debug.h +i386/util/i16/i16.h +i386/util/i16/i16_die.c +i386/util/i16/i16_gdt_init_temp.c +i386/util/i16/i16_nanodelay.c +i386/util/i16/i16_puts.c +i386/util/i16/i16_writehex.c +i386/Files +i386/README-Drivers +i386/Drivers.in +i386/driverlist.in +i386/configure +i386/device-drivers.h.in +i386/Subdirs diff --git a/i386/Makefrag b/i386/Makefrag index 23f5e85..fcab470 100644 --- a/i386/Makefrag +++ b/i386/Makefrag @@ -7,16 +7,18 @@ DEFINES += -DCONTINUATIONS -DLINUX_DEV -D__ELF__ -Di386 # Source files for any i386 kernel -i386at-files = autoconf.c blit.c com.c conf.c cons_conf.c fd.c \ +i386at-files = autoconf.c blit.c conf.c cons_conf.c fd.c rtc.c \ i386at_ds_routines.c immc.c int_init.c iopl.c kd.c kd_event.c \ - kd_mouse.c kd_queue.c lpr.c model_dep.c nfd.c nhd.c \ - phys_mem_grab_page.c pic_isa.c rtc.c + kd_mouse.c kd_queue.c model_dep.c phys_mem_grab_page.c pic_isa.c i386-files = ast_check.c db_disasm.c db_interface.c db_trace.c debug_i386.c \ fpe_linkage.c fpu.c gdt.c hardclock.c idt.c io_emulate.c io_map.c \ iopb.c ktss.c kttd_interface.c ldt.c loose_ends.c mp_desc.c pcb.c \ phys.c pic.c pit.c seg.c trap.c user_ldt.c intel-files = pmap.c read_fault.c +# Drivers; not used in all kernel, but only if selected. +driver-files= com.c + # Assembler source i386at-Sfiles = boothdr.S interrupt.S kdasm.S i386-Sfiles = cswitch.S debug_trace.S idt_inittab.S locore.S spl.S @@ -39,9 +41,6 @@ objfiles += mach_i386_server.o ### Linux device drivers (make this Better, Please) -# instead of Mach's KERNEL, Linux uses __KERNEL__. Whee. -DEFINES += -D__KERNEL__ - linux-gen-files = $(addprefix linux_,$(linux-gen-names)) linux-gen-names = autoirq.c block.c dma.c init.c irq.c kmem.c misc.c net.c \ port.c printk.c sched.c soft.c timer.c version.c vsprintf.c @@ -64,21 +63,53 @@ linux-scsi-files = 53c7,8xx.c AM53C974.c BusLogic.c NCR53c406a.c advansys.c \ sd_ioctl.c seagate.c sr.c sr_ioctl.c t128.c u14-34f.c \ ultrastor.c wd7000.c -objfiles += $(subst .c,.o,$(linux-gen-files) $(linux-block-files) \ - $(linux-net-files) $(linux-pci-files) $(linux-scsi-files)) +all-linux-files = $(linux-gen-files) $(linux-block-files) \ + $(linux-net-files) $(linux-pci-files) $(linux-scsi-files) + +# These are always used. +objfiles += $(subst .c,.o,$(filter-out linux_net.c,$(linux-gen-files))) +objfiles += $(subst .c,.o,$(linux-pci-files)) genhd.o + vpath %.c $(sysdep)/i386at/gpl/linux $(sysdep)/i386at/gpl/linux/block vpath %.c $(sysdep)/i386at/gpl/linux/net $(sysdep)/i386at/gpl/linux/pci vpath %.c $(sysdep)/i386at/gpl/linux/scsi +# These files need special flags for compilation; each one will +# have a variable like wd7000.c-linux-flags with those flags. +CFLAGS += $($(<F)-linux-flags) + +# These flags are: +# Instead of Mach's KERNEL, Linux uses __KERNEL__. Whee. +# Arrange for special include directories too. # Because of the use of `extern inline' in some Linux header files without # corresponding text-segment definitions, we must always optimize. -CFLAGS += -O2 +linux-spec-flags= -D__KERNEL__ -I$(sysdep)/i386at/gpl/linux \ + -I$(sysdep)/i386at/gpl/linux/include -O2 + +# Here is where those specs are found. +include linux-flags + +# How to make this file: + +linux-flags: $(sysdep)/Makefrag + rm -f $@ + for i in $(all-linux-files); do \ + echo $$i-linux-flags '= $$(linux-spec-flags)' >> $@; \ + done + echo 'linux-flags-done='$(all-linux-files) >> $@ + +# If we haven't included `linux-flags' properly, then don't try and build +# .d files. +ifneq ($(linux-flags-done),$(all-linux-files)) +no_deps=t +endif ### End Linux device drivers grot -# XXX Temporary -i386at_ds_routines.o: device_interface.h + +include i386/driverlist +objfiles += $(device_drivers) @@ -93,10 +124,8 @@ objfiles := boothdr.o $(filter-out boothdr.o,$(objfiles)) INCLUDES := -I$(sysdep)/i386at -I$(sysdep)/i386 \ -I$(sysdep)/include -I$(sysdep)/include/mach/sa \ -I$(sysdep)/bogus -I$(sysdep) \ - -I$(sysdep)/i386at/gpl/linux -I$(sysdep)/i386at/gpl/linux/include \ $(INCLUDES) - # arrange suitable load address LDFLAGS += -Ttext 100000 @@ -105,7 +134,25 @@ ASFLAGS += -DASSEMBLER boothdr.o: i386asm.h + +# Header files we install + +# We have our own version of this file +installed-headers := $(filter-out mach/proc_ops.h,$(installed-headers)) + +i386-installed-headers= mach/proc_ops.h \ + $(addprefix mach/i386/,asm.h bios.h boolean.h code16.h \ + debug_reg.h disk.h dpmi.h eflags.h exception.h far_ptr.h \ + fp_reg.h ioccom.h kern_return.h mach_i386.defs \ + mach_i386_types.h machine_types.defs multiboot.h paging.h \ + pio.h pmode.h proc_reg.h rpc.h seg.h syscall_sw.h \ + thread_status.h time_stamp.h trap.h tss.h vcpi.h vm_param.h \ + vm_types.h) + + # Cheat, cheat, cheat. fpe.o: fpe.b_elf uudecode $< vpath fpe.b_elf $(sysdep)/i386 + +fpe.d:; touch $@
\ No newline at end of file diff --git a/i386/README-Drivers b/i386/README-Drivers new file mode 100644 index 0000000..bb2f521 --- /dev/null +++ b/i386/README-Drivers @@ -0,0 +1,299 @@ +Adaptec 1740 +Patch probe routine to add outb to put card in enhanced mode. + +-*- text -*- + +** Turning on or off device drivers + +Each device driver has an associated configure switch. The table at +the end of this file gives the list of configure switches. For many +devices there are multiple drivers to choose from. + + +** What the configure switches do + +Each configure switch has two effects. First, it defines a CPP symbol +that turns on or off the hooks that autoconfigure the device and add +it to the list of available devices. Second, it adds the source code +for the driver to a make variable so that the code for the driver is +compiled and linked into the kernel. + + +** What are those extra numbers + +Each driver is followed by one or more triplets of three numbers. +These triplets specify combinations of I/O address, spl, and, pic that +are believed to work. + + +** Then comes the name of the device to users. %d is a unit number. + + +*** + +All source file names are relative to .../gnumach/i386/i386at for Mach +drivers, and .../gnumach/i386/i386at/gpl/linux for Linux drivers. + + +*** Serial devices and similar equivalents + +PC com ports + --enable-com com.c + 0x3f8,2f8,3e8 + com%d + +System Console (always enabled) + (indirect name for kd or first com line) + console + +PC keyboard/display (always enabled) + kd + + +*** Special devices + +Mappable time device (always enabled) + time + +Mouse interface to PC (always enabled) + (Piggy backs horribly on COM devices) + mouse%d + +X Window System interface to keyboard (always enabled) + kbd%d + +Interface to setting up IO port access for users (always enabled) + iopl%d + + + +*** Disk controllers (except for SCSI) + +PC floppy + --enable-floppy block/floppy.c + 0x3f0, 370 + fd%d + +IDE disks + --enable-ide block/{cmd640,ide-cd,ide,rz1000,triton}.c + hd%d (disks) + wcd%d (cdroms) + + +*** SCSI disks Disks all show up as `sd%d'. CD Roms all show up as +`cd%d'. Tapes and generic are not currently supported. + +AdvansSys + --enable-advansys scsi/advansys.c + +BusLogic MultiMaster + --enable-buslogic scsi/BusLogic.c + +UltraStor 14F/34F + --enable-u1434f scsi/u14-34f.c + +UlstraStor 14F, 24F, and 34F + --enable-ultrastor scsi/ultrastor.c + +Adaptec AHA-152x + --enable-aha152x scsi/aha152x.c + +Adaptec AHA-1542 + --enable-aha1542 scsi/aha1540.c + +Adaptec AHA-1740 + --enable-aha1740 scsi/aha1740.c + +Adaptec AIC7xxx + --enable-aic7xxx scsi/aic7xxx.c + +Future Domain TMC-16x0 + --enable-futuredomain scsi/fdomain.c + +Always IN 2000 + --enable-in2000 scsi/in2000.c + +Generic NCR5380 + --enable-ncr5380 scsi/g_NCR5380.c + +NCR53c406 chip + --enable-ncr53c406a scsi/NCR53c406a.c + +Qlogic FAS408 + --enable-qlogic scsi/qlogic.c + +Pro Audio Spectrum/Studio 16 + --enable-pas16 scsi/pas16.c + +Seagate ST01, ST02, Future Domain TMC-885, TMC-950 + --enable-seagate scsi/seagate.c + +Trantor T128, T128F, T228 + --enable-t128 scsi/t128.c + +NCR 53C7xx + --enable-ncr53c7xx scsi/53c7,8xx.c + +EATA DMA + --enable-eatadma scsi/eata_dma.c + +EATA PIO + --enable-eatapio scsi/eata_pio.c + +WD 7000 + --enable-wd7000 scsi/wd7000.c + +EATA + --enable-eata scsi/eata.c + +AM52/79C974 + --enable-am53c974 scsi/AM53C974.c + + + +*** Ethernet controllers +These all show up as `eth%d' except the atp device. + +NE2000 + --enable-ne2000 net/ne.c 8390.c + 0x300,280,320,340,360 + +3Com 503 (Etherlink II) + --enable-3c503 net/3c503.c net/8390.c + --enable-el2 + 0x300,310,330,350,250,280,2a0,2e0 + +3Com 509 (Etherlink III) + --enable-3c509 net/3c509.c + --enable-el3 + +Western Digital 8003E + --enable-wd80x3 net/wd.c, net/8390.c + 0x300,280,380,240 + +3COM Etherlink 3C501 + --enable-3c501 net/3c501.c + --enable-el1 + 0x280, 300 + +SMC Ultra + --enable-ul net/smc-ultra.c net/8390.c + 0x200,220,240,280,300,340,380 + +Hewlett Packard PC LAN 27??? plus ethercards. + --enable-hplanplus net/hp-plus.c + 0x200,240,280,2c0,300,320,340 + +Hewlett Packard PC Lan + --enable-hplan net/hp.c, net/8390.c + 0x300,320,340,280,2c0,200,240 + +3Com 3c590/3c595 Vortex + --enable-3c59x + --enable-vortex net/3c59x.c + +Seeq 8005 + --enable-seeq8005 net/seeq8005.c + 0x300,320,340,360 + +Hewlett Packard HP10/100 cards net/hp100.c + --enable-hp100 + --enable-hpj2577 + --enable-hpj2573 + --enable-hp27248b + --enable-hp2585 + +Ansel Communications EISA 3200 + --enable-ac3200 net/ac3200.c, net/8390.c + +Cabletron E2100 series + --enable-e2100 net/e2100.c, net/8390.c + 0x300,280,380,220 + +Allied Telesis AT1700 + --enable-at1700 net/at1700.c + 0x260,280,2a0,240,340,320,380,300 + +ECL EtherTeam 16i and 32 EISA + --enable-eth16i net/eth16i.c + --enable-eth32 + 0x260,280,2a0,240,340,320,380,300 (16i) + +Zenith Z-Note (and some IBM thinkpads) + --enable-znet net/znet.c + --enable-znote + +Intel EtherExpress + --enable-eexpress net/eexpress.c + 0x300,270,320,340 + +Intel EtherExpress Pro/10 + --enable-eexpresspro net/eepro.c + 0x200,240,280,2c0,300,320,340,360 + +Digital DEPCA and EtherWORKS + (DEPCA, DE10[01], DE20[012] Turbo, DE210, DE422) + --enable-depca net/depca.c + --enable-de100 + --enable-de101 + --enable-de200 + --enable-de201 + --enable-de202 + --enable-de210 + --enable-de422 + +EtherWORKS 3 Driver + (DE20[345]) + --enable-ewrk3 net/ewrk3.c + --enable-de203 + --enable-de204 + --enable-de205 + +Digital DE 400 series cards: DE425, DE43[45], DE500 + --enable-de4x5 net/de4x5.c + --enable-de425 + --enable-de434 + --enable-de435 + --enable-de500 + +Apricot 82596 + --enable-apricot net/apricot.c + +AT&T GIS (NCR) WaveLAN + --enable-wavelan net/wavelan.c + 0x390 + +3Com 507 EtherLink16 + --enable-3c507 net/3c507.c + --enable-el16 + 0x300,320,340,280 + +3Com 505 Etherlink Plus + --enable-3c505 net/3c505.c + --enable-elplus + 0x300,280,310 + +D-Link DE-600 + --enable-de600 net/de600.c + 0x378 + +D-Link DE-620 + --enable-de620 net/de620.c + 0x378 + +Schneider & Koch G16 + --enable-skg16 net/sk_g16.c + 0x100,180,208,220,288,320,328,390 + +NI5210 + --enable-ni52 net/ni52.c + 0x300,280,360,320,340 + +NI6510 + --enable-ni65 net/ni65.c + 0x300/320/340/360 + +Run-time ATtachable (Pocket) ethernet driver + --enable-atp net/atp.c + 0x378,278,3bc + atp%d diff --git a/i386/Subdirs b/i386/Subdirs new file mode 100644 index 0000000..7f05b6e --- /dev/null +++ b/i386/Subdirs @@ -0,0 +1,31 @@ +i386/aux +i386/bogus +i386/chips +i386/dos +i386/dos/i16 +i386/i386 +i386/i386at +i386/i386at/gpl +i386/i386at/gpl/linux +i386/i386at/gpl/linux/block +i386/i386at/gpl/linux/include +i386/i386at/gpl/linux/include/asm +i386/i386at/gpl/linux/include/linux +i386/i386at/gpl/linux/include/net +i386/i386at/gpl/linux/net +i386/i386at/gpl/linux/pci +i386/i386at/gpl/linux/scsi +i386/i386at/boot +i386/imps +i386/include +i386/include/mach +i386/include/mach/sa +i386/include/mach/sa/sys +i386/include/mach/i386 +i386/include/mach/i386/exec +i386/intel +i386/pc +i386/pc/i16 +i386/pc/rv86 +i386/util +i386/util/i16 diff --git a/i386/bogus/com.h b/i386/bogus/com.h index 11832d4..ec56981 100644 --- a/i386/bogus/com.h +++ b/i386/bogus/com.h @@ -1 +1,7 @@ +#include <i386/device-drivers.h> + +#ifdef CONFIG_MACH_COM #define NCOM 4 +#else +#define NCOM 0 +#endif diff --git a/i386/device-drivers.h.in b/i386/device-drivers.h.in new file mode 100644 index 0000000..f09fe08 --- /dev/null +++ b/i386/device-drivers.h.in @@ -0,0 +1,59 @@ +/* All possible device drivers; must match Drivers.in. */ + +#undef CONFIG_SCSI +#undef CONFIG_INET +#undef CONFIG_MACH_COM +#undef CONFIG_BLK_DEV_FD +#undef CONFIG_BLK_DEV_IDE +#undef CONFIG_SCSI_ADVANSYS +#undef CONFIG_SCSI_BUSLOGIC +#undef CONFIG_SCSI_U14_34F +#undef CONFIG_SCSI_ULTRASTOR +#undef CONFIG_SCSI_AHA152X +#undef CONFIG_SCSI_AHA1542 +#undef CONFIG_SCSI_AHA1740 +#undef CONFIG_SCSI_AIC7XXX +#undef CONFIG_SCSI_FUTURE_DOMAIN +#undef CONFIG_SCSI_IN2000 +#undef CONFIG_SCSI_GENERIC_NCR5380 +#undef CONFIG_SCSI_NCR53C406A +#undef CONFIG_SCSI_QLOGIC +#undef CONFIG_SCSI_PASS16 +#undef CONFIG_SCSI_SEAGATE +#undef CONFIG_SCSI_T128 +#undef CONFIG_SCSI_NCR53C7xx +#undef CONFIG_SCSI_EATA_DMA +#undef CONFIG_SCSI_EATA_PIO +#undef CONFIG_SCSI_7000FASST +#undef CONFIG_SCSI_EATA +#undef CONFIG_SCSI_AM53C974 +#undef CONFIG_NE2000 +#undef CONFIG_EL2 +#undef CONFIG_WD80x3 +#undef CONFIG_EL1 +#undef CONFIG_ULTRA +#undef CONFIG_HPLAN_plus +#undef CONFIG_HPLAN +#undef CONFIG_VORTEX +#undef CONFIG_SEEQ8005 +#undef CONFIG_HP100 +#undef CONFIG_AC3200 +#undef CONFIG_E2100 +#undef CONFIG_AT1700 +#undef CONFIG_ETH16I +#undef CONFIG_ZNET +#undef CONFIG_EEXPRESS +#undef CONFIG_EEXPRESS_PRO +#undef CONFIG_DEPCA +#undef CONFIG_EWRK3 +#undef CONFIG_DE4X5 +#undef CONFIG_APRICOT +#undef CONFIG_WAVELAN +#undef CONFIG_EL16 +#undef CONFIG_ELPLUS +#undef CONFIG_DE600 +#undef CONFIG_DE620 +#undef CONFIG_SK_G16 +#undef CONFIG_NI52 +#undef CONFIG_NI65 +#undef CONFIG_ATP diff --git a/i386/driverlist.in b/i386/driverlist.in new file mode 100644 index 0000000..b1d5f8f --- /dev/null +++ b/i386/driverlist.in @@ -0,0 +1 @@ +device_drivers = @device_drivers@ diff --git a/i386/i386/locore.S b/i386/i386/locore.S index 8bc5d5e..75f20b0 100644 --- a/i386/i386/locore.S +++ b/i386/i386/locore.S @@ -1705,9 +1705,12 @@ tenmicroloop: * cpu_shutdown() * Force reboot */ +null_idt: + .space 8 * 32 + null_idtr: - .word 0 - .long 0 + .word 8 * 32 - 1 + .long null_idt Entry(cpu_shutdown) lidt null_idtr /* disable the interrupt handler */ diff --git a/i386/i386/pit.c b/i386/i386/pit.c index 3ae1487..d0f3f9c 100644 --- a/i386/i386/pit.c +++ b/i386/i386/pit.c @@ -144,8 +144,8 @@ findspeed() */ /* we arrange calculation so that it doesn't overflow */ delaycount = ((COUNT/1000) * CLKNUM) / (0xffff-leftover); - printf("findspeed: delaycount=%d (tics=%d)\n", - delaycount, (0xffff-leftover)); + /* printf("findspeed: delaycount=%d (tics=%d)\n", + delaycount, (0xffff-leftover));*/ splon(s); /* restore interrupt state */ } diff --git a/i386/i386at/com.c b/i386/i386at/com.c index 113387f..6d7972d 100644 --- a/i386/i386at/com.c +++ b/i386/i386at/com.c @@ -173,7 +173,7 @@ comprobe_general(struct bus_device *dev, int noisy) int comprobe(int port, struct bus_device *dev) { - return comprobe_general(dev, /*noisy*/ 1); + return comprobe_general(dev, /*noisy*/ 0); } #if RCLINE >= 0 diff --git a/i386/i386at/gpl/linux/block/genhd.c b/i386/i386at/gpl/linux/block/genhd.c index 60cba6c..cebc7ea 100644 --- a/i386/i386at/gpl/linux/block/genhd.c +++ b/i386/i386at/gpl/linux/block/genhd.c @@ -88,7 +88,7 @@ static void add_partition (struct gendisk *hd, int minor, int start, int size) { hd->part[minor].start_sect = start; hd->part[minor].nr_sects = size; - print_minor_name(hd, minor); + /* print_minor_name(hd, minor);*/ } static inline int is_extended_partition(struct partition *p) @@ -301,7 +301,7 @@ check_table: continue; add_partition(hd, minor, first_sector+START_SECT(p), NR_SECTS(p)); if (is_extended_partition(p)) { - printk(" <"); + /* printk(" <");*/ /* * If we are rereading the partition table, we need * to set the size of the partition so that we will @@ -311,7 +311,7 @@ check_table: hd->sizes[minor] = hd->part[minor].nr_sects >> (BLOCK_SIZE_BITS - 9); extended_partition(hd, MKDEV(hd->major, minor)); - printk(" >"); + /* printk(" >");*/ /* prevent someone doing mkfs or mkswap on an extended partition, but leave room for LILO */ if (hd->part[minor].nr_sects > 2) @@ -332,7 +332,7 @@ check_table: add_partition(hd, current_minor, START_SECT(p), NR_SECTS(p)); } } - printk("\n"); + /* printk("\n");*/ brelse(bh); return 1; } @@ -405,7 +405,7 @@ static int osf_partition(struct gendisk *hd, unsigned int dev, unsigned long fir partition->p_size); current_minor++; } - printk("\n"); + /* printk("\n");*/ brelse(bh); return 1; } @@ -475,7 +475,7 @@ static int sun_partition(struct gendisk *hd, unsigned int dev, unsigned long fir add_partition(hd, current_minor, st_sector, p->num_sectors); current_minor++; } - printk("\n"); + /* printk("\n");*/ brelse(bh); return 1; } @@ -487,8 +487,8 @@ static void check_partition(struct gendisk *hd, kdev_t dev) static int first_time = 1; unsigned long first_sector; - if (first_time) - printk("Partition check:\n"); + /* if (first_time) + printk("Partition check:\n");*/ first_time = 0; first_sector = hd->part[MINOR(dev)].start_sect; @@ -501,8 +501,8 @@ static void check_partition(struct gendisk *hd, kdev_t dev) return; } - printk(" "); - print_minor_name(hd, MINOR(dev)); + /* printk(" "); + print_minor_name(hd, MINOR(dev));*/ #ifdef CONFIG_MSDOS_PARTITION if (msdos_partition(hd, dev, first_sector)) return; diff --git a/i386/i386at/gpl/linux/block/triton.c b/i386/i386at/gpl/linux/block/triton.c index 5829661..4f825f6 100644 --- a/i386/i386at/gpl/linux/block/triton.c +++ b/i386/i386at/gpl/linux/block/triton.c @@ -341,9 +341,13 @@ static void init_triton_dma (ide_hwif_t *hwif, unsigned short base) { static unsigned long dmatable = 0; +#if 0 printk(" %s: BusMaster DMA at 0x%04x-0x%04x", hwif->name, base, base+7); +#endif if (check_region(base, 8)) { +#if 0 printk(" -- ERROR, PORTS ALREADY IN USE"); +#endif } else { request_region(base, 8, "triton DMA"); hwif->dma_base = base; @@ -362,7 +366,9 @@ static void init_triton_dma (ide_hwif_t *hwif, unsigned short base) hwif->dmaproc = &triton_dmaproc; } } +#if 0 printk("\n"); +#endif } /* @@ -448,10 +454,12 @@ void ide_init_triton (byte bus, byte fn) continue; s_clks = ((~time >> 12) & 3) + 2; r_clks = ((~time >> 8) & 3) + 1; +#if 0 printk(" %s timing: (0x%04x) sample_CLKs=%d, recovery_CLKs=%d (PIO mode%d)\n", hwif->name, time, s_clks, r_clks, calc_mode(s_clks+r_clks)); print_triton_drive_flags (0, time & 0xf); print_triton_drive_flags (1, (time >> 4) & 0xf); +#endif } quit: if (rc) printk("ide: pcibios access failed - %s\n", pcibios_strerror(rc)); diff --git a/i386/i386at/gpl/linux/include/linux/autoconf.h b/i386/i386at/gpl/linux/include/linux/autoconf.h index 1588347..0d565ae 100644 --- a/i386/i386at/gpl/linux/include/linux/autoconf.h +++ b/i386/i386at/gpl/linux/include/linux/autoconf.h @@ -1,8 +1,4 @@ /* - * Automatically generated C config: don't edit - */ - -/* * Loadable module support */ #undef CONFIG_MODULES @@ -25,11 +21,16 @@ #undef CONFIG_M586 #undef CONFIG_M686 +/* Fetch GNUmach driver config file */ +#include <i386/device-drivers.h> + +#if 0 /* these are now in device-drivers.h */ /* * Floppy, IDE, and other block devices */ #define CONFIG_BLK_DEV_FD 1 #define CONFIG_BLK_DEV_IDE 1 +#endif /* * Please see drivers/block/README.ide for help/info on IDE drives @@ -46,6 +47,7 @@ #undef CONFIG_BLK_DEV_LOOP #undef CONFIG_BLK_DEV_XD +#if 0 /* now in device-drivers.h */ /* * Networking options */ @@ -55,6 +57,7 @@ #undef CONFIG_IP_FORWARD #undef CONFIG_IP_MULTICAST #undef CONFIG_IP_ACCT +#endif /* * (it is safe to leave these untouched) @@ -74,10 +77,12 @@ #undef CONFIG_AX25 #undef CONFIG_NETLINK +#if 0 /* * SCSI support */ #define CONFIG_SCSI 1 +#endif /* * SCSI support type (disk, tape, CDrom) @@ -87,6 +92,7 @@ #define CONFIG_BLK_DEV_SR 1 #undef CONFIG_CHR_DEV_SG +#if 0 /* now in device-drivers.h */ /* * Some SCSI devices (e.g. CD jukebox) support multiple LUNs */ @@ -118,6 +124,7 @@ #undef CONFIG_SCSI_NCR53C406A #undef CONFIG_SCSI_AM53C974 #define CONFIG_SCSI_NCR53C7xx 1 +#endif /* * Network device support @@ -129,6 +136,7 @@ #undef CONFIG_SLIP_SMART #undef CONFIG_PPP +#if 0 /* * CCP compressors for PPP are only built as modules. */ @@ -164,6 +172,7 @@ * CD-ROM drivers (not for SCSI or IDE/ATAPI drives) */ #undef CONFIG_CD_NO_IDESCSI +#endif /* * Filesystems @@ -185,6 +194,7 @@ #undef CONFIG_HPFS_FS #undef CONFIG_SYSV_FS +#if 0 /* * Character devices */ @@ -208,3 +218,4 @@ * Kernel hacking */ #undef CONFIG_PROFILE +#endif diff --git a/i386/i386at/gpl/linux/linux_block.c b/i386/i386at/gpl/linux/linux_block.c index e06cc40..d7e335b 100644 --- a/i386/i386at/gpl/linux/linux_block.c +++ b/i386/i386at/gpl/linux/linux_block.c @@ -1600,7 +1600,7 @@ check_disk_change (kdev_t dev) if (! (*fops->check_media_change) (dev)) return 0; - printf ("Disk change detected on device %s\n", kdevname(dev)); + /* printf ("Disk change detected on device %s\n", kdevname(dev));*/ if (fops->revalidate) (*fops->revalidate) (dev); @@ -1918,8 +1918,8 @@ find_major: goto slice_done; } - printf ("%s: default slice %d: %s OS\n", np->name, slice, - (sysid == UNIXOS ? "Mach" : (sysid == BSDOS ? "BSD" : "LINUX"))); + /* printf ("%s: default slice %d: %s OS\n", np->name, slice, + (sysid == UNIXOS ? "Mach" : (sysid == BSDOS ? "BSD" : "LINUX")));*/ slice_done: if (ds->fops->release) @@ -2049,7 +2049,7 @@ find_major: dlp = (struct disklabel *) (bhp->b_data + ((LBLLOC << 9) & (bsize - 1))); if (dlp->d_magic != DISKMAGIC || dlp->d_magic2 != DISKMAGIC) goto vtoc; - printf ("%s: BSD LABEL\n", np->name); + /* printf ("%s: BSD LABEL\n", np->name);*/ lp->d_npartitions = dlp->d_npartitions; memcpy (lp->d_partitions, dlp->d_partitions, MAXPARTITIONS * sizeof (struct partition)); @@ -2080,7 +2080,7 @@ find_major: err = D_NO_SUCH_DEVICE; goto label_done; } - printf ("%s: LOCAL LABEL\n", np->name); + /* printf ("%s: LOCAL LABEL\n", np->name);*/ lp->d_npartitions = (evp->nparts > MAXPARTITIONS ? MAXPARTITIONS : evp->nparts); for (i = 0; i < lp->d_npartitions; i++) diff --git a/i386/i386at/gpl/linux/linux_init.c b/i386/i386at/gpl/linux/linux_init.c index d2abae2..4e7b006 100644 --- a/i386/i386at/gpl/linux/linux_init.c +++ b/i386/i386at/gpl/linux/linux_init.c @@ -54,6 +54,8 @@ #include <asm/system.h> +#include <i386/device-drivers.h> + /* * Set if the machine has an EISA bus. */ @@ -230,7 +232,9 @@ linux_init() /* * Initialize devices. */ +#ifdef CONFIG_INET linux_net_emulation_init(); +#endif cli(); device_setup(); @@ -389,7 +393,7 @@ calibrate_delay() { int ticks; - printk("Calibrating delay loop.. "); + /* printk("Calibrating delay loop.. "); */ while (loops_per_sec <<= 1) { /* Wait for "start of" clock tick. */ ticks = jiffies; @@ -402,11 +406,11 @@ calibrate_delay() if (ticks >= hz) { loops_per_sec = muldiv(loops_per_sec, hz, ticks); - printk("ok - %lu.%02lu BogoMips\n", + /*printk("ok - %lu.%02lu BogoMips\n", loops_per_sec / 500000, - (loops_per_sec / 5000) % 100); + (loops_per_sec / 5000) % 100);*/ return; } } - printk("failed\n"); +/* printk("failed\n");*/ } diff --git a/i386/i386at/gpl/linux/net/8390.c b/i386/i386at/gpl/linux/net/8390.c index 05ea32f..7962413 100644 --- a/i386/i386at/gpl/linux/net/8390.c +++ b/i386/i386at/gpl/linux/net/8390.c @@ -85,7 +85,7 @@ static const char *version = #ifdef EI_DEBUG int ei_debug = EI_DEBUG; #else -int ei_debug = 1; +int ei_debug = 0; #endif #ifdef EI_PINGPONG static int ei_pingpong = 1; diff --git a/i386/i386at/gpl/linux/pci/bios32.c b/i386/i386at/gpl/linux/pci/bios32.c index e10fdab..f0717fd 100644 --- a/i386/i386at/gpl/linux/pci/bios32.c +++ b/i386/i386at/gpl/linux/pci/bios32.c @@ -192,10 +192,12 @@ extern unsigned long check_pcibios(unsigned long memory_start, unsigned long mem if (signature != PCI_SIGNATURE) pcibios_entry = 0; } +#if 0 if (pcibios_entry) { printk ("pcibios_init : PCI BIOS revision %x.%02x entry at 0x%lx\n", major_revision, minor_revision, pcibios_entry); } +#endif } return memory_start; } @@ -433,13 +435,17 @@ unsigned long pcibios_init(unsigned long memory_start, unsigned long memory_end) check->fields.revision, check); continue; } +#if 0 printk ("pcibios_init : BIOS32 Service Directory structure at 0x%p\n", check); +#endif if (!bios32_entry) { if (check->fields.entry >= 0x100000) { printk("pcibios_init: entry in high memory, unable to access\n"); } else { bios32_indirect.address = bios32_entry = check->fields.entry; +#if 0 printk ("pcibios_init : BIOS32 Service Directory entry at 0x%lx\n", bios32_entry); +#endif } } else { printk ("pcibios_init : multiple entries, mail drew@colorado.edu\n"); diff --git a/i386/i386at/gpl/linux/pci/pci.c b/i386/i386at/gpl/linux/pci/pci.c index 03846d0..e5f5979 100644 --- a/i386/i386at/gpl/linux/pci/pci.c +++ b/i386/i386at/gpl/linux/pci/pci.c @@ -894,7 +894,9 @@ unsigned long pci_init (unsigned long mem_start, unsigned long mem_end) return mem_start; } +#if 0 printk("Probing PCI hardware.\n"); +#endif memset(&pci_root, 0, sizeof(pci_root)); pci_root.subordinate = scan_bus(&pci_root, &mem_start); diff --git a/i386/i386at/gpl/linux/scsi/aha1740.c b/i386/i386at/gpl/linux/scsi/aha1740.c index e3b8f1d..250aa1b 100644 --- a/i386/i386at/gpl/linux/scsi/aha1740.c +++ b/i386/i386at/gpl/linux/scsi/aha1740.c @@ -1,4 +1,4 @@ -/* $Id: aha1740.c,v 1.1.1.1 1997/02/25 21:27:46 thomas Exp $ +/* $Id: aha1740.c,v 1.2 1997/03/24 21:51:17 thomas Exp $ * 1993/03/31 * linux/kernel/aha1740.c * @@ -56,7 +56,7 @@ struct proc_dir_entry proc_scsi_aha1740 = { #endif /* -static const char RCSid[] = "$Header: cvs/gnumach/i386/i386at/gpl/linux/scsi/Attic/aha1740.c,v 1.1.1.1 1997/02/25 21:27:46 thomas Exp $"; +static const char RCSid[] = "$Header: cvs/gnumach/i386/i386at/gpl/linux/scsi/Attic/aha1740.c,v 1.2 1997/03/24 21:51:17 thomas Exp $"; */ static unsigned int slot, base; @@ -166,6 +166,9 @@ int aha1740_test_port(void) return 0; } + /* Try and turn on enhanced mode */ + tmp = inb (PORTADR); + outb (PORTADR, tmp | PORTADDR_ENH); if ( inb(PORTADR) & PORTADDR_ENH ) return 1; /* Okay, we're all set */ diff --git a/i386/i386at/gpl/linux/scsi/hosts.c b/i386/i386at/gpl/linux/scsi/hosts.c index cb0163b..72ae0cb 100644 --- a/i386/i386at/gpl/linux/scsi/hosts.c +++ b/i386/i386at/gpl/linux/scsi/hosts.c @@ -134,7 +134,7 @@ #endif /* -static const char RCSid[] = "$Header: cvs/gnumach/i386/i386at/gpl/linux/scsi/Attic/hosts.c,v 1.1.1.1 1997/02/25 21:27:49 thomas Exp $"; +static const char RCSid[] = "$Header: cvs/gnumach/i386/i386at/gpl/linux/scsi/Attic/hosts.c,v 1.2 1997/03/24 21:51:24 thomas Exp $"; */ /* @@ -387,12 +387,16 @@ unsigned int scsi_init() name = shpnt->hostt->info(shpnt); else name = shpnt->hostt->name; +#if 0 printk ("scsi%d : %s\n", /* And print a little message */ shpnt->host_no, name); +#endif } - + +#if 0 printk ("scsi : %d host%s.\n", next_scsi_host, (next_scsi_host == 1) ? "" : "s"); +#endif scsi_make_blocked_list(); diff --git a/i386/i386at/gpl/linux/scsi/scsi.c b/i386/i386at/gpl/linux/scsi/scsi.c index 85d234e..7b29168 100644 --- a/i386/i386at/gpl/linux/scsi/scsi.c +++ b/i386/i386at/gpl/linux/scsi/scsi.c @@ -49,7 +49,7 @@ #undef USE_STATIC_SCSI_MEMORY /* -static const char RCSid[] = "$Header: cvs/gnumach/i386/i386at/gpl/linux/scsi/Attic/scsi.c,v 1.1.1.1 1997/02/25 21:27:50 thomas Exp $"; +static const char RCSid[] = "$Header: cvs/gnumach/i386/i386at/gpl/linux/scsi/Attic/scsi.c,v 1.2 1997/03/24 21:51:33 thomas Exp $"; */ @@ -2352,12 +2352,14 @@ int scsi_dev_init(void) for (shpnt = scsi_hostlist; shpnt; shpnt = shpnt->next) scan_scsis(shpnt,0,0,0,0); /* scan for scsi devices */ +#if 0 printk("scsi : detected "); for (sdtpnt = scsi_devicelist; sdtpnt; sdtpnt = sdtpnt->next) if (sdtpnt->dev_noticed && sdtpnt->name) printk("%d SCSI %s%s ", sdtpnt->dev_noticed, sdtpnt->name, (sdtpnt->dev_noticed != 1) ? "s" : ""); printk("total.\n"); +#endif for(sdtpnt = scsi_devicelist; sdtpnt; sdtpnt = sdtpnt->next) if(sdtpnt->init && sdtpnt->dev_noticed) (*sdtpnt->init)(); diff --git a/i386/i386at/i386at_ds_routines.c b/i386/i386at/i386at_ds_routines.c index b1375af..b67aa9e 100644 --- a/i386/i386at/i386at_ds_routines.c +++ b/i386/i386at/i386at_ds_routines.c @@ -35,20 +35,25 @@ #include <i386at/dev_hdr.h> #include <i386at/device_emul.h> +#include <i386/device-drivers.h> extern struct device_emulation_ops mach_device_emulation_ops; #ifdef LINUX_DEV extern struct device_emulation_ops linux_block_emulation_ops; +#ifdef CONFIG_INET extern struct device_emulation_ops linux_net_emulation_ops; #endif +#endif /* List of emulations. */ static struct device_emulation_ops *emulation_list[] = { #ifdef LINUX_DEV &linux_block_emulation_ops, +#ifdef CONFIG_INET &linux_net_emulation_ops, #endif +#endif &mach_device_emulation_ops, }; diff --git a/i386/i386at/kd.c b/i386/i386at/kd.c index 6c41ec5..906fdd5 100644 --- a/i386/i386at/kd.c +++ b/i386/i386at/kd.c @@ -116,8 +116,9 @@ void kd_enqsc(); /* enqueues a scancode */ void timeout(); +#if 0 #define BROKEN_KEYBOARD_RESET - +#endif struct tty kd_tty; extern int rebootflag; @@ -2327,7 +2328,6 @@ kdreboot() kd_sendcmd(0xFE); /* XXX - magic # */ delay(1000000); /* wait to see if anything happens */ #endif - /* * If that didn't work, then we'll just have to try and * do it the hard way. diff --git a/include/mach/message.h b/include/mach/message.h index 8f1860f..d640286 100644 --- a/include/mach/message.h +++ b/include/mach/message.h @@ -438,6 +438,9 @@ mach_msg #endif /* LINTLIBRARY */ #endif /* c_plusplus || __STDC__ */ +extern typeof (mach_msg) __mach_msg; +extern typeof (mach_msg_trap) __mach_msg_trap; + /* Definitions for the old IPC interface. */ diff --git a/kern/bootstrap.c b/kern/bootstrap.c index f1e3c43..3643a5c 100644 --- a/kern/bootstrap.c +++ b/kern/bootstrap.c @@ -290,7 +290,6 @@ static void copy_bootstrap(void *e, struct exec_info *boot_exec_info) register vm_map_t user_map = current_task()->map; int err; -printf("loading...\n"); if (err = exec_load(boot_read, read_exec, e, boot_exec_info)) panic("Cannot load user-bootstrap image: error code %d", err); @@ -478,8 +477,6 @@ static void user_bootstrap() root_string, (char *)0); -printf("Starting bootstrap at %x\n", boot_exec_info.entry); - /* * Exit to user thread. */ @@ -1 +1 @@ -char version[] = "GNUmach 0.2"; +char version[] = "GNUmach 1.0"; diff --git a/vm/vm_object.c b/vm/vm_object.c index 5186ee6..801fb06 100644 --- a/vm/vm_object.c +++ b/vm/vm_object.c @@ -182,7 +182,7 @@ vm_object_t kernel_object; */ queue_head_t vm_object_cached_list; int vm_object_cached_count; -int vm_object_cached_max = 100; /* may be patched*/ +int vm_object_cached_max = 200; /* may be patched*/ decl_simple_lock_data(,vm_object_cached_lock_data) diff --git a/vm/vm_resident.c b/vm/vm_resident.c index 5c4f282..eba0157 100644 --- a/vm/vm_resident.c +++ b/vm/vm_resident.c @@ -290,7 +290,7 @@ void vm_page_bootstrap( *startp = virtual_space_start; *endp = virtual_space_end; - printf("vm_page_bootstrap: %d free pages\n", vm_page_free_count); + /* printf("vm_page_bootstrap: %d free pages\n", vm_page_free_count);*/ vm_page_free_count_minimum = vm_page_free_count; } |