Commit Graph

13975 Commits

Author SHA1 Message Date
mark 20323bb58c Enable disassembly of ldc and stc instructions.
Fix a couple of prototypes.
1998-01-20 00:51:24 +00:00
mark 6924ceb598 Declare arm8_clock_config() to return an int rather than void. 1998-01-19 23:51:01 +00:00
drochner 6e2af98681 adapt to changed <dev/ic/i8253reg.h> 1998-01-19 11:39:57 +00:00
sakamoto 39d4125cc3 add com0,com1,com2,com3
comment out wdc0, wd*(temporary)
1998-01-19 03:58:35 +00:00
sakamoto 9c3c5ad478 Support bootinfo like i386-port.
-define a buffer for information passed by the bootloader
-add a function ("lookup_bootinfo") to extract data
-use passed console information, for console attachment (VGA or SERIAL)
-use passed clock information, for timebase, decremente register
1998-01-19 03:47:41 +00:00
thorpej 12809e3434 If mapping only one segment of DMA memory into KVA space, use K0SEG. 1998-01-19 03:12:20 +00:00
sakamoto 5f78a36791 Add findcpuspeed for delay() and to pass to the kernel(BUS FREQ information).
some bug fix.
1998-01-19 03:00:55 +00:00
thorpej c6d1f2e018 G/c LANCE DMA allocation goop. 1998-01-19 02:57:28 +00:00
thorpej e5e8573d5c Allocate the LANCE DMA area and set it up here. This is still not
optimal (really should be done further down the food chain), but we
can't really do that in a nice way right now, and this is much better
than what we had before (which was to steal memory pages before the
VM system was bootstrapped).
1998-01-19 02:56:05 +00:00
thorpej bf92ae27ef Pass a pointer to the "get this slot's DMA tag" function pointer to
the tc instance just like we do with the interrupt functions.
1998-01-19 02:54:24 +00:00
thorpej 806e953f2c Get the per-slot DMA tag a bit differently. 1998-01-19 02:53:29 +00:00
thorpej 70da5cdba9 G/c an unused function pointer. 1998-01-19 02:53:03 +00:00
sakamoto 7bffb69b4c Add btinfo_clock for BUS FREQ information.
some fix.
1998-01-19 02:52:02 +00:00
sakamoto 9b5302f3da eliminate unnecessary declaration. 1998-01-19 02:47:33 +00:00
sakamoto 5a1a1979bb eliminate unnecessary code.
include dev/ic/i8253reg.h instead of timerreg.h
1998-01-19 02:20:55 +00:00
sakamoto 0075503ee7 Sync with arch/i386/isa/pccons.c 1998-01-19 01:49:43 +00:00
ragge 01eb1bb746 Make kernel compile & run again after latest config changes. 1998-01-18 22:09:13 +00:00
ragge afb1a37379 Fix page size initialisation. 1998-01-18 22:07:50 +00:00
ragge 37f6125fdd Garbage-collect unnecessary functions. Don't have blkcpy/blkclr
as inline.
1998-01-18 22:06:01 +00:00
drochner 32d94859ea adapt to changed <dev/ic/i8042reg.h> 1998-01-18 14:45:10 +00:00
gwr 2628e0df8a Add the sif_macaddr member to struct saif, which can be used
in version 3.X PROMs (gets our Ethernet address).
1998-01-18 05:24:38 +00:00
mark 3f9be879af Removed unused variables and prototypes.
Added missing prototypes.
1998-01-18 04:55:20 +00:00
mark ce9284e134 Make sure halt() is prototyped. 1998-01-18 04:16:06 +00:00
mark 057522ef3f Remove unused variables for the benefit of gcc -Wall -Werror. 1998-01-18 04:13:53 +00:00
mark 3a8b7284b0 Include sys/buf.h for the minphys() prototype.
Fix several printf() format strings.
1998-01-18 04:11:41 +00:00
mark 3224f7c301 Removed unused variables for the benefit of gcc -Wall -Werror. 1998-01-18 04:09:46 +00:00
mark bb12eeb85a Resync with podules file. 1998-01-18 04:02:53 +00:00
mark 0970bb601c Add IDs for Lingenuity and Castle SCSI cards. 1998-01-18 04:01:42 +00:00
mark 921d5339df Prototype kbdreset(). 1998-01-18 03:51:13 +00:00
mark 773c2f9abb Removed unused variables for the benefit of -Wall -Werror. 1998-01-18 03:48:37 +00:00
mark 56bac34cae Declare a prototype for arm8_clock_config(). 1998-01-18 03:43:46 +00:00
mark a89dd06bf2 Removed unused variables and prototypes for the benefit of -Wall -Werror. 1998-01-18 03:42:58 +00:00
mark 56fc27b288 Removed unused variables for the benefit of -Wall -Werror. 1998-01-18 03:39:23 +00:00
thorpej e62d894d7a Implement a prefetch spill page for SGMAP DMA. This works around a slight
annoyance on systems that prefetch the next page during memory -> device
DMA if the DMA comes within a certain distance of the end of the current
page.  This could cause machine checks since the PTE after the last page
would not have the valid bit set.

