Commit Graph

896 Commits

Author SHA1 Message Date
leo 6827fd2ff0 Checkpoint my work on et6000 support. 1998-11-20 12:56:09 +00:00
leo 396634e8c7 Adapt to new wd world-order. 1998-11-20 12:54:37 +00:00
leo d8b37265bc Fix parameters of uvm_unmap(). 1998-11-20 12:48:13 +00:00
leo c852714bf9 Make it compile with -DDEBUG again. 1998-11-20 12:46:51 +00:00
leo 394afce1c9 NWDC -> NWD (wdc.h -> wd.h) 1998-11-20 12:43:11 +00:00
thorpej 5f0577babc Adapt to the new scsipi_adapter interface. 1998-11-19 21:43:00 +00:00
mrg db3051d720 fix problems in many d_mmap routines:
- returned EOPNOTSUPP rather than -1.
	- no check for negative offset.
many of these fix potential security problems in these drivers.


XXX XXX XXX
the d_mmap cdev routine should be changed to have a prototype like:
	paddr_t (*d_mmap) __P((dev_t, off_t, int));

by someone!
1998-11-19 15:38:20 +00:00
oster cf5710c839 Added a (commented out) configuration line for the RAIDframe device driver. 1998-11-16 16:44:55 +00:00
oster c74d32c5fc Updating of bdev's and cdev's to support RAIDframe. 1998-11-13 04:47:03 +00:00
thorpej 49c62c4336 Changes to support fork_kthread():
- cpu_set_kpc() now takes void *arg third argument, passed to the
  entry point.
- cpu_fork() allows parent to be non-curproc iff parent is proc0.
  When forking non-curproc, assume its state has already been saved.
