Commit Graph

19544 Commits

Author SHA1 Message Date
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
ragge b337d4d3c7 Don't detect glass tty if the machine is a workstation.
Hint from Thomas Seidmann.
1999-05-20 23:00:58 +00:00
thorpej 88c7cff619 Make this compile again. 1999-05-20 20:15:27 +00:00
nisimura c0c79283f3 Moved from dec_kn02_subr.c 1999-05-20 14:15:57 +00:00
nisimura a5b668be64 Moved from dec_3max_subr.c 1999-05-20 14:14:39 +00:00
nisimura 90d9a14b01 - Avoid recomputations inside inner-most loop which produce identical
values evreytime.
1999-05-20 10:50:08 +00:00
pk fea10fb499 Operate Hypersparc cache in write-back mode again.
Remove `hypersparc under construction' message.
1999-05-20 10:06:39 +00:00
pk 1040b9e209 If TLB entries need to be flushed, make sure to do this after any necessary
cache flushes, since on VIPT machines the cache flush may induce a TLB load.
1999-05-20 10:03:12 +00:00
lukem e4a87aa1a9 * convert to using MI allocsys(). most ports were using an MD allocsys(),
although a couple still used the old pre-4.4-lite (?) mechanism.
* use format_bytes() to format the various printf()s that print out memory sizes
1999-05-20 08:21:42 +00:00
nisimura a784d093ea - Change pmap_alloc_asid() and pmap_activate() to make sure that
'pm_asid' member of 'pmap' structure is assigned a new value after
uvmspace_alloc() provides afresh pmap.
- ASID generation number 0 is not a reserved value anymore.
1999-05-20 05:32:06 +00:00
nisimura 7d44b47145 - Make tlb dump DDB command have 'D' indication for TLB 'dirty bit'. MIPS
processor is one of processors with no 'referenced bit' nor 'modified bit'
processor machinary.  Those functions are implemented combining two
hardware bits, 'dirty bit' and 'valid bit', with TLBmod exception handler.
1999-05-20 03:34:06 +00:00
ad a4f0570f7d SPARC console is black on white, and is centered by default. 1999-05-19 21:05:59 +00:00
ad 02bc362e3e Add arg to rcons_init() that when set causes screen to be cleared. 1999-05-19 20:34:19 +00:00
ad 39db587e6f Cleanup. 1999-05-19 20:14:46 +00:00
ad 218af6a342 Insert missing code that defines screen metrics for rcons. This fixes the
more blatant rcons brokenness (ie no panics).
1999-05-19 19:59:04 +00:00
bouyer cbd39e5f67 Document the 'wdc at isa' flags. 1999-05-19 14:41:54 +00:00
minoura 6e67e063ff Disable on-chip cache for PT and ST pages for '060 stability. 1999-05-19 14:06:59 +00:00
pk ae6d12926c Turn on the video timing which is not always done by the PROM (e.g. if we're
not the console).
1999-05-19 08:31:42 +00:00
scw 07daebdd99 Fix copyin() with zero length. (Arguments to 'moveq' were swapped).
CVo: ----------------------------------------------------------------------
1999-05-19 07:50:06 +00:00
nisimura a5a47c3772 - Implement MIPS_TBIAP() which invalidates all TLB entries belong to
per process user spaces, replacing mips1_TBLFlush().  This reserves
kernel space TLB entries when TLBPID generation number about to wrap.
- Correct comments a bit, nuke unused routines.
1999-05-19 07:08:43 +00:00
thorpej f98d358a1f Rework layer 2 protocol input routines. Instead of calling e.g. ether_input()
directly, call the function pointer (*if_input)(ifp, m).  The input routine
expects the packet header to be at the head of the packet, and will adjust
as necessary.  Privatize the layer 2 input and output routines, allowing
*_ifattach() to set them up as appropriate.
1999-05-18 23:52:51 +00:00
ad bb3a510fa2 Assign ownership & copyright to TNF. There is probably a procedure for this
that I am unaware of. Also some KNF.
1999-05-18 21:51:57 +00:00
ad 3d5a1b1eea Sync with last two changes made to sys/arch/sparc/dev/fb.c (don't clear
screen, typo).
1999-05-18 21:38:07 +00:00
ad 7efb86f6b8 Fix typo that broke rasops operation. 1999-05-18 21:36:21 +00:00
thorpej 0ff6aaf4c2 Don't clear the screen when we connect rasops; the SPARC doesn't connect
the rasops console until autoconfiguration, and it kinda sucks to have
the boot messages suddenly disappear from the screen.
1999-05-18 18:13:39 +00:00
nisimura 523983b88b - Forgot to change 'tlbpid' to 'asid'. But, why does the MIPS TLBmod
handler touch the value anyway?
1999-05-18 03:13:37 +00:00
nisimura c99765853f - Move MachSetPID(1) call to pmap_bootstrap() adajacent to kernel pmap
initialization code.
- Abandon mips_init_proc0() and do the 4 lines straightly in MD mach_init().
- Restore a block of code accidentally lost in prevous commit.
- Change the term 'tlbpid' to a MIPS3 nomenclature 'asid'.
- Hide PTE size exposures by symbolic names in locore.S
1999-05-18 01:36:51 +00:00
is c5c2942a73 allow more than one ed, es or qn 1999-05-17 20:08:22 +00:00
is 5964e71dc7 Allow for more than 1 of ed, es or qn 1999-05-17 19:42:56 +00:00
thorpej 9410ed17c1 Count new resident and wired pages in pmap_kenter*(). 1999-05-17 16:22:57 +00:00
nisimura f2119ffdfb - Nuke one unused global variable 'mem_size'.
- Kernel pmap is now dectected by "if (pmap = pmap_kernel())" clause.
1999-05-17 11:12:44 +00:00
nisimura b7876c4182 - Minor code and comment adjustments for pmap_alloc_tlbpid() and
pmap_activate(), no functional change.
1999-05-17 01:10:51 +00:00
thorpej 7e68ddd393 Update the comments above vmapbuf() and vunmapbuf() to reflect reality. 1999-05-16 22:24:16 +00:00
ad 20be6a2a2a Fix typo on my behalf. From Juergen Hannken-Illjes. 1999-05-16 21:19:33 +00:00
pk 87d4c19ebf Remove cruft from `nmi_hard()' interrupt handler. 1999-05-16 16:56:35 +00:00
pk 1a2299d57c Temporary work-around in pmap_enter on 4/400 machines: pre-allocate
MMU region cookies. This keeps the machine from crashing when running
in user mode.
TODO: fix the bugs then kill or alter this work-around.
1999-05-16 16:48:59 +00:00
pk d379bda6a5 Well, what do you know.. the TLB context flush has been coded with the
wrong `type' field all these years. Fix this and add a TLB region flush
as well.  Also take care of a few inconsequential nits.
1999-05-16 16:37:45 +00:00
scottr 2f5a40c966 From Yasuhiro Endoh: Performa 58x uses ADB soft poweroff. 1999-05-15 19:29:12 +00:00
drochner 19e64942a2 don't printf(NULL), not even in the DEBUG case
(It doesn't hurt the bootloader, but the junk output hangs my serial
console.)
1999-05-15 15:42:23 +00:00
ad 3b602e5afa Panic if rasops_init() fails us (should never be the case). 1999-05-15 13:04:03 +00:00
ad 6834085f8b Make sure rasops_info descriptor is zeroed out before initializing. 1999-05-15 12:52:22 +00:00
mrg 95e0190e23 split the sun ms/kbd drivers into frontend/backend parts at the serial
interface border, so that other serial interfaces can be attached to the
ms/kbd.  zero functional changes and mostly involves moving code around
a bit.  tested on the SS2.

this is necessary to attach the PCI ultrasparc keyboard/mouse drivers.
1999-05-14 06:42:02 +00:00
nisimura 7a50b38cbd - Adjust descriptive comment of cpu_fork() which returns nothing and
returns once.
- Minor fixes in mips/vm_machdep.c.
1999-05-14 02:11:59 +00:00
eeh ea28d54c9e Let NetBSD/sparc know about 64-bit formats even if it can't execute them. 1999-05-14 00:18:51 +00:00
thorpej e5f47f6307 Rewrite the USB keyboard console attachment (again). Grumble, Macintosh
firmware sets the "stdin" property of /chosen to be a pseudo-hid (yes, they
even spell it incorrectly) that merges all keyboard input into one stream,
so we can't find the USB controller we're attached to.  Instead, just give
it to the first USB keyboard found during autoconfiguration.  So that we
have SOMETHING available early on, use OpenFirmware i/o to do keyboard
input to the console wsdisplay until the USB code attaches the keyboard.

From Jason Thorpe <thorpej@nas.nasa.gov>
1999-05-13 23:37:19 +00:00
thorpej c10a926030 Allow the caller to specify a stack for the child process. If NULL,
the child inherits the stack pointer from the parent (traditional
behavior).  Like the signal stack, the stack area is secified as
a low address and a size; machine-dependent code accounts for stack
direction.

This is required for clone(2).
1999-05-13 21:58:32 +00:00
minoura d1954679df Missing #if for 060. 1999-05-13 14:24:27 +00:00
minoura 40594d5dfa 060 is much faster than Chuck thought according to Ken Midorikawa
<k-mid@msg.biglobe.ne.jp>
Print both the core clock and the bus clock on 040/060 machines.
1999-05-13 14:23:42 +00:00
simonb e37110cfef Add some instructions. 1999-05-13 08:40:08 +00:00
simonb bb592db897 Standalone program that contains a compressed kernel image suitable for
netbooting on machines that can't netboot a fullsize kernel.

This is only a stop-gap solution until the pmax gets a working two stage
netboot, and is not enabled by default.
1999-05-13 08:38:05 +00:00
thorpej c256b94b6e Oops, forgot to commit this file. 1999-05-12 21:21:48 +00:00
thorpej 5f3034757f Move the user-set LDT out of the PCB and into the pmap. Applications
which set the LDT and share VM space (e.g. new versions of WINE) expect
the LDT to be logically coupled to the address space.  Use the new pmap_fork()
interface to copy non-shared user-set LDTs when the address space is forked.
1999-05-12 19:28:28 +00:00
mrg a59ced70bd pull in files.aout 1999-05-12 12:48:27 +00:00
eeh b4b570608d Add some more 32-bit emulation support. 1999-05-12 01:11:54 +00:00
drochner 998ac16bb7 add some casts for gcc -Wall, from David Rankin
<drankin@bohemians.lexington.ky.us> per PR port-i386/7554
1999-05-11 19:57:05 +00:00
drochner 6959d736df make sure the ./machine link is created early enough for specific targets,
fixes PR port-i386/7553 by David Rankin <drankin@bohemians.lexington.ky.us>
1999-05-11 19:43:09 +00:00
hpeyerl 09bb229d59 make this compile without 'options IRQSTATS'. 1999-05-11 12:41:15 +00:00
nisimura a10adaf5aa - Utilities of DECstation PROM call were moved to 'promcall.c' and
take a bit care about findcons.c console support kitchen sink.
1999-05-11 05:15:54 +00:00
nisimura d85f3411a7 - Have 'promcall.c' for various utilities by PROM calls.
- Adjust files.pmax.
1999-05-11 05:06:35 +00:00
eeh 564db48540 Don't clobber any input regs in __asm statements. 1999-05-11 05:06:17 +00:00
cgd e9da918f1b add some more bits, mostly stubs 1999-05-11 00:04:52 +00:00
is 05ae5bbfc1 Add HyperCom 3+/4+ parallel port support 1999-05-10 22:18:47 +00:00
simonb d5ce574eee Fix tyop in comment, and keep comment lines to less that 80 chars. 1999-05-10 12:36:16 +00:00
simonb 2105341c9f Back out part of previous commit - we really only support one px at
the moment.  From Andy Doran.
1999-05-10 12:18:57 +00:00
simonb 4cd55c6082 Change {cfb,mfb,sfb,px}0 to {cfb,mfb,sfb,px}*. 1999-05-10 04:52:34 +00:00
simonb a70ad445f3 The comment says we support up to 3 framebuffers, make it so... 1999-05-10 04:49:24 +00:00
cgd b0f5f854e4 have to take care to have a valid SP value in the unaligned fixup and
opdec (emulation) handlers.
1999-05-10 01:27:28 +00:00
cgd 9b9842a28b handle unaligned ldwu/stw instructions. While there, fix a bug in the
unaligned access handler and clean it up some.  Add support for emulating
the BWX instructions (ld{b,w}u, st{b,w}, sext{b,w}), which user software
can expect to be emulated.  (Thanks, Alpha Architecture!)
1999-05-09 19:43:58 +00:00
cgd 75f1157922 convert to DEC-style register names (but not yet done for
the internal PALcode instruction format structure).
1999-05-09 19:40:00 +00:00
cgd 79c181f2e2 convert to DEC-style register names. 1999-05-09 19:39:13 +00:00
cgd c8cf931f56 convert to DEC-style register names. the attempt to use function-based
register names was confusing, and could not _be_ correct in some cases.
Also, add a couple of 'generic' instruction formats which should be used
when decoding instructions before the specific format is known.
1999-05-09 19:38:59 +00:00
eeh e5dc5cec71 Fixup non-DEBUG kernels. 1999-05-09 19:24:19 +00:00
eeh ae3fd5e972 I don't expect to ever have the need to finish the fcode boot code, so remove it. 1999-05-09 19:15:08 +00:00
eeh 914547e475 Move origin to 8MB; it seems that 16MB has problems at times. 1999-05-09 19:14:15 +00:00
eeh adabbf4f0f Enhance the code that tries to locate a kernel to search for other possibilities. 1999-05-09 18:32:14 +00:00
eeh 197ee16c7a Move the origin to 1000000 to reduce the likelyhood of conflicts with other
bootloaders/kernels.
1999-05-09 18:31:21 +00:00
gwr 44844fc8f7 Fix warning 1999-05-08 18:46:17 +00:00
wrstuden 3c5aad8d3c For whatever reason, we just can't call pci_init() that early on Bandit
systems.  Why?  Who knows.  Firmware bugs, maybe.  In any case, moving
the call out of the ADB path works.  "Good enough for me."
1999-05-07 22:20:38 +00:00
tron e39de367b4 Install "devmap.h" to "/usr/include/machine" so that the SHARK X11
server can be compiled.
1999-05-07 20:50:31 +00:00
wrstuden 1e90fa5723 BusLogic cards seem to work in my G3. :-) 1999-05-07 20:10:54 +00:00
thorpej c7ad933ffa Add a second memory free list, which holds the first 8M of RAM. This is
so that devices which must allocate DMA memory in this range (e.g.
PixelStamp graphics boards) have a better chance of doing so, without
an awful hack.
1999-05-07 18:04:36 +00:00
drochner fe310dd299 include <lib/libkern/libkern.h> for intoa()/inet_ntoa() 1999-05-07 16:19:27 +00:00
nisimura 4ce0e8e16f - Nuke '_splset' alternative entry point mistakenly added. 1999-05-07 06:18:56 +00:00
nisimura 9c2eefcae6 - Introduce MIPS processor interrupt control routines;
_splraise, _spllower, _splset, _splget, _setsoftintr, _clrsoftintr, _splnone.

They manipulate MIPS processor's 8 interrupt sources and are used
as building blocks for NetBSD spl(9) kernel interface.  Note that
MIPS processor doesn't enforce inclusive 'interrupt levels' found
in other processors, then the hierarchal nature of IPL must be
implemented by composing MIPS processor interrupt masks appropriately.

With the simplest target port in which small number of devices are
independently assigned with 6 external interrupt signal lines,
spl(9) kernel interface will be implemented with #define's of
processor interrupt controls mentioned above.  In more general
cases, in which target computers have many devices and 'system
registers' indicating pending interrupt sources at any moment,
spl(9) will be implemented with more complex machinary manipulating
processor interrupts and system registers in target port dependent
ways.

- Nuke unused code and reorder locore definitions.  XXX Following
routines will be replaced with C language version; setrunqueue,
remrunqueue, switchfpregs, savefpregs, MachFPInterrupt.
1999-05-07 01:30:26 +00:00
thorpej 20d1861d97 Revert previous. Um, Christos, why did you delete the body of this
file?  :-)
1999-05-07 00:28:22 +00:00
leo 2d3a4c7fd6 Add .../dev/mii/files.mii. Needed for support of the 3C590. 1999-05-06 20:27:57 +00:00
leo bad559ed77 Remove dependency of vfs_conf.o, this file is no more. From Jonathan Stone. 1999-05-06 20:25:17 +00:00
wrstuden fb7f9b828f Add pciide config info. 1999-05-06 19:28:20 +00:00
thorpej 680c3ddbd2 Completely rewrite how cninit() determines which keyboard to use with
the console.  New algorithm:

* if stdin == keyboard, and parent of keyboard == adb, use ADB.
* else, must be a USB keyboard.  Search backwards though the parents
until the USB controller is located.  Determine its location in the PCI
domain, and which type of controller it is, and tell that controller that
it has the console input device.  The USB code will then attach the first
USB keyboard as the console input device during autoconfiguration.

The iMac and Blue and White G3 consoles are fully functional now!
1999-05-06 19:24:47 +00:00
thorpej ac9eee8693 Take all of the OpenFirmware "stdin" grovelling out of the ADB keyboard
driver, as the smarts for this all live somewhere else now.
1999-05-06 19:20:59 +00:00
thorpej 35df607966 Allow pci_init() to be called twice, once just to find the PCI-Host
bridges and determine the "pci chipset" values (for making PCI tags),
and again to actually map the configuration space registers.
1999-05-06 19:16:44 +00:00
christos 3cc711cbe0 Well we are functional enough to install from an NTFS volume, so why knot? 1999-05-06 17:12:26 +00:00
christos d8463798c9 Add NTFS 1999-05-06 16:29:26 +00:00
christos 0c7931917a recognize ntfs mbr fsid 1999-05-06 15:45:51 +00:00
kleink 6290fed1b6 SVR4-related typo in previous. 1999-05-06 14:16:07 +00:00
kleink fc1b5041ac Add a _C_LABEL() macro. 1999-05-06 13:54:06 +00:00
drochner 4479f71283 sync diagnostic printouts in opms_pckbc_probe() with dev/pckbc/psm.c:
pmsprobe() -- most notably: put a part inside #ifdef DEBUG
1999-05-06 09:10:51 +00:00
scottr 0179750b00 Correct two more problems of the same type as in rev 1.21: use the length
of the buffer you're copying from as the loop interator, not the length
of the buffer you're copying to.  Also, rewrite print_single() with
pointer instead of array operators.  Appears to correct some ADB-related
`hangs' during autoconfig.
1999-05-06 06:01:27 +00:00
tsubai 661ae33963 Remove unused codes. 1999-05-06 04:37:44 +00:00
thorpej 1f4085fb66 Fix spruious false matches in px_match(). 1999-05-06 01:50:56 +00:00
wrstuden af849de633 MAke this cross-tools happy. 1999-05-06 01:04:48 +00:00
mycroft e6548e54bd Enable interrupts *after* reading the fault address and status. This is
necessary because some interrupt handlers may cause additional faults (e.g.
through R/M emulation) and thereby trash the previous fault state.
From Richard Earnshaw.
1999-05-05 22:06:15 +00:00
pk 4cb2198a44 Declare `bootinfo' also if !DDB. 1999-05-05 15:32:33 +00:00
minoura db3bdbe86c Shut up gcc -Wall. 1999-05-05 14:31:16 +00:00
minoura ad762a0b97 Use mvme68k-derived delay routine.
Now that we support various models, the old constant-loop delay routine
may cause problems.
1999-05-05 13:46:20 +00:00
minoura 3fe3e5261b Add missing ia_size argument. 1999-05-05 13:41:44 +00:00
minoura 7cebd447fb Move config_console to ensure that it is always called. 1999-05-05 13:41:19 +00:00
minoura 63a9944d93 mem_exists was called with wrong 2nd argument.
Because of this, >12MB high memory was not detected.
1999-05-05 13:38:51 +00:00
tsubai 0e57d44e45 Add missing CPU_MAXID definition. 1999-05-05 11:20:54 +00:00
christos 22de25977b Argh, removed last ELF induced problem. We used to have syscall: in locore.s
and _C_LABEL(syscall) in trap.c. In ELF they are the same. Change the label
in locore.s to be _C_LABEL(_syscall).
While I am there, move the register save and restoral code used in the
*sigcode trampolines into two macros and use them instead of copying 100
lines of assembly each time.
Now everything ELF works.
1999-05-05 10:53:00 +00:00
christos 952f511570 Use -n for ELF. Using -N might work, but produces only one section.
No flags will not work, because it will produce a kernel loaded at 0xf0000000.
This is because the bfd ELF pagesize (in elf32-sparc.c) is 0x10000. Since
we need to load at 0xf0004000, we use -n.
1999-05-05 10:50:02 +00:00
tsubai 6168467392 Add cpu.h. 1999-05-05 10:15:53 +00:00
tsubai 9042054e51 Fix a small bug to make both IO and MEM enable bits in csr are set. 1999-05-05 08:43:53 +00:00
chs 9528f61050 in vmapbuf(), use pmap_enter() instead of poking PTEs directly. 1999-05-05 05:25:32 +00:00
chs 39a7993efb update resident_count and wired_count properly in pmap_kenter_*()
and pmap_kremove().
1999-05-05 05:21:13 +00:00
thorpej fc645b996a - Always config_found() PCI busses, so we know if present PCI busses
aren't configured.
- Grab the bus's memory space tag from the pci_bridge structure for
the bus.
1999-05-05 04:40:00 +00:00
thorpej 654b0fff46 - Completely rewrite how bus space tags for PCI space are set up. Instead
of hard-coding them, decode the "ranges" property of the PCI bus node in
OpenFirmware.
- Do a little cleanup, and share some more code between the Bandit/Chaos
and MPC106.

XXX The bus_space(9) implementation for macppc really needs to be
rewritten.
1999-05-05 04:37:19 +00:00
thorpej c448c97f2b - Add come comments.
- Do a little cleanup.
- Protect the entirety of pci_conf_{read,write}() with splhigh()/splx().
1999-05-05 04:32:28 +00:00
thorpej 341f87673b Add a bus space tag for PCI memory space to the pci_bridge structure. 1999-05-05 04:26:48 +00:00
thorpej 742e477ae0 Fix msgbuf handling. 1999-05-05 00:03:10 +00:00
thorpej dbe4c0c061 Make this compile again. 1999-05-04 23:55:27 +00:00
thorpej c2c47b0da9 Toss contents, and just pull in <powerpc/pmap.h>. 1999-05-04 23:49:18 +00:00
thorpej da4b05fa8e Pull in <powerpc/reg.h>. 1999-05-04 23:46:32 +00:00
christos caa41a7d21 Fix panic and panicstr to use _C_LABEL.
Statuc: ELF kernel loads symbols properly, hangs in syscall while running init.
1999-05-04 17:29:22 +00:00
fvdl 4fbaa0b272 Restrict "out of CHS range" check to harddisks. 1999-05-04 17:14:55 +00:00
leo 38029cf240 If the floppy has no label, fake one. 1999-05-04 14:29:44 +00:00
christos 62a2dac0d8 whitespace... 1999-05-04 13:57:19 +00:00
christos 361f7917c8 clean up old GCC.1 stuff; move common definitions to the top. 1999-05-04 13:36:44 +00:00
christos 7d5c65239e clean up old GCC.1 stuff. 1999-05-04 13:36:10 +00:00
pk f499d38511 Gain one instruction.. 1999-05-03 20:56:11 +00:00
scottr a4adbf2f86 Move initialization of the iomem extent struct from mac68k_set_io_offset()
to mac68k_init(), so that we're through frobbing the MMU in special ways
by the time we get there.  While it doesn't actually cause a problem with
the current structure of our initialization code, it probably would have
in the future.
1999-05-03 19:10:54 +00:00
pk a554ffdde0 Better pad the artificial header to exactly 32 bytes. 1999-05-03 18:59:08 +00:00
christos c596c324e3 Define __builtin_*() for lint 1999-05-03 16:30:31 +00:00
christos b70c3eb0ca Define __extension__ if __GNUC__ < 2
Define __builtin_*() for lint
1999-05-03 16:21:28 +00:00
christos f890155a87 Define __extension__ if __GNUC__ < 2
Define __builtin_* for lint.
1999-05-03 16:20:28 +00:00
christos 6207471740 remove unused msgbufaddr 1999-05-03 16:17:57 +00:00
christos 3c86ce132b s/\<0x4000\>/PROM_LOADADDR
remove unused cputypvallen, and _msgbufaddr
1999-05-03 16:17:08 +00:00
christos b0c181d290 move PROM_LOADADDR from promlib.h to param.h and remove its cast. 1999-05-03 16:14:02 +00:00
christos 6fc35c7fc8 Casts for PROM_LOADADDR which is not casted anymore. 1999-05-03 16:13:16 +00:00
tsubai fdabab77f2 PT_{STEP,GETREGS,SETREGS} support. 1999-05-03 10:02:19 +00:00
matthias 6a9785dfc6 Fix symbol loading. esym is passed as an offset to loadaddress. 1999-05-03 09:19:29 +00:00
pk bc1a121cfe Missing initialization of getbootfile() method for `old' monitors. 1999-05-03 07:32:50 +00:00
tsubai 28b7777fd0 Provide CACHELINESIZE when _STANDALONE is defined too. 1999-05-03 05:19:59 +00:00
kleink 5cbe23baad Garbage-collect VM_MBUF_SIZE leftover. 1999-05-02 18:12:32 +00:00
ragge a5ce96e985 EEEK! The signal changes a while ago caused the user struct to be
on top of the "red zone" in the kernel stack. This phenomenon has
caused many unexplainable things to happen the last year.
1999-05-02 17:28:43 +00:00
scottr b997ba8fa3 g/c some useless calculation on avail_remaining after its last reference. 1999-05-02 17:26:14 +00:00
scottr 2f45ab494c Remove a (harmless) duplicated line. 1999-05-02 17:23:07 +00:00
pk e3a15d4321 * Add missing label.
* Avoid harmful delay-slot instruction, if we did not get a `bootinfo' thing.
* Compute correct location of `esym' for all three methods of debug
  symbol loading we support.