(I'm not going to complain about this slight kludge too much, since prefetch
makes DMA much faster...)
1998-01-18 00:05:33 +00:00
scottr 35e9372060 Add entries to the intvid_info table that are equivalent to
the (in)famous MADHATTER patch.  The only one that has been
tested is the Q700, however, so the rest are conditionalized
on the MADHATTER option until they can be verified.
1998-01-17 23:10:22 +00:00
thorpej 8df306036a Initialize s/g DMA registers in the same order as the CIA chipset's:
(1) window base
	(2) window mask
	(3) translation base
1998-01-17 22:46:55 +00:00
thorpej 3366b987d0 Put SGMAP-related stuff in the DMA map structure directly, rather than
indirecting through a pointer.
1998-01-17 21:53:52 +00:00
mark 405e360fa4 Include dev/scsipi/atapi_all.h 1998-01-17 20:00:59 +00:00
scottr 8df1b7a0f8 Now, correct the problem the correct way: s/cfattach/cfdriver/ 1998-01-17 17:32:07 +00:00
scottr 696871f9e3 Back out previous change. 1998-01-17 17:28:35 +00:00
pk 23d53501bd A small optimization. 1998-01-17 15:02:17 +00:00
scottr 5f3c1d48e0 We haven't needed a driver-specific minphys() for quite some time now. 1998-01-17 09:27:03 +00:00
mark f62b027476 Include sys/user.h for the benefit of pmap_activate(). 1998-01-17 07:14:11 +00:00
mark 1c08f38f54 Fix cfdriver declaration broken in recent config change. 1998-01-17 07:06:45 +00:00
thorpej 63db8935a6 Fix initialization of DMA window 0:
- Make sure the page table is aligned to at least 32k.
- Don't consider the MEMCS signal when checking for a window hit.
1998-01-17 03:43:59 +00:00
thorpej 9554b5a243 Update for "minptalign" argument to alpha_sgmap_init(). 1998-01-17 03:40:32 +00:00
thorpej 399f3639cf Don't assume that we'll be using direct-mapped DMA for PCI. 1998-01-17 03:39:51 +00:00
thorpej 361179df26 Make debugging decisions at run-time, and place a handy DDB breakpoint
after a transfer has been mapped in the page table.
1998-01-17 03:38:51 +00:00
thorpej 2981fec2f0 Allow specification of a minimum page table alignment to alpha_sgmap_init().
This is to work around an apparent hardware bug in some 2117x chipsets
where the page table must be aligned to at least 32k.
1998-01-17 03:37:22 +00:00
leo 123d97732f Be more accurate with errors on read(2) (as suggested by Ted Lemon). 1998-01-16 09:19:37 +00:00
leo bb4f2f4ebe Add: bus_space_{read,write}_region_N() and bus_space_set_{multi,region}_N()
functions.
1998-01-16 09:17:48 +00:00
sakamoto b1bde3fc9e initial import of bebox kernel loader. 1998-01-16 04:17:36 +00:00
sakamoto 538f1fec20 initial import of bebox kernel loader. 1998-01-16 04:07:35 +00:00
sakamoto ea7c4f2cab Data structures passed from the boot loader to the kernel 1998-01-16 04:04:14 +00:00
thorpej cf591e644b Generate dependencies on the VM86 option. 1998-01-15 22:25:52 +00:00
thorpej 6254765e6a Make this compile again after recent config changes. 1998-01-15 22:22:09 +00:00
thorpej 032c433933 Just commit to using MACHINE_NEW_NONCONTIG. 1998-01-15 22:20:15 +00:00
is 632b1123ba struct cfdrivers are emitted by config(8) into ioconf.c, nowadays. Delete
mainbus_cd here.
1998-01-15 21:55:51 +00:00
thorpej 1484fa567d Generate dependencies on the CPU type options (I386_CPU, I486_CPU, ...) 1998-01-15 19:47:36 +00:00
leo dc8f785187 Make this compile again after the latest config changes. 1998-01-15 13:06:27 +00:00
thorpej 2cfef7a0ec Oops, something snuck in there that shouldn't have... 1998-01-15 07:40:06 +00:00
thorpej 86adfd8033 Switch to MI IDE drivers, add ATAPI devices. 1998-01-15 07:17:19 +00:00
thorpej c60855e116 Switch to the MI IDE drivers. 1998-01-15 07:09:24 +00:00
thorpej f127dfb6f0 Undo the wdc -> awdc mapping kludge. 1998-01-15 07:02:21 +00:00
thorpej 76e4297b91 No longer needed; we use the MI IDE driver now. 1998-01-15 07:01:51 +00:00
thorpej 525b092c2e Get include file paths correct. 1998-01-15 06:15:08 +00:00
thorpej 1f93872e5c Kludge around i/o port overlap w/ the "wdc" driver. 1998-01-15 06:11:55 +00:00
cgd d6e5187749 add 'sd* at atapibus? drive ?' to all kernel configs already containing
an analogous line for 'cd'.
1998-01-15 02:26:26 +00:00
cgd 4fdd07b4c5 remove 'ata' interface attribute. it now is define in the MI conf/files. 1998-01-14 23:56:23 +00:00
cgd ad141a69a7 Shuffle wd/wdc driver files around (via repository copies). wdc
now lives in dev/ic, wd now lives in dev/ata.  there's now a 'ata'
interface attribute defined in conf/files, but wdc can't go there
yet because some ports still use private versions based on the old
ISA version.
1998-01-14 23:36:30 +00:00
drochner 09354842c5 from Dave Burgess per PR4620:
-base address 0x308 is supported by more Wangtek QIC tapes than 0x300
-Ultrastor ISA SCSI adapters can't be set to base address 0x334
  (changed to 0x340)
