Commit Graph

892 Commits

Author SHA1 Message Date
lukem ecb81c3f6d - convert usage of "defopt" to "defflag" where the relevant option does
not support a value (e.g., it's to be used as "options FOO" instead of
  "options FOO=xxx"). options that take a value were converted to
  defparam recently.
- minor whitespace & formatting cleanups
2001-11-28 10:21:10 +00:00
fredette f0002ba642 Added macros for the bits in the SYSBUS byte, and macros
for the i82596 PORT access interface, from the documentation
for that chip.  These help clarify writes to the SYSBUS
part of the SCP, and PORT usage by i82596-aware drivers.
2001-11-26 23:30:59 +00:00
isaki 26b511b905 fix typo s/68551/68851/ in a comment. 2001-11-24 06:53:16 +00:00
lukem 03aef4723c cleanup:
options SPACE TAB
	makeoptions TAB
	psuedo-device TAB
	remove trailing whitespace
	replace multiple spaces -> tabs
	options "FOO" -> options FOO
	options "FOO=bar" -> options FOO=bar
	options "FOO=\"bar\"" -> options FOO="\"bar\""
2001-11-20 12:56:17 +00:00
chs 621a9ec9ea allocate and free page table pages explicitly instead of abusing
uvm_fault_wire().  this allows us to make pt_map non-pageable,
but we need to be careful in pmap_remove() not to attempt to
reference PTEs after the PTP has been freed.
2001-11-19 06:40:11 +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 48c09b6243 Work around <bsd.lib.mk> used for kernel libs in other places. Clean up
include paths.
2001-11-14 23:01:13 +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
scw 439d3ea3cb G/C some debug printfs inadvertently left in the last commit. 2001-11-09 18:27:59 +00:00
scw 2f42a5932e Implement just enough of an lseek() to keep loadfile_elf32() happy.
While I'm here, bump RAWFS_BSIZE up to 8192 since the installation
instructions use "bs=8k oconv=sync". My Archive Viper now streams
nicely while booting.
2001-11-09 18:25:11 +00:00
scw dca93f1b48 The success/failure status for some Bug syscalls is indicated by the Z
flag in the status register, not by a value on the stack.

How this ever worked for so long is beyond me...
2001-11-09 18:18:19 +00:00
scw 61fd713a11 Commit a change I've had lying around for a while: Initialise wired
PTEs with `PG_U' to avoid them being needlessly updated when first
accessed.
2001-11-08 21:53:44 +00:00
scw 05c8b8d35b Fix a couple of uninitialised variable warnings with New Toolchain. 2001-11-08 21:41:42 +00:00
scw a1cf047679 Fix a couple of uninitialised variable warning with New Toolchain. 2001-11-08 21:40:25 +00:00
thorpej 66f972ab70 Need byteorder.c for loadfile_elf*.c 2001-10-31 21:39:02 +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
thorpej 4810d73020 Build the loadfile() a.out, ECOFF, and ELF back-ends as separate
objects.
2001-10-31 01:51:42 +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
scw f6e6d32172 Use the entry-point returned from the first call to loadfile()
instead of the one from the second call (which has a non-zero
offset included in it).

Fixes port-mvme68k/14292 from Ken Seefried.
2001-10-19 17:09:16 +00:00
chs f013b5beb1 fix pmap_changebit() to look for the bit in the page attrs
in addition to any PTEs.  fixes PR 14197.
2001-10-13 06:18:36 +00:00
chs 7491bc8eea add ashldi3.c, needed by ufs.c due to added cast in lblktosize(). 2001-10-02 06:30:03 +00:00
wiz 9fa0b17629 Give initiali[sz]e all the "i"s it deserves. 2001-09-18 18:15:49 +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 97c67a9bae Add bridge pseudo devices to GENERIC configs 2001-09-01 21:52:23 +00:00
simonb 023bdd2bf2 Use comments around the token after a #endif. 2001-08-31 04:44:54 +00:00
tsutsui 62c3bdeea4 sysctl(2) -> sysctl(3) (in comments) 2001-08-26 16:22:20 +00:00
chs c489e9bff4 add missing pmap_update(). 2001-08-19 18:09:20 +00:00
chs 2cdad949d0 use pmap_k* in vmapbuf() and vunmapbuf() since there's no VAC on this platform.
in vunmapbuf(), call pmap_*remove() explicitly since uvm_km_free_wakeup()
will soon no longer do it for us.
2001-08-19 17:34:49 +00:00
scw 13c2f8b505 Some more things ticked off the list. 2001-08-12 19:28:28 +00:00
scw 79abe4afda Fix the clock device offset. (Overlooked in last commit) 2001-08-12 19:16:18 +00:00
scw e97b8f6555 clockreg.h is no longer needed now we use the MI mk48txx driver. 2001-08-12 18:36:17 +00:00
scw e9261b9f13 Time Keeper NVRAM driver. 2001-08-12 18:34:25 +00:00
scw bb210bda7e Split the nvram/rtc functionality away from the clock interrupt code
and attach it as `timekeeper0 at mainbus0'.
Use the MI mk48txx nvram/rtc access functions instead of home-grown
versions.

