Commit Graph

17942 Commits

Author SHA1 Message Date
sakamoto a6a228ce7f RCS ID police 1999-02-15 04:38:06 +00:00
hubertf aa4a217d1c RCS ID police 1999-02-15 04:36:33 +00:00
hubertf 100778d54a RCS ID police 1999-02-15 04:25:28 +00:00
hubertf dcd5f59c0a RCS ID police 1999-02-15 04:14:54 +00:00
christos c95ea656d6 Elf bits. 1999-02-14 20:04:26 +00:00
scw a72d37c4fa Merge support for mvme167 into main tree. 1999-02-14 17:54:27 +00:00
pk 059697a999 Use PROMLIB's prom_setcontext(). 1999-02-14 14:37:45 +00:00
pk 3ee0ba2805 romcall() => prom_halt() 1999-02-14 14:37:15 +00:00
pk 67df93822d Add size arg to getpropstringA 1999-02-14 14:03:16 +00:00
pk 8edcd03969 Use the PROMLIB interface. 1999-02-14 12:44:31 +00:00
pk 9896803ae6 Fake a label only if it appears to be blank, and if so use RAW_PART
instead of 0.
1999-02-14 12:42:33 +00:00
pk 4b9ee1f8ce This file is superseded by promlib.c 1999-02-14 12:38:03 +00:00
pk 4dc82c28b4 Exit: obp.c; Enter: promlib.c & openfirm.c 1999-02-14 12:36:50 +00:00
pk a8456f4e8a Check OBP magic: if no match then assume an Openfirmware PROM. 1999-02-14 12:33:55 +00:00
pk 1e5bf77774 Adjust to functionality and changes introduced with <machine/promlib.h> 1999-02-14 12:26:16 +00:00
pk a99ba2939c Provide a uniform interface to most of the PROM functions.
Include an Openfirmware back-end (mostly copied from sparc64).
1999-02-14 12:23:03 +00:00
dbj f651d280fa Continue hacking on esp driver. Seems relatively stable in read only mode.
write operations appear to lose scsi interrupts and causes timeouts.
changes in this checkin include:
a nextdma bugfix causing a diagnostic check to erroneously trigger
Changed tail strategy to only use tail buffer for the minimal end slop
changed expected write dma overrun to 32 bytes.
turned on nextdma diagnostic check for dma end address since it
no longer gets triggerred by ethernet dma and helps debug scsi dma.
Added esp debugging printout and support.
1999-02-14 10:19:51 +00:00
dean 6dc3d1eae8 Put back bsd.own.mk and added comment explaining why it must be included. 1999-02-14 02:56:19 +00:00
christos 6e13c7d4b5 Avoid defining __extension__ if we don't need to. Breaks lint. 1999-02-13 20:35:02 +00:00
christos 21485fd1d6 noise reduction. 1999-02-13 16:45:28 +00:00
christos f2da4dfc95 Support __syscall for COMPAT_AOUT properly. 1999-02-13 16:10:44 +00:00
dbj 997f74e47c Continued work on esp scsi driver. Now can at least do enough i/o to create and mount
a filesystem, but is not stable enough yet for general use.
increased priority of ethernet interrupts, mostly useful to aid debugging
of scsi interrupts while using an nfs disk.
added additional debugging output in the next dma driver.
perform extranneous cache flushes/purges before dma reads/ after dma writes
to aid debugging of scsi dma.
1999-02-13 09:44:50 +00:00
lukem dcab0210a0 convert from NOxxx= to MKxxx=no.
include <bsd.own.mk> if testing a MKxxx variable.
1999-02-13 02:54:17 +00:00
thorpej 22a5cb007f Fix printf format warnings on Alpha. 1999-02-13 02:41:40 +00:00
dean c372a9b915 Remove bsd.own.mk include 1999-02-12 23:48:46 +00:00
tsubai 31101d57ec Add missing backslash. 1999-02-12 18:13:12 +00:00
drochner dbdaf91650 change the "mapchar" interface to return a "quality" or "match level"
arguments which allows to find approximations for characters which are
not present in a font
1999-02-12 11:25:23 +00:00
thorpej 02d221f94a Fix printf format problems on Alpha. 1999-02-12 06:25:13 +00:00
thorpej db631acd8a Fix printf format problems on Alpha. 1999-02-12 06:07:52 +00:00
mrg aea84d23cc add a proto for print_dtbl 1999-02-12 05:58:27 +00:00
mrg 43542ba2e5 include dev/mii/files.mii 1999-02-12 05:57:21 +00:00
cjs 8a3ac60bb8 Change NOMAN to MKMAN. 1999-02-12 05:15:35 +00:00
cjs 3e90f302b6 Don't give exit() a parameter, as libstand version doesn't take one. 1999-02-12 05:14:22 +00:00
thorpej 5194c207d0 Fix printf format problems on Alpha. (IRONIC?!) 1999-02-12 01:45:42 +00:00
christos 85333355d2 Add COMPAT_AOUT glue. 1999-02-11 20:14:28 +00:00
mycroft 2a304686e6 Minor cleanup.
Make the initializer for BAUDLO depend on PCLK directly; it was incorrect on
some ports where PCLK is not 4.9152MHz.
XXX Is the default value actually used?
1999-02-11 15:28:03 +00:00
mrg 26c0549e41 fix a comment pasto. 1999-02-11 13:18:35 +00:00
ender 25e1f69c42 o Change various attach arg and softc datatypes to ints.
o Use explicit typecasts when interfacing with MRG data

