Commit Graph

1082 Commits

Author SHA1 Message Date
thorpej
babefc5331 Add BUS_DMA_READ and BUS_DMA_WRITE flags, that hint the back-end
at dmamap load time that the mapping will be used for a unidirectional
transfer of the specified direction.
2001-07-19 15:32:10 +00:00
wiz
cc0b68092e Correct various misspellings of 'transfer' and inflected forms. 2001-07-08 18:06:42 +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
minoura
7e84e14950 Sync with GENERIC. 2001-07-07 15:59:31 +00:00
toshii
4866f1a22b Fix typo. s/extention/extension/ 2001-07-05 08:38:24 +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
minoura
f8ce82f817 Another steps for ELF.
- register prefix
 - machine/asm.h
 - deprecated -T option for ld(1)
2001-06-12 16:57:27 +00:00
wiz
0a600be867 receive, not recieve 2001-06-12 15:17:10 +00:00
minoura
55e73f8bc1 I was too careless. Do not throw away the prepared string. :p 2001-06-12 11:29:31 +00:00
minoura
5d6ce3b75c Make this compile again. 2001-06-12 10:30:04 +00:00
minoura
b1b468a365 Remove unneeded whitespace. 2001-06-12 10:03:04 +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
minoura
2d8c98280c Cleanup. Addresses port-x68k/13051. 2001-05-28 06:18:20 +00:00
minoura
d0403f9f11 Add missing line in recording. Copy & paste error... 2001-05-27 05:30:02 +00:00
minoura
cbfe174737 Reset dx_nextoff and dx_nextsize before transfer. 2001-05-27 02:18:07 +00:00
minoura
423279efd8 Honor rtc_offset. 2001-05-26 21:32:30 +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
minoura
d5d0b41422 Reset the status register after abort. 2001-05-22 00:16:49 +00:00
minoura
8809460317 Correct ring buffer handling in recording. From Isaki-san. 2001-05-22 00:15:54 +00:00
minoura
4bff72882b Missings from the previous commit.
From Izaki-san.
2001-05-15 09:10:05 +00:00
minoura
0bb85c4922 Encoding ulinear and mulaw are both software emulated.
From Isaki-san.
2001-05-07 09:42:30 +00:00
hubertf
b866d429c1 vlan does not belong to group of IPv6 pseudo-devices 2001-05-06 01:54:19 +00:00
minoura
c9c82d303a Use cdev_decl for prototype declarations (port-x68k/12829, thanks to scw
for suggestion).
Add static to some non-external functions.
2001-05-05 01:52:56 +00:00
minoura
58b62ea0cf Correct playing mu-law and linear. 2001-05-03 02:09:11 +00:00
minoura
3e3968872c Remove old obsolete audio driver. 2001-05-02 13:24:52 +00:00
minoura
a7fc9909b6 Add/enable vs. 2001-05-02 13:15:24 +00:00
minoura
b2cec36854 X68k built-in voice synthesizer. 2001-05-02 13:00:19 +00:00
minoura
f4b1b4cef9 Do not use constants, but macros. 2001-05-02 12:50:24 +00:00
minoura
47d22455b3 Disable array chain mode by default, since it is unused by any of
the current devices.
Add more flexibility in the API.
2001-05-02 12:48:24 +00:00
scw
2963ff5c58 Add l_poll' to struct linesw' and provide an xxxpoll() entry point
in each tty driver to indirect through it.

This allows tty line-disciplines to handle poll(2) system calls.
2001-05-02 10:32:08 +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
minoura
fc97cb8a94 Correct memory leak.
Use single block transfer when appropriate.
2001-04-30 05:47:31 +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
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
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
lukem
20ba07f2fe - add dev_noimpl(xxx,yyy) macro to replace "(dev_type_xxx((*))) yyy",
and use appropriately