1999-05-02 14:47:33 +00:00
christos 797c581bbc Add bootinfo.h 1999-05-02 13:50:17 +00:00
fvdl ec559f688b Be more careful with saving registers around the "out of CHS range" check. 1999-05-02 12:44:34 +00:00
kleink d34d0ccf51 * Change multiple inclusion protection symbols to use the standard naming
convention (not that it should matter for assembly).
* Provide an additional set of _C_LABEL() macros for ELF.
* Provide a PIC_PLT() macro for the benefit of ELF.
1999-05-01 19:20:52 +00:00
kleink 69845becd3 Use _C_LABEL() for [fs]ubail symbols. 1999-05-01 19:17:06 +00:00
kleink 3d292e1a35 Fix a label name botch introduced in rev. 1.92; Ignatios owes me a non-beer. 1999-05-01 19:11:34 +00:00
drochner e26f758e69 ed* -> we*, PR port-i386/7503 by Andrew Gillham <gillhaa@ghost.whirlpool.com> 1999-05-01 17:19:52 +00:00
ragge fc6020e344 Real-time clock is started on the same way on all CPUs, there is no
need for a special CPU-dependent hook for this.
1999-05-01 16:13:43 +00:00
pk e4bc3af22c No need to disable MII devices in previous. 1999-05-01 14:18:35 +00:00
tsubai 8e885e921e Check "mac-io" and "/pci/mac-io". 1999-05-01 10:37:57 +00:00
tsubai 8dbaa0169e Find "mac-io" and "/pci/mac-io". 1999-05-01 10:36:08 +00:00
tsubai 5fff3dafe9 Use "compatible" property to match. 1999-05-01 10:23:42 +00:00
tron 890fa9e9be Regen from "GENERIC". 1999-05-01 10:21:22 +00:00
tron 3420cb646c Add ext2 filesystem. 1999-05-01 10:20:01 +00:00
scottr 009cda3fb2 Fix a problem with bounds_check_with_label(), noted by Greg Oster: we
had been returning (-1) as an error instead of 0.  This is the result of
not keeping up with its i386 ancestor, which it was originally derived
from back in 1993.  Re-sync.
1999-05-01 09:26:32 +00:00
scottr 9e69eadd92 Rewrite read_mac_label() and friends, simplifying the code considerably
in the process.  Less is truly More.
1999-05-01 09:12:47 +00:00
cgd 34fde29505 update comment re: COMPAT_OSF1 1999-04-30 23:34:08 +00:00
cgd f6b3b14ce3 enable COMPAT_OSF1 1999-04-30 23:33:41 +00:00
cgd 1bce8c40fc ep_arglen is in units of 'sizeof (char *)', not in units of bytes. use
howmany(value, sizeof (char *)) to get the right value.
1999-04-30 23:02:06 +00:00
abs 93857fda32 Comment out nell and pcmcia children until audioamd panic resolved 1999-04-30 21:09:50 +00:00
cgd ff48595e8b processes would have vm->vm_ssize screwed up when they faulted
data regions higher than USRSTACK.
1999-04-30 20:21:57 +00:00
christos ef6e15ad0e Include opt_compat_sunos.h 1999-04-30 16:50:44 +00:00
minoura ed3c676245 Branch address was wrong. 1999-04-30 15:31:18 +00:00
christos 57e4b98787 - Use the proper multiply instructions so that we don't get truncated. 1999-04-30 15:31:17 +00:00
christos 8ed58f33a5 Add -n for ELF, note weirdness in comment. 1999-04-30 13:31:52 +00:00
christos 35e47f06fa Load the header too. 1999-04-30 13:28:58 +00:00
christos 4bf3b7a9c1 Compile in support for ELF symbols. 1999-04-30 13:28:36 +00:00
christos 81248a0851 Add bootinfo struct to pass symtab arguments.
XXX: This does not work with ELF yet, but I don't understand why...
1999-04-30 09:29:40 +00:00
christos a042b8f9e4 Add bootinfo support for loading symbol tables. 1999-04-30 09:26:16 +00:00
christos bf88b9104e Include opt_compat_sunos.h 1999-04-30 09:21:54 +00:00
cgd 1a3537df95 OSF/1 locore-ish bits. right now just sigcode 1999-04-30 05:58:10 +00:00
cgd 04f53f0b03 gross hack for SIGFPE under OSF/1, until ross makes SW completion go 1999-04-30 05:47:53 +00:00
tsubai 9697f9c401 Add more sanity check. 1999-04-30 04:35:35 +00:00
ross c5a82dd848 * New MI man page for fp{set,get}{round,sticky,mask}(3).
* Implement fpgetsticky() for alpha.
* Direct fpsetsticky() and fp{get,set}mask() into alpha kernel via sysarch(2).
* Define new sysarch(2) stub for above and install and distribute sysarch.h
for alpha.  (The fpcr IS user mode r/w, but for reasons beyond the scope
of a commit message kernel calls are needed.) And much kernel Magick is
required before these do anything, but this way programs compiled under
1.4 will DTRT on future snapshots and releases.
1999-04-30 00:58:30 +00:00
ragge cec112a434 Make LK201 arrow keys work again. 1999-04-29 16:58:58 +00:00
christos 0db2ca03ae Add sunos_sigcode (32 bit only) 1999-04-29 16:40:41 +00:00
christos cc96413a0c Revert previous bootinfo premature commit, and commit the sunos_sigcode
stuff instead.
1999-04-29 16:37:32 +00:00
christos d27f70c075 Include opt_compat_sunos.h 1999-04-29 16:22:03 +00:00
christos bd3e05dcd4 Add sunos_sigcode, sunos_esigcode trampoline that uses trap 1 1999-04-29 16:20:44 +00:00
christos 5f139d3cc9 Add sunos_sigcode and sunos_esigcode for COMPAT_SUNOS 1999-04-29 16:13:04 +00:00
phil 29f999f240 options & filesystems tweeks. 1999-04-29 15:31:00 +00:00
bad c98240fc07 Don't use the direct console on color machines, which is currently not
supported.  Use serial console instead.
From Matt Debergalis PR 7488.
1999-04-29 14:51:20 +00:00
kleink e1529b8f93 Pull in the right generic m68k header. (Where was my mind?) 1999-04-29 14:38:39 +00:00
tsubai 599ebb4db1 Now we can use symbols in DDB. :-) 1999-04-29 05:15:30 +00:00
tsubai 741030cc8a Add loadfile_machdep.h 1999-04-29 03:17:12 +00:00
tsubai e4e1fcbaa6 Use MI loadfile(). 1999-04-29 03:16:20 +00:00
ross 7288a55336 Use a different initial FPCR, mainly to suppress the ieee inexact trap. 1999-04-29 03:02:20 +00:00
ross 0847df9065 #ifdef _KERNEL, define the machine FPCR bits and a rounding mode macro 1999-04-29 02:55:50 +00:00
ad 3801a05ffb Add cookie for wsfont to px_info. Don't try to get/lock a font if we
are not the console.
1999-04-29 02:50:25 +00:00
ross aa1e5724b9 WSEMUL_SUN -> WSEMUL_VT100 1999-04-29 01:28:40 +00:00
fvdl 48003b2c88 Only use int13 extensions if the sectors can not be read through the
older CHS interface. This works around stupid BIOSs who report that
int13 extensions are present and functional, but fail when you actually
use them. Like Adaptec SCSI BIOSs.
1999-04-28 23:24:42 +00:00
is 568b328c80 Recognize Linux ext2fs partitions. (Used to be marked as unknown). 1999-04-28 22:35:27 +00:00
fair 073021116e Add a 1 second delay to powerdown sequence to prevent the OpenBoot PROMs
from getting control and reporting a "powerdown failure", per PR#7487
1999-04-28 18:49:40 +00:00
minoura ab5806d4b8 Message cosmetics. 1999-04-28 16:17:42 +00:00
minoura ea485e0d51 Handle fpunimp properly for fpu_emulate. 1999-04-28 16:16:58 +00:00
christos b40179bdca MD version of loadfile.h 1999-04-28 15:26:21 +00:00
christos 017ae4d0c4 Support for installboot 1999-04-28 15:25:43 +00:00
christos 1c8494b7a2 Checkpoint of elf boot stuff:
- Use loadfile for both boot and installboot
- Fix problems with linking in bootxx
- Make installboot work with both a.out and ELF bootxx
- *WILL NOT BOOT YET ELF KERNELS* (a.out kernels work) I am working on it.
1999-04-28 15:22:25 +00:00
christos ccd32076df Add -DLIBSA_NO_CLOSE 1999-04-28 13:27:18 +00:00
christos ad64321aac Include <sys/systm.h> to get prototype for memset. 1999-04-28 13:20:55 +00:00
christos 4f8814a98c Fix tyop 1999-04-28 10:58:10 +00:00
christos 49a60fee19 Add loadfile_machdep.h 1999-04-28 09:19:35 +00:00
christos c22a8166d9 use new loadfile 1999-04-28 09:18:47 +00:00
christos c5ec77e01b use new loadfile 1999-04-28 09:14:22 +00:00
christos 5317a4673a Use new loadfile 1999-04-28 09:14:07 +00:00
christos a030d021a7 Use new loadfile.c 1999-04-28 09:13:51 +00:00
christos 0766a607d4 MD defines for the MI loadfile 1999-04-28 09:10:07 +00:00
scottr eb910c35ce From Ken'ichi Ishizaka: correct the calculation of the frame buffer
offset by masking off garbage bits in the DAFB v7.  This has been
tested at all resolutions and common color depths on the LC47x.
1999-04-28 05:24:08 +00:00
scw 52b5bc5eb8 Duh. My last change broke mvme147 support. 1999-04-27 18:12:44 +00:00
thorpej b1a4c46dab Fix a typo that prevented this from compiling. 1999-04-27 17:37:18 +00:00
nisimura 3e9afa8b4d - Save Mach_splX() calls which don't fit well with DECstation. MIPS
spl machinary will be reworked, someday.
1999-04-27 08:07:26 +00:00
cgd 7b8e7abdd6 use osf1_exec_ecoff_hook() 1999-04-27 02:33:35 +00:00
cgd 6f2f5becb6 Alpha ECOFF object type definitions 1999-04-27 02:32:33 +00:00
ad aa89ae23ba Last fix broke kbd and mouse input under X for the console device. Fixed. 1999-04-26 23:26:11 +00:00
thorpej 5d82bfc656 Garbage-collect VM_MBUF_SIZE. 1999-04-26 22:47:34 +00:00
thorpej b8073b401b Garbage-collect the VM_MBUF_SIZE constant. Instead, use the size
(nmbclusters * mclbytes), so that the right amount of KVA space is
allocated if those variables are patched.
1999-04-26 22:46:44 +00:00
abs 0d2cfcdb5a Update vanity config 1999-04-26 18:30:45 +00:00
ad 0c221127eb More fixes to get the PXG working and keep the PX happy. 1999-04-26 12:05:11 +00:00
ad e54fa8abad Fix silly bug where fbconnect() doesn't realize that it's already been
called during early console initalization, then pouts because there appears
to be n+1 framebuffers. This whole thing is a mess.
1999-04-26 12:03:53 +00:00
nisimura 56a9b84b91 - MIPS processors do not impose inclusive (nesting) interrupt levels with
their interrupt lines.  The notion and implemention of 'spl' are left
for how target ports approach to it.
1999-04-26 09:42:14 +00:00
nisimura 9e798fbe20 - Forgot to commit these two. 1999-04-26 09:36:05 +00:00
nisimura c33ad91e49 - Sweep machdep.c; mostly imported from a development branch. Little
exposure of TC device any more.  Correct comments which are no longer
feasible.  Reorder declarations and definitions.  Introduce 'clkread'
pointer to pull up model dependent high resolution timer value.  Have
prom_systype() call.
- Place routines for model dependent high resolution timer.
- Program IOASIC registers inside os_init() call and nuke ioasic_init().
1999-04-26 09:23:21 +00:00
ad d52e1e73df Add cdev declaration for `px', major 98. 1999-04-26 04:42:10 +00:00
ad 4e3888516e Many fixes to support PXG, PXG+ and PXG+ Turbo. Interrupt handling is
totally broken for the PXG and will remain so until more documentation is
available. This destroys the queueing, hardware clipping, and VDAC update
mechanisms on the PXG.
1999-04-26 04:37:33 +00:00
ad 6db752a5c1 "px.h" requires inclusion. 1999-04-26 04:34:00 +00:00
ad 98fc8dbc76 `pm' device can also be 8bpp - fix dependancy line. 1999-04-26 04:32:05 +00:00
ad b83c863839 Fixed to match rasops config glue. 1999-04-26 04:30:26 +00:00
ad 613a381d71 Update configuration to match `rasops' fixes and config glue. 1999-04-26 04:25:38 +00:00
jonathan 9c39aaeeca Add common SYSV* options (from i386).
Add "options LKM", since with ELF/ECOFF format kernels it should now work.
1999-04-26 02:20:02 +00:00
ross f868468aaa Never used, and work-in-progress uses a different header. 1999-04-25 20:15:06 +00:00
eeh 3f944123d6 Fix uninitialized variable bug in pmap_enter(). 1999-04-25 17:23:04 +00:00
eeh 962ed777c3 Garbage collect some old stuff. 1999-04-25 16:18:46 +00:00
eeh e921bb961d Defer final console attach to zs_attach(). 1999-04-25 16:16:31 +00:00
pk 421994a39b In pmap_{zero,copy}_page4m() use setpgt4m() to setup temporary address
mappings.
1999-04-25 10:30:02 +00:00
scw fdd587c0ea Define MKNOLINT=no and _STANDALONE. 1999-04-25 10:05:00 +00:00
simonb 666e14b944 pmax kernels now compile with -Wuninitialized. 1999-04-25 04:04:53 +00:00
simonb 59df0560f4 Set the colormap index before checking it! 1999-04-25 04:04:16 +00:00
simonb d2bd346fb8 Shut 'gcc -Wuninitialized' up (including a real case I missed with ddb
symbol initialisation).
1999-04-25 03:20:45 +00:00
simonb 5d8b1ef3e4 g/c REAL_CLISTS. 1999-04-25 02:56:26 +00:00
eeh df102fbcb5 Deprecate `findzs()' and try to map in the zs registers if they're not mapped
by the prom.
1999-04-24 21:08:12 +00:00
dbj 9176bfee30 add nextkbd flag to nextcons.c so that kernel can be cleanly
configured without a video console
patch submitted by Matt Debergalis
1999-04-24 17:55:10 +00:00
ross 28ef22871e Copy isdn4bsd cdevsw hooks from i386 conf.c. 1999-04-24 17:01:15 +00:00
simonb f676307241 Include "px.h" - rcons_connect_native is only compiled in of NPX > 0.
Fixes PR port-pmax/7456 from Jason Thorpe.
1999-04-24 15:22:45 +00:00
simonb b7c062102c Oops, deleted a register_t instead of register in previous. 1999-04-24 15:04:32 +00:00
simonb dc1d3940db Nuke register and remove trailling white space. 1999-04-24 08:01:01 +00:00
mark 9a56e04261 Fix microtime() to sanely handle calls before the clocks have been
initialized. This is the DC21285 version of the IOMD fix for PR7357.
1999-04-23 09:09:04 +00:00
cgd 575e9f8dfd support emulation-specified errno mapping tables 1999-04-23 05:43:02 +00:00
thorpej 94682a459b These are no longer used: replaced by locore_mips1.S and locore_mips3.S. 1999-04-23 00:10:15 +00:00
wrstuden 9b0e678d51 Fix compilation errors. 1999-04-22 18:48:59 +00:00
ender e544636cde Disable ASC interrupt enabling for now. We don't currently use it, and
it seems to be causing hangs at attach time on LCII's.
1999-04-22 18:00:34 +00:00
minoura 43d6c498cc I deleted a necessary line by mistake. 1999-04-22 16:22:49 +00:00
minoura f9afee1b29 Bus error occurred on such machines without the SCSI ROM.
Insert badaddr() check before read the ROM.
1999-04-22 12:55:53 +00:00
drochner ca053f4364 remove an "unmodified" so that the copyright notice will hopefully match
pk's "BSD-style (clauses: 2; no acknowledgements)" pattern
1999-04-22 10:27:16 +00:00
ross a1cca18262 Implementing bus_space_barrier(9)::isa_bs_barrier() with panic(9)
does in fact get you a barrier, but it's unnecessarily drastic.
Fixes kern/7431 "SHARKs with a serial console and com.c 1.59.2.1 won't boot".
1999-04-22 10:12:41 +00:00
leo 098c344c9b Make sure that we can link against the libsa.a library. It looks like a
gross hack, but I don't know how to fix this in another way.
1999-04-22 07:17:01 +00:00
chs 05b971dd5f in pmap_pageable(), rather than marking a PT page as not modified
to trick the pagedaemon into freeing it later, just unmap the page
and free it immediately.  fixes PR 7337.
1999-04-22 04:24:52 +00:00
simonb 6f6573cb10 Move BOOTINFO_ADDR up to 0x8001fc00, and reduce the maximum size of a
bootinfo record to 1kB (we are using less than 200 bytes now) so that it
doesn't run into addition PROM memory.

