Commit Graph

14399 Commits

Author SHA1 Message Date
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
gwr
1284f08847 Make this match ../libsa/dev_disk.c 1998-03-16 14:49:26 +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
ragge
52fbd35380 Add support for "root on qe". 1998-03-13 11:40:19 +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
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
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
leo
0dd40d6952 Bus-dma implementation for the atari. Heavily based on the i386
implementation.
1998-03-10 11:42:53 +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
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
7d4b078022 print proper invalid IRQ, from Heiko Rupp in PR 5128 1998-03-09 06:20:26 +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
thorpej
b3d7fd8f3f Just use vtophys() to get the PCB phys addr. 1998-03-07 04:20:45 +00:00
thorpej
9c236919e9 Rewrite pmap_extract(), and use it as appropriate in vtophys() rather
than (almost) duplicating the code.
1998-03-07 03:37:02 +00:00
thorpej
cd7d081d02 Export a pointer to the Virtual Page Table. 1998-03-07 03:15:43 +00:00
thorpej
f7d64ef778 Clean up a comment. 1998-03-07 03:15:06 +00:00
thorpej
f55b280ffc Clean this up a bit. 1998-03-07 01:44:08 +00:00
thorpej
dcbc04e7af Rename Sysptmap and Sysmap to Lev2map and Lev3map, respectively, and
add some comments describing in better detail what they are and how they
are used.
1998-03-07 01:43:54 +00:00
thorpej
60e6d2e48f Update a comment in pagemove(). 1998-03-07 01:26:04 +00:00
thorpej
ff155df72a Nuke kvtopte(). Also, change pagemove() to lookup the from and to PTEs
in each iteration of the loop, since PT pages may not necessarily be
contiguous.
1998-03-07 01:11:39 +00:00
thorpej
60d30d3838 Nuke kvtopte() and ptetokv(). 1998-03-07 01:10:05 +00:00
thorpej
58a7bd9288 Nuke the vatopa() macro. 1998-03-07 00:42:07 +00:00
thorpej
059d0c72de pmap_ste() -> pmap_l2pte(), pmap_pte() -> pmap_l3pte() 1998-03-06 23:41:01 +00:00
thorpej
8081bd3017 Move pmap_pte*() macros into the header file, nuke pmap_ste_v(), add
pmap_lev1pte().
1998-03-06 23:19:26 +00:00
drochner
84963f97b5 Move allocation and mapping of the page table page for "bioscall" from
locore to here.
1998-03-06 14:53:06 +00:00
drochner
25f48b177c Use NKPDE page table pages (instead of only one) for temporary mapping
in transition to relocated mode.
Remove preparation for "bioscall" identity mapping - it is in the way
and can be done later in init386().
Should solve the problem described in PR 4832 and 5102.
1998-03-06 14:51:36 +00:00
tsubai
2630ce2157 label 1: within #ifdef pmax is referenced from outside.
so it didn't work without -Dpmax.
1998-03-06 13:54:02 +00:00
fvdl
6e434a4386 Make this compile again. 1998-03-06 09:06:51 +00:00
jtk
4fcd1c2cdd include <machine/vm86.h> if VM86 option defined 1998-03-06 04:12:56 +00:00
thorpej
92abc814ff Clean this up a bit. 1998-03-06 00:21:40 +00:00
tsubai
10f8023240 Added arch/newsmips/Makefile. 1998-03-05 15:03:20 +00:00
scottb
d24f809241 Added prototype for ibcs2_sendsig. 1998-03-05 05:23:49 +00:00
scottb
b8bb612601 Add ibcs2_sendsig function.
Add ibcs2_sigcode function to locore because we need to call our own
	version of sigreturn.
Add support for emul_ibcs2_xout (XENIX) structure because we need to emulate
	some syscalls differently.
1998-03-05 04:20:44 +00:00
thorpej
53e3bf87b9 Fix think'o in last kcopy() change. 1998-03-05 02:10:57 +00:00
thorpej
df1fcaa8e3 Rename NetBSD/news to NetBSD/newsmips. 1998-03-04 22:26:35 +00:00
thorpej
157b712178 Rename NetBSD/news to NetBSD/newsmips. 1998-03-04 22:14:13 +00:00
mikel
415c4a15df duplicate i386 fixes (q.v.) 1998-03-04 07:20:13 +00:00
cgd
8854631e5f add file declarations for MD pciide file.
add (temporary) device/file declarations for the MI PCI IDE controller
driver.  These are present here until the wdc declaration mess is
resolved, because until then they need to go into MD files files in
places where they play nice with the wdc declaration.
1998-03-04 06:40:29 +00:00
thorpej
f766e521be In kcopy(), make sure we save and restore the old fault handler; kcopy()
is called from uiomove(), which may be in the code path of servicing
a non-fatal page fault caused by a copyin() or copyout().