- create more helper macros:
   . cdev__xyz_init(c,n), such as cdev__ocri_init() for
     /* open, close, read, ioctl */, etc.
   . cdev__xRy_init(c,n), where nullop is used instead of enodev to dummy out
     method `R' and the comments now read /* xxx (read) yyy */ instead
   . cdev__xyz_t_init(c,n,t) - as per cdev__xyz_init, but sets d_type = t
     as well

- use seltrue instead of dev_noimpl(poll,*), as (IIRC) cdevsw.d_poll should
  always DTRT WRT returning a valid result.  (a few devices previously
  incorrectly returned ENODEV)

- use dev_noimpl(stop,enodev) instead of dev_noimpl(stop,nullop) if tty
  == 0, because it doesn't matter if dev_type_stop isn't implemented in that
  case, and it allows the use of the cdev__xyz_init macros. certain ports
  (sparc,sparc64,x68k) used the nullop method for dev_type_stop in a few
  drivers, whereas everything else uses enodev

- ensure that the comments are accurate WRT the behaviour of a given entry
2001-03-26 12:33:22 +00:00
minoura
23d323f4f9 Sync with amiga 1.15.
Make this compile again (when building the LKMs).
2001-03-22 12:47:11 +00:00
minoura
b711716241 A bit of ELF support. From scw. 2001-03-22 12:46:19 +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
soren
912c115675 s/vm_page_alloc_memory/uvm_pglistalloc/ in panic message. 2001-03-21 18:40:28 +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
minoura
8cba02bdf9 Turn off options JUPITER temporarily.
This may cause problems on some newer accelerators.
We might have to write a more accurate detect code.
2001-03-10 03:23:09 +00:00
thorpej
2c4c690f14 Add the BUS_DMA_STREAMING flag. 2001-03-07 22:42:16 +00:00
minoura
8770ff2900 Sync with news68k:
Remove unneeded COMPAT_HPUX stuff.
2001-03-01 17:11:13 +00:00
jdolecek
f6d22f21da usr1handler(): fix the logerror() call, use string 'shut' 2001-02-21 22:55:51 +00:00
minoura
b675f941fe Use m68k_page_offset and m68k_trunc_page macros,
instead of using PGOFSET directly.
2001-02-21 12:39:16 +00:00
minoura
943f21e2c5 Remove some redundant decls.
Fix some nested decls.
2001-02-21 05:53:35 +00:00
minoura
daa78d567e Make this compile again. 2001-02-21 05:44:32 +00:00
minoura
013971b69b include sunos_exec.h to declare emul_sunos.
From syssrc/sys/arch/news68k/news68k/trap.c:1.12.
2001-02-20 15:55:08 +00:00
minoura
0e8197960f Remove phys_map declaration, which is in <uvm/uvm_extern.h>.
From syssrc/sys/arch/news68k/news68k/vm_machdep.c:1.6.
2001-02-20 15:54:29 +00:00
minoura
a7d2590bf0 Fix some nested extern declarations.
From syssrc/sys/arch/news68k/news68k/machdep.c:1.16.
2001-02-20 15:53:27 +00:00
thorpej
043e519d55 Adjust the way that media is initialized on DP8390-compatible
chips.  The dp8390_softc now has media_init and media_fini
function pointers that do the work.
2001-02-12 18:49:03 +00:00
itohy
a9cd6b907b Performance hack.
Mainly for the Neptune-X Ethernet adaptor,
and improves ftp(1) speed by ~10%.

	get: 219 KB/s -> 246 KB/s
	put: 226 KB/s -> 247 KB/s
	(X68030, MC68030 25MHz)
2001-01-29 01:09:29 +00:00
minoura
42c425801b Use IOCS_S_READEXT only when reading the partition boot from
higher part of the disk than 0x200000.
2001-01-26 17:30:15 +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
itohy
f3590c636b Make it compile with "options DIAGNOSTIC" (patch from minoura). 2001-01-15 07:04:41 +00:00
martin
a261276f16 The i4b raw b-channel devices actually do have an ioctl routine,
so better add this to the cdevsw entry.
Noted by Bruno Achauer.
2001-01-14 11:17:28 +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
minoura
b2bcd7ceb9 Use MI clock_subr.c. 2001-01-11 16:09:42 +00:00
minoura
9caeb5a28b isinram() argument is not a virtual address but a physical address. 2001-01-11 14:24:04 +00:00
minoura
0ef9589af4 X68k's physical RAM is not at lowram-0xffffffff, but has multiple segments. 2001-01-11 14:00:11 +00:00
minoura
8829b4cc1a Sync. w/ luna68k; eliminate irrelavant code imposed by
the restriction of hp300 hardware and HP-UX compatibility.
2001-01-11 13:18:36 +00:00
minoura
950e1bd9b8 Eliminate EIOMAPSIZE. 2001-01-11 10:40:55 +00:00
minoura
77f3a6ab78 G/C. 2001-01-11 10:36:46 +00:00
martin
5d0c67c603 When adding isdn devices I forgot to check chrtoblktbl.
Fix this know for the affected archs.
2001-01-09 20:51:04 +00:00
minoura
8a3a316883 Do not range_test() unless DIAGNOSTIC.
Suggested by Tetsuya Isaki <isaki@v6.ipc.hiroshima-u.ac.jp>.
2001-01-09 11:38:32 +00:00
lukem
443a19e035 convert to using .WAIT 2001-01-09 03:13:39 +00:00
martin
f53c899649 Add isdn devices to all archs that seem to support at least one of the
necessary busses. Sync comments with reality for archs that already had
the devices.
2001-01-08 21:46:33 +00:00
minoura
cd4d6511c8 Correct `Year 2001 problem'.
Pointed out by Okamoto Kohichi <GHG03305@nifty.ne.jp> and
URA Hiroshi <ura@hiru.aoba.yokohama.jp>.
2001-01-04 06:45:18 +00:00
minoura
9132306dbc CMACHFLAGS defaults to -m68020-60.
Can be overridden in config files; add examples.
2000-12-29 15:18:37 +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
minoura
6f08eabd1f %reg -> %%reg in asm() directive. 2000-12-18 02:46:49 +00:00
jdolecek
cacec11253 delete obsolete comment 2000-12-17 15:52:39 +00:00
itohy
cf27186531 Remove empty lines from cpp output since make doesn't seem to like them. 2000-12-15 07:16:36 +00:00
jdolecek
ca57e681bd g/c obsolete vtrace(2) stuff 2000-12-13 18:13:05 +00:00
itohy
c8ca4dd604 Add register prefix in asm() directives. 2000-12-08 03:00:05 +00:00
itohy
5d2d4230c8 Fix asm() directive. 2000-12-08 02:59:38 +00:00
itohy
c2245838be 1. Add register prefix.
2. movb #0x01,0x01800003@ -> movb #0x01,0x01800003 (found by tsutsui).
2000-12-08 02:59:12 +00:00
tsutsui
a8fdbdec1c Remove unused pcbb() macro. 2000-12-01 17:57:43 +00:00
minoura
0bbc767215 Adjust the ramdisk size. 2000-11-29 14:45:27 +00:00
minoura
2eabb2676b We do not use INSTALL_SMALL any more. 2000-11-28 03:18:18 +00:00
soren
66864e1f05 Removed increased BUFCACHE/BUFPAGES. 2000-11-27 08:55:41 +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
minoura
9f9181afde Use objcopy instead of dd. This will work after we'll switch to ELF.
Using command directly breaks cross compilation.  Use macro instead.
2000-11-25 05:27:19 +00:00
minoura
e6a960146a Use MI md_root.c. 2000-11-24 06:55:22 +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
thorpej
eff2f3d04f We use 4K pages on the x86k. Make PAGE_SIZE and friends into
compile-time constants.
2000-11-14 19:47:25 +00:00
minoura
21e684b743 New line discipline. 2000-11-13 15:20:28 +00:00
minoura
fd524293aa Look at opt_m680x0.h to determine whether to use -m68060 compiler option,
since options M68060 (etc.) is now defopt'ed.
Pointed out by NISHIMURA Takeshi <nsmrtks@comd.nara.sharp.co.jp>.
Use -m68020-60 instead of -m68060 to ensure not to use new instructions.
2000-11-13 14:47:14 +00:00
eeh
8c3f6a0d10 Adapt to new line discipline scheme. 2000-11-02 00:37:56 +00:00
minoura
aa8045ce9c Use up-to-date (newly installed) header files when DESTDIR is set. 2000-10-19 16:17:41 +00:00
itojun
9e47af8814 enable rnd device. they are now mandatory for ssh/sshd support,
so it makes more sense to enable it.
please disable them if there's any issues, but in that case, in-tree
ssh/sshd won't work.
2000-10-04 03:35:53 +00:00
abs
2824f4906d Ensure all INSTALL* kernels have two ptys, and a note explaining why:
pseudo-device  pty             2       # pseudo-terminals (Sysinst needs two)
(Some installers may not be using sysinst, in which case this just reduces
the number of ptys from 16 that are not used to 2 that are not used)
For i386 conf files, no change other than comments.
2000-10-02 18:43:34 +00:00
itohy
c2672f184b Fix the type of pmap_zero_page_uncached from void (paddr_t) to
boolean_t (paddr_t) to make it compile again.
2000-09-28 03:41:50 +00:00
abs
3ef92f0bdb Use "options<SPACE><TAB>" not "options<TAB>" - noted by simonb.
Move VNODE_OP_NOINLINE and NFS_V2_ONLY into '# Filesystem options' section.
Consistently label '# Filesystem options' and '#File systems' sections.
2000-09-25 13:54:50 +00:00
abs
ccf1c822a6 Ensure all INSTALL config files have (at least) COPTS="-Os", cincluding bebox
based on it working already for macppc.
Also add commented out:
#options        VNODE_OP_NOINLINE       # Don't inline vnode op calls
#options        NFS_V2_ONLY             # Exclude NFS3 and NQNFS code
as suggestions for additional savings
2000-09-25 11:46:37 +00:00
jdolecek
b1f94e26ab don't specify number of ptys if >= 16 (current default initial number)
pty comments: normalize and g/c what is no longer relevant
2000-09-24 15:59:26 +00:00
jdolecek
49c105ffdb add new macro BOOT_FLAG() (defined in <sys/boot_flag.h>) - this
maps standard boot flags to corresponding RB_* values
use BOOT_FLAG() in port's MD code as appropriate

as discussed on tech-kern, add new boot flags -v, -q for booting
verbosely or quietly, and corresponding AB_VERBOSE/AB_QUIET
boot flags; also add FreeBSD-compatible bootverbose macro and
NetBSD-specific bootquiet macro

for hpcmips, use new bootverbose instead of it's own hpcmips_verbose