At 0x8001f00 the bootinfo record was stomping on some memory used by the
SFB cards for font information.
1999-04-22 01:52:54 +00:00
ad a895fbfd58 Define rcons_connect() only if (NFB > 0). Define rcons_connect_native() only
if (NPX > 0). Needed for fixed `rasops' config glue.
1999-04-22 00:33:30 +00:00
ad ca39efe84c Remove misplaced comment. 1999-04-22 00:29:59 +00:00
fvdl 3fb6f009a4 Handle instruction prefixes (skip them, in our case). 1999-04-22 00:23:33 +00:00
simonb 25715bb0f2 Comment out 'config nfsnetbsd'. 1999-04-21 12:53:56 +00:00
scottr 136972df3a Actually, the last change solved a different but related problem than
the one mentioned in PR 7376.  By clearing the display in iteon()
instead, we can kill both birds with the same stone.
1999-04-21 06:00:07 +00:00
scottr 48ff49fee0 When attaching the ite console, clear the entire display rather than assuming
that the emulator will do it for us.  (The emulator will only clear
full character-sized rows.)  Incidentally fixes PR 7376.
1999-04-21 05:18:17 +00:00
simonb 24323d7ef4 In cpu_startup():
+ Initialise minaddr to the start of the file I/O buffers.
 + Check for overallocation of RAM for these buffers.
 + Change function name in panic message to match reality.

Code taken from almost every other port, and fixes the:
   uvm_km_suballoc: unable to allocate space in parent map
panic that some people have been experiencing.
1999-04-21 02:03:24 +00:00
ross be000bc016 Revert 1/2 of previous change. INSECURE is still OK for alpha. 1999-04-20 21:43:03 +00:00
thorpej f7b0fea081 After reviewing the Green Book, BPT traps do indeed leave the PC pointing
to the instruction _after_ the `call_pal bpt' instruction.
1999-04-20 21:30:15 +00:00
thorpej 375b3fa699 Prototype alpha_debug(), and add some definitions for KGDB. 1999-04-20 21:23:56 +00:00
thorpej 62d09f4f93 Move the inclusion of <machine/bus.h> to within a _KERNEL section. 1999-04-20 21:23:09 +00:00
thorpej 869951571d - Clean up ddb_trap() somewhat, and handle exceptions that happen while we're
in DDB (e.g. if a bad pointer was dereferenced; the debugger will recover).
- Change a comment to indicate that we are on the debugger stack when we get
  to ddb_trap().
