Commit Graph

1544 Commits

Author SHA1 Message Date
gmcgarry
224cd45a75 Overhaul the intio device attachment. Devices are direct connected and
attached based on machine id.
2001-11-17 23:33:22 +00:00
gmcgarry
3acacb5fc1 Make hil interrupts come through the standard dispatch mechanism rather
than its custom handler.
2001-11-17 23:29:08 +00:00
gmcgarry
40aa97f8b1 For INTIO space, use an offset for the mapping rather than the physical
address.
2001-11-17 23:26:55 +00:00
gmcgarry
4b62b5b023 Don't try to mmap the framebuffer as executable. Fixes MMU faults
when executing the X server.
2001-11-17 23:25:04 +00:00
gmcgarry
e9ec95622b Remove unnecessary trailing argument. Now compiles with new toolchain. 2001-11-16 08:14:05 +00:00
soren
662f877587 MAXSLP is defined to be a machine-independent scheduling parameter,
so move it into sys/param.h.
2001-11-15 18:06:11 +00:00
tv
5489b30b60 ${MAKE} print-objdir -> ${PRINTOBJDIR} 2001-11-14 00:58:48 +00:00
tsutsui
3f6a86f512 Add some definitions for battery backed clock register 5,
and fix one spelling nit.

Mostly from port-hp300/8824, which had already pointed out
y2k (and y2k+1) bugs before 2000, but they were not fixed
till the last month. (I noticed this PR today. Oops)
2001-11-10 19:43:48 +00:00
scw
45e7238a02 Bump the version numbers of all bootloaders which use loadfile_elfXX() now
that it tries hard to avoid backwards seeks.
2001-11-09 19:53:11 +00:00
gmcgarry
2cd41580a7 Make install observe ${INSTPRIV} 2001-11-08 07:45:25 +00:00
gmcgarry
12b20b6dde Use crufty old clock-handling code for now. 2001-11-08 07:01:33 +00:00
gmcgarry
f410d2f08f Implement bus_space_vaddr() 2001-11-08 06:32:02 +00:00
gmcgarry
3fe33b077f Reserve for wscons. 2001-11-08 06:27:45 +00:00
thorpej
e727e3f180 Split elf32 vs. elf64 handling in loadfile(), including support for
each separately and explicitly.  BOOT_ELF is now BOOT_ELF32 and
BOOT_ELF64, and ELFSIZE should no longer be defined in loadfile_machdep.h.
2001-10-31 17:20:45 +00:00
jmc
6d536163de Change defaults for kernel compiles. Default all to USETOOLS?=no and have
the etc Makefile override that by putting USETOOLS into $.MAKEOVERRIDES
This way the default for kernel compiles is still to use the installed
toolchain instead of depending on $TOOLDIR. $TOOLDIR can be used by
simply adding USETOOLS=yes to the command line as usual.

Adjust each ports template to set the default no setting and also pull in
bsd.own.mk if they weren't already to ensure they'll build correctly
with the new toolchain setup.
2001-10-26 06:45:33 +00:00
thorpej
ba217c4196 Set MACHINE_ARCH explicitly in Makefiles for which it is constant.
Also, since config(8) now explcitly sets MACHINE, there is no need
to do it here in the Makefile.
2001-10-23 19:26:41 +00:00
tsutsui
9ed721dc0a hp300 now uses dev/clock_subr.c. 2001-10-11 15:04:44 +00:00
tsutsui
0c3fd1cf03 Cleanup TOD clock functions:
- Adapt MI functions/structures in sys/dev/clock_subr.[ch]
 - Fix year-2001 problem

XXX Maybe TOD clock should be attached as an independent device.
2001-10-11 15:02:07 +00:00
tsutsui
59e6364fcd Include <machine/bootinfo.h> 2001-10-09 16:03:11 +00:00
chs
15982c7311 fix typo in pmap_kremove() which was invalidating the wrong TLB entry.
from Hiroki Tanikawa in PR 14099.
2001-09-29 22:00:29 +00:00
wiz
456dff6cb8 Spell 'occurred' with two 'r's. 2001-09-16 16:34:23 +00:00
chris
0e7661f023 Update pmap_update to now take the updated pmap as an argument.
This will allow improvements to the pmaps so that they can more easily defer expensive operations, eg tlb/cache flush, til the last possible moment.

Currently this is a no-op on most platforms, so they should see no difference.