Tested on i386, and to limited extend (compile of affected files) also for
mvme68k, hp300, luna68k, sun3.
2000-09-24 12:32:31 +00:00
thorpej
b008f5f25a Make PMAP_PAGEIDLEZERO() return a boolean value. FALSE indidcates
that the page being zero'd was not completed and that page zeroing
should be aborted.  This may be used by machine-dependent code doing
slow page access to reduce the latency of running a process that has
become runnable while in the middle of doing a slow page zero.
2000-09-21 17:46:04 +00:00
thorpej
72a24b4eae Add an align argument to uvm_map() and some callers of that
routine.  Works similarly fto pmap_prefer(), but allows callers
to specify a minimum power-of-two alignment of the region.
How we ever got along without this for so long is beyond me.
2000-09-13 15:00:15 +00:00
minoura
a78010b7b8 Adjust ramdisk sizes. 2000-09-12 17:07:44 +00:00
minoura
8199d05ce7 Reduce ramdisk size by using hacked commands in distrib/utils. 2000-09-12 15:40:00 +00:00
minoura
ff4b8473ae Enable sram device, which is used by memswitch(8). 2000-09-12 15:00:06 +00:00
minoura
b53cfef01f Adjust ramdisk size. 2000-09-06 14:29:41 +00:00
minoura
cbac1a91d9 Add #ifdef _KERNEL ~ #endif to protect kernel variables from userland. 2000-08-26 23:23:43 +00:00
minoura
33f305090e Set fputype earlier, before proc0 initialization. 2000-08-26 23:04:44 +00:00
thorpej
4db6fc7542 Make need_resched() take a "struct cpu_info *" argument. This
causes gives a primitive form of processor affinity.  Its use in
roundrobin() still needs some work.
2000-08-25 01:04:06 +00:00
thorpej
58e7a6954b Add spllock(). See spl(9) for details. 2000-08-22 19:46:26 +00:00
thorpej
a86d1f4891 Add a lock around the scheduler, and use it as necessary, including
in the non-MULTIPROCESSOR case (LOCKDEBUG requires it).  Scheduler
lock is held upon entry to mi_switch() and cpu_switch(), and
cpu_switch() releases the lock before returning.

Largely from Bill Sommerfeld, with some minor bug fixes and
machine-dependent code hacking from me.
2000-08-20 21:50:06 +00:00
itojun
85dda25e94 move "options PULLDOWN_TEST" into sys/sys/mbuf.h (in #ifdef _KERNEL),
as it is no wthe default setting for everyone.

the reason we still use the name "PULLDOWN_TEST" while it is now default:
kame code sharing.
2000-08-13 01:31:15 +00:00
minoura
3094e3b89d include <sys/types.h> to define u_int. 2000-07-31 23:40:02 +00:00
jdolecek
e25636b5da g/c RB_DFLTROOT
I've tried hard to find also various usage() messages and remove the
appropriate flag from there as well, hopefully all occurences are covered.
2000-07-29 20:06:27 +00:00
minoura
85ae8ebac7 Prototype netintr(). 2000-07-28 14:58:01 +00:00
mason
4a353b5330 Moving to a default of 64 PTYs. 2000-07-27 17:53:35 +00:00
cgd
ca051b5fb3 fix some obvious paste errors in 'uk' cdev inits 2000-07-13 17:40:34 +00:00
minoura
417c4e6dc1 include GENERIC, instead of defining all the options and devices. 2000-07-05 16:19:48 +00:00
minoura
f67a6a75d2 More reduce size. 2000-07-05 16:18:02 +00:00
cgd
0b9c36b715 undef PS after inclusion of net/netisr.h to avoid conflict w/ machine/reg.h 2000-07-02 05:43:43 +00:00
cgd
a5c13f9ad4 Kwality control:
* put #includes of opt headers and headers to get protos used by
  net/netisr_dispatch.h in net/netisr.h (if !defined(_LOCORE)) (rather than
  in netisr_dispatch.h itself, and potentially nowhere, respectively).
* require netisr.h to be included before netisr_dispatch.h.
* minor additional cleanup of both netisr.h and netisr_dispatch.h.
* clean up uses to remove now-unnecessary header file inclusions, and
  local prototypes of the fns.
* convert netisr dispatch implementations which didn't use
  netisr_dispatch.h (pc532) to use it.
2000-07-02 04:40:33 +00:00
itojun
d76ae83df8 add PULLDOWN_TEST for all the platforms.
XXX should be moved to somewhere else when stabilized
2000-06-30 17:10:15 +00:00
mrg
7e590c46fe remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h> 2000-06-29 07:07:52 +00:00
minoura
ae45dff5fc GENERIC should run on any environment.
It required 6MB of memory;  disable some options/devices so that
it can run on 4MB machines.
2000-06-28 15:27:19 +00:00
mrg
e185413725 remove redudant <vm/pmap.h> includes. <vm/pmap.h> -> <uvm/uvm_pmap.h> 2000-06-27 04:18:48 +00:00
kleink
e695f72a2e Add <machine/int_types.h>, which provides namespace-pure definitions
of exact-width integer types.
2000-06-26 15:42:16 +00:00
mrg
2f159a1bac remove/move more mach vm header files:
<vm/pglist.h> -> <uvm/uvm_pglist.h>
	<vm/vm_inherit.h> -> <uvm/uvm_inherit.h>
	<vm/vm_kern.h> -> into <uvm/uvm_extern.h>
	<vm/vm_object.h> -> nothing
	<vm/vm_pager.h> -> into <uvm/uvm_pager.h>

also includes a bunch of <vm/vm_page.h> include removals (due to redudancy
with <vm/vm.h>), and a scattering of other similar headers.
2000-06-26 14:20:25 +00:00
simonb
889c658b5b Change the kernel mmap interface so that the offset to map is an
"off_t" and the return value is a "paddr_t" to allow mappings
at offsets past 2^31 bytes.  Somewhat inspired by FreeBSD, which
only changed the offset to a "vm_offset_t".

Includes updates for the i386, pc532 and sh3 mmmmap from Jason Thorpe.
2000-06-26 04:55:19 +00:00
fvdl
1ee7d22c0b Remove prefix construction for softdeps. Add SOFTDEP option to GENERIC. 2000-06-22 20:27:49 +00:00
minoura
1786183f07 Reduce ramdisk size. 2000-06-22 14:27:07 +00:00
itohy
39c5d5c7a4 Store return value to a0 before calling CERROR function if __SVR4_ABI__. 2000-06-19 03:43:12 +00:00
itohy
db3aed16df Fix weird macro definitions.
They are internal use only and the typos are no harm, you know. :)
2000-06-19 03:42:31 +00:00
minoura
fa85bf07cd Enable INET6. 2000-06-18 10:30:35 +00:00
minoura
238f799ff3 Print newline while attach. 2000-06-16 17:15:54 +00:00
veego
223d7455c7 Remove the obsolete config fragments for kernel crypto, because the IPsec
crypto code is now in the kernel source tree.
2000-06-14 22:02:13 +00:00
minoura
04dbfaae5b G/C of unused interrupt stubs, and other cleanups. 2000-06-11 14:20:45 +00:00
soren
a9aa2abf94 defopt SYSCALL_DEBUG. 2000-06-06 18:52:30 +00:00
jhawk
c063b64a2b Do not clear msgbufenabled in dumpsys(). Dump messages will now go to
the message buffer. This can be invaluable in debugging if the dump
fails (assuming a persistant message buffer)
2000-06-05 23:44:55 +00:00
matt
9169d99f2a Don't pass booted_* to findroot/getdevice, access them via the globals.
Also, make findroot static.  This eliminates unneeded clearing of them
and make their use consistent among the ports.
2000-06-01 15:38:20 +00:00
matt
c9aff328d9 Make booted_device global (and booted_parition for consitency).
Eliminate it from header files and other extern definitions.
2000-06-01 00:49:49 +00:00
thorpej
8871d8563a Add a comment on single-processor systems about p_cpu being initialized
by fork1().
2000-05-31 05:06:43 +00:00
thorpej
e03e9e8086 Rather than starting init and creating kthreads by forking and then
doing a cpu_set_kpc(), just pass the entry point and argument all
the way down the fork path starting with fork1().  In order to
avoid special-casing the normal fork in every cpu_fork(), MI code
passes down child_return() and the child process pointer explicitly.