Originally suggested by Steve Woodford.
1998-03-04 06:39:14 +00:00
cgd
ccdea2d9c8 machine-dependent bits (for compat interrupt mapping) of PCI IDE driver. 1998-03-04 06:35:47 +00:00
thorpej
a2db880e8c In kcopy(), make sure we save and restore the old fault handler; kcopy()
is called from uiomove(), which may be in the code path of servicing
a non-fatal page fault caused by a copyin() or copyout().
1998-03-04 02:11:58 +00:00
thorpej
da3c8e52f1 Make this work with DEBUG="-g" 1998-03-03 07:38:40 +00:00
thorpej
803f5aa188 Remove the memcpy() alternate entry point for bcopy(), a temporary measure
until the memcpy()/bcopy() thing is worked out.
1998-03-02 23:40:42 +00:00
thorpej
f02b1a7a33 Make this compile again in light of Lite2 merge. (Yuck.) 1998-03-02 23:17:19 +00:00
scottr
da7d7ca568 Add magic number for driver map structure. (oops!) 1998-03-02 22:40:31 +00:00
cgd
09dbd9234d fix typo in last commit (noticed on inspection) 1998-03-02 21:36:55 +00:00
cgd
7ff7b02fac allow LDSTATIC definition to be overridden by bsd.own.mk/mk.conf 1998-03-02 20:01:05 +00:00
cgd
9da165424c allow LDSTATIC definition to be overridden by bsd.own.mk/mk.conf 1998-03-02 19:57:00 +00:00
fvdl
25bc5ab033 Don't make simple_lock decls dependent on NCPU > 1, be consistent with
the rest of the kernel.
1998-03-02 18:06:32 +00:00
fvdl
ede1a3fc5b Make this compile again. 1998-03-02 17:58:34 +00:00
drochner
e3d8e9c72b enable compatibility for old partition ID per default 1998-03-02 17:07:53 +00:00
ragge
8e2874bf64 Support for UVM on VAXen. 1998-03-02 17:00:00 +00:00
drochner
3bb9e75863 Change MBR partition type for NetBSD to 0xa9, like the i386 port.
Provide compatibility via COMPAT_386BSD_MBRPART.
1998-03-02 16:18:17 +00:00
ross
03169f0089 Second part of cdev_decl() migration. Declare cputype variable.
Add config info for a12 switch driver and console driver.
1998-03-02 08:04:04 +00:00
ross
41a61f7c9e Update interrupt name table for a12 crossbar. 1998-03-02 07:47:52 +00:00
ross
b8d5ca6c78 Centralize cdev_decl() for these MI drivers + a12dc in machine/conf.h (cgd)
(This does not introduce any config or option dependencies.)
1998-03-02 07:44:18 +00:00
ross
ff94450f84 Use the more consistent register field names & add ctags(1) keys. 1998-03-02 07:07:41 +00:00
ross
6e6f663204 Rewrite of interrupt dispatch logic. Add ctags(1) keys for *a12*.h files. 1998-03-02 07:03:20 +00:00
ross
13aeff8570 Fix attachment message. 1998-03-02 06:59:38 +00:00
ross
1ada245647 Support attachment of xb and a12dc, define most of the remaining
core logic register fields.
1998-03-02 06:56:16 +00:00
ross
469f9b6126 Clean up attachment code and prototypes. 1998-03-02 06:53:34 +00:00
mikel
dfb1317f8a remove some lint; from Thorsten Frueauf in PR 5085.
also made one implicit int declaration explicit.
1998-03-02 06:20:16 +00:00
mikel
3119a26ccd s/CFLAGS/CPPFLAGS/ 1998-03-02 06:17:29 +00:00
thorpej
7a571c643b Rename a few macros to better describe what they are:
- kvtol1pte() -> l1pte_index()
- vatoste() -> l2pte_index()
- vatopte() -> l3pte_index()
1998-03-02 00:49:01 +00:00
thorpej
54bb4f9e6e Rewrite pmap_enter() to have a more sane structure, useful for when
page table page management is rewritten.
1998-03-02 00:22:54 +00:00
fvdl
25a2f5ee46 Put #if NCPU > 1 around initialization of simple_locks too, to avoid
compile errors.
1998-03-01 23:19:01 +00:00
augustss
1918ca1e5b Change ie[01] to ef, ai, and ix so that these kernels can be used again. 1998-03-01 20:45:26 +00:00
fvdl
0485953099 Make this compile after the lite2 merge. 1998-03-01 13:22:55 +00:00
ross
4ebd177543 Remove the A12 from the rogue's gallery of the promcons-addicted. 1998-03-01 08:17:36 +00:00
ross
39254d4d4b Poll console at 50 Hz, not 1024 Hz! (4 tlb and imb coherency ops per poll
make this exceedingly expensive even on an alpha)  Note: only 3 systypes
still use promcons.
1998-03-01 07:40:11 +00:00
is
eb3cda883b Probe for the native DraCo (rekeycaped MF-II) keyboard, instead of guessing
it from the QuickLogic chip version byte.
If found, switch it to non-autorepeat mode (which seems to avoid the race
condition which made my keyboard driver / X server lose state under heavy
interupt load).
If not found, assume an Amiga keyboard on CIA-A.
XXX We should probe for the presence of the CIAs on the DraCo.
1998-02-28 21:53:15 +00:00
veego
b6ca941200 Sync it with the i386 version so lint doesn't complains about an syntax
error for __warn_references.
1998-02-28 12:20:25 +00:00
ragge
ad1f451760 Move the boot program higher up in memory; to allow loading of bigger kernels. 1998-02-28 12:10:13 +00:00
ross
2170c2a46d Force elf symbol sections to an addressable boundary. 1998-02-28 10:38:55 +00:00
cgd
18a1481f7a Use NFS_BOOT_DHCP rather than NFS_BOOT_BOOTP. The former is more
flexible, and the boot blocks use DHCP already(!!!) and it'd be good
for the kernel to be consistent with them.
1998-02-28 02:01:32 +00:00
pk
d22f956657 Remove `_NEW_I82586'. 1998-02-28 01:15:51 +00:00
thorpej
ba3ddd48ad Move the code that enters and removes entries from the pv_table into
functions pmap_enter_pv() and pmap_remove_pv().
1998-02-28 01:07:05 +00:00
pk
32ad582965 Replace monolithic ie0' and ie1' driver by ef', ix', `ai' front-ends. 1998-02-27 23:57:31 +00:00
thorpej
9bbe89ea3f Garbage-collect the kpt_page stuff; it was basically unused in this
pmap, and isn't applicable to how dynamically allocated kernel page
tables will work on the Alpha.
1998-02-27 22:25:25 +00:00
thorpej
11490942aa Nuke memcpy() from here; it's in libkern. 1998-02-27 21:38:31 +00:00
thorpej
faf1155de5 Revamp pv_table management:
- Make pv_table an array of struct pv_head's, which contain LIST_HEADs
  for the pv_entry's, as well as page attributes (mod, ref, ptpage).