1998-01-14 15:27:43 +00:00
pk 866632416e Fix a border case when committing physical pages to the VM system;
rename some variables in the process for clarity.
1998-01-14 14:49:29 +00:00
cjs 61826c3946 Make INSTALL a fully-loaded kernel (for booting from network or CD), and
INSTALL-FLOPPY a stripped-down version to fit on a floppy.
1998-01-13 23:49:31 +00:00
pk 1842a317c3 Fix parenthesis inbalance. 1998-01-13 20:53:38 +00:00
pk 1195f3d8a9 Add fkbyte(), which is like fubyte() but for kernel addresses.
Only used at this moment to work around unexplained transient bus
errors when reading the VME interrupt vector in bus control space.
1998-01-13 20:51:01 +00:00
scottr 4c69a8b2ea Update for bus.h changes. 1998-01-13 19:15:32 +00:00
scottr 5b4a54759d Conform to spec, and make bus_space_copy() handle overlapping copies.
From Jason Thorpe.
1998-01-13 18:32:15 +00:00
mrg 057795048f this is the i386 MD portion of the MACHINE_NEW_NONCONTIG code, as
written by chuck cranor.  thanks to mycroft for helping me find the
one little line of code i accidentally deleted while merging it.

this is not enabled by default.  `options MACHINE_NEW_NONCONTIG'
will use this code.  eventually, this should go into <machine/vmparam.h>
insteaed of MACHINE_NONCONTIG.
1998-01-13 12:52:16 +00:00
sakamoto 7b093957d3 interrupt name change "softtty" -> "softserial" 1998-01-13 03:52:49 +00:00
thorpej 687449a900 Update for changes to config. 1998-01-13 02:09:58 +00:00
pk a8dda8092d Commit to MACHINE_NEW_NONCONFIG. 1998-01-13 00:58:56 +00:00
pk 418fd96bd5 Turn NEW_NONCONTIG page upload code into a routine shared by sun4/4c
and sun4m pmap_bootstrap()s, simplify it, and make it not loose the
couple of slack pages we painstakingly remembered in pmap_bootstrap.
1998-01-13 00:55:15 +00:00
scottr 3b7ef50f8e Missed a change for the updated config(8). 1998-01-12 23:56:26 +00:00
thorpej f32f947061 Update for changes to config. 1998-01-12 20:52:29 +00:00
thorpej 2565ff444a Update for config changes. 1998-01-12 20:35:04 +00:00
thorpej 1adb4489a6 Update for changes to config. 1998-01-12 20:23:38 +00:00
thorpej 0475e09198 Update for changes to config. 1998-01-12 20:04:24 +00:00
thorpej ac71bb86e2 This file was apparently accidentally ressurected. 1998-01-12 19:59:00 +00:00
thorpej 2d53e59a47 Update for changes to config. 1998-01-12 19:51:03 +00:00
thorpej 36760d9d94 Update for changes to config. 1998-01-12 18:59:04 +00:00
thorpej 871cf5e7ce Update for changes to config. 1998-01-12 18:30:41 +00:00
thorpej 1ac3d5db35 Put SPU options in opt_spuconf.h, add device classes. 1998-01-12 18:29:48 +00:00
thorpej cfdba7eac6 Update for changes to config. 1998-01-12 18:18:01 +00:00
thorpej 2d73f5ea18 Update for changes to config. 1998-01-12 18:03:58 +00:00
thorpej 0b6e56ec02 Adjust for changes to config. 1998-01-12 10:39:01 +00:00
thorpej 5419debcb7 Adjust for config changes. 1998-01-12 10:21:02 +00:00
thorpej c5f6a2dbb3 Add (commented out) COMPAT_13 1998-01-12 07:09:24 +00:00
thorpej 83c4c24058 Add "non-volatile" memory cluster usage bit. 1998-01-12 07:07:19 +00:00
sakamoto 1f703bce45 Sync w/ dev/isa/wdc.c 1998-01-12 06:08:41 +00:00
sakamoto 38efb3ac5f add The Be interrupt controller setmask function(bebox_intr_mask).
change SINT_TTY to SINT_SERIAL
       splsofttty to splsoftserial, and so on.
1998-01-12 04:57:10 +00:00
pk 54719a53a3 More comments and general re-organization (group by device class) provided
by Todd Vierling.
1998-01-11 23:32:55 +00:00
thorpej 1ef77e68aa Oops, fix a printf format. 1998-01-11 23:16:04 +00:00
thorpej f522bda243 Convert the hp300 LANCE driver to use bus.h 1998-01-11 21:57:02 +00:00
thorpej 5021043b13 ia->ia_addr is of type `bus_addr_t'. 1998-01-11 21:56:13 +00:00
thorpej 582d47fcf0 ia->ia_addr is a physical address, not a kernel virtual address. 1998-01-11 21:55:08 +00:00
thorpej 1687835b3e Pass down bus space tags to children, and use types appropriate for
bus.h.
1998-01-11 21:53:04 +00:00
thorpej 774d66001e Add bus_space.c 1998-01-11 21:42:44 +00:00
thorpej 77706becd7 Initial implementation of bus_space functions for hp300. Some cleanup
of this will be possible once some pmap changes are made.
1998-01-11 21:40:52 +00:00
thorpej b69358e4ca bus.h for the hp300 port. Only supports bus_space for now. 1998-01-11 21:26:04 +00:00
perry aceff90d16 add yet another PCI brige -- from pr 4780 from Nathan J. Williams 1998-01-10 01:15:14 +00:00
fvdl 83ef3d4928 Switch off CPU-PCI write posting for the Saturn chipset; it is known
to cause problems with PCI busmasters.
1998-01-09 22:34:58 +00:00
perry 6f57e5c573 multiple include protect machine/limits.h, fixes pr 4473 (from Mika Nystrom) 1998-01-09 22:23:44 +00:00
thorpej 1256fac296 Rearrange alpha_init() somewhat, setting the page size much earlier, and
keeping track of where the kernel lives in K0SEG.  Place early data
structure allocation into an allocsys() function, like other ports, so
that it can be used to first calculate the amount of memory needed
for those data structures.
1998-01-09 21:34:47 +00:00
mycroft 59ea23516a Increase delays to the required 7us. 1998-01-09 21:28:32 +00:00
thorpej bb4988dca2 If MACHINE_NEW_NONCONTIG is defined, activate the pmap_steal_memory()
interface.
1998-01-09 19:13:09 +00:00
drochner 408be2261c Compile in BOOTP support for diskless boot. 1998-01-09 17:25:30 +00:00
drochner 35718a7622 Use of BOOTP or BOOTPARAM can be conntrolled by config option now. 1998-01-09 17:21:10 +00:00
drochner 9c3e23d351 Compile in BOOTP support for diskless boot. 1998-01-09 17:10:16 +00:00
drochner 874db3d0e0 Selection of network configuration method for diskless boot can be
controlled by config options now. Remove setting of nfs_boot_rfc951,
it is set by default if "option NFS_BOOT_BOOTP" is defined.
1998-01-09 17:06:35 +00:00
drochner 6757ab1b65 Remove conditional setting of "nfs_boot_rfc951" (introduced in previous
change). It's not needed anymore.
1998-01-09 16:01:27 +00:00
drochner 5b055c9032 enable diskless boot with BOOTP and BOOTPARAM configuration 1998-01-09 15:18:50 +00:00
thorpej e47378c640 - pmap_collect_pv() is broken; #ifdef it out (it's not currently ever
called anyway, but now at least the reason is documented).
- rearrange a few things to make it easier to add support for non-contigous
  physical memory.