This fixes a race condition on multiprocessor systems; a CPU could
grab the newly created processes (which has been placed on a run queue)
before cpu_set_kpc() would be performed.
2000-05-28 05:48:59 +00:00
sommerfeld
40339b39f9 Reduce use of curproc in several places:
- Change ktrace interface to pass in the current process, rather than
p->p_tracep, since the various ktr* function need curproc anyway.

 - Add curproc as a parameter to mi_switch() since all callers had it
handy anyway.

 - Add a second proc argument for inferior() since callers all had
curproc handy.

Also, miscellaneous cleanups in ktrace:

 - ktrace now always uses file-based, rather than vnode-based I/O
(simplifies, increases type safety); eliminate KTRFLAG_FD & KTRFAC_FD.
Do non-blocking I/O, and yield a finite number of times when receiving
EWOULDBLOCK before giving up.

 - move code duplicated between sys_fktrace and sys_ktrace into ktrace_common.

 - simplify interface to ktrwrite()
2000-05-27 00:40:29 +00:00
thorpej
a7d0570e67 First sweep at scheduler state cleanup. Collect MI scheduler
state into global and per-CPU scheduler state:

	- Global state: sched_qs (run queues), sched_whichqs (bitmap
	  of non-empty run queues), sched_slpque (sleep queues).
	  NOTE: These may collectively move into a struct schedstate
	  at some point in the future.

	- Per-CPU state, struct schedstate_percpu: spc_runtime
	  (time process on this CPU started running), spc_flags
	  (replaces struct proc's p_schedflags), and
	  spc_curpriority (usrpri of processes on this CPU).

	- Every platform must now supply a struct cpu_info and
	  a curcpu() macro.  Simplify existing cpu_info declarations
	  where appropriate.

	- All references to per-CPU scheduler state now made through
	  curcpu().  NOTE: this will likely be adjusted in the future
	  after further changes to struct proc are made.

Tested on i386 and Alpha.  Changes are mostly mechanical, but apologies
in advance if it doesn't compile on a particular platform.
2000-05-26 21:19:19 +00:00
thorpej
8964c35eca Introduce a new process state distinct from SRUN called SONPROC
which indicates that the process is actually running on a
processor.  Test against SONPROC as appropriate rather than
combinations of SRUN and curproc.  Update all context switch code
to properly set SONPROC when the process becomes the current
process on the CPU.
2000-05-26 00:36:42 +00:00
itohy
c72407329e Treat receiver overrun of MFP (clear the error).
Although the keyboard hardware seems to be designed to avoid
overrun, the errors sometimes occur.
2000-05-25 03:33:27 +00:00
itohy
61363bb1c6 Fix the problem where pressing a key at
scsibus0: waiting 2 seconds for devices to settle...
message during boot crashes the system.
This is because ite_filter() is called before init(8) opens the console.
2000-05-25 03:30:19 +00:00
thorpej
1140468205 Use preempt(), not an open-coded equivalent (which won't be
equivalent for long).
2000-05-24 16:48:33 +00:00
thorpej
071aed40ac A foolish consistency; most parts of the kernel use bp->b_data, so
change these from bp->b_un.b_addr to bp->b_data, as well.  This also
allows us more flexibility to experiment with other data buffer types
hung off of struct buf.
2000-05-19 18:54:22 +00:00
minoura
74e4bb664f Wrong logic. Pointed out by Yasufumi. 2000-05-18 15:24:30 +00:00
thorpej
463931b3ba Nuke dk_establish() from orbit except from those ports which still use
it to determine the boot device: mvme68k, pc532, macppc, ofppc.  Those
platforms should be changed to use device_register().  In the mean time,
those ports defined __BROKEN_DK_ESTABLISH.
2000-05-16 05:45:44 +00:00
itohy
cb3a247145 Use bsd.hostprog.mk to allow ELF target on a.out host. 2000-05-15 05:02:29 +00:00
minoura
6943d5dd19 defopt FPSP. 2000-05-14 14:13:53 +00:00
minoura
53e627cd0b MD parts of uvm_pageidlezero. 2000-05-14 14:10:09 +00:00
hubertf
9f48bba3ae Add "install" target, so "make install" after building the kernel
does something useful.  The target can be redefined by putting a
install-kernel-${MACHINE_NAME} target that fits your needs into
/etc/mk.conf.
2000-05-09 00:56:21 +00:00
thorpej
6a33c86623 HAVE_GCC28 -> HAVE_EGCS, and make it match gcc 2.9 as well. Also,
make the use of -Wno-uninitialized explicit, don't rely on a compiler
hack to do it for us.
2000-05-09 00:32:19 +00:00
minoura
a8580db029 Revert 1.18 change.
Hopefully this is a temporary fix; something might be missing in
the SCSI negotiation.
2000-04-30 16:06:20 +00:00
thorpej
f51470a514 Require that each each MACHINE/MACHINE_ARCH supply a lock.h. This file
contains the values __SIMPLELOCK_LOCKED and __SIMPLELOCK_UNLOCKED, which
replace the old SIMPLELOCK_LOCKED and SIMPLELOCK_UNLOCKED.  These files
are also required to supply inline functions __cpu_simple_lock(),
__cpu_simple_lock_try(), and __cpu_simple_unlock() if locking is to be
supported on that platform (i.e. if MULTIPROCESSOR is defined in the
_KERNEL case).  Change these functions to take an int * (&alp->lock_data)
rather than the struct simplelock * itself.

These changes make it possible for userland to use the locking primitives
by including <machine/lock.h>.
2000-04-29 03:31:45 +00:00
minoura
dfb848e298 M680x0 are now defopt'ed. 2000-04-23 05:49:14 +00:00
minoura
13fc4ebbe1 Do not include opt_m680x0 in LKM. 2000-04-23 05:38:31 +00:00
itojun
3be41bae18 add stf pseudo interface (commented out due to possible security risks) 2000-04-19 06:50:27 +00:00
minoura
dd8c46b8be Explicitly include opt_m680x0.h. 2000-04-18 21:06:06 +00:00
minoura
64a8c7e0c8 defopt M680[2346]0. 2000-04-18 21:04:51 +00:00
minoura
4d4c982aa3 all -> realall. 2000-04-16 14:19:53 +00:00
minoura
311c19c0d5 Sync w/ GENERIC. 2000-04-16 14:17:59 +00:00
thorpej
4044b5a41c Use separate callouts for motor-on and motor-off. Fixes a condition
where the floppy driver would wedge because a motor-on timeout would
be cancelled by another I/O operation cancelling a motor-off timeout.

From enami tsugutomo <enami@sm.sony.co.jp>.
2000-04-07 16:58:53 +00:00
simonb
2f1fef39b3 Centralise the declarations of cpu_model, machine, machine_arch,
osrelease, and ostype and remove "extern char foo[];" (for hostname
and domainname too).

Also delete redunctant decl of boottime in kern_info_43.c.
2000-03-28 23:57:24 +00:00
minoura
87bc025f49 Move par under intio. 2000-03-27 15:53:04 +00:00
minoura
f23d278c1d Make this compile (typo in callout change). 2000-03-27 15:49:34 +00:00
kleink
230876cf26 Merge parts of chs-ubc2 into the trunk:
* Remove the casts to vaddr_t from the round_page() and trunc_page() macros to
  make them type-generic, which is necessary i.e. to operate on file offsets
  without truncating them.
* In due course, cast pointer arguments to these macros to an appropriate
  integral type (paddr_t, vaddr_t).

Originally done by Chuck Silvers, updated by myself.
2000-03-26 20:42:21 +00:00
thorpej
7b918b4088 New callout mechanism with two major improvements over the old
timeout()/untimeout() API:
- Clients supply callout handle storage, thus eliminating problems of
  resource allocation.
- Insertion and removal of callouts is constant time, important as
  this facility is used quite a lot in the kernel.

The old timeout()/untimeout() API has been removed from the kernel.
2000-03-23 06:40:33 +00:00
tron
e86957458a Install "machineendian_machdep.h". 2000-03-17 22:36:31 +00:00
mycroft
9e21b6555a In the `MY THAT'S GROSS' department...
Eliminate the recursive include of machine/endian.h from sys/endian.h.
2000-03-17 00:09:18 +00:00
oster
1bad2e1909 Add the RAIDframe device major to the machine-dependent config files
so that the right entries get added to dev_name2blk[].  Needed for / on RAID.
(Whoops!  I missed checking these in when adding the RAID_AUTOCONFIG stuff.)
2000-03-14 15:56:51 +00:00
minoura
37132adf3f Sync. with news68k/news68k/mem.c:1.2. 2000-03-10 16:28:56 +00:00
simonb
4eb55e447c Do the "<space><tab>" thing with the RAID_AUTOCONFIG option. 2000-02-29 06:32:20 +00:00
oster
d9c47013b2 Defopt 'RAID_AUTOCONFIG'. Adding 'options RAID_AUTOCONFIG' turns on
the component auto-detection and auto-configuration of RAID sets.
Also, add "#options RAID_AUTOCONFIG" to the GENERIC config files.
2000-02-26 17:35:33 +00:00
erh
8f03b9a04a Define the DONETISR macro and use netisr_dispatch.h. This is to cut down on code duplication and to standardize the available NETISRs across all ports. 2000-02-21 20:38:46 +00:00
minoura
077b93be1a According to Takeshi Nakayama <tn@catvmics.ne.jp>,
POW_ALARMSW seems always 1 on some models (at least XVI).
2000-02-20 16:18:51 +00:00
thorpej
5903e181fa Nuke NKMEMCLUSTERS. 2000-02-12 03:29:18 +00:00
thorpej
dded044fc2 Update for the NKMEMPAGES changes. 2000-02-11 19:25:12 +00:00
thorpej
fe551f0e64 Fix a bug in disksort_*() which caused non-optimal ordering when multiple
active partitions were on a single spindle.  Add a b_rawblkno member to
struct buf which contains the non-partition-relative block number to sort
by.
2000-02-07 20:16:47 +00:00
minoura
8759daabe7 Sync. 2000-02-05 14:35:41 +00:00
itohy
b4f060a0bc Mark LFS partitions as "BSD lfs ".
Now, swap partition should be "BSD swap" unless COMPAT_14.
2000-02-05 07:38:10 +00:00
cgd
7d16ac338c add __BROKEN_CONFIG_UNIT_USAGE #define, becuase these ports do very
wrong things with device configuration data "cf_unit" information.
2000-02-05 00:13:22 +00:00
tsutsui
11c8f56d48 Revert STRIPPROG -> STRIP 2000-02-01 05:25:24 +00:00
danw
f77befbc84 #define __HAVE_DEVICE_REGISTER on ports that have it, and check for
that, rather than a list of architecture defines, in config_attach
2000-02-01 04:01:19 +00:00
tsutsui
b0fbaa33fb Remove obsoleted macros. 2000-01-26 09:44:10 +00:00
drochner
8eb798e603 define a "BUS_SPACE_MAP_PREFETCHABLE" flag which basically means that
device accesses are idempotent (but should not be cached by the CPU)
2000-01-25 22:13:17 +00:00
tron
04eb110431 Add "dependall" target for comfort. 2000-01-24 20:36:06 +00:00
hubertf
7e5ff67457 Add commented out "ident"-command 2000-01-23 23:46:04 +00:00
mycroft
7b49d242ce Clean up the machine symlink stuff ever so slightly. Needs to be
standardized between files.
2000-01-23 17:04:03 +00:00
thorpej
dc59bc1db3 Update for sys/buf.h/disksort_*() changes. 2000-01-21 23:39:55 +00:00
sommerfeld
aa195e816f Fix PR9240: comment above cpu_fork() out of synch with reality on most ports.
(comment change only, but was wrong for more than just i386).
2000-01-20 22:18:54 +00:00
wrstuden
87e1b0f9b7 Add overlay to kernel configs. 2000-01-20 19:12:28 +00:00
thorpej
a0397a2573 Move callout initialization to a single location; no need to duplicate
that code all over the place.
2000-01-19 20:05:30 +00:00
tsutsui
e61f177ab1 STRIP -> STRIPPROG 2000-01-19 16:29:54 +00:00
tsutsui
644b514c39 Change STRIPFLAGS=-g for cross-toolchains. 2000-01-19 14:44:58 +00:00
msaitoh
0b9af6bdce check whether tv_usec >= 1000000 2000-01-19 02:52:16 +00:00
thorpej
c4e802b942 Use b_cylinder as defined in sys/buf.h 2000-01-18 19:52:21 +00:00
minoura
9a0577db94 Wrong () balance in dumpsize calculation. 2000-01-17 16:17:32 +00:00
minoura
2a71e2c15e Minor cleanups & corrections. 2000-01-16 14:20:54 +00:00
minoura
49f79ab628 Change physseg allocation strategy to VM_PSTRAT_BIGFIRST.
Required when big (>64MB) high memory is installed.
2000-01-15 14:47:25 +00:00
itohy
cf055ef630 Change the implementation of ms(4) polling to use timeout(9) software
interrupt in order to eliminate glitches on MPU interrupt levels.
I don't know whether this is a good solution, but it does work.
2000-01-14 08:22:42 +00:00
itohy
dbb0c078a5 - Do not lower interrupt level at clock interrupt.
The original code lowers level 6 to 4, and if a
  clock interrupt occurs in splzs (or similar) the
  system may be in unpredictable state.
  To do such a hack correctly, checking the original priority
  and duplicated clock interrupts would be required.
  For now, just disable the hack.

- Do not use clock interrupt for ms polling.
2000-01-14 08:21:22 +00:00
minoura
58b3ac77bd Give up support of 4MB RAM machines for standard sysinst-based installer.
Restricted small installer must be used on those machines.
1999-12-24 17:02:13 +00:00
minoura
7330ce45ef Replace shell script version of newdisk utility with C version.
Add the man page newdisk(8).
1999-12-24 16:51:24 +00:00
kleink
11e6c54cfc C99: Define a NAN macro in <math.h> which evaulates to a constant expression of
a single-precision quiet NaN; only to be defined on platforms that do support
this value.
1999-12-23 10:15:05 +00:00
minoura
63604fe51b Add pseudo-device pty. sysinst does use ptys. 1999-12-05 15:40:17 +00:00
ragge
26e1b45757 clrnd()/clbase() discarding. 1999-12-05 11:56:30 +00:00
ragge
0513268399 CL* discarding. 1999-12-04 21:13:19 +00:00
itohy
169af5c51b Add a dummy read just after enabling receiver interrupt.
If the receiver already has datum, no further arrival of
data is possible and no interrupts will occur.
This change fixes problem that pressing key during boot
may sometimes disable the keyboard.

Remove unreferenced variable "in" in kbdcngetc().
1999-12-03 00:14:06 +00:00
is
14ed33e42e Fix typo (&& -> &). 1999-11-28 20:30:57 +00:00
minoura
bf013a4539 Remove ether+ driver. Requested by msaitoh. 1999-11-27 15:57:17 +00:00
is
df61f0409e From the 68040 User Manual, page 4-10:
"To fully support self-modifying code in any situation, it is imperative that
a CPUSHA intrcution is executed before the execution of the first self-modified
instruction. The CPUSHA instruction has the effect of ensuring that there is
no stale data iin memory, the pipeline is flushed, and instruction prefetches
are repeated and taken from external memory."

I verified that this is the only way (I can think of) to make the sigtramp
regression test work on 68040. doing cpushl dc; cinvl ic; over the affected
address range, then nop (to synchronize the pipeline) is not enough; apparently
the nop does not FLUSH the pipeline and prefetch...

Note that the 68060 UM has copied the above cited passage, but in fact this is
not true. This might be connected to the fact that the 68060 does ensure
memory access order under most conditions.
1999-11-25 20:30:38 +00:00
minoura
c48182e1ae Add missing `major' entries: md and fd. 1999-11-23 14:17:09 +00:00
sommerfeld
17d170b1ca defopt COM_DEBUG, COM_HAYESP, and COM16650 1999-11-22 03:53:38 +00:00
itohy
3e16beaf22 Add a bunch of "__attribute__((__packed__))"s
to get along with the ELF compiler.
1999-11-22 01:14:55 +00:00
itojun
e9a0023b37 bring in content of GENERIC.v6 into GENERIC.
remove GENERIC.v6 file (as it is part of GENERIC now).

"faith" interface is commented out by default as it is not really for
general use.
IPsec items are commented out as well, though we can enable "options IPSEC"
without export-related issue ("options IPSEC" will enable authentication
portion only).  We may need to think about it again.

if you have problem compiling with INET6 on archs I do not have access to,
please contact me.

XXX what to do with arch/arm32/SHARK{,.v6}?
1999-11-21 14:00:37 +00:00
itohy
7be83cbb7c Oops, I misspelt a macro name. 1999-11-19 03:54:08 +00:00
minoura
e8a82e3d7e Do not reset SCSI bus. 1999-11-18 15:03:03 +00:00
minoura
8ae197322f Sync w/ GENERIC (options SOFTDEP).
Add IPv6 options to ALL.
1999-11-18 14:09:40 +00:00
minoura
b799f7bb46 Remove MAPPEDCOPY (somewhat buggy?). 1999-11-18 14:08:24 +00:00
itohy
02ebc9e4d4 Support conversion from ELF, as well as from a.out. 1999-11-16 00:48:11 +00:00
fvdl
8bec119fcc Add commented out option SOFTDEP to all GENERIC kernels. 1999-11-15 19:10:44 +00:00
fvdl
d116707af0 Add
prefix ../gnu/sys
cinclude "conf/files.softdep"
prefix

to all std.* files, so that soft dependencies can be activated using
"options SOFTDEP".
1999-11-15 19:00:25 +00:00
minoura
1a29be4d0c Increase ramdisk size. 1999-11-13 14:19:46 +00:00
thorpej
1946167939 Update for pmap_enter() API change. No functional difference. 1999-11-13 00:30:26 +00:00
itohy
de6b762004 Make X680x0 IOCS library build on ELF toolchain. 1999-11-11 08:16:20 +00:00
itohy
59c36c2cb6 Make Human68k DOS library build on ELF toolchain. 1999-11-11 08:14:43 +00:00
itohy
fcc45340da Make it build on ELF toolchain. 1999-11-11 08:12:50 +00:00
kleink
1c2019b5a8 Rip protection against multiple inclusion from wrapper headers. 1999-11-09 21:34:03 +00:00
itohy
cef3e31058 Fix the problem that single-step tracing of a trap instruction
drops the system into kernel debugger.
1999-10-26 00:20:34 +00:00
thorpej
e6c88a7686 Update for SCSIPI changes. 1999-09-30 22:59:52 +00:00
minoura
8da8dfb94f Could not compile w/ options M68060.
Supply -m68030 and -m68851 to the assembler.
1999-09-24 15:31:52 +00:00
minoura
75c422ec6c Use m68k common cacheops.c. 1999-09-23 15:24:34 +00:00
minoura
be7984a052 First step toward network boot.
By Takeshi Nakayama <tn@catvmics.ne.jp>.
1999-09-23 15:14:57 +00:00
minoura
536a2060af Protect some declarations by #ifdef _KERNEL. 1999-09-23 15:06:37 +00:00
thorpej
11cae42531 Centralize the declaration and clearing of `cold'. 1999-09-17 19:59:35 +00:00
minoura
15a7aff6f8 Sync (hp300). 1999-09-16 14:40:21 +00:00
minoura
da2dab0c10 Finish PMAP_NEW.
- Wrong argument to pmap_kremove (vm_machdep.c:pagemove()).
 - Uninitialized variable (pmap.c:pmap_kremove <- this should be fixed long ago...)
1999-09-16 14:35:42 +00:00
thorpej
3b01d1b872 Rename the machine-dependent autoconfiguration entry point `cpu_configure()',
and rename config_init() to configure() and call cpu_configure() from there.
1999-09-15 18:10:33 +00:00
chs
f3a668ed84 eliminate the PMAP_NEW option by making it required for all ports.
ports which previously had no support for PMAP_NEW now implement
the pmap_k* interfaces as wrappers around the non-k versions.
1999-09-12 01:16:55 +00:00
mycroft
c3e1f6741d A foolish consistency. 1999-08-30 18:58:01 +00:00
simonb
06a92524c2 Include <sys/bswap.h> for function prototypes. i386, pc532 and vax
still include <machine/byte_swap.h> and define macros for some of
the bswap*() functions.
1999-08-21 05:39:51 +00:00
thorpej
28fb7c1eb8 Define cpu_number() as discussed on tech-smp. 1999-08-10 21:08:05 +00:00
thorpej
eb20bbc780 Change the semantics of splsoftclock() to be like other spl*() functions,
that is priority is rasied.  Add a new spllowersoftclock() to provide the
atomic drop-to-softclock semantics that the old splsoftclock() provided,
and update calls accordingly.

This fixes a problem with using the "rnd" pseudo-device from within
interrupt context to extract random data (e.g. from within the softnet
interrupt) where doing so would incorrectly unblock interrupts (causing
all sorts of lossage).

XXX 4 platforms do not have priority-raising capability: newsmips, sparc,
XXX sparc64, and VAX.  This platforms still have this bug until their
XXX spl*() functions are fixed.
1999-08-05 18:08:08 +00:00
minoura
e89db1c459 Make use of _C_LABEL and other macros in m68k/asm.h. 1999-08-05 15:58:17 +00:00
minoura
74431c5ae2 IPv6 options from GENERIC.v6. 1999-08-05 15:05:56 +00:00
minoura
e0a8602baf Install kernel should not require COMPAT_14. 1999-08-05 15:05:11 +00:00
minoura
e684a9ad5b Sync. 1999-08-05 15:04:38 +00:00
thorpej
6489500f0a Make sure the branch target of the delay loop is aligned to a cache
half-line (8-byte) boundary.  Inspired by a discussion w/ Scott Reynolds.
1999-08-01 21:43:04 +00:00
augustss
a7cd454b1d It's time to be COMPAT_14. 1999-07-29 10:37:12 +00:00
itohy
5d4686cb63 Fix typo in comment. 1999-07-29 08:19:55 +00:00
cgd
f886376518 be more efficient when doing the SYSTEM_LD_TAIL for -g kernels: don't
copy them just to strip them, use strip -o.
1999-07-26 05:20:44 +00:00
christos
41cc9a0eb8 enable PPP_BSDCOMP, PPP_DEFLATE, PPP_FILTER, PFIL_HOOKS, IPFILTER_LOG
on the GENERIC kernels that had them commented out.
XXX: Please note, that not all the kernels have all the options defined!
1999-07-20 07:40:34 +00:00
thorpej
0945bf58b0 Add examples for including the kernel crypto bits from either crypto-us
or crypto-intl, commented out, with instructions to use only one, and
adjust the prefix as necessary.
1999-07-09 18:55:33 +00:00
mrg
ecdad0ec33 clean up a bit after jason :)
- fix emitrules() like emitfiles() to deal with the prefix (otherwise it
  would attempt to find the file in the normal base for the NORMAL_C rule).
