Commit Graph

245 Commits

Author SHA1 Message Date
tsutsui 9d5b24f779 Apply pmap_k{enter_pa,remove} patches provided by Chuck Silvers. 2001-07-25 15:59:48 +00:00
tsutsui 6fa8cc9467 Sync with hp300/vm_machdep.c rev 1.60:
> use pmap_k* for pagemove().
> call pmap_remove() explicitly in vunmapbuf() in preparation for
> upcoming UVM changes.
2001-07-25 15:56:30 +00:00
tsutsui 5db9f9aa7c Cosmetics. (some KNF, typo etc.) 2001-07-25 15:48:09 +00:00
wiz a9356936b4 seperate -> separate 2001-07-22 13:33:58 +00:00
abs 01b024cd5b Standardise TCP_COMPAT_42 as commented out, grouped with other COMPAT options,
and with the comment '4.2BSD TCP/IP bug compat. Not recommended'
Add commented out 'TCP_DEBUG # Record last TCP_NDEBUG packets with SO_DEBUG'
(All hail amiga and atari which make some attempt to automate the
multiplicity of config files...)
2001-07-08 16:32:12 +00:00
tsutsui d49986b17f Split clock device attachment into interval timer and todclock
since they are actually independent devices.
2001-07-07 15:27:19 +00:00
tsutsui fe30b5a627 bzero() -> memset() 2001-07-07 06:24:00 +00:00
tsutsui 6005077f81 bcopy() -> memcpy() (I guess there is no overlap here) 2001-07-07 05:09:43 +00:00
darcy ce0ec1e208 Add System V semaphore resource limits to each GENERIC file that has an
option for System V semaphores.  It appears that there are no overrides
in the code and each file has the following added.

 options    SYSVSEM     # System V semaphores
+#options   SEMMNI=10   # number of semaphore identifiers
+#options   SEMMNS=60   # number of semaphores in system
+#options   SEMUME=10   # max number of undo entries per process
+#options   SEMMNU=30   # number of undo structures in system
 options    SYSVSHM     # System V shared memory

If anyone thinks that this is incorrect for any of these files, please
correct it.

Note - the i386 port was not forgotten.  It was done separately.
2001-06-30 11:00:31 +00:00
christos 0f380fac15 Add an e_trapsignal member to struct emul, so that emulated processes can
send the appropriate signal depending on the trap type.
2001-06-18 02:00:48 +00:00
chs 821ec03ed9 replace vm_map{,_entry}_t with struct vm_map{,_entry} *. 2001-06-02 18:09:08 +00:00
lukem d84d2c6c85 add missing #include "opt_kgdb.h" 2001-05-30 15:24:23 +00:00
mrg 67afbd6270 use _KERNEL_OPT 2001-05-30 11:57:16 +00:00
mrg 3783ca5d30 define _KERNEL_OPT as well as _KERNEL. we will use this in the future to
get kernel "opt_foo.h" headers, rather than _KERNEL && !_LKM.
2001-05-29 02:20:20 +00:00
chs 11a9651c8f replace vm_page_t with struct vm_page *. 2001-05-26 21:27:10 +00:00
chs 118ddca24a replace {simple_,}lock{_data,}_t with struct {simple,}lock {,*}. 2001-05-26 16:32:40 +00:00
kleink ba6a8bf61e Update to reflect that unlike in m68k a.out environments, where the .align
directive is given a log2 argument, .align is given a linear argument in
m68k ELF environments.
2001-05-12 00:55:34 +00:00
thorpej cf67ac7122 Per discussion w/ chuck and chuck, restructure the md page stuff
to use a structure called "vm_page_md", and use __HAVE_VM_PAGE_MD
and __HAVE_PMAP_PHYSSEG.
2001-05-01 02:19:13 +00:00
thorpej 2b27ac7a99 Add a VM_MDPAGE_MEMBERS macro that defines pmap-specific data for
each vm_page structure.  Add a VM_MDPAGE_INIT() macro to init this
data when pages are initialized by UVM.  These macros are mandatory,
but ports may #define them to nothing if they are not needed/used.