1998-01-09 08:27:09 +00:00
thorpej b115c27722 Get rid of some old cruft. 1998-01-09 08:18:22 +00:00
scottr 867cdfc734 Another update from John: if we're polling, e.g. in ddb, pass the
keystroke to the upper half directly.
1998-01-09 06:59:29 +00:00
thorpej 4deb927ee6 Regen. 1998-01-09 06:59:27 +00:00
thorpej 2f3e61a54a Put RCS IDs into generated files, in the correct place. 1998-01-09 06:59:10 +00:00
thorpej e41a79ff38 Regen. 1998-01-09 06:58:04 +00:00
thorpej bd5df8e610 Put RCS IDs into generated files, in the correct place. 1998-01-09 06:57:44 +00:00
thorpej 5170264d4e Gather pv_table and pmap_attributes things togther, and macro'ize
access to them a little better.

Also, improve the performance of pmap_is_{referenced,modified}() and
pmap_clear_{reference,modify}() somewhat.
1998-01-09 06:54:17 +00:00
thorpej 14807c2914 Use avail_start/avail_end. 1998-01-09 06:37:04 +00:00
thorpej f9b6954f55 Call vm_set_page_size() after initializing PAGE_SIZE. 1998-01-09 06:35:17 +00:00
mrg aa39c43bc9 call vm_set_page_size(). 1998-01-09 04:37:56 +00:00
thorpej 85d56961e5 Update a comment relative to the vm_bootstrap_steal_memory() change, and
don't include pmap_free_pages() or pmap_next_page() in the new non-contig
case.
1998-01-08 23:48:16 +00:00
thorpej 4cb36c3346 Update a comment to reflect the vm_bootstrap_steal_memory() change, and
while I'm here, note which two functions will no longer exist when
new non-contig code is done for this pmap.
1998-01-08 23:47:07 +00:00
mrg c599e7d439 add new version of non contiguous memory code, written by chuck cranor,
called "MACHINE_NEW_NONCONGIG".  this is required for UVM, the new VM
system (also written by chuck) that is coming soon.  adds new functions:
	vm_page_physload() -- tell the VM system about an area of memory.
	vm_physseg_find() -- returns index in vm_physmem array that this
		address is in.