- add emitincludes() which adds include directives for each prefix to the
  $INCLUDES variable in the makefile.
- add %INCLUDES to each Makefile.arch to deal with the above.

this makes "prefix" actually work in a usable manner, and now i can move
on to fixing compiler warnings (errors) in the ESP code. :)
1999-07-09 09:52:55 +00:00
thorpej
3ebbe095e0 Change the pmap_extract() interface to:
boolean_t pmap_extract(pmap_t, vaddr_t, paddr_t *);
This makes it possible for the pmap to map physical address 0.
1999-07-08 18:05:21 +00:00
thorpej
c4d8d19db9 pseudo-device -> defpseudo, per grammar change in config(8). 1999-07-07 00:05:28 +00:00
minoura
15a60b5359 Enable mboot. 1999-07-04 04:39:12 +00:00
minoura
208ba460f2 SCSI primary boot program and its installer. 1999-07-04 04:38:54 +00:00
itojun
5effafcaa6 kernel configuration for IPv6/IPsec. should be in GENERIC in the future.
(source code will be committed soon)
1999-07-01 07:00:12 +00:00
minoura
6895a21734 Correct imbalance #if. 1999-06-28 15:35:04 +00:00
itojun
427639cdce - Call ip6intr if INET6 is defined.
- remove "need-flag" for mac68k esp driver, as it is not used in anywhere
  and conflicts with IPsec ESP header.