- Adjust various pieces of machine-dependent code to account of all of this.
1998-11-11 06:41:23 +00:00
leo 4401599ff3 These should have been added together with leo.c a long while ago :-( Thanks
to 'entropy' for keeping an eye on me...
1998-11-03 14:50:15 +00:00
tron b296275bb4 Defopt SYSVMSG, SYSVSEM and SYSVSHM. 1998-10-19 22:09:13 +00:00
itohy 2a9addf6dc Remove unwanted reference to "_trap1" if !defined(COMPAT_13). 1998-10-18 04:42:17 +00:00
drochner 2468738337 change handling of libkern:
-sys/lib/libkern builds as library per default (as it was documented all
 the time)
-ports able to LKM set "KERN_AS=obj" explicitely in their Makefiles
 (for now; should depend on actual "option LKM" or -better- functions
 included for LKM use should be pulled in by a stub)
-always link libcompat before libkern - libkern stuff can be referred to
 by libcompat, but not the other way
1998-10-15 18:37:13 +00:00
bouyer 19fddaeeb5 Merge bouyer-ide 1998-10-12 16:09:10 +00:00
thorpej 908cdfe4e3 Add scsibus entry points to the cdevsw[]. 1998-10-10 02:00:49 +00:00
thorpej 29d472f53d Garbage-collect the open_target_lu and close_target_lu entry points from
struct scsipi_adapter; they were not used.

Add a scsipi_ioctl entry point to struct scsipi_adapter.  This will be
used to issue ioctl commands to the host adapters.

Inspired by PR #6090, from Matt Jacob.
1998-10-10 00:28:28 +00:00
thorpej b38544d99e Oops, back out a buglet I didn't intend to commit in the last change. 1998-10-07 18:29:26 +00:00
leo d833f66c0c Copyright stuff. 1998-10-07 07:22:32 +00:00
thorpej d681cf055a configure() prototype is in <sys/device.h> 1998-10-06 20:50:15 +00:00
leo 3e8b7d3139 Only return COMPLETE when polling. 1998-10-06 09:32:44 +00:00
leo 05ebc10205 Disable SCSI interrupts while polling for the transfer to finish. This
fixes spurious panics while booting my Hades. This bug could also occur
on a TT030.
1998-10-06 09:29:44 +00:00
leo 8a20859c2e Some DEBUG fixups 1998-10-06 09:22:01 +00:00
leo e3704a8e0b Fix DEBUG printf 1998-10-06 09:19:36 +00:00
thorpej 5006dbf868 cpu_set_kpc() prototype is already in <sys/systm.h>. 1998-10-05 22:11:15 +00:00
thorpej c01f29bdf1 Sigh, we are going to have to burn a vector for Just Sigreturn again,
for now, until we have a more generic {get,set}context().  Update the
comment for trap #3 accordingly.
1998-10-04 23:38:55 +00:00
leo a30987cbf6 Re-arrange networking options a bit (Julian Coleman) 1998-10-02 12:50:35 +00:00
thorpej d15a64c38b Adapt to signal changes. 1998-10-01 02:53:53 +00:00
thorpej 8b220e1148 Define SYS_compat_13_sigreturn13. 1998-10-01 00:29:51 +00:00
thorpej bcf14a99e2 Garbage collect trap #1 and trap #2 handlers; they're moved to
trap_subr.s
1998-09-30 23:47:33 +00:00
thorpej 1e62485c23 If !COMPAT_13, make trap #1 produce an illegal instruction. Fix the comment
for trap #2 to reflect that it's the trace trap.
1998-09-30 23:13:58 +00:00
thorpej a11e6632a8 Pull in opt_compat_netbsd.h 1998-09-30 23:01:28 +00:00
thorpej 35d282c8d5 Make sure SYS_exit and SYS___sigreturn14 are defined. Garbage collect
SYS_sigreturn.
1998-09-30 22:23:13 +00:00
thorpej 38084c6615 Note that trap #1 is compat_13_sigreturn, and give trap #3 to syscalls
which require special handling, e.g. sigreturn on m68k.

This differs from the old sigreturn trap in that we require the syscall
number to be in register d0, just like the regular syscall entry point.
This will allow sigreturn to be versioned in the future without the need
to allocate another trap vector.
1998-09-30 22:14:11 +00:00
leo e30046b37d This was a copy of an very old editing error in the amiga pmap.c....
(Ignatios Souvatzis)
1998-09-28 07:51:23 +00:00
thorpej 2671c2fa42 Make bus_dmamap_load_uio() work, from Kevin Lahey <kml@nas.nasa.gov>. 1998-09-21 22:51:56 +00:00
leo f1c16a1b25 Oops, forgot this one in the vmebus renaming (Julian Coleman). 1998-09-15 10:45:11 +00:00
leo d8ea31db0f Improve initialisation of the Crazy Dots card. (Julian Coleman) 1998-09-14 14:25:38 +00:00
mycroft 7b15b3b56d Minor change. 1998-09-13 12:01:41 +00:00
thorpej 70e641047c In cpu_coredump(), use MID_MACHINE rather than MID_* (whatever it expands
to).
1998-09-09 11:17:24 +00:00
thorpej 8abe0d6b1c Adjust for the new "reaper" kernel thread: do not free the vmspace and
u-area in machine-dependent code.  Instead, call exit2() to schedule
the reaper to free them for us, once it is safe to do so (i.e. we are
no longer running on the dead proc's vmspace and stack).
1998-09-09 00:07:48 +00:00
christos 449820f2ea Assign copyright to TNF. 1998-09-05 15:28:04 +00:00
lukem c9db84ecc9 distclean is a synonym for cleandir 1998-09-05 15:15:14 +00:00
leo fcfae9e5df Get rid of vm_offset_t/vm_size_t 1998-09-02 14:58:01 +00:00
mrg 77e8bc0d0f really turn UVM on on the atari... 1998-09-02 14:28:58 +00:00
leo 0d5cf1f723 mv vmebus -> avmebus to make room for MI vmebus implementation (per
reqest of Drochner).
1998-09-02 11:23:41 +00:00
leo a3b886d834 Reorganize installation if include files. Nuke some from atari/include as
they make no sense out of the kernel add some from atari/dev (ioctl's).
1998-09-02 10:59:14 +00:00
leo 2ce88694c7 Do not include files.isapnp, this file is now included from files.isa...
(Julian Coleman)
1998-08-18 11:51:07 +00:00
leo 47cf1b0e0a Circad Leonardo video driver by 'maximum entropy'. 1998-08-18 07:45:02 +00:00
mycroft 6dc903202f Assign my copyrights to TNF. 1998-08-15 10:10:47 +00:00
mycroft 6d3d8a1350 Make copyright notices with my name consistent. 1998-08-15 03:02:31 +00:00
leo 557c338959 Add CCITT & NATM interrupt handlers. (Jonathan Stone). 1998-08-11 12:22:57 +00:00
leo 6617ede128 KERNEL_RELOC -> RELOC_KERNEL (Entropy) 1998-08-11 07:05:46 +00:00
leo 5429ccda94 Pass the dma_tag to _bus_dmamap_load_buffer. 1998-08-03 13:09:01 +00:00
thorpej 92d42c0871 Add a comment about why we can (and must) use bus_space_{,un}map() directly
in this file.
1998-07-31 04:44:10 +00:00
leo 3a8b550914 Make this a bit more complete. (Triggered by Julian Coleman ;-) 1998-07-30 12:02:41 +00:00
thorpej 3ff8e6493a Don't cast the null residual pointer passed to vn_rdwr(). 1998-07-28 18:34:52 +00:00
leo 101f67646c Add '<ufs/ufs/dinode.h>' to the include list. (Julian Coleman) 1998-07-22 12:49:42 +00:00
drochner 49bb9d8214 adapt to LANCE driver split 1998-07-21 17:36:01 +00:00
is 6054d626f9 Switching dev/ic/lpt.c to use spllpt() instead of spltty(). It doesn't use
tty structures, and on some machines (namely the DraCo internal lpt, and some
multi-i/o boards for Amigas and DraCos), tying spltty to the pretty high printer
interupt level would hurt serial performance.

On all affected ports but Amiga, spllpt() has been defined in machine/intr.h
to be spltty(), thus preserving old behaviour. Portmasters are encouraged to
change is, if they feel something else is better (e.g., one of its own were
possible).
1998-07-18 21:27:25 +00:00
thorpej 2fc1260cc0 Implement bus_dmamap_load_uio(). 1998-07-17 21:09:59 +00:00
veego 1b46ebe1d9 Add elf_machdep.h to the INCS list. 1998-07-12 17:53:29 +00:00
thorpej 639cc899cf Basic elf_machdep.h for m68k; doesn't include relocations, yet. 1998-07-12 01:17:58 +00:00
thorpej 1ea93eea1c Define one page free list, and put all pages on it. 1998-07-08 04:35:23 +00:00
jonathan d275e56dee * defopt COMPAT_{09,10,11,12,13} and COMPAT_NOMID.
TODO: revisit interaction between native compat and emul compat usage.
1998-07-05 08:49:30 +00:00
jonathan 011f2bda08 defopt NS, NSIP. 1998-07-05 06:49:00 +00:00
jonathan 5c0c5dd0b4 defopt ISO TPIP. 1998-07-05 04:37:35 +00:00
jonathan 3751946b97 defopt INET, NETATALK. 1998-07-05 00:51:04 +00:00
jonathan 466e784ee1 defopt DDB. 1998-07-04 22:18:13 +00:00
lukem bd8d501f7e remove options FIFO; it's now the default 1998-06-26 01:53:43 +00:00
thorpej 8aee7782f5 defopt COMPAT_SUNOS 1998-06-25 23:40:33 +00:00
thorpej 971b8956ef defopt KTRACE 1998-06-25 21:18:11 +00:00
leo 8dc084834e Reserve devices for i4b (ISDN). 1998-06-25 20:22:04 +00:00
leo bbf43dfbce Both the values 0 & 3 denote an english language (probably 0 US, 3 GB).
Observed by Witek Wnuk.
1998-06-17 11:45:12 +00:00
leo b51cc9af02 Add some sense to the interrupt names. 1998-06-17 11:41:21 +00:00
cgd 651b44e211 Rework the way kernel include files are installed. In the new method,
as with user-land programs, include files are installed by each directory
in the tree that has includes to install.  (This allows more flexibility
as to what gets installed, makes 'partial installs' easier, and gives us
more options as to which machines' includes get installed at any given
time.)  The old SYS_INCLUDES={symlinks,copies} behaviours are _both_
still supported, though at least one bug in the 'symlinks' case is
fixed by this change.  Include files can't be build before installation,
so directories that have includes as targets (e.g. dev/pci) have to move
those targets into a different Makefile.
1998-06-12 23:22:30 +00:00
leo 53023f94d2 Make this compile for the M68060 (Thomas Gerner) 1998-06-12 09:27:37 +00:00
thomas 2ea2848317 Fix egcs warning 1998-06-11 16:31:45 +00:00
leo 127d319668 Add some function decls previously declared elsewhere??? While here make them
static.
1998-06-11 08:36:54 +00:00
leo 6c721e05f1 Fix typo. 1998-06-11 08:32:00 +00:00
tv 00ede2160e Change ddb_init() for a.out to provision for kernels which are not booted by
the current 'bootblock' method, like the Shark, which preloads and preformats
the symbol table right in the boot code.
1998-06-09 01:57:41 +00:00
thorpej 680a3d77f4 Add isa_dma{freeze,thaw}(), used to temporarily stop and then restart
all ISA DMA.  Needed by e.g. the SmartCard reader for Sharks.
1998-06-09 01:04:17 +00:00
thorpej 7c54de8712 Change the ISA DMA API to take an isa_chipset_tag_t rather than
a struct device * corresponding to the ISA bus device.  The ISA DMA
controller driver functions have been renamed and now take a struct
isa_dma_state *, and are called indirectly by machine-dependent code
which provides the DMA state.

These changes allow e.g. `ofisa' (the OpenFirmware configuration
mechanism for the ISA bus, used by e.g. Sharks) to use the MI ISA
DMA controller code.
1998-06-09 00:08:43 +00:00
thorpej a3dbb61f55 Provide an isa_chipset_tag_t to the ISA bus device. 1998-06-09 00:08:12 +00:00
thorpej 2e846b8c1e Sync w/ i386 port. 1998-06-03 04:20:22 +00:00
thorpej a7f360c6c9 Specify a non-profiling C rule. 1998-05-31 23:25:41 +00:00
leo 6a9cf99c36 Moved to usr/share/man/man8/man8.atari. 1998-05-28 12:51:03 +00:00
leo 57508e322c Add bootpref subdir. 1998-05-28 12:41:54 +00:00
leo ce735c3455 bootpref(8), set/get bootpreferences by Julian Coleman 1998-05-28 12:39:23 +00:00
leo f87c18d94e Fix some errors occuring when compiling with DEBUG. These errors were hinted
at by recent hp300/mac68k changes.
1998-05-28 12:16:08 +00:00
leo b8dad8ab1f Fix some severe bogons in the pci and isa interrupt system. 1998-05-25 10:42:21 +00:00
leo ef7f50804b Add bus_space_{read,write}_region_stream_N functions. 1998-05-25 09:08:08 +00:00
is 7a0f63f982 Back out the defopt for M680?0. As pointed out to me, this breaks ports which
dont use the M680?0 the way Amiga, Atari, Mac68k, and X68k do. I must have
missed this in the past discussion about this project.
1998-05-24 19:32:34 +00:00
is 6a6812fd92 Move M680[2346]0 to opt_m68kcpu.h.
XXX Some explicit dependencies could be removed now from the individual
arch/$ARCH/conf/Makefile.$ARCH files, but this is still to be done.
1998-05-23 20:51:06 +00:00
thorpej 6626878e7b It is no longer necessary for pmap_pinit() and pmap_release() to be
pmap interface functions, as NetBSD no longer uses statically allocated
pmaps (except for the kernel pmap, which is special-cased anyhow).
1998-05-19 19:00:11 +00:00
leo 199165fe0d Fix errors when compiling for M68030 only. (Witek Wnuk) 1998-05-18 12:06:46 +00:00
leo 560995dea3 Forgotten with last UVM check-in. 1998-05-12 21:09:23 +00:00
thomas 5575e380dd Let et4000 work with other RAMDAC than STG1703 1998-05-11 20:43:43 +00:00
leo e63efc87df Add UVM option. 1998-05-11 07:46:15 +00:00
leo 4eb4a78df8 Implement MACHINE_NEW_NONCONTIG. Implementation is based on Ignatios' amiga
implementation and Chuck's conversion description.
1998-05-07 07:25:51 +00:00
leo 2c492c0040 Crazy Dots driver by Julian Coleman. 1998-04-23 09:26:18 +00:00
leo 9f8316940b Use NOWAIT when malloc()-ing a buffer for switching screens. It might be
running from an interrupt handler.
1998-04-23 09:22:15 +00:00
leo 243c5f7b9c Update copyright year (it really is 1998). 1998-04-23 09:17:44 +00:00
leo fe41c75b56 Add the 'bus' code for a linear big endian bus (like VME). 1998-04-22 08:01:17 +00:00
leo b821c044e6 Add isapnp stuff (Thomas Gerner) 1998-04-22 07:57:52 +00:00
leo 5a784cc595 Fix prototype of interrupt function. 1998-04-22 07:53:22 +00:00
leo f7d6d7c9b8 Don't clear the 'd_partitions' before starting to read the disklabel. Some
filesystems (iso9660) depend on the info they had already setup there.
1998-04-15 09:02:06 +00:00
leo ae019435eb Probe the 'mainbus' before the other busses. This gives less surprises when
adding things like SCSI controlers to the pci-bus.
1998-04-15 09:00:19 +00:00
tv b21bfbde11 Add -Wno-main conditional on compiler being gcc 2.8 or egcs. (This adds
a HAVE_GCC28 check-variable that can now be used to add other gcc-2.8
flags in cases where they may be useful, or to remove gcc 2.7.2 "bug
workaround" flags.)
1998-04-12 23:47:41 +00:00
leo 85966e661a Use MI wdc-driver. 1998-04-10 10:37:04 +00:00
leo bc2d7f642e le_bus.c is dependent on pci & isa. 1998-04-10 10:28:47 +00:00
leo bc9ebf17a7 Major overhaul of the atari bus_space implementation. 1998-04-10 08:19:53 +00:00
leo e32073cbb1 Sync with latest tty changes. 1998-03-25 09:46:09 +00:00
bouyer 9f50fca1fd Add commented out "options FFS_EI" 1998-03-18 16:34:41 +00:00
leo 4e466a839d Move the bus_* functions from machdep.c to bus.c . 1998-03-13 21:05:10 +00:00
leo 0dd40d6952 Bus-dma implementation for the atari. Heavily based on the i386
implementation.
1998-03-10 11:42:53 +00:00
fvdl 6e434a4386 Make this compile again. 1998-03-06 09:06:51 +00:00
perry 1ed8ea9966 note second parm of sysarch() is now void *, + trivial KNF, etc. 1998-02-25 21:41:55 +00:00
leo 25811c51ea Declare 'fd_cd'. 1998-02-24 13:02:54 +00:00
leo e4b379c7c1 Only try to initialize the PCI-bus when NPCI > 0. 1998-02-24 13:02:06 +00:00
leo c281cb0e23 Update Hades PCI support:
- Initialize the PCI bus and hand-out mem and i/o addresses. (there is
    still lots of room for improvements here...)
  - Implement the interupt functions
1998-02-19 16:16:51 +00:00
thorpej 772da350d4 Disable the message buffer during crash dumps by clearing msgbufenabled,
not msgbufmapped.
1998-02-19 04:18:30 +00:00
cgd 3bbb7f7d45 Move pmap_map() function definition to MD headers, as appropriate. It's
an internal function, and the VM system shouldn't try to prototype it.
(Note that some ports _don't_ prototype it.)
1998-02-18 02:05:32 +00:00
thorpej 8354e68508 Remove "class" declarations, and add "devclass" declarations where
appropriate.  Fix several inconsistencies between device class and
attributes.  Mostly from Chris Demetriou.
1998-02-16 22:12:45 +00:00
leo 301a4b3f87 Build the library before using it.... (Thomas Gerner). 1998-02-10 10:28:34 +00:00
leo dda805c3d4 Accept an 68060 as cpu-type. (Thomas Gerner). 1998-02-10 10:25:08 +00:00
mycroft b5c132e4d2 Prototype __flt_rounds() consistently. 1998-02-03 01:26:20 +00:00
is b3fa451227 Amiga uses the common m68k/sig_machdep.c now. Also moved its definition from
the other 68k ports' files.${port} to arch/m68k/conf/files.m68k.
1998-02-01 21:23:24 +00:00
mycroft 15ae963bea When dumping, print out the device number as major,minor. 1998-01-24 16:46:23 +00:00
leo 8d5fa0c992 Fix a bug in the colormap handling. (Thomas Gerner) 1998-01-21 09:07:46 +00:00
leo 123d97732f Be more accurate with errors on read(2) (as suggested by Ted Lemon). 1998-01-16 09:19:37 +00:00
leo bb4f2f4ebe Add: bus_space_{read,write}_region_N() and bus_space_set_{multi,region}_N()
functions.
1998-01-16 09:17:48 +00:00
leo dc8f785187 Make this compile again after the latest config changes. 1998-01-15 13:06:27 +00:00
thorpej 2d73f5ea18 Update for changes to config. 1998-01-12 18:03:58 +00:00
thorpej 6ac24f05df Garbage-collect VM_PMAP. 1998-01-06 08:46:11 +00:00
thorpej 2317f9064e Garbage-collect pm_stchanged. 1998-01-06 08:40:50 +00:00
thorpej 07f835de1f Garbage-collect PMAP_ACTIVATE() call here; it's no longer necessary. 1998-01-06 07:49:36 +00:00
thorpej 61567b54de Garbage-collect pm_stchanged; it's not used by anything. 1998-01-06 07:02:58 +00:00
thorpej d11b109f2b Garbage-collect use of the PCB's copy of the user segment table pointer. 1998-01-06 06:51:40 +00:00
thorpej ab9b250a37 The user segment table pointer is no longer kept here. Change it to
a spare field.

XXX Should be changed to use generic m68k PCB!
1998-01-06 06:47:04 +00:00
thorpej a8f80ad4fd Fix a bogosity apparently inherited from when the Utah 4.3BSD code base
was converted to use Mach VM for Net2/4.4BSD.  The user segment table
pointer was originally stored in the PCB.  When Mach VM came along,
however, it was also stored in the pmap, and loaded into the PCB in
pmap_activate().  pmap_activate() would then note that the PCB's USTP
was now in sync with the pmap's USTP, and the low-level context switch
code would use the value from the PCB.

However, pmap_activate() would also load the hardware MMU context if
the pmap was the current pmap (or, in the case where pmaps can be shared,
such as in NetBSD, if the proc was the current proc).  The low-level
context switch code would then reload the hardware _again_ using the
USTP from the PCB.

However, the optimization of not calling pmap_activate() if "stchanged"
was false ended up causing some processes to use stale USTP values from
the PCB when the low-level context switch code reloaded the hardware!
This was noticed by using a real vfork(2) (which worked for some time
before failing, surprisingly!)

Since I'm hard pressed to find any real optimization here (since the
hardware was always reloaded once, sometimes twice!), the code now always
calls pmap_activate(), which uses the correct USTP value (the one in the
pmap).  The PCB's USTP is now ignored, and should eventually be g/c'd.

Another optimization can actually be performed, and I have added a comment
describing what it is, but have not yet implemented it.

Also note that most of the loadustp() functions where actually incomplete.
This has been corrected.  These functions should probably be split up into
MMU-specific operations, and called indirectly, rather than doing constant
run-time decision making based on values that will never change during the
course of a boot's lifetime.
1998-01-05 23:16:21 +00:00
perry 015e898c02 RCSID Police. 1998-01-05 07:02:46 +00:00
thorpej b9f1b716f3 Now that all ports have pmap_activate(), and it has an identical interface,
prototype it in <vm/pmap.h>
1998-01-03 01:12:59 +00:00
thorpej dd966fca05 Change an argument name to PMAP_ACTIVATE() to more accurately describe the
semantics of the argument.
1998-01-01 20:05:23 +00:00
thorpej 287b63b321 - Make pmap_activate() and pmap_deactivate() take a struct proc *.
- Define active_user_pmap() and use it in the appropriate places (from hp300
  port).
1998-01-01 19:52:50 +00:00
mikel 733dae35bc use ${SIZE} instead of "size" (somehow this one got missed) 1998-01-01 08:11:41 +00:00
leo 4702594559 Correct size of brwrite():trbuf[] (Mellon). 1997-12-15 09:21:04 +00:00
leo 18d2ccf637 Add '-H' option for writing High density floppies. 1997-12-10 09:32:35 +00:00
tv 0a558b3f1f Standardize COMPAT_SUNOS -- remove all references to
sunos_exec_aout_makecmds() in machdep.c for various architectures and put
it in exec_conf.c like the other emulations; rename exec.h to
sunos_exec.h.
1997-12-04 15:33:17 +00:00
leo 9d09eab68e Preserve the bootflags in the processor-type test (== make the loader
work again for the TT030).
1997-12-04 07:39:05 +00:00