- Fix possible buglet in computation of the branch target in db_branch_taken().
1999-04-20 21:19:48 +00:00
thorpej 701edb8db8 - Revert previous, and do debugger entry if kernel BUGCHK or BPT traps
happen.  If the debugger doesn't handle the trap, arrange things so the
  debugger won't be called again before we panic.
- Before panic'ing, give the debugger a chance to field the trap, and
  if the debugger has handled things, allow the kernel to continue running,
  like the i386 port does.
1999-04-20 21:16:59 +00:00
thorpej a12dedc3ea - Revert previous change to XentIF(), now that we're going to enter the
debugger differently.
- Pull in debugger glue if DDB is configured.

And one unrelated change, while I was here: Don't create a fake trapframe
for main(); it hasn't been used by main() for quite some time, and panic
if main() returns, because that's not supposed to happen now.
1999-04-20 21:11:59 +00:00
thorpej 1b2eac076f Add a common debugger entry point, alpha_debug(), which performs various
tasks (i.e. switches to the debug stack) and then invokes the appropriate
debugger (DDB or eventually KGDB).
1999-04-20 21:09:49 +00:00
thorpej 9d78593b30 Back out previous; we're going to dispatch to the debugger differently. 1999-04-20 21:08:23 +00:00
pk 901a03b897 Protect extent(9) ops with splhigh(). 1999-04-20 20:15:48 +00:00
mark 7c3542d098 Add the rnd pseudo device. 1999-04-20 09:30:08 +00:00
mark 902004cefc Don't try and calculate the time in microtime() unless cpu_initclocks()
has already been called and thus we know the values the timers are using.
This also ensures that clock_sc will always be valid when we try and use
it to read the timer registers.
Fixes PR7357.
1999-04-20 09:14:32 +00:00
mrg ad52a7fe49 make this compile again with no rcons. 1999-04-20 06:42:54 +00:00
ross 702267a538 options INSECURE, like i386
pckbc* -> pckbc0, like i386
1999-04-20 06:16:35 +00:00
simonb dc3b870fce Add NFS_BOOT_DHCP so that netboot kernels can find the root filesystem. 1999-04-20 05:56:52 +00:00
simonb 1065cb27a3 s/NFS_BOOT_BOOTP/NFS_BOOT_DHCP/
DHCP is a superset of BOOTP, and still works with BOOTP servers.
1999-04-20 05:54:44 +00:00
is bbeb5012d5 Add dummy bus_space_barrier method, like mac68k 1999-04-20 05:48:37 +00:00
thorpej f30375cda0 Dispatch to the debugger from the Intruction Fault trap vector directly,
rather than doing it from trap().  This so we can switch to a temporary
stack for the debugger (in a forthcoming commit).
1999-04-19 23:24:14 +00:00
thorpej d24359e5c8 Define BPT and BUGCHK Intruction Fault codes. 1999-04-19 23:22:19 +00:00
kleink ed74932033 Add COMPAT_SVR4 for m68k. 1999-04-19 21:22:56 +00:00
kleink 36e329cd5b Define FP as a synonym for A6. 1999-04-19 21:19:08 +00:00
kleink 6a9c669828 Move linux_reenter_syscall() to a common location and rename it to
reenter_syscall() - it's going to be shared with COMPAT_SVR4 and soon be
used by native code.
1999-04-19 20:58:37 +00:00
scw cc712cde63 Make the memory sizing code *really* work on mvme167. 1999-04-19 19:15:50 +00:00
mycroft 0e603b27d7 +LFS +MFS 1999-04-19 16:57:06 +00:00
ragge d9010c853c Don't try to init the L2 cache if there is no L2 cache. (KA640) 1999-04-19 14:50:57 +00:00
minoura 35d1114201 Add missing par0. 1999-04-18 15:43:21 +00:00
minoura 26b74e1082 Handle T_ILLINST in kernel mode.
This occurs in fpu_probe() when the FPU is not installed on the system.
Because of this, FPU_EMULATE wouldn't work at all.
1999-04-18 14:39:10 +00:00
minoura 4fcf23e9b0 Handle F line emulation correctly when FPU_EMULATE is enabled. 1999-04-18 14:37:09 +00:00
mrg a3b0c3845d fix some comments. 1999-04-18 10:54:23 +00:00
mrg 8b70f01b60 use LINKFLAGS=-X to avoid stripping out per-file debugging info (idea from chuck@netbsd.org) 1999-04-18 10:52:31 +00:00
minoura 8eb1fd77e9 Do not memcpy to the bouncebuffer in datain. 1999-04-18 00:38:58 +00:00
minoura aae9b1588b Typo fix. 1999-04-18 00:36:36 +00:00
kleink ea8f9b570f Inclusions are already relative to the root of the kernel source tree, no need
to traverse the path all the way up again.
1999-04-17 21:26:59 +00:00
ws 5423093850 Modify syncicache on PowerPC from an inline to a real function.
Support different cache line sizes with the same object code in userland.
While here, move the function to implementation name space.
1999-04-17 21:16:45 +00:00
chs b3d919281a update one last call to uvm_pagealloc(). 1999-04-17 20:03:39 +00:00
mhitch 70d16931bd Correct the way I was using the transfer length for ATAPI commands. ATAPI ZIP
drives are now usable.
1999-04-17 19:49:24 +00:00
is 3faf133984 Cut-down kernel for miniroot installation.
Leave everything out that isn't needed.
1999-04-17 19:05:19 +00:00
mhitch 46f5ce02e0 Do a REQUEST SENSE when ATAPI operation returns an error. This is needed to clear
the Unit Attention status, i.e. after a media change on a CDROM.
1999-04-17 17:08:12 +00:00
ragge d80adac6a7 Only allocate QDSS memory if there is a QDSS as console.
QDSS should also work on KA650 now. (untested)
1999-04-17 17:02:49 +00:00
drochner 2519327c42 oops - forgot half of it 1999-04-17 16:52:06 +00:00
drochner 9684e9a613 disable the "aria" sound board per default until the problems with its
"probe" functions are solved (gives false positives)
1999-04-17 16:50:26 +00:00
drochner 7694cc18a5 wsconsio.h is gone 1999-04-17 13:00:04 +00:00
simonb cbd32a724f Sync with rev 1.9 of sys/arch/i386/stand/lib/loadfile.c:
another nit in error handling: don't try to print out a NULL
	filename (which means "use default" and is dealt with properly
	by open())