This should be the only MD change in IPv6 support, except kernel config file.
Very sorry if you have any compilation problem with it (I believe it is okay).
If your favorite arch is not included in here, please add a
call to ip6intr() from softintr handle.
1999-06-28 08:20:40 +00:00
minoura
1330797741 Restore scroll registers after X server exits. 1999-06-27 14:14:30 +00:00
minoura
c88662958f include sys/resourcevar.h to be compiled. 1999-06-27 14:13:14 +00:00
minoura
b749d34eb9 I forgot to commit this. 1999-06-23 15:20:36 +00:00
minoura
170b78e476 Reduce TLB operations. 1999-06-18 14:27:09 +00:00
thorpej
9e9f068f43 Add the guts of mlockall(MCL_FUTURE). This requires that a process's
"memlock" resource limit to uvm_mmap().  Update all calls accordingly.
1999-06-18 05:13:45 +00:00
thorpej
0288ffb53a pmap_change_wiring() -> pmap_unwire(). 1999-06-17 19:23:20 +00:00
thorpej
f5a527bb4e Remove pmap_pageable(); no pmap implements it, and it is not really useful,
because pmap_enter()/pmap_change_wiring() (soon to be pmap_unwire())
communicate the information in greater detail.
1999-06-17 18:21:21 +00:00
thorpej
602d8e81f7 Don't (ab)use uvm_map_pageable() to allocate PT pages. Instead, do
some internal reference counting on PT pages.  We still allocate them
with the page fault routine (a wire-fault, now), but no longer free
PT pages from pmap_pageable().
1999-06-15 22:18:07 +00:00
minoura
cd06c07723 Check file open mode at ioctl.
Add debug option SRAM_DEBUG_DONTDOIT.
1999-06-15 15:04:56 +00:00
thorpej
2c35c7bd03 Only declare block major numbers for devices which can be the root device. 1999-06-07 20:31:27 +00:00
thorpej
d76e7b8c6d Don't pass a nam2blk around at all; just have setroot() and friends reference
dev_name2blk[] directly.  Addresses PR #7622 (ITOH Yasufumi), although
in a different way.
1999-06-07 20:16:08 +00:00
minoura
bb1f24c221 Could not be compiled without PMAP_NEW. 1999-06-03 14:43:33 +00:00
minoura
db782f7c11 First attempt to implement PMAP_NEW interface.
The code was mostly written before the pmap_k* inconsistency fixes.
Work around might still remain.  Should be removed.
1999-05-31 14:39:13 +00:00
thorpej
beb8d06638 Generally update the comment above vunmapbuf(). 1999-05-26 22:19:33 +00:00
thorpej
a2d06a4721 Generally update the comment above the vmapbuf() implementations. 1999-05-26 22:07:36 +00:00
thorpej
2580d306ab Change the vm_map's "entries_pageable" member to a r/o flags member, which
has PAGEABLE and INTRSAFE flags.  PAGEABLE now really means "pageable",
not "allocate vm_map_entry's from non-static pool", so update all map
creations to reflect that.  INTRSAFE maps are maps that are used in
interrupt context (e.g. kmem_map, mb_map), and thus use the static
map entry pool (XXX as does kernel_map, for now).  This will eventually
change now these maps are locked, as well.
1999-05-26 19:16:28 +00:00
thorpej
5832084eaf bus_dmamem_map() maps DMA safe memory, which is usually one or more
managed pages, into KVA space.  Since the pages are managed, we should
use pmap_enter(), not pmap_kenter_pa().