and several new versions of old functions/macros defined in vm_page.h.


this is the sparc portion.
1998-01-08 11:39:30 +00:00
mrg 0876a69653 some KNF. 1998-01-08 11:03:13 +00:00
mrg 7069ab9961 don't call fb_unblank if NFB < 0 1998-01-08 10:56:36 +00:00
mrg 002fbe8721 do not use fb_unblank unless NFB > 0 1998-01-08 01:13:58 +00:00
thorpej db8d7d755a Regen: Back out RCS ID related changes. 1998-01-08 01:05:10 +00:00
thorpej af0fb8a65a Back out RCS ID related changes. 1998-01-08 01:04:44 +00:00
thorpej c4a3ed1697 Regen: Back out RCS ID related changes. 1998-01-08 01:02:05 +00:00
thorpej ddb3a0e478 Back out RCS ID related changes. 1998-01-08 01:01:27 +00:00
is 5d5c1cd59e - avoid system stack underflow when calling sigreturn via trap #0
- make sure all sigreturn error conditions are reported to the caller,
  instead of the place jumped to.
This is the bugfix part of pr 4628 by ITOH Yasufumi.
The performance optimization part will be handled seperately, after evaluating
its implications.
Testing on 68040 and removing the performance change from the proposed patch
by scottr. Half of the Amiga machdep.c change had to be done manually by me,
as the patchfile didn't apply cleanly.
XXX Yes, Amiga should be changed to use the common sig_machdep.c instead.
XXX Really soon now. I promise.
1998-01-07 22:46:00 +00:00
scottr 4567c69fea Update from John Wittkoski: the Color Classic and Color Classic II
have Cuda hardware, not IIsi-based.
1998-01-07 07:33:36 +00:00
is d002f566b3 Support 68060 (and, for the Amiga, even 68040 buserr frames) in the sendsig()
and, indirectly, sigreturn() functions.
XXX The Amiga should be switched to using sig_machdep.c instead.
1998-01-06 20:50:22 +00:00
thorpej 6ac24f05df Garbage-collect VM_PMAP. 1998-01-06 08:46:11 +00:00
thorpej 2317f9064e Garbage-collect pm_stchanged. 1998-01-06 08:40:50 +00:00
thorpej 0e5cf40b1f Always include pmap_pinit(), since it is a defined pmap interface
function (thought, we might revisit that later).  Just call pmap_pinit()
in pmap_create(), instead of inlining what pmap_pinit() does.

Also, g/c a TAILQ_FIRST() macro that is now defined in <sys/queue.h>
1998-01-06 08:27:05 +00:00
thorpej a26db50632 Don't need __VM_PMAP_HACK anymore. 1998-01-06 08:14:14 +00:00
thorpej 4044eccd3f Don't use vm_pmap; use vm_map.pmap instead. 1998-01-06 08:13:08 +00:00
thorpej c2768af3d4 Garbage-collect cpu_set_init_frame(); it hasn't been needed for some time
now.
1998-01-06 08:06:45 +00:00
thorpej 07f835de1f Garbage-collect PMAP_ACTIVATE() call here; it's no longer necessary. 1998-01-06 07:49:36 +00:00
thorpej 3e7eb6c80a Garbage-collect pm_pdchanged; it's not used by anything. 1998-01-06 07:16:06 +00:00
thorpej 61567b54de Garbage-collect pm_stchanged; it's not used by anything. 1998-01-06 07:02:58 +00:00
thorpej d11b109f2b Garbage-collect use of the PCB's copy of the user segment table pointer. 1998-01-06 06:51:40 +00:00
thorpej ab9b250a37 The user segment table pointer is no longer kept here. Change it to
a spare field.

XXX Should be changed to use generic m68k PCB!
1998-01-06 06:47:04 +00:00
thorpej 8cbc5caabb The user segment table pointer is no longer kept here. Change it to
a spare field.
1998-01-06 06:46:05 +00:00
perry 2ec6474b31 RCSID Police. 1998-01-06 04:44:59 +00:00
jtk fe87ac4104 fix for changes in bioscall structure and include files 1998-01-06 00:35:42 +00:00
thorpej a8f80ad4fd Fix a bogosity apparently inherited from when the Utah 4.3BSD code base
was converted to use Mach VM for Net2/4.4BSD.  The user segment table
pointer was originally stored in the PCB.  When Mach VM came along,
however, it was also stored in the pmap, and loaded into the PCB in
pmap_activate().  pmap_activate() would then note that the PCB's USTP
was now in sync with the pmap's USTP, and the low-level context switch
code would use the value from the PCB.

