Commit Graph

19202 Commits

Author SHA1 Message Date
tsubai a8d7da0d21 Add "trackpad" definition. 1999-06-17 06:59:05 +00:00
thorpej f51688dd8b PMAP_NEW is no longer optional on the pc532; the old pmap's page table
allocation strategy no longer works at all.  Move pmap.new.* to pmap.*.

To read the revision history of PMAP_NEW up until this merge, use cvs
rlog of the old pmap.new.* files.
1999-06-17 00:22:41 +00:00
thorpej e2442268e9 PMAP_NEW is no longer optional on the i386; the old pmap's page table
allocation strategy no longer works at all.  Move pmap.new.* to pmap.*.

To read the revision history of PMAP_NEW up until this merge, use cvs
rlog of the old pmap.new.* files.
1999-06-17 00:12:10 +00:00
tsubai c28bad1d51 Define PowerBook G3 Japanese keyboard. 1999-06-16 08:48:37 +00:00
tsubai a2e8151f8e Define symbolic name of PMU commands. 1999-06-16 07:43:58 +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
kleink 857dfc7058 Slightly rearrange the SSIR inline assembly implementation in order to avoid
making assumptions on C symbol name prefixes.
1999-06-15 15:26:34 +00:00
kleink 51eb26bf7e Slightly rearrange the inline assembly in ledcontrol() to avoid frobbing a
C symbol name prefix.
1999-06-15 15:18:55 +00:00
minoura cd06c07723 Check file open mode at ioctl.
Add debug option SRAM_DEBUG_DONTDOIT.
1999-06-15 15:04:56 +00:00
cgd e33c6c47a2 set bb_flags to zero; who knows what they were (on disk) previously,
and SRM is finicky about what values it will allow.
1999-06-14 23:55:29 +00:00
cgd b6e1d0f85a set bb_flags to 0. Though not strictly necessary (because of an earlier
memset()), this is nice for source-level consistency.
1999-06-14 23:52:25 +00:00
tsubai 4df925b8b0 * Don't use DMA interrupt.
* Stop DMA explicitly in finish routine.
1999-06-14 08:53:06 +00:00
tsubai 86d2f9253a Consider "have /psuedo-hid and only ADB keyboard" case to make the
new PowerBook G3 happy.
1999-06-14 06:22:50 +00:00
briggs 3cce22665e Clear interrupts on a Radius GS/C card. Thanks go to Yasufumi Suzuki
<yattin@sco.bekkoame.ne.jp> for doing the MacsBug "leg"work for me.
1999-06-14 03:11:34 +00:00
kim c867e93fae Pickup changes from ../biosboot/Makefile and add .PATH so that source
files are found.  Now this compiles ok (have yet to run the blocks).
1999-06-13 17:21:18 +00:00
pk f90f079222 Fix typo in previous. 1999-06-13 07:58:20 +00:00
pk fee9cd9c12 Initialize the heap (for alloc()) explicitly, since the `end' symbol
is not necessarily double-word aligned.
1999-06-12 12:49:24 +00:00
ender 2b55a690f8 Change the annoying printf() of 2 backspaces to a space followed by a
backspace for aesthetics.
1999-06-12 00:21:13 +00:00
scottr 35f356e920 Eliminate more overhead in delay(); there's no point in doing the same
thing in both the calibrator function and the actual delay function.  At
this point, _delay() does all of the work, so we can garbage collect
dummy_delay() and make _delay() an alternate entry point for delay().

This results in a small (but measurable) improvement on the IIci.
1999-06-11 06:51:39 +00:00
eeh 0693ec8379 Don't change protection on the clock for the moment. 1999-06-10 04:31:20 +00:00
briggs a6b22a059a Note that 0x146 is a Micron Exceed. 1999-06-10 03:25:18 +00:00
briggs 3ea7c860b9 Use information from Kensuke Ogawa <kenogawa@festa.or.jp> to disable
interrupts on a Micron Exceed color video card.
1999-06-10 03:24:38 +00:00
nisimura 9a3291290d - Correct errorneous comments for kn*_wbflush() routines. 1999-06-10 01:37:10 +00:00
nisimura 0ebace83f4 - Remove local declaration of 'dev_name2blk[]'.
- Minor formatting correction and removal of defunct debug lines.
1999-06-10 01:06:40 +00:00
scottr 6adfba2698 Tweak previous: use shorter instructions to accomplish the same
#task (minimizes overhead).
1999-06-09 15:34:08 +00:00
scottr 3c26ad58a1 Someone forgot to tell ddb that SWAP is not PEA. 1999-06-09 07:53:22 +00:00
nisimura 981a3b4cb2 - Nuke declarations for now obsolete implementations of spl()s. 1999-06-09 07:33:29 +00:00
scottr f2f8426e86 Write a new low-level assembly help for delay() and the calibrator. This
eliminates stalls during instruction prefetch and makes the delay
consistent regardless of kernel configuration.
1999-06-09 06:59:53 +00:00
briggs f98c8a0394 Remove some register declarations.
Get Q9x0 dual SCSI at least basically working.
Be paranoid about some register reads.
1999-06-09 03:41:34 +00:00
christos 2cfd9ef718 Synchronize with GENERIC 1999-06-09 01:47:14 +00:00
simonb 6a949cddfb Include <pmax/pmax/machdep.h> instead of declaring our own prom_*()
prototypes.
1999-06-08 23:42:36 +00:00
simonb b7a2ec3f01 + Call prom_scsiid() to found out what the host SCSI ID should
be instead of hardcoding values.
 + Print the host SCSI ID in siiattach().

XXX - probably should do the same to the ASC driver??  The manuals for
the 5000 series machines don't mention the scsiidN env variable, but it
is present on all the models I've looked at...
1999-06-08 23:41:59 +00:00
simonb 7eb995464d + Add prototypes from the prom_*() callback routines.
+ Remove leading "extern" from function declarations.
 + CG unused latched_cycle_cnt.
1999-06-08 23:40:42 +00:00
simonb 661c94c72c + Add prom_getenv(), and use it instead off calling callv->_getenv.
+ Add prom_scsiid() to read and decode the prom scsiidN environment
   variable that says what the host SCSI id should be.
 + Include <pmax/pmax/machdep.h> instead of declaring our own
   prom_*() prototypes.
1999-06-08 23:40:19 +00:00
mrg 30c351dc59 mmm, missing return types make gcc unhappy. 1999-06-08 10:35:36 +00:00
mhitch d9be0d6e6b When entering a read-only page for MIPS3, va does not need to be adjusted by PAGE_SIZE
when flushing the I-cache.
1999-06-08 03:44:18 +00:00
nisimura 540b02ab76 - Exterminate haunted evil soul of MIPS va_arg(). Verified OK with
either endian.  Not a perfect solution which would be revealed on
a certain condition when va_arg() is applied to magical struct
arguments passed by value.  format_bytes() is now saved.  With the
help from Noriyuki Soda and Masanari Tsubai.
1999-06-08 00:46:38 +00:00
is b7ee76f1c4 Check for an unterminated bus; if yes: complain and don't try to use this
bus. Without this, cbiiisc used to hang if nothing was connected.
Reported by Matthias Scheler. A similar method to avoid this was suggested
by Ralph Schmidt.
1999-06-07 21:30:57 +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
mrg 0525e9c7ef add ebus attachment for cs4231. this does not work as it requires ebus DMA and will panic if enabled. but it should otherwise be mostly complete. 1999-06-07 14:59:14 +00:00
mrg 03c5c00056 remove "EXPERIMENTAL" comment from this file, as it does not exist elsewhere in this directory. 1999-06-07 14:43:34 +00:00
thorpej a0faadd7d2 Make traces work with ELF kernels. 1999-06-07 07:00:07 +00:00
mrg aa506f8098 copyright foo. in the future, we will all be binary-redistributable. 1999-06-07 05:40:08 +00:00
eeh 1884f05354 Another general cleanup:
Remove the entire idea of fasttrap interrupts since V9 traps are really cheap,
the CPUs are really fast, and the completely different trap frames would make
these handlers really difficult to implement.

pmap_changeprot() was only used by the clock and one other place; deprecate it.

probeget() and probeset() now take 64-bit addresses even in 32-bit mode so we
can probe IO locations by physical addresses.

Some pmap cleanup.

Some more copyright cleanup.
1999-06-07 05:28:03 +00:00
is 92568502cc Don't dump all the registers at attach time. It works now. 1999-06-06 19:58:31 +00:00
ragge 3bb07459cd Qbus moved in hierarchy. 1999-06-06 19:10:49 +00:00
ragge 4756cdb74e Page tables must be pageable (where did this disappear?)
Fix a PGOFSET -> VAX_PGOFSET miss.
Stylistic cleanup.
1999-06-06 19:09:50 +00:00
ragge f6d61fb6ad Add an define for SGMAP. 1999-06-06 19:07:11 +00:00
ragge d55d0ac4b5 Add some more IPRs for KA670. 1999-06-06 19:06:29 +00:00
ragge db8c0c9c4c Use gencons if VAX670. 1999-06-06 19:05:21 +00:00
ragge 02637941e5 Ops, forgot this file. 1999-06-06 19:03:40 +00:00
ragge 134b65fde3 Added support for Qbus DMA. 1999-06-06 19:00:53 +00:00
ragge 64572c459a sgmap files, copied from the Alpha port and modified for vax. 1999-06-06 18:58:50 +00:00
dante a775803f91 Add adv* entry under ISA devices 1999-06-06 17:57:23 +00:00
dante 600618d977 Add adv0 entry under ISA SCSI controllers 1999-06-06 17:37:03 +00:00
ragge 22b5707362 Complete support for VAX 4000/300. From Michael Kukat. (michael@camaronet.de) 1999-06-06 14:23:46 +00:00
mrg e6545647b8 update this to GENERIC rev. 1.84. 1999-06-06 13:06:38 +00:00
mrg 440ac638bc EXEC_ELF32 is now default. enable "rnd" 1999-06-06 13:00:03 +00:00
pk 3d9ae33cfb Add COMPAT_AOUT. 1999-06-06 09:23:38 +00:00
mrg 1428ee6103 note that this is for an u5/u10 (from hubert) 1999-06-06 01:59:40 +00:00
eeh 186c3eba2b Make pbrobeget() and probeset() work for 64-bit values as well. To do this
the arguments are changed so the address is first and the ASI second so we
can have the address in %o0:%o1 and not worry about unused registers.

Also a bit of copyright cleanup.
1999-06-05 21:58:16 +00:00
eeh 3f7968c736 Fix things up so they compile again. 1999-06-05 20:38:24 +00:00
eeh fcd1351b4c Add support for AOUT_COMPAT which we'll need when the sparc port cuts to ELF. 1999-06-05 16:55:19 +00:00
mrg 14729c2b11 fix lpt definition. add audiocs at ebus. oops, comment broken/incomplete devices. 1999-06-05 14:34:22 +00:00
mrg 5e7ea137ac lpt at ebus. fixed (commented) audiocs attachments. 1999-06-05 14:33:44 +00:00
mrg 756c2cde22 map in registers, configure interrupts, this appears to be OK now. 1999-06-05 14:19:44 +00:00
mrg e8ccf39491 find ebus device INO values via the "interrupt-map" and "interrupt-map-mask" properties. 1999-06-05 14:18:26 +00:00
pk bea0725979 64-bit safety to help sharing compilation tools with sparc64. 1999-06-05 12:54:23 +00:00
mrg 3670ff2120 if we are not bypassing the MMU, use ASI_PRIMARY. map PCI memory space
non-cached.  XXX clean this up by looking at the "non-cacheable" bit of
the full physical address.
avoid having 'nbuf' change between calls to `mdallocsys()' by setting it
in mdallocsys() like the MI allocsys() does.  XXX fix this too!
fix some printf lossage.
update for probeget() changes -- though bus_space_probe() appears to be
unused on the sparc64.
1999-06-05 05:35:41 +00:00
mrg cc49a21298 use common IOMMU routines. 1999-06-05 05:30:43 +00:00
mrg da265ce045 clean up a bit, implement pci_conf_{read,write}() with probe[gs]et() (not yet used). 1999-06-05 05:29:50 +00:00
mrg bb0d20abc4 lpt at ebus. 1999-06-05 05:28:36 +00:00
mrg dcb6040569 clock attaches at ebus also now. 1999-06-05 05:10:01 +00:00
mrg 4b183190b5 update a commit slightly. 1999-06-05 05:08:25 +00:00
mrg 2ee43849be catch up with probe[gs]et() changes. 1999-06-05 05:05:11 +00:00
mrg 6dffb4dff3 use common IOMMU code for sbus and psycho (remove old iommu
device declaration, we don't want it).  pull in psycho, pci,
ata and pciide code.  clock, eeprom and power attach at sbus
*and* ebus now (clock as `eeprom' works).  add `lpt at ebus',
wd major number, and other misc. commented devices.
1999-06-05 03:16:19 +00:00
mrg cb392a2e1d only set LD to /usr/ccs/bin/ld if it exists. avoid empty SFILES. 1999-06-05 01:56:31 +00:00
castor 6b1b77230e in switch_exit() previous fix forgot to guard REG_L with REG_PROLOGUE and
REG_EPILOGUE.
1999-06-04 21:43:12 +00:00
castor 4f92d800a6 fix register restore to be safe for n32 model. 1999-06-04 21:35:47 +00:00
thorpej c5e6001ff8 Don't built most of the PCVT utilities; they're not really useful anymore,
now that we're trying to deprecate PCVT.

XXX Leave the fonts and font editor for now.
1999-06-04 18:47:33 +00:00
mrg 8613b8e39d avoid uninitalised pointers. 1999-06-04 14:29:38 +00:00
mrg 3a1472c106 GC dead code. add support for PCI and IDE boot device detection, plus hme ethernet.
should probably deal with be and qe, etc.
1999-06-04 14:00:38 +00:00
mrg 27bcf2b6e6 eek. sparc can have "wd" disks. 1999-06-04 13:58:59 +00:00
mrg e40f54e4c7 GC dead code. add support for PCI and IDE boot device detection, plus hme ethernet.
should probably deal with be and qe, etc.
1999-06-04 13:55:37 +00:00
mrg a1c100d377 clone this from the macppc port. 1999-06-04 13:51:57 +00:00
mrg 10b89455c7 pull iommu code out of sbus code so we can share it with the PCI.
define some useful PCI macros.
1999-06-04 13:48:48 +00:00
mrg 03adf4aad1 PCI driver for the UltraSPARC. this only works on the Ultra5/10 machines
(`SUNW,sabre') for now, and it doesn't really quite work there yet anyway.
the bus space/dma code is cloned from the sbus driver.  the IOMMU code also
is cloned from the sbus code, but separated out into iommu.c so that we can
share it with the sbus driver.  hopefully, much of the bus space/dma code
can also be re-shared with the sbus driver and the ebus driver but for now
these copies will do.

support for the real UltraSPARC PCI (`SUNW,psycho') is unwritten, though
most of this code is shared with it.

we can probe PCI config space and try to configue devices, but interrupts
don't work yet...
1999-06-04 13:42:14 +00:00
mrg 36237341af support for the UltraSPARC `Extension Bus' found on the PCI machines.
the bus space/dma code is cloned from the PCI code to do the same thing
which itself was cloned from the sbus bus space/dma code.  the bus dma
code is non-functional at this point.
1999-06-04 13:29:13 +00:00
mrg da08612af4 Ultra5/10 configuration. 1999-06-04 13:22:22 +00:00
minoura bb1f24c221 Could not be compiled without PMAP_NEW. 1999-06-03 14:43:33 +00:00
leo 9a13ebbdd6 Fix lossage with the et4000. Some of the CRT registers were incorrect. 1999-06-03 12:38:50 +00:00
christos beb12b13b9 Don't include rasops and wscons goo here; we get it already from fbvar.h 1999-06-02 23:24:00 +00:00
is 59b9a4fb42 Handle RDB ( Amiga native ) partition tables on media with more than 512
bytes/sector correctly.
Submitted by Detlev Würkner in PR 7653.
Non-trivial merge with the 1.30 change (handle old AmigaDOS fs partitions
with simulated sectorsperblock > 1) by myself, so don't blame Detlev if it
doesn't work (but I checked!).
XXX We still need changes to the file systems to handle this fully.
1999-06-02 21:09:03 +00:00
mycroft 7d5f7a34ce We need wsdisplayvar.h for this to compile now! 1999-06-02 12:11:39 +00:00
leo 80054d22ac Fix copyright (exchange clauses 3 & 4). 1999-06-01 14:27:39 +00:00
mark eb947d2f5e Fix bug in event signalling. 1999-06-01 09:34:06 +00:00
briggs 6e95146ec6 Raise spl4 to spl6 in quick_go--I am now experimenting with interrupts
at levels 5 (sound) and 6 (via1) on the Q700.
Raise splhigh when reading and writing registers.  It's ugly, but it's
possible that we could get an interrupt from a higher-level source,
causing a re-read of a memory location.
This is not good when, e.g., we are reading the interrupt register.
Ideally, we would just raise splhigh() in ncr53c9x_readregs(), but
that's m.i. code, and it may be expensive on other architectures.
1999-06-01 03:40:12 +00:00
mark 29fe96b920 Guard inclusion of opt_cputypes.h. 1999-06-01 03:37:02 +00:00
briggs 0ff3b0087c Add debug routine as an aid for working out new nubus cards. 1999-06-01 03:26:42 +00:00
briggs 5e28d99a64 Add define for another ethernet card (Nuvolink)
Wrap nubus_scan_slot() prototype in #ifdef DEBUG.
1999-06-01 03:24:25 +00:00
briggs 42d2797a4b Comment out DISABLE_EXT_CACHE as it unnecessarily slows down the IIci
w/ external cache.  Leave it around so the paranoid can still use it.
1999-06-01 02:39:25 +00:00
ross a1c15a355d In PMAP_ISACTIVE(), check curproc->p_vmspace before using it; this macro
is called early in startup, long before p_vmspace is set to &vmspace0.
1999-05-31 20:49:00 +00:00
ross 4313734913 After some banging and bashing, commit Jason's new ddb traceback code. 1999-05-31 20:42:15 +00:00
ross 604d4df11e Convert to traceback-friendly temporary labels. 1999-05-31 20:40:23 +00:00
ross ffc59b8bad Be less drastic when running strip(1) on DEBUG=-g kernels. 1999-05-31 18:54:49 +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
nisimura 8286166c86 - Call _splnone() explicitely after auto config. was well done to make
sure SOFT_INTs cleared before interrupt processing is started.
1999-05-31 07:42:56 +00:00
ross 6b3d12f44a Calculate what sp would have been and save it in otherwise-unused
FRAME_SP slot if entering ddb.
1999-05-31 06:41:39 +00:00
nisimura fad2c4c762 - A little attention for TLBUpdate(). 1999-05-31 06:10:32 +00:00
ross d3df2008f1 Fix generation of locore.s dependencies. 1999-05-31 02:46:17 +00:00
eeh b14c7f77cb Garbage collect. 1999-05-31 00:14:00 +00:00
eeh 07d5dfdd7b Fix some bugs in some more of those asm macros. 1999-05-31 00:13:16 +00:00
briggs f3d8507abd PR 7021 from Yoshihisa Sugimoto <sugimoto@sums.shiga-med.ac.jp>:
Clear interrupt properly on the RasterOps 24XLTV.  Same as the 24LX.
1999-05-30 21:43:19 +00:00
is 2e63d78d8b Support for a ... somewhat strange method of doing >512 byte/block
ADOSFS partitions. By Matthias Scheler via PR 2559. A diagnostic
check was updated by myself.
1999-05-30 21:21:36 +00:00
briggs 59422960ea PR 7220 from Ken Nakata:
I've fixed most (not all) m68k FPE bugs that give bogus
calculation results, esp. fsqrt instruction.  Also, the internal FP
representation has been reduced from 115-bit mantissa to 67-bit
mantissa which reduced the required mantissa operation roughly by one
fourth.  I've done an extensive (though not exhaustive - it's
impossible!) test on the internal routines by feeding them randomly
generated FP numbers, and found that the new code is more precise than
MC68040 FPU (it seems to have a rounding bug).

[ Only change was to keep fpu_calcea.c's name instead of renaming to
  fpu_ea.c in Ken's patch.  --akb ]
1999-05-30 20:17:48 +00:00
eeh 64b891fc8d Add code to support using %tick as the system clock if no "counter-timer" node
is found.
1999-05-30 19:13:33 +00:00
eeh cd53dbd506 Re-write ASI load/stores to use full 64-bit addresses so we can use device
register addresses with MMU bypass ASIs.
1999-05-30 19:11:33 +00:00
eeh c2f2c064c0 Make pmap_enter() handle little-endian mappings properly. 1999-05-30 19:01:50 +00:00
eeh de1ba9c829 Grab real locks from the sparc port. I suppose we could use casa and casx
instead of ldstub, but since we aren't doing n-way locking it makes little
difference.  N.B. Need to decide what to do with sparc64/sparc64/asm.h which
has name conflicts with sparc64/include/asm.h.  So far most of
sparc64/sparc64/asm.h has been moved to ctlreg.h.
1999-05-30 18:57:27 +00:00
eeh dafdd170d7 Handle little-endian mapin requests. 1999-05-30 18:52:51 +00:00
mrg 01849b81ca allow the kernel to link with no arp (ether) devices 1999-05-30 07:36:28 +00:00
mrg 1b384c6911 clone intr.h from the SPARC. 1999-05-30 02:37:10 +00:00
nisimura ce19767c8b - Make a modification to reduce the cost of TLBmod exception handling.
TLBUpdate() routine is used for dual purposes.  In TLBmod case, just ok
to call 'tlbwi' (as designed).  Result in saving of extraneous execution
path.  MIPS1 only this moment.
1999-05-29 09:38:28 +00:00
nisimura fcd9e7edb9 - Correct uninitialized pointer issue I made.
- Put a comment why the original prodtype detection logic made no trouble.
1999-05-29 09:31:02 +00:00
simonb 59dfa57be9 Move initialisation of ioasic_base to dec_3maxplus_init() - it is used
in this function before dec_3maxplus_os_init() gets called.
1999-05-29 07:10:36 +00:00
thorpej dbc1dd921a Clone vmapbuf() and vunmapbuf() from the Alpha port. 1999-05-28 22:59:40 +00:00
mark 8885cdd879 Implement a workaround in initarm() for a problem that stopped ARM610
and some ARM710 processors from completing their initial bootstrap.
Fixes PR7595.
1999-05-28 09:59:31 +00:00
simonb f62bb2b791 Add CD9660 filesystem - useful for installing from CD-ROMs :-) 1999-05-28 08:07:12 +00:00
nisimura d116bc4a0d - Make this compilable with MIPS1 or MIPS3 only configuration. 1999-05-28 07:23:38 +00:00
pk 0953844306 Casts to match `%d' in printf format. 1999-05-27 14:20:10 +00:00
pk 69b216aefe `xmit' & `recv' return `ssize_t' 1999-05-27 14:04:25 +00:00
leo 88efdc6951 Add support for the memory on the CT2 board. Info from Thomas Goirand. 1999-05-27 09:08:25 +00:00
mark ccb5b09c4f Grr. Nuke the remaining allocsys() prototypes. 1999-05-27 09:08:09 +00:00
mark 99804cc3e7 Nuke old prototype of allocsys(). 1999-05-27 09:04:11 +00:00
nisimura 9b5cf7b4de - Save MIPS1 only configuration for 3min, pointed by Erik Bertelsen
<erik@mediator.uni-c.dk>
1999-05-27 06:43:50 +00:00
nisimura 58cf81db34 - Change a symbolic name of TLB entrylo from 'PG_M' to 'PG_D' to reflect
processor design.  MIPS 'dirty bit' is not the same as i386 'dirty bit'.
There is a growing concern of misuse in NetBSD/mips.
1999-05-27 01:56:32 +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 985f839e63 Add a comment explaining why INTRSAFE isn't needed here. 1999-05-26 19:23:13 +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
leo 48627f3c5d Make this compile again. I assumed that the use of 'format_memory()' was
an error? Made it use format_bytes()....
1999-05-26 14:29:34 +00:00
cgd 5dd4815be9 uh, get the port name consistently correct (NetBSD/alpha, not NetBSD/Alpha) 1999-05-26 06:22:03 +00:00
nisimura 1922144399 - Remove now obsolete function declaration. 1999-05-26 04:27:27 +00:00
nisimura d7a56fd7fa - Continue on branch merge, incrementally.
- Catch up filename changes escaped to be fixed.
1999-05-26 04:23:58 +00:00
thorpej 40aacb6eb5 No longer need to pmap_modified_emulation() in cpu_swapin(), since
uvm_fault_wire() does the right thing with access_type.

XXX Was there a bug here?  pmap_modified_emulation() *wasn't* done in
XXX cpu_fork()!!
1999-05-26 00:40:20 +00:00
thorpej 32de988d29 No longer need to pmap_emulate_reference() in cpu_fork() or cpu_swapin(),
since uvm_fault_wire() does the right thing with access_type.
1999-05-26 00:37:40 +00:00
thorpej 5b897f96c5 msgbuf doesn't need VM_PROT_EXEC. 1999-05-25 23:31:14 +00:00
thorpej ed0aee1190 When mapping bus space, we can use pmap_kenter_pa(), since the pages
are never managed.
1999-05-25 23:30:27 +00:00
thorpej 774ceea703 msgbuf doesn't need VM_PROT_EXEC, biostramp does. 1999-05-25 23:19:00 +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
thorpej f197609d93 Add some DIAGNOSTIC checks for inconsistent use of pmap_enter/pmap_kremove. 1999-05-25 20:33:33 +00:00
thorpej 986c3eca39 Fix some major locking protocol issues related to pmap_kremove() having
to deal with PG_PVLIST mappings; it no longer has to.  Add some DIAGNOSTIC
checks for inconsistent use of pmap_enter/pmap_kremove.
1999-05-25 20:32:29 +00:00
nisimura fec53c08d6 - Use dev_name2blk[] array prepared by config(8) instead of handcrafting
local data.
1999-05-25 09:32:27 +00:00
nisimura 058f5a1517 - Continue to import a development branch.
- Minor formatting fix.
1999-05-25 07:37:08 +00:00
nisimura 014ba724c0 - Rework spl(9) implementation. Use _spl*() processor mask manipulating
routines now reside in locore.S.  No functional difference is expected.
- Replace abused splx() abuse with _splset() to change MIPS processor
interrupt mask bit.  'mips/trap.c' side will be fixed soon.
1999-05-25 04:17:57 +00:00
thorpej cba22525ce Fix some broken packet length checks. Really (no, I mean really) works now
after the ether_input() changes -- tested on my Quadra 650.
1999-05-24 21:53:42 +00:00
thorpej 5dec34efed The kernel pmap can be accessed (and locked!) while in an interrupt
context, so we must block interrupts which may cause memory allocation
before asserting the kernel pmap's lock.  Put this all in PMAP_LOCK()
and PMAP_UNLOCK() macros to make it easier.
1999-05-24 20:11:58 +00:00
ragge ad1db202f7 bus.h'ify more of the vax code. 1999-05-24 20:10:30 +00:00
thorpej e8beb9bbe8 Make this compile again. 1999-05-24 18:40:48 +00:00
thorpej 8c2d5c6fd3 Let the caller decide what to do if pmap_physpage_alloc() fails. 1999-05-24 01:35:54 +00:00
mrg 1bd01d4677 pull struct strbuf + defines into iommureg.h. properly merge previous commit. 1999-05-24 00:25:31 +00:00
ragge 0354feab8e Make this file compile again. 1999-05-23 23:06:24 +00:00
ragge 373e7cc828 Rewrite the "emulate page reference bits" code to avoid a bunch of
pv_lists traversal and unneccessary page faults.
1999-05-23 23:03:44 +00:00
ragge 539f825799 Better and more understandable way to find out CPU type. 1999-05-23 22:56:53 +00:00
thorpej c1eb28c237 Make the list of all pmaps LRU-ordered, and update a comment regarding
locking.
1999-05-23 22:37:02 +00:00
ragge 6c98e1bae7 Routine to figure out which system type is booted. 1999-05-23 22:00:43 +00:00
ragge f1fc4934a3 Use common routines to identify cpu type.
Set up a SCB to be able to handle clock interrupts in the boot program.
Now timer countdown should work on all types of vaxen.
1999-05-23 21:58:19 +00:00
ad 080560c8c6 - Setting initial position of cursor is up to caller.
- Set cursor position properly for SPARC. From Juergen Hannken-Illjes.
1999-05-23 17:59:39 +00:00
thorpej 2102d5a17e Save ourselves some work in some pv list traversal functions; keep a pointer
to the PTE that maps the page in the pv_entry so that we don't have to
compute it from the pmap/va.
1999-05-23 17:49:07 +00:00
thorpej 5d48eed96a Implement pv_entry stealing for the case when a pool page cannot be
allocated for one.
1999-05-23 16:54:43 +00:00
mrg 09619f1942 KNF nit. 1999-05-23 11:41:39 +00:00
mrg b2934b386d UVM is not an option these days. 1999-05-23 11:08:01 +00:00
mrg ae1a84a61f place iommu definitions in iommureg.h 1999-05-23 07:24:02 +00:00
eeh 193cc31772 Separate out the generic console handling from zs.c 1999-05-23 02:46:35 +00:00
eeh 92ad9c4080 Start putting in hooks for non-zs console devices. 1999-05-23 02:45:19 +00:00
eeh f1066c97ad If the zs has not yet attached use the PROM for console input. 1999-05-22 20:34:56 +00:00
eeh 60b89ebf96 Well, looks like the MI allocsys() broke the dvmamap, so instead of using a
single map move it to the bus controller driver so each bus can handle its own
IOMMU without conflicts.
1999-05-22 20:33:55 +00:00
eeh bb0f8ef559 Fix OF_stdin() to return "stdin" not "stdout" so we really can get console input. 1999-05-22 20:30:54 +00:00
eeh 35d96171e7 Fix bus_type_t properly and enable ASI accesses for bus_space_{read,write}*() 1999-05-22 20:28:22 +00:00
eeh 56b080bed6 Fixup argument confusion to __asm() statements. long long is two registers
wide in 32-bit mode.  Doh!.
1999-05-22 20:25:49 +00:00
scw 7c6d40745a Double the value for NKMEMCLUSTERS, to allow more KVA for LFS et al. 1999-05-22 16:37:03 +00:00
nisimura 10d1acd4ea - Backout the last code change. I found it broke pmax kernel. It's
retained for future use of pmap.new.c, though.

> New codes always use current ASID holded in EntryHi register.
1999-05-22 02:35:35 +00:00
thorpej 66324de865 Use the pool allocator for pv_entry structures. Set a (patchable/config'able)
low water mark on the pool, so we have some chance of crawling along in
extreme memory shortages.
1999-05-21 23:07:59 +00:00
thorpej ed4224c64e Fix a couple of problems from the ether_input() change:
- Make it compile again, with BPF.
- Don't subtract the Ethernet header length from the total packet length.
- Copy the alignment fix from sys/dev/ic/i82586.c (though the m68k shouldn't
  really be affected).
1999-05-21 21:48:28 +00:00
thorpej a79a728c6c Copy alignment fix from dev/ic/i82586.c (Um, this extra copy should die,
too, but at least it's not as bad as the podulebus ie driver).
1999-05-21 21:33:59 +00:00
thorpej 87a9ee7804 Copy alignment fix from dev/ic/i82586.c (Um, this copy of the driver
needs to die, pretty please.)
1999-05-21 21:31:37 +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
nisimura fd243bd393 - Redefine symbols and parameters to represent CPU design with MIPS
nomenclature, retaining the old heritage.
- Remove API-related definitions for now obsolete utiltity routines.
1999-05-21 06:37:39 +00:00
nisimura e5ecc1bc87 - Typos, I made... 1999-05-21 06:36:37 +00:00
nisimura 28c74563b6 - Make sure ASID PARANOIADIAG work with MIPS3. 1999-05-21 06:19:55 +00:00
nisimura 1b332b28e2 - Now completing MIPS1 side change. Introduce MIPS_TBIS and MIPS_TBDATA
(correct name, vax?) replacing mips1_TLBFlushAddr and mips1_TLBUpdate,
respectively.  New codes always use current ASID holded in EntryHi
register.  In most occations, the register already contains a necessary
value before (re-)written, ugh.  'sva | asid' ops for their arguments are
now verbose, to be removed when MIPS3 side changes are done.
1999-05-21 06:01:14 +00:00
nisimura 634cb79411 - Rename '#ifdef DIAGNOSTIC' to '#ifdef PARANOIADIAG' to detect
catastrophic events to break VM machinary.  Add some more diags to
track ASID.
1999-05-21 05:28:31 +00:00
nisimura 9cfc8d7736 - Track filename changes. 1999-05-21 01:10:49 +00:00
nisimura 04aeaae250 - Rename file names;
dec_3max_subr.c -> memc_3max.c, dec_kn02_subr.c -> memc_3min.c
1999-05-21 01:09:48 +00:00
thorpej a07ba7d1c1 Update the calls to allocsys(). 1999-05-21 00:09:09 +00:00
thorpej d7ffa508b1 Provide an mdallocsys() that clips bufpages if necessary (on the Sun4c).
This will be (and needs to be) done before nbuf is computed.
1999-05-21 00:08:14 +00:00
thorpej f311a1c308 Make a slight modification of pmap_growkernel() -- it now returns the
end of the mappable kernel virtual address space.  Previously, it would
get called more often than necessary, because the caller only new what
was requested.

Also, export uvm_maxkaddr so that uvm_pageboot_alloc() can grow the
kernel pmap if necessary, as well.  Note that pmap_growkernel() must
now be able to handle being called before pmap_init().
1999-05-20 23:03:23 +00:00