Also, when entering the mappings, enter with an access_type of
VM_PROT_READ | VM_PROT_WRITE.  We do this for a couple of reasons:

	(1) On systems that have H/W mod/ref attributes, the hardware
	    may not be able to track mod/ref done by a bus master.

	(2) On systems that have to do mod/ref emulation, this prevents
	    a mod/ref page fault from potentially happening while in an
	    interrupt context, which can be problematic.

This latter change is fairly important if we ever want to be able to
transfer DMA-safe memory pages to anonymous memory objects; we will need
to know that the pages are modified, or else data could be lost!

Note that while the pages are unowned (i.e. "just DMA-safe memory pages"),
they won't consume any swap resources, as the mappings are wired, and
the pages aren't on the active or inactive queues.
1999-05-25 23:14:03 +00:00
minoura
f4316c1145 Tribial optimizations. 1999-05-21 15:32:38 +00:00
minoura
1567b0074d Sync GENERIC. 1999-05-21 15:15:33 +00:00
minoura
fcb74cccfa Remove experimental/buggy options. 1999-05-21 15:08:27 +00:00
lukem
e4a87aa1a9 * convert to using MI allocsys(). most ports were using an MD allocsys(),
although a couple still used the old pre-4.4-lite (?) mechanism.
* use format_bytes() to format the various printf()s that print out memory sizes
1999-05-20 08:21:42 +00:00
minoura
6e67e063ff Disable on-chip cache for PT and ST pages for '060 stability. 1999-05-19 14:06:59 +00:00
thorpej
f98d358a1f Rework layer 2 protocol input routines. Instead of calling e.g. ether_input()
directly, call the function pointer (*if_input)(ifp, m).  The input routine
expects the packet header to be at the head of the packet, and will adjust
as necessary.  Privatize the layer 2 input and output routines, allowing
*_ifattach() to set them up as appropriate.
1999-05-18 23:52:51 +00:00
nisimura
7a50b38cbd - Adjust descriptive comment of cpu_fork() which returns nothing and
returns once.
- Minor fixes in mips/vm_machdep.c.
1999-05-14 02:11:59 +00:00
thorpej
c10a926030 Allow the caller to specify a stack for the child process. If NULL,
the child inherits the stack pointer from the parent (traditional
behavior).  Like the signal stack, the stack area is secified as
a low address and a size; machine-dependent code accounts for stack
direction.