1999-04-17 11:24:16 +00:00
drochner 982c55e22c another nit in error handling: don't try to print out a NULL filename
(which means "use default" and is dealt with properly by open())
1999-04-17 11:18:36 +00:00
ragge e9689cc9bd Use "access_type" in pmap_enter() more intelligent.
Allocate device register space bigger than the logical page size
from the kernel map, thus decreasing the pre-allocated page table memory.
1999-04-17 00:01:18 +00:00
thorpej e49833cd68 Now that we have direct-mapped pool pages, we can garbage-collect VM_MBUF_SIZE
and don't need to allocate mb_map.
1999-04-16 21:47:11 +00:00
thorpej 4b603c180a Use the same hack as pmap_zero_page() and pmap_copy_page() to provide
direct-mapped pool pages.
1999-04-16 21:45:19 +00:00
thorpej 3b29e1e158 Clean up the Rawhide interrupt code some more:
- Actually display the kn300 irq, not the MCPCIA irq, in the interrupt
  string.  Also, don't bother displaying device/pin on strays, since
  it doesn't play will with shared interrupts that would happen due to
  a PCI-PCI bridge.
- Shave a few more cycles out of the interrupt dispatch routine.
1999-04-16 21:29:47 +00:00
thorpej 48a53c250d Add a stub pciide_machdep_compat_intr_establish() for Power Macintosh.
Power Macintoshes with PCI IDE (e.g. the new Blue G3) don't have them
wired to compatibility mode, so just return a NULL cookie.  We still have
to have this routine for the PCI IDE driver to link.
1999-04-16 21:15:29 +00:00
kleink 5e7ff129c8 Normalize path of files.sunos. 1999-04-16 11:13:38 +00:00
pk 0a737db1c7 `oldmon' proms need `putstr()' too. 1999-04-16 08:55:37 +00:00
ross 74de38f9a9 Really say goodbye to old wscons. 1999-04-16 07:24:13 +00:00
mhitch bb2b8c8586 Change reading the ATAPI IDENTIFY data: a ZIP drive responds differently than my CDROM
and will cause the drive to hang on boot.  The ZIP drive still does not work, but the
system no longer will hang,
1999-04-16 03:29:49 +00:00
thorpej d38cab08e5 Add SGMAP stuff for Window 2, and rename Window 0's SGMAP stuff to indicate
its use.
1999-04-16 02:18:07 +00:00
explorer 6f9b6a2f1a remove BUFPAGES= line for now (commented out) 1999-04-16 01:11:22 +00:00
explorer 927ebf9949 sync to the currently installed kernel 1999-04-16 01:09:25 +00:00
thorpej 1ddebc8444 Fix a silly bug present since rev 1.1; the direct-mapped window is
supposed to be Window 1, but a cut'n'paste error made it stomp over
Window 0, thus breaking ISA DMA.  Fix this.  (Confirmed to work with
floppy driver.)