It should now be very easy to add a character device for the benefit
of userland access to NVRAM.
2001-08-12 18:33:12 +00:00
scw 7374ebbf8c Slight tweak: Avoid needlessly purging cachelines which we've just flushed. 2001-08-12 18:13:45 +00:00
scw e8ba963ae7 Change a post-decrement to a pre-decrement. 2001-08-07 17:25:19 +00:00
scw aac15fa001 Create the `machine' symlink before building. 2001-08-05 10:52:05 +00:00
scw 86b01af066 Make this work again for mvme147... 2001-08-05 09:45:39 +00:00
matt f33b1a3fd8 This is a HOST program, so make compile as one. 2001-08-05 06:10:25 +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
chs 0d8e804191 fix typo in previous. 2001-07-31 02:17:27 +00:00
scw 6e0195e742 Make the set_page_cacheable/set_page_cacheinhibit functions do the
right thing on 68030 again.
2001-07-30 21:32:49 +00:00
scw da3836f00d Flush the caches in pmap_remove_mapping() when PRM_CFLUSH is specified.
Also, flush the ATC for the page in pmap_kenter_pa() after setting up the
mapping. With any luck this last one might just solve the 060 problems I've
been seeing...
2001-07-30 21:25:08 +00:00
scw d750508a87 Hook the error interrupt only once, otherwise we'd fail when hooking
the interrupt for the 2nd DRAM board where two boards are present.
2001-07-28 08:30:23 +00:00
scw 27ae3aab7c Blah, yet another nit: s/irq/ipl/ 2001-07-27 21:56:10 +00:00
scw ea00e7cda2 Don't bother trying to initiate a DRAM scrub on startup as it requires
frobbing with registers which are marked as "For Test Purposes [only]".
2001-07-27 21:54:07 +00:00
scw c184f03348 Remove Mistakenly Left In comments around some `#ifdef DIAGNOSTIC' tests. 2001-07-27 20:48:58 +00:00
scw 8343a1492f Forgot to shift the DRAM Bank identifiers by four. 2001-07-27 20:33:35 +00:00
scw f169034d7f Fix a braino in the check for a jumper across pins 1-2 of J1 (mvme1[67]7).
Spotted by Chuck Silvers.
2001-07-27 18:58:23 +00:00
scw 9ac6178585 memc attaches at mainbus now. 2001-07-27 18:40:27 +00:00
scw 7e2f2acb8e Flesh out the memory controller driver (at least for the MCECC chip)
and attach it at mainbus since it depends both PCCChip2 and VMEChip2
(or the VMEChip2 interrupter) starting first.