This is required for clone(2).
1999-05-13 21:58:32 +00:00
minoura
d1954679df Missing #if for 060. 1999-05-13 14:24:27 +00:00
minoura
40594d5dfa 060 is much faster than Chuck thought according to Ken Midorikawa
<k-mid@msg.biglobe.ne.jp>
Print both the core clock and the bus clock on 040/060 machines.
1999-05-13 14:23:42 +00:00
kleink
6290fed1b6 SVR4-related typo in previous. 1999-05-06 14:16:07 +00:00
minoura
db3bdbe86c Shut up gcc -Wall. 1999-05-05 14:31:16 +00:00
minoura
ad762a0b97 Use mvme68k-derived delay routine.
Now that we support various models, the old constant-loop delay routine
may cause problems.
1999-05-05 13:46:20 +00:00
minoura
3fe3e5261b Add missing ia_size argument. 1999-05-05 13:41:44 +00:00
minoura
7cebd447fb Move config_console to ensure that it is always called. 1999-05-05 13:41:19 +00:00
minoura
63a9944d93 mem_exists was called with wrong 2nd argument.
Because of this, >12MB high memory was not detected.
1999-05-05 13:38:51 +00:00
christos
ef6e15ad0e Include opt_compat_sunos.h 1999-04-30 16:50:44 +00:00
minoura
ed3c676245 Branch address was wrong. 1999-04-30 15:31:18 +00:00
kleink
e1529b8f93 Pull in the right generic m68k header. (Where was my mind?) 1999-04-29 14:38:39 +00:00
minoura
ab5806d4b8 Message cosmetics. 1999-04-28 16:17:42 +00:00
minoura
ea485e0d51 Handle fpunimp properly for fpu_emulate. 1999-04-28 16:16:58 +00:00
thorpej
b8073b401b Garbage-collect the VM_MBUF_SIZE constant. Instead, use the size
(nmbclusters * mclbytes), so that the right amount of KVA space is
allocated if those variables are patched.
1999-04-26 22:46:44 +00:00
simonb
5d8b1ef3e4 g/c REAL_CLISTS. 1999-04-25 02:56:26 +00:00
minoura
43d6c498cc I deleted a necessary line by mistake. 1999-04-22 16:22:49 +00:00
minoura
f9afee1b29 Bus error occurred on such machines without the SCSI ROM.
Insert badaddr() check before read the ROM.
1999-04-22 12:55:53 +00:00
chs
05b971dd5f in pmap_pageable(), rather than marking a PT page as not modified
to trick the pagedaemon into freeing it later, just unmap the page
and free it immediately.  fixes PR 7337.
1999-04-22 04:24:52 +00:00
kleink
ed74932033 Add COMPAT_SVR4 for m68k. 1999-04-19 21:22:56 +00:00
minoura
35d1114201 Add missing par0. 1999-04-18 15:43:21 +00:00
minoura
26b74e1082 Handle T_ILLINST in kernel mode.
This occurs in fpu_probe() when the FPU is not installed on the system.
Because of this, FPU_EMULATE wouldn't work at all.
1999-04-18 14:39:10 +00:00
minoura
4fcf23e9b0 Handle F line emulation correctly when FPU_EMULATE is enabled. 1999-04-18 14:37:09 +00:00
minoura
8eb1fd77e9 Do not memcpy to the bouncebuffer in datain. 1999-04-18 00:38:58 +00:00
minoura
bb2c24d761 More size hacks. We can now run the installer on 4MB machines. 1999-04-14 14:13:11 +00:00
minoura
c12f6d6d4b Reduce the kernel size.
- Disable many options and devices which is not required to install.
 - Decrease the MINIROOTSIZE to fit with the actual embedded image.
1999-04-12 16:11:53 +00:00
chs
f455dd6596 add a `flags' argument to uvm_pagealloc_strat().
define a flag UVM_PGA_USERESERVE to allow non-kernel object
allocations to use pages from the reserve.
use the new flag for allocations in pmap modules.
1999-04-11 04:04:04 +00:00
minoura
6733198ebd Fix the startup message.
attach_hook is now called without "mdX: " prefix.
1999-04-09 15:41:15 +00:00
minoura
eb2c78dd2d Typo. 1999-04-01 14:11:21 +00:00
thorpej
967b8c433c Don't call configure() from cpu_startup(). 1999-04-01 00:17:45 +00:00
minoura
35b6e71f52 Enable rnd. 1999-03-31 15:38:32 +00:00
minoura
004b01c5ba Some trivial size reductions. 1999-03-31 15:38:06 +00:00
minoura
d264521334 Mapped copy was always disabled. 1999-03-31 14:22:21 +00:00
minoura
2c62712a32 Remove unused files. 1999-03-30 04:29:09 +00:00
minoura
d39738d85b Remove options (SWDEV|SWAP|VNODE)PAGE 1999-03-30 04:27:08 +00:00
minoura
eabdc25095 Update dependency. 1999-03-30 04:26:01 +00:00
minoura
929875f387 G/c obsoleted devices. 1999-03-30 04:25:36 +00:00
minoura
d808d6f5ff defopt EXTENDED_MEMORY and ITE_KERNEL_ATTR. 1999-03-30 04:25:07 +00:00
minoura
67ce202cb5 Fixed the bug described in the previous commit log.
Re-enabled the title image.
1999-03-28 14:03:36 +00:00