While I'm here, do something I've been meaning to do for a while: change
Window 1 from a 1G at 2G to a 2G at 2G direct-mapped window, and add
a Window 2 of 1G at 1G SGMAP-mapped.  Chain Window 2 to Window 1, and
use it as a fall-back for PCI DMA if the system has more than 2G of RAM.
1999-04-15 23:47:52 +00:00
thorpej 31c4e50d3a - Change the "savunit[]" and "savirqs[]" arrays to ints, rather than chars.
The access is more efficient this way (and this was done in the interrupt
  dispatch code, so some cycles are actually shaved), and gcc gets annoyed
  when chars are used as array subscripts.
- Adjust for the fixed Rawhide console initialization.
- When mapping a PCI interrupt, don't always map device 1 to IRQ 16.  Device
  1 is only the internal 53c810 on MID 5, and is an invalid device number
  on any other MID.
- Adjust for change mcpcia_config/mcpcia_softc structures.
- Nuke the kludgy linked list of mcpcia_softc structures.  Instead, just
  use savunit[v] to index into mcpcia_cd.cd_devs[] to find the MCPCIA
  which has the stray interrupt.
- Some other minor cosmetic cleanup.
1999-04-15 22:37:25 +00:00
thorpej 592cdd4bda Adjust for new register access arguments, and make one slight cosmetic
change.
1999-04-15 22:32:21 +00:00
thorpej f2368c1301 CHIP_EX_MALLOC_SAFE() now must pay attention in class. 1999-04-15 22:31:16 +00:00
thorpej 279f30928f Add support for a single statically-allocated MCPCIA configuration structure,
which holds state of the MCPCIA to which the console is attached.