This deprecates struct pmap_physseg.  As a transitional measure,
allow a port to #define PMAP_PHYSSEG so that it can continue to
use it until its pmap is converted to use VM_MDPAGE_MEMBERS.

Use all this stuff to eliminate a lot of extra work in the Alpha
pmap module (it's smaller and faster now).  Changes to other pmap
modules will follow.
2001-04-29 22:44:31 +00:00
bouyer 937a7a3ed9 Pull up the thorpej_scsipi branch to main branch.
This is a completely rewritten scsipi_xfer execution engine, and the
associated changes to HBA drivers. Overview of changes & features:
- All xfers are queued in the mid-layer, rather than doing so in an
  ad-hoc fashion in individual adapter drivers.
- Adapter/channel resource management in the mid-layer, avoids even trying
  to start running an xfer if the adapter/channel doesn't have the resources.
- Better communication between the mid-layer and the adapters.
- Asynchronous event notification mechanism from adapter to mid-layer and
  peripherals.
- Better peripheral queue management: freeze/thaw, sorted requeueing during
  recovery, etc.
- Clean separation of peripherals, adapters, and adapter channels (no more
  scsipi_link).
- Kernel thread for each scsipi_channel makes error recovery much easier
  (no more dealing with interrupt context when recovering from an error).
- Mid-layer support for tagged queueing: commands can have the tag type
  set explicitly, tag IDs are allocated in the mid-layer (thus eliminating
  the need to use buggy tag ID allocation schemes in many adapter drivers).
- support for QUEUE FULL and CHECK CONDITION status in mid-layer; the command
  will be requeued, or a REQUEST SENSE will be sent as appropriate.

Just before the merge syssrc has been tagged with thorpej_scsipi_beforemerge
2001-04-25 17:53:04 +00:00
thorpej fe664428c8 Garbage-collect pmap_page_index(). 2001-04-25 17:35:00 +00:00
thorpej 1c3a62e066 Sprinkle pmap_update() calls after calls to:
- pmap_enter()
- pmap_remove()
- pmap_protect()
- pmap_kenter_pa()
- pmap_kremove()
as described in pmap(9).

These calls are relatively conservative.  It may be possible to
optimize these a little more.
2001-04-24 04:30:50 +00:00
thorpej 55044638aa Remove pmap_kenter_pgs(). It was never really adopted by
anything, and the interface itself wasn't as flexible as
callers would have probably liked.
2001-04-22 23:42:11 +00:00
thorpej 69abdbf60c Undo a misguided previous change to the pmap_update() API. 2001-04-22 23:19:26 +00:00
thorpej 4738622712 Give pmap_update() an argument (a pmap_t) so that it knows which
pmap it should be updating.
2001-04-22 00:33:59 +00:00
thorpej 7f10ba88b1 #define away pmap_update() in <machine/pmap.h> so that no function
call overhead is incurred as we start sprinkling pmap_update() calls
throughout the source tree (no pmaps currently defer operations, but
we are adding the infrastructure to allow them to do so).
2001-04-21 23:51:14 +00:00
thorpej 15f731ee94 pmap_update() should not be equated with "flush entire TLB", it is
used to process deferred pmap operations.  Since these pmaps don't
defer anything, pmap_update() is a noop.
2001-04-21 17:25:01 +00:00
tsutsui c7bcfd56a3 Fix a leftover comment. 2001-04-21 11:54:25 +00:00
kleink f06533a1ee Add definitions of C99 integer format conversion macros.
XXX Fastest minimum-width integer types haven't been decided upon yet.
2001-04-15 17:13:04 +00:00
kleink 739cb75837 Add definitions of C99 specified-width integer type limits.
XXX Fastest minimum-width integer types haven't been decided upon yet.
2001-04-15 15:29:02 +00:00
kleink cdcf9f46c5 Add definitions of C99 integer constant macros.
Tidy Makefiles up a little.
2001-04-14 22:46:19 +00:00
kleink a7c20e5788 Add definitions of C99 integer constant macros. 2001-04-14 22:38:33 +00:00
kleink 7affdab52e Add definitions of C99 minimum-width and greatest-width integer types.
XXX Fastest minimum-width integer types haven't been decided upon yet.
2001-04-14 12:19:49 +00:00
thorpej bf2dcec4f5 Remove the use of splimp() from the NetBSD kernel. splnet()
and only splnet() is allowed for the protection of data structures
used by network devices.
2001-04-13 23:29:55 +00:00
tsutsui c8ff6232b7 Restore #endif which was mistakenly removed in previous. 2001-04-03 22:46:03 +00:00
tsutsui 09bedcf84f Add GENERIC_TINY config for low memory (and slow) machines. 2001-03-26 10:25:34 +00:00
lukem 723cd818d8 move duplicate definitions for:
pc, lpt, joy, ocis, apm, satlink, i4bctl, i4brbch, i4btel, i4btrc, i4b
from the port-specific arch/*/*/conf.c files into sys/conf.h
2001-03-21 22:25:52 +00:00
tsutsui 7ba79ec9f4 Switch news68k to ELF:
- Move options EXEC_ELF32 to std.news68k
2001-03-19 17:06:11 +00:00
tsutsui e0694eb01f Switch news68k to ELF:
- Move options EXEC_ELF32 to std.news68k
 - Add options COMPAT_AOUT_M68K to each config file
2001-03-19 16:59:19 +00:00
chs ac3bc537bd eliminate the KERN_* error codes in favor of the traditional E* codes.
the mapping is:

KERN_SUCCESS			0
KERN_INVALID_ADDRESS		EFAULT
KERN_PROTECTION_FAILURE		EACCES
KERN_NO_SPACE			ENOMEM
KERN_INVALID_ARGUMENT		EINVAL
KERN_FAILURE			various, mostly turn into KASSERTs
KERN_RESOURCE_SHORTAGE		ENOMEM
KERN_NOT_RECEIVER		<unused>
KERN_NO_ACCESS			<unused>
KERN_PAGES_LOCKED		<unused>
2001-03-15 06:10:32 +00:00
tsutsui 51cdfbfa9b Fix error on config without options news1700.
DC_BE and IC_BE bits are enabled at runtime since rev 1.7.
2001-03-10 18:58:16 +00:00
tsutsui 7346883e17 Don't include opt_compat_svr4.h on building LKM. 2001-03-10 18:39:04 +00:00
tsutsui 3345fe4477 Fix intrnames and intrcnt since there is no statclock on news68k. 2001-03-04 16:24:39 +00:00
tsutsui ea0e8d2320 Remove unused getsp(). 2001-03-04 16:21:05 +00:00
tsutsui 0f2df04d95 Add "-e start" to LDFLAGS for ELF toolchain. 2001-03-04 16:15:50 +00:00
tsutsui 1dff14e5c9 Include files.aoutm68k for COMPAT_AOUT_M68K. 2001-03-04 16:14:21 +00:00
tsutsui 956f5fbe42 Add one missed register prefix. 2001-03-03 13:59:10 +00:00
tsutsui 7b88ea28ab Remove unneeded COMPAT_HPUX stuff. 2001-02-25 13:33:54 +00:00
tsutsui 4cd9aa3b6c Sync with x68k:
Use m68k_page_offset and m68k_trunc_page macros,
 instead of using PGOFSET directly.
2001-02-25 13:28:31 +00:00
tsutsui e3180dc477 Enable options NFS_V2_ONLY and VNODE_OP_NOINLINE. 2001-02-18 05:24:43 +00:00
tsutsui 47ac3d6b45 include sunos_exec.h to declare emul_sunos. 2001-02-17 18:34:57 +00:00
tsutsui 69e6648be8 Remove phys_map declaration, which is in <uvm/uvm_extern.h> 2001-02-17 18:29:55 +00:00
tsutsui f5d8c46be6 Remove unused fb stuff. 2001-02-17 18:21:03 +00:00
tsutsui 96c8c181ee Fix some nested extern declarations. 2001-02-17 18:15:18 +00:00
tsutsui 677243711e Add a version file and print version strings generated by newvers_stand.sh. 2001-01-30 14:29:47 +00:00
tsutsui 9af4874133 Umm, fix botch in the previous;
include bsd.own.mk at the top, and include bsd.prog.mk at the bottom.
2001-01-30 14:21:49 +00:00
tsutsui 75e4c0c1be - bzero() -> memset()
- Remove unneeded includes
- WARNSfy
2001-01-30 14:11:00 +00:00
tsutsui 85e5565f13 Remove (unused) -DBOOT_DEBUG. 2001-01-30 12:48:34 +00:00
tsutsui 2b258b5e2b Include bsd.prog.mk at the top to pull in ${PRINTOBJDIR}. 2001-01-30 12:42:43 +00:00
tsutsui 08f4daf2ce Add drivers for keyboard and mouse.
(but no working framebuffer yet..)
2001-01-25 14:33:28 +00:00
tsutsui ec63f6df14 Use MI loadfile() in loadprotoblocks(). 2001-01-23 11:30:54 +00:00
tv e58532a4bf No-op commit to force update to a non-"-kk" revision. 2001-01-18 17:47:58 +00:00
fvdl c7f1462f3e Add machdep file for procfs. Currently only used for linux-style
/proc/cpuinfo (only active when procfs is mounted with -o linux).
For ports other than the i386 this currently produces an empty
string.
2001-01-17 00:07:18 +00:00
thorpej d74e432ed3 Make softclock a generic soft interrupt of the API is available,
adding the requisite void * argument to softclock().
2001-01-15 20:19:50 +00:00
thorpej a3ec356d52 splimp() -> splvm() 2001-01-14 03:22:04 +00:00
thorpej d85a75f583 Make sure everybody has an splvm() and equate it with splimp() (splimp()
is the historical name for this interrupt level, and the historical name
is going to go away in the near future).
2001-01-14 02:00:37 +00:00
tsutsui f9de1a4a50 Handle ELF case on calling ddb_init().
XXX should use bootinfo to pass symbol addresses.
2001-01-12 17:17:49 +00:00
tsutsui aafbe31f11 Enable ELF symbol support to migrate. DB_AOUT_SYMBOLS is still defined. 2001-01-12 17:11:50 +00:00
tsutsui 26d5ada2c0 Remove hp300 derived "last kernel PT page" stuff. (sync with luna68k/x68k) 2001-01-12 16:19:18 +00:00
tsutsui f68bcbc806 Use ${PRINTOBJDIR}. 2001-01-07 08:38:01 +00:00
jhawk be1e7e391c Spell "physical" correctly in comment. 2000-12-24 07:13:36 +00:00
jdolecek de31133f1d split off thread specific stuff from struct sigacts to struct sigctx, leaving
only signal handler array sharable between threads
move other random signal stuff from struct proc to struct sigctx

This addresses kern/10981 by Matthew Orgass.

XXX I wish m68k ports would share trap.c
2000-12-23 09:35:51 +00:00
scw 4350a7f2b7 Unification of the m68k syscall() function. 2000-12-19 21:09:54 +00:00
bouyer c71f40d166 Add pseudo-device vlan 2000-12-19 10:42:02 +00:00
jdolecek cacec11253 delete obsolete comment 2000-12-17 15:52:39 +00:00
jdolecek ca57e681bd g/c obsolete vtrace(2) stuff 2000-12-13 18:13:05 +00:00
tsutsui e89ff0051b Add some ELF stuff. (not tested)
XXX should use MI loadfile(). (see sparc)
2000-12-03 03:35:40 +00:00
tsutsui b00d07faa9 Enable LOAD_HDR and COUNT_HDR. (would be required on ELF) 2000-12-03 02:56:25 +00:00
tsutsui a8fdbdec1c Remove unused pcbb() macro. 2000-12-01 17:57:43 +00:00
tsutsui 7dc077e6f5 Change UPAGES from 3 to 2. (sync with hp300) 2000-11-29 12:32:06 +00:00
jdolecek 17a9fd0da5 split m68k SunOS and SVR4-specific sigcode.s code to sunos_sigcode.s
and svr4_sigcode.s respectively
adjust individual m68k port's locore.s to include new sigcode files if
appropriate
2000-11-26 11:47:23 +00:00
tsutsui add41a3fee Make sure to return PROM prompt even if loading kernel fails halfway. 2000-11-25 04:42:06 +00:00
tsutsui 6d8f55d932 Use single_inst_b{set,clr}_b() macro defined in m68k/asm_single.h. 2000-11-24 14:08:14 +00:00
tsutsui 5ed7dadbfb Enable rnd and comment out CD9660. (no SCSI support on news1200 yet) 2000-11-24 13:05:31 +00:00
tsutsui be69cb38ee Add/enable COMPAT_SUNOS. It actually works on news68k. 2000-11-24 12:58:17 +00:00
tsutsui 161004f8c3 s/struct const sysent/const struct sysent/
(BTW, luna68k was missed in emul/execsw changes?)
2000-11-21 23:19:42 +00:00
tsutsui 2c7e91a09e Define proper macros for FP frame offsets rather than magic numbers. 2000-11-21 13:54:13 +00:00
jdolecek baae0324b9 restructure struct emul and execsw, in preparation to make emulations LKMable:
* move all exec-type specific information from struct emul to execsw[] and
  provide single struct emul per emulation
* elf:
  - kern/exec_elf32.c:probe_funcs[] is gone, execsw[] how has one entry
    per emulation and contains pointer to respective probe function
  - interp is allocated via MALLOC() rather than on stack
  - elf_args structure is allocated via MALLOC() rather than malloc()
* ecoff: the per-emulation hooks moved from alpha and mips specific code
  to OSF1 and Ultrix compat code as appropriate, execsw[] has one entry per
  emulation supporting ecoff with appropriate probe function
* the makecmds/probe functions don't set emulation, pointer to emulation is
  part of appropriate execsw[] entry
* constify couple of structures
2000-11-21 00:37:49 +00:00
chs c62d17a551 rationalize the use of b_flags for geteblk() buffers.
rather than assigning to the whole field, set or clear individual flags,
which implies that the B_BUSY and B_INVAL flags will remain set.
this allows us to make the assertion in brelse() that B_BUSY is set,
which is the purpose of all this.
2000-11-20 08:24:08 +00:00
tsutsui ed94d05b50 Clear %fp to terminate backtrace on gdb. 2000-11-18 20:46:28 +00:00
thorpej 091d40d586 We use 4K pages on the news68k. Make PAGE_SIZE and friends into
compile-time constants.
2000-11-14 19:23:07 +00:00
tsutsui 96deb0588d Reduce NKMEMPAGES_MIN_DEFAULT. 2000-11-11 09:05:09 +00:00
tsutsui 487ec97958 Make it possible to enable/disable DC_BE and IC_BE bits in %cacr at runtime
and enable them on news1200/1400/1500 (which have no L2cache).
2000-11-09 14:17:19 +00:00
tsutsui 42c617c5c6 Oops, fix botch in previous. 2000-11-09 13:32:06 +00:00
tsutsui 25c36dbbbf Remove an unneeded include. 2000-11-08 14:37:08 +00:00
tsutsui f1403ed3e2 Protect netisr by splnet(). 2000-11-06 16:54:28 +00:00
tsutsui 3d26e06673 - Initialize zs chip in zscninit() so that kernel can use
serial console even if the PROM uses bitmap console.
- Remove zs_hwflags since news68k does not have keyboard nor mouse at zs;
  check zschan address set in zscninit() to detect console device.
- Use BPS_TO_TCONST() to set baudrate in zs_init_reg[].
- Remove zs_get_chan_addr(), which is not needed anymore.
2000-10-14 16:45:49 +00:00
tsutsui 230e4ff333 Clarify some intrnames. 2000-10-14 16:23:33 +00:00
tsutsui 1b5ed35b7a Re-enable tt0 register temporary to map I/O space.
(for framebuffer support)
2000-10-14 07:19:24 +00:00
tsutsui fbc8920b4b variable clock_attached is not needed. 2000-10-05 21:20:48 +00:00