Reviewed by Jason.
2001-09-10 21:19:08 +00:00
atatat
5f25c01eff Comment out bridge pseudo devices from ports that don't
__HAVE_GENERIC_SOFT_INTERRUPTS.  bridge(4) doesn't compile there.
2001-09-01 23:08:40 +00:00
atatat
97c67a9bae Add bridge pseudo devices to GENERIC configs 2001-09-01 21:52:23 +00:00
wiz
c52d355d71 "wierd" is weird. 2001-08-20 12:20:01 +00:00
bjh21
ad2c12a28d Bump version numbers of all bootloaders that use loadfile/ELF, to account for
my changes to symbol loading.  I should probably have done this at the time,
but it's better late than never.
2001-08-02 12:24:05 +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
chs
e185109424 implement pmap_k{enter_pa,remove}() correctly.
other misc cleanup.
2001-07-06 05:57:13 +00:00
chs
c844daf5ab use pmap_k* for pagemove().
call pmap_remove() explicitly in vunmapbuf() in preparation for
upcoming UVM changes.
2001-07-06 05:53:35 +00:00
gmcgarry
741d001b9f Sort boot options. Add -c for userconf. 2001-07-01 02:58:38 +00:00
gmcgarry
c1d6da70b5 Example options to reduce kernel memory footprint. 2001-07-01 02:16:33 +00:00
gmcgarry
a193512e18 Create an empty bootinfo structure. 2001-07-01 01:38:14 +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
wiz
3f9984fc90 existent', not existant' 2001-06-19 13:42:07 +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
wiz
0a600be867 receive, not recieve 2001-06-12 15:17:10 +00:00
chs
49ba960b09 make this compile with DEBUG. 2001-06-11 04:58:33 +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
chs
966a1b86f8 initialize the b_dep field in malloc()'d buffers. fixes PR 13065. 2001-05-29 23:08:06 +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
kleink
021d12d997 Add 35401A drive (not picker) support; from Jarkko Teppo in PR
port-hp300/11183.
2001-05-27 09:09:05 +00:00
gmcgarry
fadbc7d451 - remove dependency on libsa by mkboot since it is a host tool.
- adjust for endianness of host.

Cross-compiling of ELF bootblocks now works.
2001-05-27 05:35:11 +00:00
gmcgarry
e8c65098f6 Protect against possible alignment problems. 2001-05-27 05:31:58 +00:00
gmcgarry
f94a9b7669 Alignment for on ELF systems. ELF bootblocks now work. 2001-05-27 05:30:41 +00:00
gmcgarry
9be5657e02 Alignment fix. rd disks now work on ELF systems. 2001-05-27 05:29:48 +00:00
chs
e44e9dec8a replace vm_page_t with struct vm_page *. 2001-05-26 21:27:02 +00:00
chs
118ddca24a replace {simple_,}lock{_data,}_t with struct {simple,}lock {,*}. 2001-05-26 16:32:40 +00:00
gmcgarry
bb80cac4a1 pull in lib/libkern/libkern.h to resolve inline tolower() 2001-05-13 00:01:45 +00:00
gmcgarry
b2f43b0b94 size -> ${SIZE} 2001-05-12 23:55:07 +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
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
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
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
he
9f142f57b9 In the provisional disklabel (which will be used if there is no
valid on-device disk label), set d_npartitions to RAW_PART+1 instead
of to 1.  Discovered as a build bug on the netbsd-1-5 branch, affecting
miniroot construction and vnd devices; RAW_PART went missing from the
in-core disklabel, and eventually also the on-device label.
2001-04-20 16:58:19 +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
thorpej
89fb12c497 splimp -> splhigh when frobbing netisr. 2001-04-12 18:28:40 +00:00
thorpej
f5940ea000 splimp -> splvm (XXX Time critical sections, but don't want to block
the clock).
2001-04-12 18:22:55 +00:00
tsutsui
41e535a424 Remove an unused variable which was caused on KERN_* error code removal. 2001-04-04 16:43:04 +00:00
hpeyerl
bda486229f This machine hasn't existed for some time. 2001-04-02 14:46:48 +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
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
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
simonb
eaf4f43227 Add ELF support.
Thanks to Steve Woodford for his help!
2001-01-02 04:28:37 +00:00
simonb
472a75b08f Convert both bootblocks and mkboot to use libsa's loadfile(), and make
both ELF aware.
2001-01-02 04:14:33 +00:00
mycroft
a5382a0bf9 Long gone. 2000-12-29 21:45:12 +00:00
jdolecek
c6a69abc26 adapt to recent changes of signal structures 2000-12-27 21:58:52 +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
tsutsui
cb7f7c7f3b Remove "rnd is EXPERIMENTAL" comments. 2000-12-19 15:51:47 +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
simonb
4cf1e73334 Use sys/conf/newvers_stand.sh instead of local script. 2000-12-16 04:20:24 +00:00
jdolecek
ca57e681bd g/c obsolete vtrace(2) stuff 2000-12-13 18:13:05 +00:00
simonb
79b09f2c56 Bump the initial data size limit to 32MB - large enough to compile a
kernel with an ELF toolchain.
2000-12-12 23:46:22 +00:00
simonb
7ca0abc4db Use 'make print-objdir' to get obj directory instead of guessing. 2000-12-06 02:35:19 +00:00
tsutsui
a8fdbdec1c Remove unused pcbb() macro. 2000-12-01 17:57:43 +00:00
jdolecek
73f3cd8c7e LKMify 2000-11-29 21:51:49 +00:00
jdolecek
67e67ac7dc Replace the (no longer working) check for tp->t_line == 0 with
tp->t_linesw == linesw[0]. Hopefully this is correct.
2000-11-27 18:39:04 +00:00
tsutsui
6ca08c284e More fixes for linesw changes. 2000-11-27 15:28: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
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