- All MCPCIA info is now stored in the mcpcia_config structure; the
  mcpcia_softc only contains a struct device and a pointer to one of these.
- If attaching the console MCPCIA, use the static configuration, else allocate
  the substructure.
- Rename mcpcia_init() to mcpcia_init0(), and make it take a "mallocsafe"
  argument.
- Implement a new mcpcia_init(), which looks for the MCPCIA which has the
  EISA bridge attached.  Initialize this MCPCIA as the console MCPCIA (the
  console on the Rawhide is only allowed on this MCPCIA; firmware rule).
- Eliminate the kludgy linked listed of mcpcia_softcs.  Just use mcpcia_cd
  to find all configured instances.

Separate bug fix: Actually clear the MCPCIA error mask after probing for
PCI (and ISA) devices, don't just clear it twice in mcpcia_init0().

Some other slight cleanup.
1999-04-15 22:27:40 +00:00
thorpej 9af474a62c - Add a comment explaining why we probe for MCPCIAs in the shuffled
MID order.
- Export the shuffled MID order; other files now need it.
- Don't derive the GID from the unit number of the mcbus.  A user could
  render his kernel non-bootable by using a different unit number in the
  kernel config file.  We (and the hardware) only support one MCBUS, so
  simply use instance 0.  Note that this will need to be adjusted if there
  are even any multiple-MCBUS systems.