We can finally enable, detect and log DRAM ECC errors.
(The PROM disabled ECC checks by default)
2001-07-27 18:38:54 +00:00
scw 5b69ac0a44 Apply pmap_k{enter_pa,remove} patches provided by Chuck Silvers. 2001-07-23 20:34:00 +00:00
wiz a9356936b4 seperate -> separate 2001-07-22 13:33:58 +00:00
scw b4c68ef164 Descend into wrtvid in all but the install pass. 2001-07-19 18:18:30 +00:00
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
scw eef68ab123 In bus_dmamap_sync4060(), fold the POSTREAD case into the PREREAD case
where it belonged in the first place.
2001-07-18 17:21:49 +00:00
scw 6a9bccd130 Make absolutely sure page tables are not cacheable on 040/060 cpus.
(Not strictly required for the 040, but mandatory for the 060).
Also revamp cache enable/disable functions for the benefit of
bus_dmamem_map().
2001-07-18 17:18:53 +00:00
scw db111a0133 Restore FPU context properly on 68060-specific kernels... 2001-07-18 17:13:15 +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
scw c1ab2b5460 bcopy -> memcpy
bzero -> memset
bcmp -> memcmp (note that the MI libsa's memcmp() still calls bcmp()...)
2001-07-07 09:06:43 +00:00
scw ff267f1e06 bzero -> memset
bcopy -> memcpy
bcmp -> memcmp
2001-07-07 07:51:37 +00:00
scw 8593b82c71 One less item (h/w assisted soft interrupts) 2001-07-06 20:12:34 +00:00
scw 35110949ce Ditch the `simulated' software interrupt in favour of
hardware-assisted soft interrupts on all boards.
(Note: VMEChip2-less 162/172 not yet tested)

This greatly simplifies the `rei' path and allows
interrupt nesting to be tracked somewhat more easily.

As a result we now have a working CLKF_INTR() macro
and can detect uvm_fault() being called from an interrupt
(although there may still be a very short race detecting
the latter; need to investigate further).
2001-07-06 19:00:12 +00:00
scw 6d598bac6d Another instance of the MD siop driver which slipped the net... 2001-07-03 17:36:01 +00:00
wiz f3f6c5b675 `accessible' only has one `a'. 2001-06-19 12:52:20 +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
thorpej 8eb3b954f1 Don't need to prototype child_return() here, it's in <sys/proc.h>. 2001-06-14 22:56:55 +00:00
wiz 0a600be867 receive, not recieve 2001-06-12 15:17:10 +00:00
scw 712d37e53b G/C an unused parameter to isrdispatch_vectored(). 2001-06-11 11:26:42 +00:00
scw 9b0b23c664 Stack adjustment for autovectored interrupts wasn't quite right... 2001-06-11 11:24:40 +00:00
scw 179dd3e579 sigh. It also helps to switch back to .text ... 2001-06-10 17:31:38 +00:00
scw 08fb0e543b Pick the right bit to check... 2001-06-10 17:03:01 +00:00
scw 8aad61265b On 162 and up, get the CPU speed from the firmware and only fall back
to calculating it on the fly if the firmware's value is bogus.

This fixes problems caused by rounding errors on some board/speed
combinations.
2001-06-10 16:48:19 +00:00
scw aab2376d45 Refuse to boot on 162/172 and 167/177 if the user has not removed
the jumper which tells 1xx-Bug where to locate its scratch data.

Instead, print a message informing the user to RTFM (which needs to
be updated to include this info. ;-)
2001-06-10 16:45:52 +00:00
scw 89546c98a1 Enable DHCP and BOOTP as supported diskless NFS boot options. 2001-06-10 14:40:47 +00:00
scw 967e648941 Use the versions of dev_net.[ch] in libsa in order to get DHCP support.
In other words, mvme68k's "netboot" finally supports DHCP.
2001-06-10 14:12:48 +00:00
scw ea5249214a Add rnd(4) pseudo-device. 2001-06-10 13:16:07 +00:00
chs 821ec03ed9 replace vm_map{,_entry}_t with struct vm_map{,_entry} *. 2001-06-02 18:09:08 +00:00
scw 78aad8f79e Mark evcnt(9) item as done. 2001-06-01 08:31:07 +00:00
scw 59ba4788ce Deprecate intrcnt/intrnames in favour of the generic evcnt(9) interface. 2001-05-31 18:46:07 +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
scw 9c1aa86e46 One less item (MD siop driver is no more). 2001-05-29 08:20:42 +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
scw d5c72b21e5 s/ncsrc/osiop.
While I'm here, ditch some excess baggage which is useless for
the RAMDISK kernel.
2001-05-28 18:39:45 +00:00
scw eb9637dd7e Add COMPAT_15 and comment out COMPAT_SUNOS. (It's hardly used and saves
a bit of space on low memory models).
2001-05-28 11:14:41 +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
scw c22fb1db55 Finally nobble the bus_dmamap_sync() problem with osiop(4).
Basically, bus_dmamap_sync() `PREREAD' needs to flush the cache
for the start and end of the region if it is not aligned to
a cacheline boundary, otherwise a subsequent POSTREAD can *purge*
valid data which was in the cacheline but *outside* the region
passed to bus_dmamap_sync().

Bus snooping doesn't always help here because osiop(4) calls
bus_dmamap_sync() with POSTREAD even if no data was actually
transferred! (And we can't rely on snooping on the 68060 models anyway).
2001-05-16 19:06:46 +00:00
scw 7e86548d5c doh, make the last fix compile for '147. 2001-05-13 18:35:19 +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 e2177c7f71 Ensure the caches are flushed before changing the `cacheble' state
of a page.
2001-05-11 13:05:06 +00:00
scw 6ca2fd54c1 Take the offset and length into account inside bus_dmamap_sync().
(Inspired from the Atari version).

This fixes a problem seen with the new MI osiop driver.
2001-05-11 13:01:44 +00:00
scw 4d440b4035 G/C a printf which has moved to the MI code. 2001-05-03 19:03:53 +00:00
scw c038390035 Recognise `osiop' as a boot device. 2001-05-03 17:58:45 +00:00
scw 6d231d4107 Attach `osiop' at pcctwo instead of `ncrsc'. 2001-05-03 17:54:30 +00:00
scw adf7013d7f Match `osiop' instead of `ncrsc' now. 2001-05-01 07:33:29 +00:00
scw 813efd148a Don't panic in _bus_dmamap_sync() if a segment start address/length are
not aligned to a cacheline boundary.

Instead round down the start address, round up the length and "DTRT".
2001-05-01 07:32:51 +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