matthias
e14a1c1120
Switch the pc532 to MACHINE_NEW_NONCONTIG and add machine specific bits
...
for UVM. All of this was mostly done by stealing code from the i386 port.
Prepare for stealing pmap.new.c as well.
1998-03-18 21:59:38 +00:00
thorpej
cfdf9a95ad
Keep track of which CPUs are using a pmap by setting/clearing bits
...
in the pmap's CPU mask in pmap_activate()/pmap_deactivate().
1998-03-18 21:57:03 +00:00
matthias
214f303d0e
Import from i386 because it contains a nice explanation of our MMU.
1998-03-18 21:52:02 +00:00
tv
c70676bb18
PR #2736 : wrap the softc in #ifdef _KERNEL so userland can include this
...
file to get at the ioctl values without barfing on the softc
1998-03-18 21:21:48 +00:00
thorpej
43614761e3
In cpu_exit() deactivate the address space before freeing the vmspace
...
structure. We will continue to run on this context (which is the
global Lev1map at this point) right up until we switch to proc0's
context in switch_exit().
1998-03-18 20:38:07 +00:00
thorpej
87eb2cfded
Don't call pmap_deactivate() if we jumped into the middle of cpu_switch()
...
from switch_exit(), since by this time, the vmspace will have already
been deactivated and freed.
1998-03-18 20:36:13 +00:00
thorpej
b637a998f4
Add ASN housekeeping and a CPU mask to the pmap.
1998-03-18 19:39:23 +00:00
thorpej
961a955498
Move the "are we active" macros out of the header file.
1998-03-18 19:27:46 +00:00
thorpej
d37acae24c
Add a DIAGNOSTIC checks for the kernel pmap in pmap_create_lev1map()
...
and pmap_destroy_lev1map(). Correct a comment in another DIAGNOSTIC
panic.
1998-03-18 19:21:50 +00:00
thorpej
06b49b8f3e
Change a couple of assert()s to DIAGNOSTIC panics.
1998-03-18 19:12:57 +00:00
thorpej
438599b408
Correct a comment in pmap_bootstrap().
1998-03-18 19:04:42 +00:00
thorpej
56e004c995
Pass the max ASN from the HWRPB to pmap_boostrap().
1998-03-18 19:02:49 +00:00
thorpej
426d2953f5
Add a macro to test if PG_ASM (Address Space Match) is set in a PTE.
1998-03-18 19:00:15 +00:00
bouyer
9f50fca1fd
Add commented out "options FFS_EI"
1998-03-18 16:34:41 +00:00
bouyer
091dafd39f
Add support for reading/writing FFS in non-native byte order, conditioned
...
to "options FFS_EI". The superblock and inodes (without blk addr) are
byteswapped at disk read/write time, other metadatas are byteswapped
when used (as they are acceeded directly in the buffer cache).
This required the addition of a "um_flags" field to struct ufsmount.
ffs_bswap.c contains superblock and inode byteswap routines also used
by userland utilities.
1998-03-18 15:57:26 +00:00
thorpej
63dfa5e1a1
Minor cosmetic cleanup; no functional change.
1998-03-18 07:18:50 +00:00
thorpej
86d534a7d9
- Make MACHINE_NEW_NONCONTIG non-optional.
...
- Maintain two copies of the number and size of physical memory segments.
One copy, mem_clusters[], contains _all_ of physical RAM, for crash dumps.
The other copy, phys_seg_list[], starts out with all of physical RAM (and
is used to initialize mem_clusters[]), but is adjusted to be the memory
actually managed by the VM system.
- Fix computation of physmem; when support for MACHINE_NEW_NONCONTIG was
added, physmem was accidentally changed to not take into account the memory
located before the kernel, or the memory taken up by the kernel itself.
1998-03-18 07:16:10 +00:00
thorpej
02fa4134dc
- Make MACHINE_NEW_NONCONTIG non-optional.
...
- G/C some things left over from the old noncontig code.
1998-03-18 07:12:49 +00:00
thorpej
c718c9e278
- Make MACHINE_NEW_NONCONTIG non-optional.
...
- Make initialization of the message buffer a little less magic-looking.
- Maintain two copies of the number and size of physical memory segments.
One copy, mem_clusters[], contains _all_ of physical RAM, for crash dumps.
The other copy, phys_seg_list[], starts out with all of physical RAM (and
is used to initialize mem_clusters[]), but is adjusted to be the memory
actually managed by the VM system.
- Fix crash dumps with regard to multiple memory segments.
1998-03-18 07:11:22 +00:00
thorpej
c0cfbf8d7d
Make MACHINE_NEW_NONCONTIG non-optional.
1998-03-18 07:07:11 +00:00
kml
ffb211fb9d
Ensure that the TCP segment size reflects the size of TCP options
...
in the packet. This fixes a bug that was resulting in extra packets
in retransmissions (the second packet would be 12 bytes long,
reflecting the RFC1323 timestamp option size).
1998-03-17 23:50:30 +00:00
chuck
1e137afb43
typo in printf
1998-03-17 22:09:32 +00:00
thorpej
f80f6601b0
Fix a typo in the bus_dma changes.
1998-03-17 21:30:38 +00:00
cgd
9b6471a47d
remove a few unnecessary and incorrect pointer checks.
1998-03-17 21:27:25 +00:00
chuck
6282e70846
print more info for a diagnostic panic
1998-03-17 19:15:07 +00:00
marc
efbd14c45d
mounting a union causes VOP_WHITEOUT to be called on the upper root
...
vn, with a 0 component. If the upper fs was a unionfs,
union_whiteout() would deref compnent to get a struct proc, and panic.
struct proc was only being passed to FIXUP, which never used it. It
turns out this happened a lot. I ripped most of the unneeded code
out, and left in the few places that really did need the proc handle.
1998-03-17 08:36:57 +00:00
mrg
be92b169f8
oops, missed a bit of KNF here.
1998-03-17 07:50:08 +00:00
thorpej
9c1e8fc2ed
Implement the PMAP_NEW interface for UVM.
1998-03-17 05:15:24 +00:00
thorpej
1477f77353
Properly depend on the PMAP_NEW option.
1998-03-17 05:00:18 +00:00
thorpej
6bbfd3e9ff
Use pmap_kenter_pa() in _bus_dmamem_map() if PMAP_NEW.
1998-03-17 04:59:36 +00:00
thorpej
f8cff5ab23
Add a software PTE bit that indicates that a va -> pa mapping was entered
...
in the physical->virtual list.
1998-03-17 04:53:43 +00:00
gwr
19db8f3960
Add an anonymous declaration of struct pmap in pmap.h and put
...
typedef struct pmap *pmap_t there, removing the latter from
pmap3.h and pmap3x.h (so LKMs can use <vm/vm.h>).
1998-03-16 16:25:38 +00:00
leo
6356561f35
Use bus-dma functions. Also make sure that dma will not use the bounce
...
buffers (Tested & requested by Noriyuki Soda).
1998-03-16 15:48:00 +00:00
leo
d2551d5b3f
Use bus-dma functions.
1998-03-16 15:36:17 +00:00
gwr
1284f08847
Make this match ../libsa/dev_disk.c
1998-03-16 14:49:26 +00:00
mycroft
2397f92b38
Implement CDIOCCLOSE.
1998-03-16 04:17:53 +00:00
mycroft
e834dd10e7
Add CDIOCCLOSE.
1998-03-16 04:17:23 +00:00
fair
78836acdba
make sure _SUN3_ or _SUN3X_ is defined.
1998-03-15 22:36:08 +00:00
fair
c89e1afb8b
saio.h is in ../libsa/, not <machine> and the Makefile does the right thing with -I, so fix compile error
1998-03-15 02:28:19 +00:00
mark
27ef26a468
Added csa device and scsibus attachments.
1998-03-14 17:15:52 +00:00
mark
29075565c0
Updated for new csa driver, the change to the oak driver and
...
the removal of the local ncr5380 driver.
1998-03-14 17:10:13 +00:00
mark
d15ce201d7
This local version of the ncr5380 driver is not longer needed now the
...
oak driver has been rewritten to use the MI one is /dev/ic/
1998-03-14 17:08:19 +00:00
mark
d6f6e4ee8e
Complete re-write of the Oak SCSI 1 driver to use the generic ncr5380
...
driver. Currently only supports 8 bit PIO.
1998-03-14 17:06:17 +00:00
mark
a1dd6a915a
Initial commmit of csa driver for the Cumana SCSI 1 adapter.
...
This driver uses the generic ncr5380 driver and currently only supports
8 bit PIO data transfers.
1998-03-14 17:04:30 +00:00
leo
4e466a839d
Move the bus_* functions from machdep.c to bus.c .
1998-03-13 21:05:10 +00:00
is
a830b47531
Ite keyboard map, for spanish Amiga keyboards.
...
Contributed by Inaki Saez <jisaez@sfe.indra.es>.
1998-03-13 19:28:11 +00:00
cgd
85687409e1
don't forget to set dma_arg, when using DMA functions. also, minor
...
spacing bogon cleanup. Pointed out by Kazuki Sakamoto in PR 5157.
1998-03-13 16:50:07 +00:00
ragge
52fbd35380
Add support for "root on qe".
1998-03-13 11:40:19 +00:00
cgd
b9eaff9db8
when considering attaching compatibility-mode channels, try a quick reset
...
and see if anything responds. if nothing (that's attributable to the
PCI IDE controller) responds, then that channel either has no devices on
it or has been disabled (via a non-standard mechanism) by the BIOS. If nothing
responds, don't map the compat.-mode interrupt or attach the wdc to that
channel, because the BIOS is likely to assign that IRQ to a different PCI
device. If that happens, the kernel will panic because that device will
try to map the IRQ level-triggered, but the compat interrupt will have been
mapped edge-triggered. (One possible way around this is to map the compat
interrupt edge-triggered, but it's not clear reading the spec that this
is correct or desirable.)
1998-03-12 23:34:29 +00:00
bouyer
44650d03a6
Better fix for PR 5113, per discussion with fvdl: now that the vnode locking
...
interface allow recusive locks, use it instead of the local hack to avoid
recursive locking.
1998-03-12 16:51:41 +00:00
augustss
09f43c63cf
Update probing for GUS a little. From soren@t.dk,
...
closes PR kern/5148.
1998-03-12 12:28:50 +00:00
thorpej
00452b441f
Move PTE-related constants here, and make them not depend on a hard-coded
...
page size (i.e. use the one initialized from the HWRPB at boot time).
Do a bit of cleanup while here, rendering old inherited constants obsolete.
1998-03-12 07:29:21 +00:00
thorpej
4d8723232d
Garbage-collect a bunch of constants that were inherited, but are no
...
longer necessary or make sense.
1998-03-12 07:28:07 +00:00
thorpej
bd3c0e36cf
Garbage-collect this a bit.
1998-03-12 06:47:11 +00:00
thorpej
00a597fe92
Use vm_page_alloc1() and vm_page_free1() as appropriate.
1998-03-12 06:27:36 +00:00
thorpej
7bb58d92ce
Garbage-collect; vm_page_alloc1() and vm_page_free1() are now in MI code.
1998-03-12 06:26:26 +00:00
thorpej
d214d5c30a
Add vm_page_alloc1() and vm_page_free1(), which allocate/free single
...
VM pages, not associated with any object.
1998-03-12 06:25:52 +00:00
thorpej
1f8d640c4b
Bump maxusers to 64.
1998-03-12 06:04:47 +00:00
thorpej
6e6e2d7ebf
Dump maxusers to 32.
1998-03-12 06:04:31 +00:00
thorpej
d9a1f8ba36
Adjust the default and low-bound maxusers, now that the pmap can deal.
1998-03-12 06:04:14 +00:00
thorpej
e3bda606eb
Add support for UVM.
1998-03-12 05:45:04 +00:00
thorpej
dfe0937a7e
If not DEBUG, use the Virtual Page Table to get the PTE for kernel mappings
...
in pmap_enter() and pmap_emulate_reference().
1998-03-12 02:59:22 +00:00
thorpej
30766180a3
Nuke these; they are long-since obsolete.
1998-03-12 01:28:01 +00:00
thorpej
152a4bfa60
Increase the maximum userspace address to 4TB. Leave the stack at 8G
...
for now, but make a note that we might want to move it down to 4G later.
1998-03-12 01:25:52 +00:00
thorpej
e046925c3a
Massive cleanup and partial rewrite of the NetBSD/alpha pmap module.
...
Major change is that page table page management has been completely
rewritten. Page tables are now accessed via K0SEG (no more KVA space
wasted on user page tables), and a much larger user address space is
supported.
Many thanks to Chris Demetriou and Ross Harvey for helpful insight and
debugging assistance.
1998-03-12 01:24:52 +00:00
thorpej
900e1c90bd
Nuke ALPHA_STSIZE and ALPHA_MAX_PTSIZE. Add macros to compute and operate
...
on segments mapped by L1 and L2 PTEs.
1998-03-12 01:21:21 +00:00
ragge
51964fa1e8
Standalone routine for DEQNA, written by Roar Thronaes.
1998-03-11 22:13:55 +00:00
leo
dd709a7f89
Make it possible to interface to big-endian cpu's.
1998-03-11 20:57:03 +00:00
fvdl
f75b1046d4
Fix flags mess-up in vget. LK_EXCLUSIVE -> 0 (even indicated in the
...
comment, d'oh!)
1998-03-11 15:52:02 +00:00
augustss
d644f9b973
Apply cs4236 fix from rh@vip.at. Closes PR 5143.
1998-03-11 09:26:05 +00:00
chuck
927ec8b012
bug fix: when doing uvm_vnp_sync() actually skip over blocked uvn's so
...
that we don't try and sync them later. should get rid of the
"uvm_vnp_sync: dying vnode on sync list" related warnings that were
occuring during a "make install."
1998-03-11 01:37:40 +00:00
chuck
b87759e7f2
bug fix: bring in-line with rest of uvm: use kernel_map for object offset
...
rather than kmem_map. should fix PR#5129 reported by
Lennart Augustsson.
1998-03-10 14:53:20 +00:00
chuck
21624aaf72
uvm_dump now dumps some important pointers for debugging
1998-03-10 14:36:55 +00:00
kleink
5cf59ee9ad
Move the permission check in vfs_syscalls.c::change_owner() back to
...
ufs_chown() again - the facility required in this context would be a
filesystem-specific super-user determination, which is not available yet.
1998-03-10 11:56:40 +00:00
kleink
071ab13ebb
Move the permission check in change_owner() back to ufs_vnops::ufs_chown()
...
again - the facility required in this context would be a filesystem-specific
super-user determination, which is not available yet. Also, add some
clarification to a comment.
1998-03-10 11:49:33 +00:00
leo
0dd40d6952
Bus-dma implementation for the atari. Heavily based on the i386
...
implementation.
1998-03-10 11:42:53 +00:00
mrg
d59aba65d9
build msdosfs LKM with UVM support. pr#5014
1998-03-10 06:53:36 +00:00
scottr
20a21d162e
Sync mc_rint() prototype with if_mcvar.h. (How did this
...
one slip by? Forty lashes for me...)
1998-03-09 23:05:28 +00:00
thorpej
7225aae835
Move check for user-pmap-still-using-Lev1map from pmap_enter_ptpage()
...
to pmap_enter().
1998-03-09 22:31:23 +00:00
christos
83449d8960
- fix pcmcia_scan_cis to return:
...
-1 error
0 desired tuple not found
1 desired tuple found
1998-03-09 21:54:13 +00:00
christos
441bea9142
- more 3c562 magic; document that the 0x88 tuple only works in 3c562a-c
...
and not in d where it goes back to use the eeprom method. So we detect
when the tuple method fails and fall back to the original method.
- even more 3c562 magic; the updated linux driver mentions that addresses
0x??00-0x??7f only work instead of the previous...
1998-03-09 21:52:31 +00:00
thorpej
daa9cfae50
Don't do the Segtabzero-for-dev-zero hack.
1998-03-09 20:43:28 +00:00
thorpej
e456fc0538
Simplify/speed up pagemove() somewhat by using the Virtual Page Table.
1998-03-09 20:17:03 +00:00
thorpej
78a173bada
Define VPT_INDEX(), which computes the index into the Virtual Page Table
...
of the PTE that maps the specified virtual address.
Thanks to Chris Demetriou and Ross Harvey for clarifying the VPT.
1998-03-09 19:57:57 +00:00
mark
fd250aecdd
Remove the width specifier in the podule manufacturer printf().
1998-03-09 19:14:44 +00:00
mark
eff3470d02
Make this driver build again. Needs overhaulling.
1998-03-09 19:12:59 +00:00
mark
c2efbb1d9a
Implement the bus_space_write_multi_1() function for the podulebus
...
(podulebus_wm_1()).
1998-03-09 19:11:30 +00:00
is
20251e62f9
Bug fix for the Ariadne panic: don't touch addresses outside the buffer we
...
got passed.
- analysis by Charles Hannum
- bugfix by Michael van Elst
- test by Thorsten Frueauf & Matthias Scheler
1998-03-09 17:00:33 +00:00
mikel
a57a8d66ff
let panic() call DDB, don't do it ourselves; from Nathan Williams in PR 5131
1998-03-09 06:32:51 +00:00
mikel
7d4b078022
print proper invalid IRQ, from Heiko Rupp in PR 5128
1998-03-09 06:20:26 +00:00
mrg
8106d13596
KNF.
1998-03-09 00:58:55 +00:00
is
90e5d61467
Conditionally (on defined(DRACO)) compile new DraCo keyboard code sequences.
...
Pointed out by Bernd Ernesti.
1998-03-08 19:59:15 +00:00
gwr
56fd5cb1ae
Like INSTALL and INSTALL3X, leave out DDB.
...
(Can patch using the PROM if needed.)
1998-03-08 19:38:05 +00:00
gwr
d7e49b6a5b
Make comments refer to GENERIC3X, not GENERIC
1998-03-08 19:33:09 +00:00
gwr
9c0c7119c3
Leaner configurations for the installation media.
...
(Small enough to work on all machines.)
1998-03-08 19:29:40 +00:00
gwr
b043198b53
Sync with sun3/machdep.c (should factor out common stuff...)
...
> Do the "early breakpoint" (if booted with "-d") even if we
> have only the PROM to handle it, so one can patch things.
1998-03-08 19:12:53 +00:00
gwr
7db30c0844
Do the "early breakpoint" (if booted with "-d") even if we
...
have only the PROM to handle it, so one can patch things.
1998-03-08 19:09:58 +00:00
gwr
d342d51752
Fix comments
1998-03-08 18:56:08 +00:00
gwr
4242e2ab10
No need for default base addresses here anymore.
1998-03-08 18:54:23 +00:00
gwr
5242b3b02a
Need to use an offset to map the colormap H/W now that the
...
config address is that of the P4 register. Oops.
1998-03-08 18:53:17 +00:00