1999-04-15 22:19:52 +00:00
thorpej 9a4a0a3c81 DEC_KN300 no longer uses PROM console. 1999-04-15 22:15:38 +00:00
thorpej 1287bb8599 Always call the platform's cons_init routine (note, it may not do anything,
but it's a very handy place to put console-related debugging code in,
even if we're still using the PROM console).
1999-04-15 22:15:05 +00:00
thorpej f3314e93e8 Add an empty dec_kn8ae_cons_init(). 1999-04-15 22:13:41 +00:00
thorpej 02aa04c89e Massive cleanup of the AlphaServer 4100 console initialization code.
Instead of using the PROM console until autoconfiguration is complete (at
which time we called dec_kn300_cons_init() directly!), make this work like
basically all of the other systems which have PCI attached consoles.  That
is, initialize the PCI chipset which holds the console early, and perform
console initialization at the correct time.

This should make both PCI and ISA display consoles with PC keyboards work
(i.e. the deskside workstation version of the Rawhide).
1999-04-15 22:11:57 +00:00
thorpej 0df038ccb1 - Use the CTB_TURBOSLOT_* macros from rpb.h.
- Don't assume bus/slot == ISA display.  Instead, test for TYPE_ISA.
- Some cosmetic (whitespace, mostly) cleanup.
1999-04-15 22:06:47 +00:00
thorpej f03f59a5b8 Back out the change to swap Lev1map on MP systems that use the PROM console.
Basically, we have to completely nuke the _PMAP_USES_PROM_CONSOLE code from
orbit before MP is going to properly work.
1999-04-15 21:21:25 +00:00
ad d79296c5e9 Disable ntohl/htonl due to duplication in libkern/arch/mips. 1999-04-15 15:30:46 +00:00
leo 84169631c6 Fix the IPL comparison. The previous version was plain wrong and caused
random panics in the pool allocator.
1999-04-15 09:15:29 +00:00
thorpej e8e6061642 Slight braino in previous. 1999-04-14 23:55:35 +00:00
ragge 71a57b22eb Use the pool allocator for mbufs instead of a separate submap. 1999-04-14 23:42:00 +00:00
thorpej 25a0e78bf3 Add macros to decode the `turboslot' member of the Console Terminal Block. 1999-04-14 23:28:31 +00:00
ragge 797a7428d6 First towards use of bus.h routines on vax. Allocate DMA memory for
LANCE chip on vaxstations.
1999-04-14 23:14:45 +00:00
ragge 397795c32d Machines using KA48 must have memory mapped in, and use the same
addresses for console as KA46. From Michael Kukat.
1999-04-14 16:19:03 +00:00
christos 30ffed2123 remove bogus prototype for getopt 1999-04-14 15:22:46 +00:00
christos c70b4ad2a1 Add prototype for getsecs 1999-04-14 15:22:07 +00:00
minoura bb2c24d761 More size hacks. We can now run the installer on 4MB machines. 1999-04-14 14:13:11 +00:00
drochner 1ecbaaabf8 this is now sys/lib/libsa/ufs_ls.c 1999-04-14 13:31:49 +00:00
hpeyerl 6cde76c6fe fix some copyright foo. 1999-04-14 12:56:33 +00:00
drochner e4841b3edf add prototypes, use ufs_ls() from mi libsa,
compile with -Wall -Wmissing-prototypes -Wstrict-prototypes -Wno-main
1999-04-14 11:53:43 +00:00
drochner 312eae2bf4 add prototypes, use ufs_ls() from mi libsa, revert to "void main()",
compile with -Wall -Wmissing-prototypes -Wstrict-prototypes -Wno-main
1999-04-14 11:45:39 +00:00
drochner dd0ed4267b add prototype 1999-04-14 11:19:23 +00:00
drochner 2d1e6a1f5a add prototypes, slight formatting changes 1999-04-14 11:17:04 +00:00
drochner ffd8d7c6d0 add prototypes
being here, format ala KNF
1999-04-14 10:57:59 +00:00
pk 87a17d4466 Initialize the VME bus tag. 1999-04-14 10:28:23 +00:00
pk ee5af6c31e Mask out 64-bit burst capability on sun4m's, since some models (SS20)
erroneously report this in their sbus properties.
1999-04-14 09:50:01 +00:00
pk 08e6e1fdc0 Fix TAB-jump lossage in previous. 1999-04-14 09:48:37 +00:00