Should fix port-mac68k/6839.  Patch supplied by
Frederick Bruckman <fb@enteract.com>
1999-02-11 06:41:07 +00:00
kleink f69591d12d Use of casts as lvalues is a GNU C extension; rearrange slightly. 1999-02-10 17:03:26 +00:00
christos b7ff80b7fb Fix reversed test in my changes to compat_freebsd (thanks charles!) 1999-02-10 16:52:02 +00:00
christos fe9e04762b PR/6962: Paul Shupak: FreeBSD ELF emulation bits. 1999-02-10 07:10:59 +00:00
is b0f697496e Provide a minimal instruction/data cache synchronization C binding.
(The function has always been in the kernels as special trap #12).
In response to PR 4951 by Hauke Fath.
1999-02-09 22:32:33 +00:00
tv e07978e871 Split the "mips" MACHINE_ARCH for 1.4. newsmips is "mipseb"; pmax is
"mipsel".
1999-02-09 17:15:51 +00:00
thorpej c9f76153fa Add some missing newlines in printfs. 1999-02-08 19:37:29 +00:00
bouyer f6f9f8a965 Change DIOCEJECT to do what's needed to eject a device before the eject
command (unlock for sd and cd) if no other partitions are open, return
EBUSY otherwise. DIOCEJECT will have the old semantic if its argument is not
0. The old ioctl has been renamed to ODIOCEJECT for binary compatibility.
1999-02-08 16:33:16 +00:00
tsubai cd010c972c Oops, last change is wrong... 1999-02-08 14:32:00 +00:00
he f96a373094 Avoid "unterminated character constant" error from mkdep (really cc).
I guess in some sense it's stupid to use cc to depend .S files.
1999-02-08 10:45:11 +00:00
fvdl 1461618ead Make this compile for SUN4 only. 1999-02-08 00:13:20 +00:00
christos d30ef27fb0 s/ELF/__ELF__/ 1999-02-07 20:21:09 +00:00
tron 2fefe24803 Remove "lib" directory only during "make cleandir" so that ".depend"
doesn't get nuked during "make clean".
1999-02-07 18:25:54 +00:00
drochner b2c4a7b933 use mi data conversion functions, simplify inittodr() and resettodr() 1999-02-07 17:29:26 +00:00
drochner 36be191753 -pull in mi date conversion functions
-include files.vme (not worth much normally, but makes it easy to
 plug in something)
1999-02-07 17:25:31 +00:00
christos 636b3ee69b s/JUMP/JMP/ like every other arch. 1999-02-07 17:20:00 +00:00
drochner 0f145938b4 put all century related code into an own function clock_expandyear(),
touch the CMOS century byte only if the CMOS contents passes a
checksum test which qualifies it as "known compliant"
1999-02-07 16:18:00 +00:00
minoura cc5f9932f8 Issue SCSI reset on initialize.
Clean unused mha_reset.
1999-02-07 15:18:58 +00:00
tron 08c7376961 Remove "lib" directory created during build process while doing
"make clean" or "make cleandir".
1999-02-07 13:39:36 +00:00
jonathan c9d036d796 defopt MEMORY_DISK_{HOOKS,SERVER,IS_ROOT}. 1999-02-07 09:34:58 +00:00
jonathan 3fa9c3ec91 garbage-collect `options MULTICAST'. IP multicast is no longer an option. 1999-02-07 07:14:21 +00:00
jonathan ac38e160d1 Add `strip' line for testing Ricochet modems at 115200 bps. 1999-02-07 07:12:19 +00:00
is 9332e61aae Define _STANDALONE instead of STANDALONE. 1999-02-06 23:17:07 +00:00
is 892e4f60af One more small step towards a unified m68k pmap:
use the common pmap_copy_page() and pmap_zero_page (copied from Atari).
1999-02-06 22:48:08 +00:00
thorpej ad268a2ff8 STANDALONE -> _STANDALONE. 1999-02-06 21:19:24 +00:00
mycroft 5542a949cd Config for for an AS200 with TGA/WSS/PCMCIA (although the TGA and PCMCIA aren't
fully functional yet).
1999-02-06 20:22:43 +00:00
tsubai d1276ebc65 Make this compile. (and sync with dev/ic completely) 1999-02-06 20:04:31 +00:00
drochner bce7f71843 sort the dependencies between terminal devices a bit and add consistency
checks to catch conflicting devices at compile time
1999-02-06 18:46:21 +00:00
jonb aae389c323 STANDALONE should be _STANDALONE 1999-02-06 15:20:26 +00:00
hannken c4bc93ad94 Define _STANDALONE instead of STANDALONE. 1999-02-06 13:34:15 +00:00
thorpej 3bf59302e9 Workaround for disks that respond slowly to selection, provided by
David Jones in PR #3769.

Every day, I hate this driver more and more.
1999-02-06 03:30:32 +00:00
thorpej 6a75ade4bc The x86 does not have strict alignment requirements, so define
__NO_STRICT_ALIGNMENT here.
1999-02-05 22:13:12 +00:00
thorpej 8ef63cdb2c Print some more info in pmap_alloc_physpage() if no pages are available,
and enhance some DIAGNOSTIC messages.
1999-02-04 19:49:22 +00:00
thorpej 390864a7a5 Define a macro which has human readable strings corresponding to PGU_*
constants.
1999-02-04 19:48:21 +00:00
is 2633b97c02 regenerate from template 1999-02-04 19:19:38 +00:00
is c5e0224025 In the future, the AMIGA and DRACO example files will be generated from
GENERIC by make in this directory. This way, they hopefully will stay
up-to-date.
1999-02-04 19:01:37 +00:00
tsubai 7177191d30 Allocate DMA-aware memory area using "dma-alloc" method and use them
for data buffer.
XXX currently only netif_put() uses this.

iMac can use ofwboot.elf now.
1999-02-04 15:41:15 +00:00
tsubai 78094a09f1 Uncomment PCI-PCI bridges. 1999-02-04 15:04:58 +00:00
tsubai 630abfea00 Add PCI-PCI bridge support for Bandit. 1999-02-04 14:54:00 +00:00
tsubai 46660b394f Make ptable really aligned to HTABSIZE. 1999-02-04 12:45:31 +00:00
tsubai 610a648c7d Use "local-mac-address" property to get MAC address. 1999-02-04 12:14:24 +00:00
dbj 3e0d6eb0b4 overhalt of scsi driver.
it still probes the disks ok, but is having trouble with 0xdeadbeef
in buffers read from the disk.  Suspected problems with DMA alignment
and toggling the secret ninja dma control register
1999-02-03 20:44:43 +00:00
mycroft be1af660c0 Don't set DCD_IE in the frontends. KGDB doesn't even use DCD, and the tty
frontends get it from zsparam() anyway.
1999-02-03 20:25:05 +00:00
mycroft b3a56d0097 Catch up with a change to the stint interface. 1999-02-03 20:22:28 +00:00
mycroft 54f0a0ae81 Clone changes from the version in dev/ic. (These should be merged!)
Note: NOT tested on this port yet.
1999-02-03 20:19:08 +00:00
thorpej e6c245c5df Implement pmap_prefer() for systems w/ an HP MMU (which has a virtually-tagged
cache).  This helps to avoid cache alias problems, and can improve performance
in the case where physical pages have multiple mappings (since the pages will
not have to be marked cache-inhibited).
1999-02-02 21:06:55 +00:00
thorpej f108f0164e Nuke the "pmapvacflush" debugging code. 1999-02-02 20:52:21 +00:00
ragge 13daba04a1 Another giant change: Allocate register space dynamic instead of compiled-in.
This is done on a physical page size basis, instead of virtual (as the
(on vax yet non-existing) bus_* routines does). This is similar to the
way uba allocation is done.
1999-02-02 18:37:20 +00:00
tsubai 68c9ce2c96 Don't use BAT register. (not needed now.) 1999-02-02 16:48:17 +00:00
tsubai a4de4218fd Use private (its own) segment registers in Open Firmware call,
instead of BAT register.
1999-02-02 16:47:08 +00:00
tsubai ef69721044 findroot() now recognizes network devices. 1999-02-02 16:37:51 +00:00
tsubai 378f49eff8 Ensure lowest 256MB is mapped by BAT0. 1999-02-02 16:29:25 +00:00
bouyer 1123e3e286 Mention pciide(4). 1999-02-02 16:18:17 +00:00
dbj f41cded075 make dma flushing more efficient and avoid stray interrupts when not using polled io.
remove check for normal chaining interrupts and add check for combined chaining interrupts
only when used with a tail chain.  This allows scsi to work for short unaligned buffers
and large aligned buffers.
1999-02-02 14:04:53 +00:00
christos 0c8f3a4f31 Don't use obsolete sgtty crap. 1999-02-02 13:00:19 +00:00
dbj d97559225c Removed some already commented out test code.
added debugging printout when invoking polled dma interrupt.
1999-02-02 12:46:13 +00:00
itohy 2667a4b26f Fix typo. 1999-02-02 10:00:18 +00:00
itohy fbfe12046d Trivial asm-level optimizations. 1999-02-02 09:16:52 +00:00
fair 14ec3b84b7 Bracket calls to Debugger() with #ifdef DDB (won't compile otherwise;
the prototype isn't there without DDB).
1999-02-02 04:57:11 +00:00
mark 5ef478be57 Fix some egcs compiler warnings (from Patrick Welche).
Closes PR6925.
1999-02-02 04:02:26 +00:00
tron 899ac42bec Fix bug exposed by new "mkdep" program:
"${SFILES}" is empty so that "cc" will fail with "No input files"
during "mkdep".
1999-02-01 23:18:56 +00:00
mrg 1ccaf05ff1 add CPU_SUN4U, to make libkvm compile. 1999-02-01 22:20:02 +00:00
he 38e33af591 Enable DDB, but with DDB_ONPANIC=0. 1999-02-01 16:16:52 +00:00
dbj f6955fc60b Fix return value in interrupt routine so that dma gets flushed correctly.
Turn on the esp_match since polling the scsi bus now works.
1999-02-01 12:53:48 +00:00
jonathan 9ec88780aa size_t and void*-arithmetic changes from sys/libsa/ufs.c. 1999-02-01 03:08:05 +00:00
jonathan 45f13be5cb use memcpy, not bcopy, for non-overlapping copies. 1999-02-01 02:46:59 +00:00
simonb 22cbe4abc1 Add a comment that the bcopy #define that uses the PROM's memset don't
handle overlapping copies.  From Jonathan Stone.
1999-02-01 02:18:46 +00:00
cjs a3793dc8e8 Add a missing tab for cosmetic purposes. 1999-02-01 01:36:21 +00:00
nisimura 52bd8c333b - Nuke USPACE for now-defunct 'nullproc' pcb (8KB saving). 1999-02-01 00:32:18 +00:00
tsubai fed24e89c8 Adapt disklabel_mbr.h change. 1999-01-31 19:56:56 +00:00
dbj b970be0907 Made reboot and halt work. 1999-01-31 18:12:14 +00:00
dbj 107dd5ccc6 use WSEMUL_VT100 instead of WSEMUL_SUN 1999-01-31 18:07:41 +00:00
scw 2cbc4abc96 Make this compile again. 1999-01-31 14:06:40 +00:00
tsubai a4f0ae9043 Adapt disklabel_mbr.h change. 1999-01-31 13:54:24 +00:00
simonb cbbad6d2b2 Add bzero/bcopy defines to use PROM memset/memcpy.
Change test to include defines from
	#ifndef _KERNEL
to
	#if defined(_STANDALONE) && !defined(_NO_PROM_DEFINES)
1999-01-31 13:49:40 +00:00
drochner 0e91ebb904 make the last fix work as intended 1999-01-31 11:15:43 +00:00
is 93a62a003d Wrong sign of dialout. 1999-01-31 10:30:22 +00:00
mrg 7006310cbd retire _LP64; use compiler provided __arch64__, but still defined _LP64 where we used to anyway. 1999-01-31 09:21:18 +00:00
dbj 21ab415ee6 Added support for setting boothowto from boot loader flags.
print out string of `.' when powering down to work around ununderstood
behavior of rtc chip.
1999-01-31 07:02:33 +00:00
dbj f0b3caaceb Accidentally uncommitted wscons change.
attach nextdisplay to mainbus for wscons support.
1999-01-31 06:59:30 +00:00
castor d0ca7993a0 Remove genpubasym.cf stuff 1999-01-31 01:01:12 +00:00
castor 98c9d5e1c6 Remove genpubassym.cf stuff. The macro _MIPS_BSD_API allows selection of a
64-bit clean compilation model.
1999-01-31 00:55:41 +00:00
is b85f4a5e4d Remove redundant code (leftover from editing). 1999-01-30 21:54:49 +00:00
christos 736a561afb Add my name in the copyright, since the code looks very different now. 1999-01-30 17:51:52 +00:00
christos 5699d1ab3d Remove exec.c from here. I want to make it obvious that it has to be built
with different flags from dosboot and biosboot. Although right now this
does not make a difference because we are building the libraries twice,
it can make a difference when we share the builds.
1999-01-30 17:46:53 +00:00
christos 07b1febfb8 - Use MARK_ENTRY instead of MARK_START.
- ELF changes. Now an ELF installboot installs ELF bootblocks properly.
1999-01-30 17:45:42 +00:00
christos 371363a158 Add exec.c here and bump version for elf.
XXX: This code has not been tested!
1999-01-30 17:44:10 +00:00
christos 25fc1fa758 Add exec.c here... 1999-01-30 17:43:38 +00:00
christos ad9c7a287c Remove exec.o, and make necessary changes for elf. 1999-01-30 17:43:10 +00:00
scottr 7bc05635d3 Catch up with changes to MBR handling. From Erik Bertelsen in PR 6911. 1999-01-30 17:34:31 +00:00
eeh 8ee118c70d Fix problems with bus_space*() macros (thanks M.Drochner). 1999-01-30 17:02:32 +00:00
drochner cf06eef09a make wscons the default 1999-01-30 13:44:25 +00:00
simonb 53e963b5ef Add -mmemcpy (from Jonathan Stone) and bump -G to 128. Bootblocks now
fit!  Still needs more testing, so we don't actually install them yet...
1999-01-30 12:57:58 +00:00
simonb 98ceefb712 Actually depend on libsa now. 1999-01-30 12:39:28 +00:00
simonb 555cdd32e5 Don't define an ioctl routine for the rz driver, nor pull in the empty
routines in libsa/dev.c.
1999-01-30 12:30:57 +00:00
simonb 1047f11c01 Remove unused callvec stubs and libsa routines, add memcpy.c. 1999-01-30 12:23:10 +00:00
simonb db342dee15 Add memcpy callvec stub, copied from strcat.c 1999-01-30 11:54:31 +00:00
simonb a9f9300b78 Tell how many bytes of code are available, and print a warning if the
bootblocks are too large - from Michael Hitch.
1999-01-30 10:14:45 +00:00
simonb 500353b4c3 Use DEC_REX_MAGIC instead of a undocumented magic number 1999-01-30 00:40:38 +00:00
simonb e1167d2415 Add REX magic number 1999-01-30 00:36:10 +00:00
tron 4fe3a6480e Fix bug exposed by new "mkdep" program:
"${SFILES}" is empty for a "SHARK" kernel so that "cc" will fail with
"No input files" during "mkdep".
1999-01-29 22:20:49 +00:00
thorpej 191dab44fa Um, last rev was kind of backwards... actually build exec.o so that
the boot block links.
1999-01-29 22:13:42 +00:00
matthias b88b2d4f9b MBR_PTYP_* -> MBR_PTYPE_* to make this compile again. 1999-01-29 21:20:22 +00:00
christos e58bb79483 Merge XMS changes from exec_fromdos.c 1999-01-29 18:49:08 +00:00
christos e25e5c88f9 Both booters need exec.o now. 1999-01-29 18:47:58 +00:00
christos 35ca0db06c Revert, wrong place for this. 1999-01-29 18:47:24 +00:00
christos 6cadeb1ea6 Add exec.c here. 1999-01-29 18:46:15 +00:00
christos 3c7776f1b6 exec.c has all the info now. 1999-01-29 18:45:34 +00:00
christos 89cc672d98 Jason forgot to make the disklabel_mbr.h changes for this and ows me 5 hours
of debugging.
1999-01-29 18:45:12 +00:00
christos 722d35a400 Add the ability to get the size of the loaded image without actually
loading. This is useful for dos loading and installboot.
1999-01-29 18:44:09 +00:00
christos 7a7391de52 Simplify by using new feature of getting the load size. 1999-01-29 18:43:11 +00:00
christos 1e39fefac4 Remove -g accidental addition 1999-01-29 18:41:50 +00:00
drochner cc66380116 fix address incrementing in the read_region_N, write_region_N,
set_region_N and copy_region_N methods
1999-01-29 16:30:51 +00:00
castor a7c11f272e Copy previous fix for TLB miss routine to XTLB miss routine to avoid
processor-dependent behavior in 32-bit ops on 64-bit operands.
1999-01-29 16:10:06 +00:00
simonb ddd6d4cef1 Add some more PROM entry points 1999-01-29 12:05:02 +00:00
bouyer 0bc97aaca7 In match_harddisk(), ignore "empty drive" type errors as well (from Soren S.
Jorvang).
1999-01-29 11:20:34 +00:00
kleink 15afeeecca Remove an incorrect (but harmless) comment. 1999-01-29 08:42:27 +00:00
simonb 916b809a51 Make a `machine' symlink to ..../pmax/include to locate new location of
the dec_????.h files.  Gleaned from other ports' stand/Makefile.inc's.
1999-01-29 05:51:15 +00:00
simonb 9a3172af0e Include dec_{boot,exec,prom}.h from <machine/...>, not <stand/libsa/...> 1999-01-29 05:37:45 +00:00
simonb 0b2a74160d Include dec_{boot,exec,prom}.h from <machine/...>, not <stand/libsa/...>
Remove unused include files.
1999-01-29 05:33:49 +00:00
simonb 3675e80580 Removed unused include file 1999-01-29 05:31:23 +00:00
simonb fe1bdc0a06 Move via repository copy to pmax/include - the kernel uses these
includes too.
1999-01-29 05:28:59 +00:00
nisimura aa68b32c4f - Forgot to replace a stub of 'eret' instruction with correct value. 1999-01-29 02:18:42 +00:00
cjs 82a6d74841 Turn on NTP PLL by default. 1999-01-29 00:01:22 +00:00
cjs 99a170d159 Have NTP PLL on by default. 1999-01-29 00:00:17 +00:00
christos 74d863263c Use loadfile() to load the bootblocks, so that we are going to be able
eventually to load boot blocks with this. Unfortunately the elf assembler
chokes currently on our bootblocks, so the ELF portion does not work (yet).
1999-01-28 22:47:25 +00:00
christos f1fd49f426 Add support for selectively loading sections, and make this compile in
userland with -DINSTALLBOOT
1999-01-28 22:45:06 +00:00
christos 9fa73628c9 Minor changes to prototypes. 1999-01-28 20:22:31 +00:00
christos 63546de24a Remove a.out loading code and use loadfile.c for everything.
Populate the btinfo_symtab structure.
1999-01-28 20:21:24 +00:00
christos 0fcf083702 Add loadfile.c (stolen from Jason's alpha/stand/common/loadfile.c)
loadfile.h contains macros that are supposed to be MD, but loadfile.c is now MI.
Fixes:
- a.out support
- pass information values via an array not global variables
- don't assume that you can access memory directly.
- remove MD parts
- remove some printfs.
XXX:  loadfile.c needs to be moved somewhere where other ports can use it.
XXX2: read() routines on the i386 don't appear to set errno on failure.
1999-01-28 20:18:31 +00:00
christos 408aa9a669 Bump number to 2.6 and say ELF works!
But, this is not selfhosting yet. I need to fix the installboot crap.
[i.e. you need the a.out tools to build it and install it].
1999-01-28 20:12:49 +00:00
christos 72ba98061e Add btinfo_symtab, to pass symbol table information.
Actually the current ddb_init interface sucks, since there is no
magic number for a.out and it applies heuristics. It would be nice
if the boot blocks passed more info.
1999-01-28 20:10:55 +00:00
christos c46e7e7756 Use btinfo_symtab to find the symbol table if it is available. 1999-01-28 20:06:31 +00:00
christos 6922bd9c58 Add ELF bits. -N does not work, because ld does not compute the correct
memsz.
1999-01-28 20:04:54 +00:00
mhitch ae4fe46357 Fix the TLBMiss handler to not use an undefined operation (32 bit operation
on 64 bit register that's not correctly signed extended.  The R4x00 support
works again on DECstations.  A similar change to the XTLBMiss handler probably
needs to be made, but I have not done that since I am unable to test any
changes to that.
Also re-order a couple of instructions to allow for delay with mfc0.
1999-01-28 18:37:02 +00:00
ross a1b52a0723 Remove the original -g, as a duplicate was (accidently?) added in 1.108,
and comment it out like it used to be, at least for now.
1999-01-28 18:03:56 +00:00
drochner c6ca838916 defopt PCI_CONF_MODE 1999-01-28 12:43:13 +00:00
dbj 7919e08986 wscons based console video & keyboard support for the NeXT
from Matt DeBergalis
1999-01-28 11:46:22 +00:00
jonathan 7bfe0eabb6 Use lk_bell() for audible bell. 1999-01-28 10:35:53 +00:00
jonathan 9c2700d2b8 Jason Thorpe's changes from PR#6848. Makes 115200 bps work on some systems.
Reverse sense of #ifdef to disable 76.8k and 115.2k until we can verify
it works on all 8530 chips (similar changes didnt work on a /240 in 1996).
1999-01-28 10:28:43 +00:00
jonathan 1962954796 LK201 changes from PR#4519:
Add lk_bell() to ring keyboard audible bell (for rcons bell).
  Add LK_KEY_CLICK option to reset keyboard and enable keyclick.
  (off by default since theres no way to control it from userland yet).
1999-01-28 10:20:10 +00:00
nisimura 8c3b908f26 - Restore descriptive comments lost in the last commit.
- XXX Put a note that local DDB command 'trapdump' is not available. XXX
1999-01-28 05:52:06 +00:00
thorpej 7ad46b1420 Goodbye disklabel_mbr.h. 1999-01-27 22:08:09 +00:00
thorpej 135dc4e1ff Use <sys/disklabel_mbr.h> 1999-01-27 21:33:19 +00:00
thorpej 24d9973308 Use <sys/disklabel_mbr.h>. 1999-01-27 21:30:08 +00:00
thorpej af39050d19 Use MBR_MAGIC defintions in <sys/disklabel_mbr.h> 1999-01-27 21:20:18 +00:00
thorpej cb8268a3a5 Use <sys/disklabel_mbr.h>. 1999-01-27 21:00:05 +00:00
thorpej f077362c41 Use the MI <sys/disklabel_mbr.h>, not our own machine-dependent
definitions.
1999-01-27 20:54:56 +00:00
thorpej 41c5275965 Use the MI disklabel_mbr.h. 1999-01-27 20:43:26 +00:00
tsubai 941abb6bf6 ofmsr[IP] = 0. 1999-01-27 14:46:28 +00:00
tsubai 5ad236211f Add file-system MFS. 1999-01-27 12:43:17 +00:00
dbj 5a0e49ac08 Finished the setting of the system date from the rtc. 1999-01-27 11:27:16 +00:00
dbj 0dee80a0e4 print out interrupt status register and mask when stray interrupt occurs.
to aid debugging
1999-01-27 06:39:31 +00:00
dbj 49ad0ddfa1 Continue work on scsi driver. Added tail dma buffer. Still non functional. 1999-01-27 06:37:49 +00:00
dbj b9795e9e3c Fixed dma instability introduced with nextdma.c rev 1.7
This fix removes putting 0xfeedbeef in the unused restart registers.
When that was done, the machine would panic after a short while
with 0xfeedbeef in the normal dma buffer registers.  A restart
cycle is probably hapenning without an interrupt or something.
1999-01-27 06:08:29 +00:00
simonb ce856af2ef Include dec_prom.h with `full' path if being included by kernel.
XXX: Should these headers used by the kernel be in pmax/include instead
     of pmax/stand?
1999-01-27 05:52:31 +00:00
simonb 51dc8fb666 Change location of pmax/stand/*.h include files to pmax/stand/libsa/*.h
My bad - wasn't expecting the kernel proper to pull stuff in from stand...
1999-01-27 03:12:24 +00:00
simonb 384f5d9970 Remove unused pmax/stand/dec_*.h include files. 1999-01-27 03:03:51 +00:00
christos be52cd1738 Fix this properly, using gcc assembly syntax (thanks ws!) 1999-01-26 17:07:06 +00:00
christos d102972c3a Add a missing _C_LABEL(). Now an ELF kernel builds (if one removes the
-z flag from the ld line, in the Makefile)
1999-01-26 14:28:05 +00:00
christos 12bbb63ed7 move the assembly functions to locore.s and make the variables used by
them non-static
1999-01-26 14:27:08 +00:00
christos d95840263e add prototypes for the assembly functions that moved to locore.s 1999-01-26 14:25:02 +00:00
christos 0339b8e4dd ifdef __ELF__ the softintr inline since we cannot use _C_LABEL to produce
a name. XXX: Is there a better way?
1999-01-26 14:22:23 +00:00
christos 3bbb84a4a9 - move the npx assembly routines from npx.c here, so that we can use _C_LABEL
etc, to produce the correct names for elf and a.out
- correct a missing _C_LABEL problem.
1999-01-26 14:21:20 +00:00
thorpej 8851ed323e Fix a bug that has annoyed me for a long time. In pmap_enter(), if
there are no pages available immediately to use as a PT page, don't
just roll over and die.  Only do that if we're the kernel pmap (shouldn't
happen very ofter [ever?!], and I'm not certain we're guaranteed valid
thread context when operating on the kernel pmap).  For user pmaps, wait
for the pagedaemon to wake us up when more free pages are available.
1999-01-26 09:03:31 +00:00
thorpej 72a506557e Update. 1999-01-26 01:38:00 +00:00
ross a9dbb4bc3c ne* at pci? ... 1999-01-25 07:55:32 +00:00
cgd c9d7f12836 kill accidental 'options MSGBUFSIZE...' that crept in to rev 1.89.
while a larger message buffer size might be a good idea (even as the
default), the existing definition here was way too large and was, in
fact, accidental!
1999-01-25 05:10:03 +00:00
sommerfe d3eec1e6c2 nit: Fix a missed pms->opms rename (noticed by Matthias). 1999-01-24 18:58:12 +00:00
tsubai 711ac04b78 syncicache(sigcode, sigcodesize) before exec. 1999-01-24 15:07:51 +00:00
mycroft 3e6e3322d8 Format consistency. 1999-01-24 12:56:51 +00:00
mycroft 897a8a7f29 Mark [hn]to[nh][ls]() with __const__, so they are subject to CSE. 1999-01-24 12:55:01 +00:00
pk 922c3eb8f9 Read & clear fault status register after probing translation. 1999-01-24 10:12:22 +00:00
pk 84826812fc Don't tread on cache tags if the cache is already enabled. 1999-01-24 10:11:23 +00:00
sommerfe 83940dae72 Finish the rest of the pms->opms rename for non-wscons PS/2 mice. 1999-01-23 22:18:41 +00:00
eeh aedd885e3f Need a config file for a 64-bit generic kernel 1999-01-23 19:13:16 +00:00
eeh e66b220ec4 Sync 32-bit and 64-bit kernel config files. 1999-01-23 19:12:19 +00:00
eeh 5739b26892 Need to disable 64-bit only options in 32-bit GENERIC. 1999-01-23 19:09:00 +00:00
eeh d38fb5945e Synchronize config files. 1999-01-23 19:06:59 +00:00
drochner 6fe2522d57 second round of mouse renaming: psm->pms 1999-01-23 16:10:47 +00:00
drochner b384cb4978 update for mouse renaming
document wscons-compatible bus mice
1999-01-23 15:38:11 +00:00
drochner c5b4780e5b update for mouse renaming 1999-01-23 15:35:21 +00:00
drochner 2589333219 the cdevsw entries are for the backwards compatible mice now 1999-01-23 15:13:28 +00:00
drochner f7138b4416 busmice have wsmouse attribute now
add backwards compatible mice
update for pms->opms renaming
1999-01-23 15:09:55 +00:00
drochner 4120bf17c4 rename the autoconfiguration related symbols to opms* to avoid namespace
collisions with an mi wscons-capable pms driver
1999-01-23 15:07:10 +00:00
drochner 6ad1646ffb provide backwards-compatible busmouse drivers
(technically identical to lms.c/mms.c)
1999-01-23 15:05:39 +00:00
drochner 45ecb32709 make the busmice work with wscons 1999-01-23 15:03:50 +00:00
nisimura 7766b60f7c - Add NEC Vr5400 processor ID. 1999-01-23 06:13:30 +00:00
tron cba7ce0e5c Add "ipip" network interfaces. 1999-01-22 22:47:16 +00:00
thorpej 6ead44025b Fixup some usage of _C_LABEL(). 1999-01-22 22:43:44 +00:00
simonb 3566c2a4a4 Add NetBSD RCS ids 1999-01-22 14:27:31 +00:00
mycroft 7497ccd364 Clean up. 1999-01-22 14:19:54 +00:00
mycroft ec253b6315 Use __builtin_next_arg(). Fixed PR 6862. 1999-01-22 14:14:32 +00:00
mycroft 56934caa9d Use mips/stdarg.h. 1999-01-22 14:13:10 +00:00
mycroft 082204fa3d Standardize format. 1999-01-22 14:12:07 +00:00
simonb 65fca13b07 More Makefile cleanups:
+ Don't use our own "clean" and "depend" targets
 + "make depend" works
 + Only include each include path once on compile lines
 + Clean up include file names
 + Don't build a separate libdrive.a, just specify driver source files
 + Use "make print-objdir" instead of old "printf ... | make -f-"
 + Remove more unnecessary targets, variables and other cruft

Still builds identical bootblocks to 1.3.3 with gcc, still too large
with egcs.

dec_boot.h, dec_exec.h & dec_prom.h were copied via respository
copy to sys/arch/pmax/stand/libsa.
1999-01-22 14:05:05 +00:00
tsubai 438b781c46 Match "ata0". 1999-01-22 10:44:38 +00:00
mark f6f7ac980d Fix bug in the initialization of the interrupt masks for shared
interrupts as described in PR6421. Fix from Richard Earnshaw.
1999-01-22 06:59:26 +00:00
sakamoto 7da2ee9edd Add vr driver. 1999-01-22 05:40:16 +00:00
christos 28b4668c17 Move prototypes to mi code; add MD constant for padding 1999-01-21 23:11:45 +00:00
christos 4384281c67 move the mi context setting code out of here. 1999-01-21 23:07:20 +00:00
christos 6d70af37f7 move prototypes to mi locations and add the xrs gunk. 1999-01-21 23:06:25 +00:00
christos 64df2f4fd8 Remove old prototypes (move to mi code), and add the xrs gunk! 1999-01-21 23:05:14 +00:00
christos 6c559acb65 Move machine independent stuff out of here. 1999-01-21 23:03:10 +00:00
christos 0b836e1a7b move the machine independent portion out of the context functions. 1999-01-21 22:58:57 +00:00
christos 4e3e5d021d Avoid void * arithm in a debugging printf, and remove extraneous void *
casts.
1999-01-21 22:58:11 +00:00
simonb 76764712c1 Round one of the Makefile clean up:
+ dependency on libsa works
 + set and use BINDIR/BINMODE
 + don't pull in sys/lib/lib{sa,kern}/Makefile.inc (``make clean''
   doesn't make empty lib/{sa,kern} directories in each
   directory/obj dir).
 + remove unnecessary targets, variables and other cruft
 + wrap lines at 80 chars

Re-ordering SRCS line in libsa/Makefile to a more logical sequence
(alphabetical by source dir) results in a libsa.a with archive members
in a different order, and a resultant bootrz that differs from the 1.3.3
bootrz.  Untested as yet, so left in but commented out.

Also, _don't_ install the bootblocks (as per intent of previous commit)
or our own small libsa(!).
1999-01-21 14:16:52 +00:00
simonb ab18b23eba Add dkcksum.c (pulled in from libsa) and remove local copy of
disklabel.c (with it's own copy of the same dkcksum routine).  Output
code still identical.
1999-01-21 12:43:11 +00:00
simonb 6c2628b5d0 Almost working bootblocks for the pmax. This compiles fine with gcc
2.7.2.2-myc2 (and produces _identical_ bootblocks with the 1.3.3
bootblocks which weren't in the tree), but egcs 1.1.1 builds a ufs.o
that's about a 100 bytes too big, and it busts the 7.5k we've got for
bootrz.

Still needs cleanup - the Makefiles could be better/cleaner, and doesn't
install yet (because of above problem).  At least there's something to
work with now.

Note that we have our own versions of a lot of the sys/lib/libsa
routines which are less functional/smaller.
1999-01-21 12:33:39 +00:00
mycroft 399318b456 Vanity config files. 1999-01-21 09:58:26 +00:00
mycroft 1c607f81a8 Fix editing error. 1999-01-21 08:20:25 +00:00
mycroft 74a54bbbc8 wscons. 1999-01-21 02:54:08 +00:00
mycroft 1e9146db5d sync 1999-01-21 02:50:21 +00:00
mycroft 516af72df3 -ccd +vnd 1999-01-20 22:48:42 +00:00
mrg 1ead59c1eb enable a few more network and compat options, few more devices, both pseudo and real, that hvae appeared in the tree. 1999-01-20 17:24:36 +00:00
pk 5ce78d9342 Fix think-o in srmmu_cache_flush(). 1999-01-20 15:25:29 +00:00
mycroft cefdcd4840 More DDB cleanup. 1999-01-20 13:56:35 +00:00
simonb 64b6a85f9c Remove obsolete README and dec_label program 1999-01-20 13:37:56 +00:00
simonb 47c28b03d8 Move via repository copy to sys/arch/pmax/stand/scsiboot 1999-01-20 12:03:56 +00:00
mycroft 7ef318056c sync 1999-01-20 11:15:56 +00:00
ragge 08e32be08c Forgot copyright notice. Thanx, Jason! 1999-01-20 07:32:52 +00:00
pk 565d3768e5 Catch `Unimplemented Flush' traps. 1999-01-20 00:15:07 +00:00
pk 521611091a Set the Hypersparc ICCR bits. 1999-01-19 23:07:29 +00:00
pk 88993b57d9 Define macros to read & write Ancillary State registers. 1999-01-19 23:05:52 +00:00
pk 66cd211961 Define Hypersparc ICCR bits. 1999-01-19 23:04:02 +00:00
ragge cb2675ff12 Fix some void pointers. 1999-01-19 22:57:47 +00:00
ragge bef0af5311 Allocate (almost) all interrupt vectors dynamically. Simplifies much
work when adding support for new machines and devices.
1999-01-19 21:04:47 +00:00
thorpej 2fb041ce0a No need for <sys/mtio.h> 1999-01-19 18:18:41 +00:00
scottr d51a8c71b9 Need bswap.h for the bswap32() prototype. From Steve Allen
in PR 6846.
1999-01-19 15:41:03 +00:00
pk a711033aa2 Deal with SIR_SERIAL (for `com' devices).
XXX - consider using __GENERIC_SOFT_INTERRUPTS instead
1999-01-19 10:04:42 +00:00
pk dd91d8a2b4 Add SIR_SERIAL soft interrupt source. 1999-01-19 10:02:40 +00:00
ross c79856181a NetBSD RCS id. 1999-01-18 20:36:22 +00:00
ross 7346c0043b FreeBSD's fpu.h. 1999-01-18 20:33:23 +00:00
tsubai 321f772d99 Invert Y axis (like ums, pms, ...). 1999-01-18 12:36:36 +00:00
drochner 67589898ca Be more cautious about writing to the CMOS century byte. Update it only
if it contained a "19" before. There are machines (in particular PS/2
descendants) which have a checksum at this place.
Introduce a patchable kernel variable "rtc_update_century" to modify
the behaviour: 1="always update" (for testing and if one wants to set
the clock back) or -1="never touch".
1999-01-18 10:50:23 +00:00
itohy fe5278bffc MACHINE_NEW_NONCONTIG is no longer optional
remove non-MNN code
1999-01-18 07:39:51 +00:00
castor de42f91db3 Forgot to also ship out regnum.h 1999-01-18 04:59:54 +00:00
nisimura 3478ed1de4 - Nuke 90 lines of dead code inherited from 4.4BSD. They were mostly for
VAX BSD VM.
1999-01-18 03:48:34 +00:00
castor 4e216f5744 Remove vestiges of cpuarch.h. Revert to using cpuregs.h instead. 1999-01-18 02:11:07 +00:00
pk 58fa0024a5 Add `qe'. 1999-01-17 20:45:26 +00:00
eeh 2dd29df04b Let's try to add network support. 1999-01-17 20:07:52 +00:00
matt 8e06ef5a52 If using egcs, use -mno-pic to generate better code. 1999-01-17 19:09:00 +00:00
he 30cc2d95cb Actually handle small boot blocks (<=15 blocks) correctly in the ffs case. 1999-01-17 18:16:16 +00:00
tsubai 3e7448240b Add missing backslash. 1999-01-17 12:51:03 +00:00
tsubai ffffbb419c Fix a intrcnt bug. 1999-01-17 11:53:52 +00:00
tsubai 07d83c4919 Add bmac ethernet. 1999-01-17 11:49:56 +00:00
mark 8ee86da26a Clean up the last remains of non-MNN the code. 1999-01-17 06:58:16 +00:00
scottr 2159f8a301 Add support for the Contour 3-button mouse, inadvertantly missed
in the ADB split a few months back.  Noticed by Takashi NAKAMURA.
1999-01-16 22:49:37 +00:00
chuck 4e484e0e02 remove dead non-MNN code (one block left) 1999-01-16 21:03:48 +00:00
chuck bef8ae1103 MNN is no longer optional 1999-01-16 20:49:12 +00:00
chuck 90ddaed9b5 MNN is no longer optional, remove dead code 1999-01-16 20:43:21 +00:00
chuck 9cb41178b7 MNN is no longer optional, remove old code 1999-01-16 20:39:03 +00:00
chuck 417e5339f0 MNN is no longer optional 1999-01-16 20:31:50 +00:00
chuck e6f055e44b MNN is no longer an option 1999-01-16 20:31:20 +00:00
chuck 8bd992a5f6 remove non MNN code 1999-01-16 20:30:34 +00:00
chuck 32244a5a1a MNN is now the default 1999-01-16 20:13:17 +00:00
chuck 9588304ded MNN no longer an option 1999-01-16 20:11:51 +00:00
chuck 66226eb6ff remove non-MNN code 1999-01-16 20:11:03 +00:00
chuck b0289cbb75 MNN is no longer an option 1999-01-16 20:07:37 +00:00
chuck 4dcbe95100 remove old MACHINE_NONCONTIG code 1999-01-16 20:06:47 +00:00
chuck 3a1fcc746e MNN is now the only option possible 1999-01-16 20:04:22 +00:00
he 4155434b1c Fix uninitialized `inode' variable in save_ffs(), fixing port-i386/6682. 1999-01-16 18:26:47 +00:00
pk c884428427 Add `be' + MII devices.
Add PCMCIA devices that are known to compile at the moment.
1999-01-16 13:43:50 +00:00
nisimura f3b48dd536 - Restore 'cpuregs.h'. 1999-01-16 09:25:18 +00:00
nisimura d9b9f639e6 - Update 'cpuregs.h' and decline 'cpuarch.h'. 1999-01-16 09:07:37 +00:00
nisimura 6119939f5a - Restore 'cpuregs.h'. 1999-01-16 08:51:04 +00:00
nisimura b6cc76ac91 - Never use an uninitialized variable. 1999-01-16 08:48:06 +00:00
nisimura 25806f2bf5 - Make cpu_switch() a normal call; formally it was splitted into halves.
- Fix an error in mips3_cpu_switch_resume(); ASID was not set correctly.
- Remove global variable 'curpcb' reference in mips1_proc_trampoline().
- Restore 'cpuregs.h'.
1999-01-16 08:45:53 +00:00
nisimura 358a8c3092 - Add two macros to deal with a recent change in mips/trap.c. 1999-01-16 08:26:24 +00:00
nisimura 34410d5d0c - Fixup imcomplete vm_offset_t purge work... 1999-01-16 07:05:05 +00:00
tron 3601b98911 Add missing backslashes between continued lines. 1999-01-16 06:24:07 +00:00
nisimura f163b5653f - Replace the stub value of 'eret' instruction with correct one. 1999-01-16 03:44:42 +00:00
nisimura f4b56d8060 - Clarify how inimplemented FP instruction traps are handled. 1999-01-16 03:31:49 +00:00
nisimura d077749e8f - Fix errors involving proc0's kernel stack usage. Fortunately it made
no error so far...
1999-01-16 03:17:06 +00:00
nisimura 7dce3ef311 - User mode context held with pcb_regs[38] in 'struct pcb' was relocated
at the very bottom of process kernel stack.   The address is pointed with
'curproc->p_md.md_regs'.
- Define 'struct md_coredump'.
1999-01-16 03:12:18 +00:00
nisimura f714e02733 - Fixup for recent change in arch/mips. 1999-01-16 02:36:01 +00:00
bouyer f20d50fae4 Add byte_swap.h here too. 1999-01-16 02:31:54 +00:00
bouyer 62a77e9dfe Oups, need byte_swap.h too. Pointed out by Robert V. Baron 1999-01-16 02:20:26 +00:00
thorpej 8922647c58 Some minor, mostly costmetic, changes to CPPFLAGS/CFLAGS. 1999-01-15 23:37:05 +00:00
thorpej f52ee598ae __pmax__ -> pmax, __arc__ -> arc, like other ports. 1999-01-15 23:35:54 +00:00
thorpej c84a74b16b Don't define "mc68020". Nothing uses it. 1999-01-15 23:21:25 +00:00
thorpej cd3a2c5a2a Eliminate use of CPP symbol "mc68020". 1999-01-15 23:15:50 +00:00
castor 48cbfb842a * Add prototype for mips1_clean_tlb
* Add the correct version of locore_mips1.S [ See previous revision for
	description of changes ]
* Use defopt'ed MIPS3_L2CACHE_ABSENT in mips_machdep.c and pmap.c
	to avoid generating extraneous code.
* GC pmap_set_referenced in pmap.c
1999-01-15 22:26:42 +00:00
bouyer dc306354b0 Move the bswap functions from libutil to libc (this bups the
minor of libc and the major of libutil). For little-endian architectures
merge the bnswap() assembly versions with nto* and hton* using symbols
aliasing. Use symbol renaming for the bswap function in this case to avoid
namespace pollution.
Declare bswap* in machine/bswap.h, not machine/endian.h. For little-endian
machines, common code for inline macros go in machine/byte_swap.h
Sync libkern with libc.
Adjust #include in kernel sources for machine/bswap.h.
1999-01-15 13:31:15 +00:00
castor 45a22daf10 allow generated kernel includes and support mips pubassym.cf mechanism 1999-01-15 10:57:36 +00:00
castor c729b2ffeb add support for locore_mips[13].S 1999-01-15 10:33:11 +00:00
castor 534c67a373 Protect defopt against -D_LKM 1999-01-15 10:07:12 +00:00
castor 84915f67d7 Fix typo in mips3_ConfigCache() -- mips3_L2CachePresent 1999-01-15 09:58:43 +00:00
matthias 2dff258464 Support BUFCACHE option (stolen from i386). 1999-01-15 07:43:48 +00:00
matthias 88b2c1662d Protect all defines in this file with #ifdef _KERNEL. At least the
definition of T_SLAVE will cause the bind build to fail. Thank's
to Phil Budne for noting this.
1999-01-15 07:42:48 +00:00
castor 4720afb463 Avoid introducing new prefix '__JB' -- '_JB' is fine. 1999-01-15 03:43:56 +00:00
castor e20f6d6203 * Elimination of UADDR/KERNELSTACK
Affected files:
	include/mips_param.h, include/pcb.h,
	mips/locore_mips1.S, mips/locore_mips3.S,
	mips/mips_machdep.c, mips/vm_machdep.c

   Issue:

So far, NetBSD/mips has not successfully got rid of fixed-address
kernel stack.  USPACE (two 4KB pages) of each process has two distinct
KSEG2 addresses, both refer to a single physical storage; one address
for fixed range [ UADDR .. KERNELSTACK ), and another for "normal" KSEG2
address which was allocated by kernel memory manager and unique to each
others of processes.

"Doubly mapped" USPACE complicates context switch.  Both address ranges
have to be managed with a special care of "wired" TLB entries which
are never replaced until next context switch to ensure no TLB miss for
USPACE access.  It's equally crumbersome that MIPS processor's cache
machinary gets be confused about USPACE contents because there are two
distinct KSEG2 addresses to manipulate one physical storage.

   Solution:

Purge KERNELSTACK constant for kernel stack pointer and replace
it with process unique values.  Kernel stack bottom is located at
'curproc->p_addr + USPACE'.  Context switch is simplified as it unloads
half of TLB hardwiring burden.  It just manages the unique KSEG2 address
of each USPACE to be wired.  As the side effect, switch_exit() has no
MIPS processor ISA dependent code anymore.  It switchs kernel stack to
proc0's USPACE which has KSEG0 address and no need of TLB entry.

* Extensive use of 'genassym.cf'

To hide target port dependent and/or processor register size dependent
constants from assembler routines, 'genassym.cf' now has an extentive
set of definitions for various constants and offset values of
structural objects.  This change will contribute possible NetBSD/mips64
portability too.

* Separation and rename of locore_r2000/_r4000.S

Those files are now indepedent standalones from locore.S to ease
maintainance works, and renamed to match MIPS processor ISA version.

* Changes in kernel mode exception handlers

Kernel mode exception handlers hold exception contexts by pushing a
certain set of register values on stack for resuming kernel mode
processing.  This context is now represented with 'struct trapframe',
which is smaller than full scale (user mode) exception context 'struct
frame'.  Stack consumption of kernel mode exception services is now
similar to 4.4BSD/mips.

* Relocation of exception frame

User mode context 'struct frame' is moved to the very bottom of kernel
stack at 'curproc->p_addr + USPACE - sizeof(struct frame)'  This change
saves a bit of instructions on every return to user processes as it
eliminates reference to global variable 'curpcb' each time.

* Refurblished DDB backtrace routine

It's a growing concern to maintain stacktrace() code correctly.  It
could be simplified by enforcing special arrangements for some of
obscure locore routines which violate usual coding conventions.

New backtrace code searchs for certain instructions peculiar to any of
function tails.  Specifically, "jr ra" for normal function returns, "jr
k0" for MIPS1 exception handlers and "eret" for MIPS3 handlers.

* Support for 64-bit safe user code
    Affected Files:
	${ARCH}/include/pubassym.cf lib/libc/arch/mips/gen/*setjmp*
	include/setjmp.h mips/include/[lots] mips/mips/[lots]

    Solution:

	We define macros REG_L/REG_S and SZREG for loading and storing
	registers and for the size of registers.  The exact meaning
	of these is controlled by a macro (currently _MIPS64) which
	allows one to treat the registers as either 32-bit or 64-bit.
	There are data types mips_reg_t and mips_fpreg_t which represent
	the true register sizes, and avoid confusing register_t.

	We needed a way to dynamically gen the structure sizes of things
	like sigcontext for setjmp.h, so we defined a pubassym.cf for
	libc routines like setjmp and longjmp.

	NetBSD/mips allows ${ARCH}'s to be defined which preserve
	all 64-bits of registers across user context switches.  There
	are still a few niceties to clean up for kernel mode context
	switches.

* Support for QED 52xx processors
    Affected Files:
	mips/locore_mips3.S mips/pmap.c include/locore.h

    Issue:
	The QED 52xx family of processors are targeted at low cost
	embedded systems, (i.e. CPUs ~$30) for systems like routers, printers,
	etc.  We have added preliminary support for some of the idiosyncrasies
	of this processor, e.g. no L2 cache, etc.  More work needs to be
	done here because with a modest 2-way  L1 cache, some of the rampant
	flushing has significant performance implications.  However,
	it doesn't crash, which is a start.

    Solution:
	A routine for flushing the cache based on virtual addresses was added;
	a routine which deals with the two-way set associativity of the
	5230 L1 cache was added, accomodations to 5230's instruction hazards
	were added.


* TLB Miss code for mips3/mips4 processors cleaned up significantly.
    Affected Files:
	mips/locore_mips3.S mips/vm_machdep.c include/locore.h mips_machdep.c
    Issue:
	The TLB Miss handler exceeded the allowed size, which wasn't
	a problem because there was no handler for when the processor
	was in 64-bit mode.  The handler for invalid TLB exceptions
	also appears to have much vestigial code, which made it
	difficult to understand.

    Solution:
	Use the XCONTEXT register to store a pointer to the segment
	map table, this coupled with removing some dead code allows
	the handlers to fit.
1999-01-15 01:23:12 +00:00
mrg bb4584ec40 look for /^Version:/ to find the boot block version, rather than using
the "version" file's RCS id (which is useless for branches).
1999-01-15 00:48:03 +00:00
pk 6a8119ff1d Sanity check from Matthias Drochner. 1999-01-15 00:26:24 +00:00
castor a6f7b8ff0e Add defopt opt_mips_cache.h and allow 'clock' device to not require the mc6xx files 1999-01-14 18:51:31 +00:00
castor a84ec5a3c1 * Create mips_reg_t data type to allow register size to be
decoupled from long or int or long long.  Define macros in asm.h to facilitate
  choosing these on a port by port basis.

* Create <machine/pubassym.h> mechanism to allow jmp_buf structure size
  to be calculated at system build time.

* Define _MIPS_BSD_SIM macro which specifies what calling style is appropritae
  for the architecture.  For 64-bit oriented systems set the Status Register
  to allow 64-bit instructions.

* Remove UADDR related macros because kernel U structure is now mapped
  normally.
* Separate cpu.h into cpu.h and cpuarch.h to keep things neat.
* Add support for QED 52xx processors
1999-01-14 18:45:45 +00:00
pk 0372e36e3f device_register: recognize `lebuffer' and `isp' as controllers. 1999-01-14 13:08:24 +00:00
cgd ba831d2c43 update for present reality 1999-01-14 04:44:23 +00:00
cgd f3c3f37dc8 update for ed split 1999-01-14 04:26:46 +00:00
pk de7b3f5492 Add `bus_space_subregion()' which was curiously missing. 1999-01-13 20:48:40 +00:00
pk 53c6ccd94d Add `eccmemctl' entry. 1999-01-13 20:35:30 +00:00
leo 7b74d44255 As Ignatios suggested:
Use CCB when dealing with a 68040 type MMU (for cache consistency).
1999-01-13 12:17:15 +00:00
itohy cd16d23d21 Make it compile again.
Use err(3) functions.
KNF
1999-01-13 10:23:40 +00:00
abs 1e21e1233b Change 'from from' to 'from' in some comments 1999-01-13 09:25:59 +00:00
tsubai 12d2afa11a Use KS_KEYCODE macro. 1999-01-13 08:13:41 +00:00
abs 4b0a936711 fix void arithmetic 1999-01-13 04:19:08 +00:00
tsubai 3bc029b332 Add ``#include "akbd.h"''. 1999-01-12 15:12:44 +00:00
tsubai 5998caa414 Support irq > 31.
XXX dirty hack...
1999-01-12 12:06:46 +00:00
tsubai c2bb308ef9 Use (fast!) dcbz asm instruction in pmap_zero_page(). 1999-01-12 11:03:04 +00:00
tsubai bb426487a5 Move MSGBUFSIZE from machdep.c to param.h
Use the last page for msgbuf instead of fixed MSGBUFADDR.
1999-01-12 10:51:40 +00:00
tsubai 90a73bba2c Always use polling when poweroff/restart. 1999-01-12 10:38:00 +00:00
tsubai 4293e4ff3c Use the last available page(s) for msgbuf. 1999-01-12 10:26:18 +00:00
kleink 657d577aeb Pull in <errno.h> instead of <sys/errno.h> for declaration of errno. 1999-01-11 22:21:30 +00:00