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