However, pmap_activate() would also load the hardware MMU context if
the pmap was the current pmap (or, in the case where pmaps can be shared,
such as in NetBSD, if the proc was the current proc).  The low-level
context switch code would then reload the hardware _again_ using the
USTP from the PCB.

However, the optimization of not calling pmap_activate() if "stchanged"
was false ended up causing some processes to use stale USTP values from
the PCB when the low-level context switch code reloaded the hardware!
This was noticed by using a real vfork(2) (which worked for some time
before failing, surprisingly!)

Since I'm hard pressed to find any real optimization here (since the
hardware was always reloaded once, sometimes twice!), the code now always
calls pmap_activate(), which uses the correct USTP value (the one in the
pmap).  The PCB's USTP is now ignored, and should eventually be g/c'd.

Another optimization can actually be performed, and I have added a comment
describing what it is, but have not yet implemented it.

Also note that most of the loadustp() functions where actually incomplete.
This has been corrected.  These functions should probably be split up into
MMU-specific operations, and called indirectly, rather than doing constant
run-time decision making based on values that will never change during the
course of a boot's lifetime.
1998-01-05 23:16:21 +00:00
perry 3625dbcd48 RCSID Police. 1998-01-05 21:34:56 +00:00
perry 5646f55116 make script insert RCS ids into generated files 1998-01-05 21:28:21 +00:00
perry 086015d681 RCSID Police. 1998-01-05 21:13:51 +00:00
perry e464358f5f make script insert RCS ids into generated files 1998-01-05 21:12:34 +00:00
perry 49ad493e50 RCSID Police. 1998-01-05 21:11:15 +00:00
perry 489c2f7e06 make script insert RCS ids into generated files 1998-01-05 21:10:18 +00:00
perry b46484bb8a RCSID Police. 1998-01-05 20:51:25 +00:00
perry 015e898c02 RCSID Police. 1998-01-05 07:02:46 +00:00
perry 3e0fad1868 RCSID Police. 1998-01-05 06:28:44 +00:00
perry e13ab577cd RCSID Police. 1998-01-05 05:05:49 +00:00
thorpej b9f1b716f3 Now that all ports have pmap_activate(), and it has an identical interface,
prototype it in <vm/pmap.h>
1998-01-03 01:12:59 +00:00
thorpej b73f9750f6 Don't allocate PTEs in cpu_fork(); they were allocated when the new
process's pmap was created.  Instead, use pmap_activate() to load the
page {0,1} base and length registers into the PCB for the hardware's use.
1998-01-03 00:37:31 +00:00
thorpej aa58d4ac6b Adjust for the fact that the page {0,1} base and length registers are now
stored in the pmap structure.
1998-01-03 00:35:28 +00:00
thorpej f267fe868d - Adjust so that access to the PCB is not required in most pmap functions.
Store the page {0,1} base and length registers in the pmap structure,
  and implement pmap_activate(), which stores them in the PCB (for the
  hardware's use).
- Re-implement pmap_pinit(); allocate the PTEs here, not in cpu_fork().
1998-01-03 00:34:02 +00:00
thorpej 172a9381b6 - Remove the PCB pointer from the pmap structure. Instead, store the
page {0,1} base and length registers in the pmap structure.  They will
  be loaded in to the PCB when the process's address space is activated
  by way of pmap_activate().
- Remove pmap_pinit() macro; it's now a real function.
- Prototypes for pmap_pinit(), pmap_activate(), pmap_deactivate().
1998-01-03 00:28:43 +00:00
thorpej d8076f896b Grab the PCB directly from the u-area, not by indirecting through VM
structures.
1998-01-03 00:23:53 +00:00
thorpej 9ca174a51d Implement pmap_activate(). 1998-01-02 22:57:56 +00:00
thorpej a6f228e498 Make pmap_activate() take a struct proc *. 1998-01-02 22:36:33 +00:00
thorpej c162e92a71 Implement pmap_activate(). 1998-01-02 22:17:18 +00:00
thorpej f39e44955b Make pmap_activate() take a proc *. 1998-01-02 20:37:28 +00:00
thorpej d14e18faa9 Make pmap_activate() take a proc *. 1998-01-02 20:10:26 +00:00
ragge 5680284286 Fix problem in copy*str() when not emulating locc. 1998-01-02 19:33:27 +00:00
thorpej dd966fca05 Change an argument name to PMAP_ACTIVATE() to more accurately describe the
semantics of the argument.
1998-01-01 20:05:23 +00:00
thorpej 287b63b321 - Make pmap_activate() and pmap_deactivate() take a struct proc *.
- Define active_user_pmap() and use it in the appropriate places (from hp300
  port).
1998-01-01 19:52:50 +00:00
mikel 733dae35bc use ${SIZE} instead of "size" (somehow this one got missed) 1998-01-01 08:11:41 +00:00
thorpej 8b5e0b6e06 Remove a couple of unneeded VM-related headers. 1997-12-31 19:32:55 +00:00
cjs 89951259ed Add kernfs; remove more stuff we don't need. 1997-12-31 16:44:37 +00:00
thorpej 9c20093835 Make pmap_activate() and pmap_deactivate() take a struct proc *. 1997-12-31 10:12:55 +00:00
scottr fa1347ed5b Prompt for total sectors, and calculate sane defaults for sectors per
cylinder and total sectors.
1997-12-29 07:15:10 +00:00
scottr 89b10b928f Do better reporting of transmit errors. 1997-12-26 22:37:05 +00:00
oki ac86463ce3 Make compile without options MACHINE_NONCONTIG. 1997-12-24 17:48:10 +00:00
oki 49779c8c5a Add MDP_STACKADJ. 1997-12-24 17:46:08 +00:00
tv 89e7595756 Exclude /dev/fb code if no framebuffer is compiled into the system.
Adds a fb.h flag file with '#define NFB 1' if any such card is configured
in to the kernel.
1997-12-23 23:57:20 +00:00
thorpej ff7a4d0472 Add COMPAT_13. 1997-12-22 05:31:23 +00:00
jonathan 3550b22654 Commit patch for PMAG-A (mfb) pixel inversion accientally left out of 1.3.
See PR# port-pmax/4724.
1997-12-22 02:39:28 +00:00
hpeyerl 6563f769af update for correct SPU type and COMPAT_13. 1997-12-21 17:15:01 +00:00
perry 589a5e2c79 patch from is -- I don't know what it does, but he says it's critical. 1997-12-20 21:13:13 +00:00
pk bf8e38df4f Establish the interrupt handlers on sun4 `oclocks'; pointed out
by Chuck Cranor.
1997-12-19 22:53:10 +00:00
scottr 6a7a3fb133 spurintr() is a low-level interrupt handler, and must not
be called by C code!  Spotted by Bill Studenmund, who also provided
#the substance of this change.
1997-12-19 05:38:00 +00:00
pk 964a147839 Clean vers.c & vers.o. 1997-12-18 21:03:58 +00:00
mycroft 61475326e0 Add delays for lame keyboard controllers, as in the keyboard driver. Do a
better job of flushing input in various cases.
1997-12-18 16:49:10 +00:00
sakamoto 73a2fb9659 support simple stack trace. 1997-12-18 09:09:01 +00:00
sakamoto e2f98dba9e remove avail_end temporarily for compile. 1997-12-18 09:08:35 +00:00
sakamoto 15dd19ea29 use pmap.c of port-powerpc.
mem_regions support.
1997-12-18 09:07:58 +00:00
scottr e43a4bda4a Update for the NWO 1997-12-18 06:45:30 +00:00
scottr 0b62536fdf Make these more closely resemble the old configurations. 1997-12-18 06:44:15 +00:00
scw 3adf82c90e Grok boot partition argument delimited by a colon. Force RB_ASKNAME
when partition argument is present.
1997-12-17 21:33:10 +00:00
scw c0ba23773d Always write primary bootstrap code to raw partition, even when the
secondary bootstrap is on partition >= b.
1997-12-17 21:30:23 +00:00
scw ea634df03a Workaround for bug in 147Bug PROM (my version, 2.2, at least) which
prevents booting from tape in the obvious way.
1997-12-17 21:28:02 +00:00
scw 4b78217d87 Conf file suitable for the ramdisk installation kernel. 1997-12-17 21:24:11 +00:00
scw f7b8b2dc36 Add file-system KERNFS for the benefit of miniroot install. 1997-12-17 21:20:06 +00:00
jeremy 070bd37c1b Pad out table manager structures so that all the members in the contiguous
table manager array allocated in pmap_startup() are properly aligned for
faster bus access.
1997-12-17 16:20:33 +00:00
mjacob feb6e077d4 do not incread vm_kmem_size that radically for 1GB or better machines 1997-12-16 21:59:41 +00:00
scottr 24d2f8120e Don't enable interrupts unless we are using reselect or interrupt-
driven PDMA modes.
1997-12-16 19:44:19 +00:00
wrstuden 5a67b7c680 Add initialization code for cs_wr5_dtr as the M.I. layer now tests
it in initializing during autoconfig. Similar to sys/arch/sun3/dev/zs.c
revision 1.47. Ought to fix hangs at first tty access reported by
Johnny Lam, <jlbg+@andrew.cmu.edu>.
1997-12-16 17:53:12 +00:00
scottr cebc1537c1 Update to match std.mac68k changes. 1997-12-16 17:22:53 +00:00
mikel 718221a852 fix format string in FD_DEBUG printf(); from Eric Haszlakiewicz in PR 4692 1997-12-16 07:35:45 +00:00
thorpej a5252fc287 Fill out more file system information, from Havard Eidnes, and hacked a bit
by me.
1997-12-15 23:17:19 +00:00
leo 4702594559 Correct size of brwrite():trbuf[] (Mellon). 1997-12-15 09:21:04 +00:00
sakamoto c594d764bc support IDE hard disk controllers (wdc) and drives (wd)
put wdc.c into bebox/isa directory temporarily
1997-12-15 08:00:22 +00:00
gwr be7fd676e5 Sync with GENERIC 1997-12-13 00:26:08 +00:00
gwr ebbce0eb18 Need MEMORY_DISK_IS_ROOT now also.
Sync with GENERIC
1997-12-13 00:25:15 +00:00
gwr 4f0a44847d Move Sun3/E stuff 1997-12-13 00:23:45 +00:00
gwr 6be94f263f obsolete 1997-12-13 00:21:01 +00:00
sakamoto caa702438d add bus_space_{read,write}_multi_N macros
some fix.
1997-12-12 03:08:28 +00:00
sakamoto 4a0b2d1b52 fix wrong variable declaration 1997-12-11 09:31:00 +00:00
sakamoto cddd6a97bc add ins/outs macros 1997-12-11 09:23:54 +00:00
sakamoto 8bdb67652b change order of interrupt description bit 1997-12-11 09:04:23 +00:00
pk 9e087acb89 Code for software-assisted DDB single-stepping from Chuck Silvers. 1997-12-10 23:12:13 +00:00
matthias f0faff5a2f sync with /sys/arch/i386/i386/md_root.c. 1997-12-10 21:56:30 +00:00
matthias 071a27d737 add MEMORY_DISK_IS_ROOT to use the memory disk and not the boot device
as the rootdevice.
1997-12-10 21:51:14 +00:00
drochner fbe83dc02d Install "pcvt_ioctl.h" by normal "make includes". 1997-12-10 14:14:21 +00:00
leo 18d2ccf637 Add '-H' option for writing High density floppies. 1997-12-10 09:32:35 +00:00
sakamoto b60acd2843 fix to get the right irq 1997-12-09 23:33:17 +00:00
gwr e0170ea83c Remove local definition of DEBUG (left there by accident). 1997-12-09 22:29:01 +00:00
gwr 1e1b53cba9 The ie_reset function needs to turn off loopback mode.
(Remember the TDR complaint: short X clocks away?
that was because the chip was in looback mode! 8)
1997-12-09 22:25:42 +00:00
tv a7d1d15c39 KMEMSTATS is documented in options(4) as being a possible severe
performance hit, and on an 80386 processor, it most certainly is.  Pull it
from the GENERIC (and DISKLESS "generic") kernels--configure it in
yourself if you actually need it.
1997-12-09 13:32:32 +00:00
gwr 2e40be26b8 The ie_reset function needs to turn off loopback mode.
(Remember the TDR complaint: short X clocks away?
that was because the chip was in looback mode! 8)
1997-12-08 21:49:50 +00:00
gwr ec9abe23be Several fixes. This version actually works! 1997-12-08 19:22:52 +00:00
gwr 1a340a5921 Fix missing newline in attach 1997-12-08 19:19:25 +00:00
gwr c497f2ca2b Define the interrupt vector registers as 16-bit fields as
shown in the documentation.  (Thanks to Michael Thompson)
1997-12-08 19:17:12 +00:00
thorpej b27ebeeac1 Work-around the situation where the buffer cache is larger than
16M, thus eating up all candidate bounce pages, which are not allocated
until autoconfiguration runs, by deferring allocation of the buffer
cache pages until after autoconfiguration has run.

XXX This is safe because the i386 port doesn't read any disklabels
XXX during autoconfiguration.
1997-12-08 05:07:29 +00:00
fvdl be205fedc0 Define constants for the start and end VA of user page tables. 1997-12-07 21:30:11 +00:00
fvdl 4357e617d2 When getting a pagefault for a PT page, wire it. Normally we fault them in
ourselves, but this can still happen on a 386 in copyout & friends.

Fixes pmap_changebit panics seen on 386s. Thanks to Juergen Hannken-Illjes
for providing detailed info on bug occurances.
1997-12-07 21:28:56 +00:00
scottr 39aac67f16 Fix prototypes so that we can compile without DDB. Closes
PR 4633.
1997-12-07 17:47:47 +00:00
thorpej d25c266af2 Use malloc()/free() for the temporary buffer, not geteblk()/brelse(). 1997-12-07 16:06:21 +00:00
thorpej 6e39ad36a6 In pccngetc(), don't treat cn_tab->cn_dev as a valid device number until
it's initialized.
1997-12-07 06:20:44 +00:00
scw ea4e9ca4f6 Doh! 'avail_end' is a physical offset, not a page number! 1997-12-06 20:29:59 +00:00
scottr ee70fa750a Shades of rev 1.13: Really, we shouldn't call Debugger() if we
haven't got ddb in the kernel.  Fixes PR 4632.
1997-12-06 19:41:46 +00:00
mhitch cc997082a5 Someone forgot to update db_tlbdump_cmd() when adding the printf routine
to the TLB dump routines arguements.  Machines would die horibbly when
trying to dump the TLB entries in DDB.  Also don't explicitly "page" the
output, since db_printf takes care of that.
1997-12-06 19:19:07 +00:00