- Use <sys/queue.h> to manipulate pv_entry lists.
- Fix several obvious bugs in pmap_collect_pv().
- Use K0SEG to access pv_page's.
1998-02-27 19:39:03 +00:00
thorpej
5ec2d93c1e Fix a typo. 1998-02-27 19:13:04 +00:00
cgd
84fad9aba3 make it clear that the "old BSD partition ID!" message is a warning (by
prefacing it with "WARNING: ").
1998-02-27 18:57:40 +00:00
scottr
e3dfc809c6 Remove dpme.h, as it's no longer necessary. 1998-02-27 09:17:18 +00:00
scottr
c1ea2b45ff Integrate Macintosh partition map and driver descriptor map definitions. 1998-02-27 09:15:21 +00:00
thorpej
f17bbcfffa Changes necessitated by the fact that all pmaps have their own level 1
page tables: use curpcb to determine which level 1 map defines the
current VM context, and use that level 1 map when mapping and unmapping
the PROM.
1998-02-27 04:03:00 +00:00
thorpej
c4e7c88520 Step 1 of the Grand Alpha Pmap Rototill:
- Clean up pmap_bootstrap() some, and make a slight change to how the
  PROM mappings are saved.
- Give each pmap its own level 1 page table, rather than sharing a global
  level 1 page table.  This will eventually allow for Very Large user
  address spaces.
