Commit Graph

19206 Commits

Author SHA1 Message Date
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