- Keep a list of all pmaps, so that when kernel level 2 page tables are
  allocated, all level 1 tables may be updated.
- Add a couple of functions for allocating and freeing page table pages.
- Add a few comments about ASN allocation.
1998-02-27 03:59:58 +00:00
thorpej
5d56ce57ba Several changes related to all pmaps having their own level 1
page table:
- Update the current hwpcb pointer in the SWITCH_CONTEXT macro, so that
  we know it's always correct.
- Optimize cpu_switch(): if we're switching to ourselves, skip the
  actual context swap.
- Clean up some comments and remove some code rendered obsolete by
  the fact that address spaces are now selected by switching to a
  new level 1 page table.
1998-02-27 03:53:49 +00:00
thorpej
cb6972d4d3 Implement alpha_pal_swpctx(). 1998-02-27 03:44:53 +00:00
scottr
f5f997d1dc Bump down maxusers to a reasonable value on a machine with 8MB. 1998-02-27 01:33:14 +00:00
gwr
0228ba8d86 Make the messages printed by _nodb_trap() more helpful. 1998-02-26 20:31:13 +00:00
gwr
eeb690065b Use trap 14 as PROM abort 1998-02-26 19:30:59 +00:00
gwr
23b16936e8 Fix build with NFB=0 1998-02-26 16:01:18 +00:00
perry
edac6b7ff2 define kernel only inline static functions only #ifdef _KERNEL 1998-02-26 01:57:30 +00:00
thorpej
8d0d59284b Use allocsys(), mips_init_msgbuf(), and mips_init_proc0(), plus small
changes for MACHINE_NEW_NONCONTIG.
1998-02-25 23:31:29 +00:00
thorpej
d6085102e9 DECstations have one physical memory segment. 1998-02-25 23:31:03 +00:00
thorpej
b3c5864223 Use allocsys(), mips_init_msgbuf(), and mips_init_proc0(), plus small
changes for MACHINE_NEW_NONCONTIG.
1998-02-25 23:30:33 +00:00
thorpej
c2e692ff93 PICA has one physical memory segment. 1998-02-25 23:30:11 +00:00
thorpej
330e4f8d24 Fix a few screwups that made it impossible to config these kernels. 1998-02-25 23:29:49 +00:00
thorpej
477d46784e Use allocsys(), mips_init_msgbuf(), and mips_init_proc0(), plus small
changes for MACHINE_NEW_NONCONTIG.
1998-02-25 23:28:25 +00:00
thorpej
d184112bd5 NEWS has one physical memory segment. 1998-02-25 23:27:20 +00:00
thorpej
da6458bfb4 Implement and switch to MACHINE_NEW_NONCONTIG. 1998-02-25 23:26:41 +00:00
thorpej
4673e0c339 Prototype allocsys(), mips_init_msgbuf(), and mips_init_proc0(). 1998-02-25 23:25:16 +00:00
thorpej
469520ccd4 Pull some code out of N mach_init() functions, and place it in a
common place:
- allocsys(), which computes space for and assigns addresses
  to kernel data structures at boot time.
- mips_init_msgbuf(), which initializes the error message
  buffer at the end of core.
- mips_init_proc0(), which initializes the U-area for proc0
  and nullproc.
1998-02-25 23:24:35 +00:00
perry
398e0f8c64 add /* LINTLIBRARY */ to supress lots of "unused function" warnings
from lint.
1998-02-25 22:36:45 +00:00
perry
1ed8ea9966 note second parm of sysarch() is now void *, + trivial KNF, etc. 1998-02-25 21:41:55 +00:00
perry
56c01cbd82 change second parm of sysarch() from char * to void * 1998-02-25 21:24:56 +00:00
drochner
3ee0e26f7d document 3c900 TPO support, add comments 1998-02-25 12:19:12 +00:00
drochner
41bbe0c360 3c900 TPO works too, as reported by Feico Dillema <dillema@acm.org>. 1998-02-25 12:15:49 +00:00
chuck
e308ffd825 compute st_map size properly 1998-02-24 19:01:59 +00:00