Commit Graph

249 Commits

Author SHA1 Message Date
fredette d925ceec5b vm_offset_t -> vaddr_t or paddr_t, as appropriate.
Purge register qualifiers.
bcopy() -> memcpy(), bzero() -> memset()
No longer try to protect the kernel with uvm_map_protect,
pmap_bootstrap has already done this.
Now use pmap_kenter_pa/pmap_kremove when dumping, instead
of pmap_enter/pmap_remove.
2001-11-30 18:10:27 +00:00
fredette bbb634ca9e vm_offset_t -> vaddr_t or paddr_t or db_addr_t, as appropriate.
vm_size_t -> vsize_t
Purge register qualifiers.
bcopy() -> memcpy(), bzero() -> memset()
2001-11-30 18:06:55 +00:00
fredette 94ae8e87a9 Purge vm_offset_t. 2001-11-30 17:52:33 +00:00
fredette b9b98bff66 Convert to use genassym.cf and genassym.sh, as other ports do. 2001-11-30 15:58:24 +00:00
fredette af0a38f1d6 In kernel config files, now mention the options SCSI_OLD_NOINQUIRY,
NFS_V2_ONLY, and VNODE_OP_NOINLINE, commented out as appropriate
for each configuration.
Convert to use genassym.cf and genassym.sh, as other ports do.
2001-11-30 15:54:31 +00:00
fredette 708a12fced A new config file for VME-only machines 2001-11-26 21:20:35 +00:00
fredette 877ea05895 Only declare the console keyboard on zs if it's a Sun-2
or later keyboard.
2001-11-26 18:06:36 +00:00
fredette 6aa55077e7 Disabled some more things that lighter kernels don't need,
and picked up some formatting fixes from GENERIC.
2001-11-26 17:51:08 +00:00
lukem 03aef4723c cleanup:
options SPACE TAB
	makeoptions TAB
	psuedo-device TAB
	remove trailing whitespace
	replace multiple spaces -> tabs
	options "FOO" -> options FOO
	options "FOO=bar" -> options FOO=bar
	options "FOO=\"bar\"" -> options FOO="\"bar\""
2001-11-20 12:56:17 +00:00
lukem 99bccc3cab - pull in opt_kgdb.h where necessary
- replace opt_kgdb_machdep.h with opt_kgdb.h
- defparam opt_kgdb.h:
	KGDB_DEV KGDB_DEVNAME KGDB_DEVADDR KGDB_DEVRATE KGDB_DEVMODE
- move from opt_ddbparam.h to opt_ddb.h:
	DDB_FROMCONSOLE DDB_ONPANIC DDB_HISTORY_SIZE DDB_BREAK_CHAR SYMTAB_SPACE
- replace KGDBDEV with KGDB_DEV
- replace KGDBADDR with KGDB_DEVADDR
- replace KGDBMODE with KGDB_DEVMODE
- replace KGDBRATE with KGDB_DEVRATE
- use `9600' instead of `0x2580' for 9600 baud rate
- use correct quotes for  options KGDB_DEVNAME="\"com\""
- use correct quotes for  options KGDB_DEV="17*256+0"
- remove unnecessary dependancy on Makefile for kgdb_stub.o
- minor whitespace cleanup
2001-11-20 08:43:19 +00:00
soren 662f877587 MAXSLP is defined to be a machine-independent scheduling parameter,
so move it into sys/param.h.
2001-11-15 18:06:11 +00:00
thorpej 47514a31be Remove unneeded declarations of the db_machine_init() function. The
ARM ports are the only ones that actually have one, and it is about
to change.
2001-11-09 06:52:23 +00:00
jmc 6d536163de Change defaults for kernel compiles. Default all to USETOOLS?=no and have
the etc Makefile override that by putting USETOOLS into $.MAKEOVERRIDES
This way the default for kernel compiles is still to use the installed
toolchain instead of depending on $TOOLDIR. $TOOLDIR can be used by
simply adding USETOOLS=yes to the command line as usual.

Adjust each ports template to set the default no setting and also pull in
bsd.own.mk if they weren't already to ensure they'll build correctly
with the new toolchain setup.
2001-10-26 06:45:33 +00:00
thorpej ba217c4196 Set MACHINE_ARCH explicitly in Makefiles for which it is constant.
Also, since config(8) now explcitly sets MACHINE, there is no need
to do it here in the Makefile.
2001-10-23 19:26:41 +00:00
fredette d17c1f50bd Changed an obio to read Multibus. 2001-10-01 01:53:31 +00:00
fredette 65df8b69be Added the prom_kbdid function, to help us figure out if
the console keyboard is on the parallel interface or zs1.
2001-10-01 01:46:56 +00:00
chs 64c6d1d2dc a whole bunch of changes to improve performance and robustness under load:
- remove special treatment of pager_map mappings in pmaps.  this is
   required now, since I've removed the globals that expose the address range.
   pager_map now uses pmap_kenter_pa() instead of pmap_enter(), so there's
   no longer any need to special-case it.
 - eliminate struct uvm_vnode by moving its fields into struct vnode.
 - rewrite the pageout path.  the pager is now responsible for handling the
   high-level requests instead of only getting control after a bunch of work
   has already been done on its behalf.  this will allow us to UBCify LFS,
   which needs tighter control over its pages than other filesystems do.
   writing a page to disk no longer requires making it read-only, which
   allows us to write wired pages without causing all kinds of havoc.
 - use a new PG_PAGEOUT flag to indicate that a page should be freed
   on behalf of the pagedaemon when it's unlocked.  this flag is very similar
   to PG_RELEASED, but unlike PG_RELEASED, PG_PAGEOUT can be cleared if the
   pageout fails due to eg. an indirect-block buffer being locked.
   this allows us to remove the "version" field from struct vm_page,
   and together with shrinking "loan_count" from 32 bits to 16,
   struct vm_page is now 4 bytes smaller.
 - no longer use PG_RELEASED for swap-backed pages.  if the page is busy
   because it's being paged out, we can't release the swap slot to be
   reallocated until that write is complete, but unlike with vnodes we
   don't keep a count of in-progress writes so there's no good way to
   know when the write is done.  instead, when we need to free a busy
   swap-backed page, just sleep until we can get it busy ourselves.
 - implement a fast-path for extending writes which allows us to avoid
   zeroing new pages.  this substantially reduces cpu usage.
 - encapsulate the data used by the genfs code in a struct genfs_node,
   which must be the first element of the filesystem-specific vnode data
   for filesystems which use genfs_{get,put}pages().
 - eliminate many of the UVM pagerops, since they aren't needed anymore
   now that the pager "put" operation is a higher-level operation.
 - enhance the genfs code to allow NFS to use the genfs_{get,put}pages
   instead of a modified copy.
 - clean up struct vnode by removing all the fields that used to be used by
   the vfs_cluster.c code (which we don't use anymore with UBC).
 - remove kmem_object and mb_object since they were useless.
   instead of allocating pages to these objects, we now just allocate
   pages with no object.  such pages are mapped in the kernel until they
   are freed, so we can use the mapping to find the page to free it.
   this allows us to remove splvm() protection in several places.

The sum of all these changes improves write throughput on my
decstation 5000/200 to within 1% of the rate of NetBSD 1.5
and reduces the elapsed time for "make release" of a NetBSD 1.5
source tree on my 128MB pc to 10% less than a 1.5 kernel took.
2001-09-15 20:36:31 +00:00
chris 0e7661f023 Update pmap_update to now take the updated pmap as an argument.
This will allow improvements to the pmaps so that they can more easily defer expensive operations, eg tlb/cache flush, til the last possible moment.

Currently this is a no-op on most platforms, so they should see no difference.

Reviewed by Jason.
2001-09-10 21:19:08 +00:00
fredette 2468247eff In _bus_dmamap_load, now check the return value of pmap_extract
under DIAGNOSTIC, and fixed a bug where we weren't putting the
right size into a newly valid map.
2001-09-06 21:38:40 +00:00
fredette b1b29ae867 Added -D__SVR4_ABI__ to XDEFS. Without it, m68k libkern assembly
functions don't return pointer values in %a0.
2001-09-06 20:04:16 +00:00
atatat 97c67a9bae Add bridge pseudo devices to GENERIC configs 2001-09-01 21:52:23 +00:00
fredette d77c828c64 Fixed a bug processing options - we were ORing
an uninitialized auto into boothowto.
2001-08-26 18:39:15 +00:00
fredette 6682ab1fbf Under __ELF__, getvbr must return its pointer value
in %a0, not %d0.  This fixes many problems with
getting the PROM to halt and reboot the machine.
2001-08-26 17:12:11 +00:00
chs 72b6b0b123 in vunmapbuf(), call pmap_*remove() explicitly since uvm_km_free_wakeup()
will soon no longer do it for us.
2001-08-19 18:08:30 +00:00
fredette e5769f5f01 Sometimes the ec board reports a packet length that's too large.
Try to deal with this by clipping the packet length, and, under
DEBUG, printf when we do.  Also zero out the packet status in
the buffer before we give it back to the board.
2001-08-17 20:27:12 +00:00
fredette 8b21bb0078 Under DEBUG, have a global buserr_reg that stores the
last value read out of the bus error register.
2001-08-17 00:00:26 +00:00
fredette ba289d7421 Now treat the bus error register as 16-bits wide, even
though it has nothing in the top half.  Reading it as
only 8 bits can sometimes give erroneous values.  Under
DEBUG, also stash the value read in the buserr_reg global,
since the value is only latched until read.
2001-08-16 23:54:31 +00:00
fredette aeb5917f66 Made prom_putchar and prom_putstr use the PROM putchar
function instead of framebuffer functions.  This makes
serial consoles work again.
2001-08-16 01:47:45 +00:00
fredette 170407cf2c Fixed a bug where we were using ETHERMIN and ETHERMTU
where we really wanted ETHER_MIN_LEN and ETHER_MAX_LEN.
2001-08-14 03:57:16 +00:00
chs 29f6bd03da use pmap_k* for buffer cache pages. 2001-07-29 23:56:33 +00:00
fredette 7c89e5223a Added. 2001-07-15 16:29:29 +00:00
fredette bb6c8bfadd Now mimic the sparc64's handling of NKBD/NSUNKBD and NMS/NSUNMS. 2001-07-13 22:27:02 +00:00
fredette cc468086e7 Fixed the known obio address range for the Multibus
machines to avoid bwtwo matching on obio.
2001-07-12 19:24:40 +00:00
abs 01b024cd5b Standardise TCP_COMPAT_42 as commented out, grouped with other COMPAT options,
and with the comment '4.2BSD TCP/IP bug compat. Not recommended'
Add commented out 'TCP_DEBUG # Record last TCP_NDEBUG packets with SO_DEBUG'
(All hail amiga and atari which make some attempt to automate the
multiplicity of config files...)
2001-07-08 16:32:12 +00:00
darcy ce0ec1e208 Add System V semaphore resource limits to each GENERIC file that has an
option for System V semaphores.  It appears that there are no overrides
in the code and each file has the following added.

 options    SYSVSEM     # System V semaphores
+#options   SEMMNI=10   # number of semaphore identifiers
+#options   SEMMNS=60   # number of semaphores in system
+#options   SEMUME=10   # max number of undo entries per process
+#options   SEMMNU=30   # number of undo structures in system
 options    SYSVSHM     # System V shared memory

If anyone thinks that this is incorrect for any of these files, please
correct it.

Note - the i386 port was not forgotten.  It was done separately.
2001-06-30 11:00:31 +00:00
fredette 3543a1603c Removed stand from SUBDIRS. 2001-06-27 19:23:16 +00:00
fredette 9dd442f913 Added a Makefile for the sun2 includes. 2001-06-27 19:22:18 +00:00
fredette 4c566b2daa Include a common header, then define macros that
give the appearance of specific attach args for
the mbio and mbmem buses.
2001-06-27 19:21:49 +00:00
fredette 2cf2ebc67c Now define a suitable ELF32_MACHDEP_ID_CASES. 2001-06-27 19:20:22 +00:00
fredette dd2704a334 Just include a common header. 2001-06-27 19:19:22 +00:00
fredette dced0aa013 Declare the PROM console device. 2001-06-27 19:02:26 +00:00
fredette 33575e8a53 Now don't include zsvar.h until the end. splzs() is
now defined in machine/cpu.h.  Define zs_peripheral_type.
2001-06-27 19:01:14 +00:00
fredette f76d90d237 Added comments and fixed some macros now that I correctly
understand how to address the sun2 VME bus in the VM hardware.
2001-06-27 18:54:27 +00:00
fredette 5f35b65f29 Now define kernel_context() and restore_context(), these
are used by some sun68k common code.
2001-06-27 18:48:30 +00:00
fredette 451ebb23d2 Converted to use the new bus-specific attach args.
Added the zs_console_flags function, used to tell
MI code what zs is tied up in the console.
2001-06-27 17:41:03 +00:00
fredette 75eb351428 Converted to use the new bus-specific attach args,
and the bus_space_peek_N functions.  Now use hand-defined
macros instead of relying on structure layout to find registers.
Allocate the DMA handles here, since the MI chipset code
doesn't do that any more.
2001-06-27 17:37:04 +00:00
fredette a63be0a0a4 Converted to use the new bus-specific attach args,
and the bus_space_peek_N functions.  Also uses the
sun68k-specific bus_space_copy{in,out} functions.
2001-06-27 17:32:44 +00:00
fredette b480d71a7a Added an attachment for Intel ethernet (ie) at obio.
Added support for the 3Com Ethernet (ec) at mbmem.
2001-06-27 17:24:35 +00:00
fredette 1bf6975d6b Added support for the PROM console. 2001-06-27 17:04:59 +00:00
fredette fdc8ed9a06 Updated for ELF support. 2001-06-27 17:03:10 +00:00
fredette 79f31f9463 A sun2 is also a sun68k kind of a machine, and it also uses ELF. 2001-06-27 16:59:57 +00:00
fredette e702f4a813 Now uses the sun68k common code. Changed how the keyboard
and mouse attach.  Added support for ie at obio, the ec adapter.
2001-06-27 16:57:57 +00:00
fredette 9e33b7b680 Updated with VME machine support, a.out compat,
some zs and console changes.
2001-06-27 16:51:20 +00:00
fredette 08068ecc5d Don't unmap the PROM's first four physical/virtual pages
inside pmap_bootstrap, instead we will wait until we have
installed our vector table.
2001-06-27 03:41:27 +00:00
fredette d5598f2f68 Made these files part of the sun68k common code. 2001-06-27 03:32:49 +00:00
fredette 39fb6a6f16 Now netintr and sun2_find_prom_map have prototypes in
the common sun68k code.  Added prototypes for g0_entry
and g4_entry so that prom_abort() can use them.
2001-06-27 03:31:42 +00:00
fredette 7a083fffc2 Don't set up the g0 and g4 handlers here, now prom_abort()
does this.  Include the common m68k 16-bit aligned copy routines.
2001-06-27 03:25:31 +00:00
fredette 4d85da3f79 Moved much softint and bus_space/bus_dma code
to the common sun68k code.
2001-06-27 03:16:02 +00:00
fredette ee7503cf71 Converted to use the new bus-specific attach args. 2001-06-27 03:00:45 +00:00
fredette a50332b3e7 Converted to use the new bus-specific attach args,
and the bus_space_peek_N functions.
2001-06-27 02:59:26 +00:00
wiz f3f6c5b675 `accessible' only has one `a'. 2001-06-19 12:52:20 +00:00
christos 0f380fac15 Add an e_trapsignal member to struct emul, so that emulated processes can
send the appropriate signal depending on the trap type.
2001-06-18 02:00:48 +00:00
fredette 6000674775 Now unmap the PROM's pages only after we have
installed our own vector table.
2001-06-15 00:32:38 +00:00
thorpej 8eb3b954f1 Don't need to prototype child_return() here, it's in <sys/proc.h>. 2001-06-14 22:56:55 +00:00
fredette 1a4779d8a4 Now get the prototypes from the common sun68k/sun68k/control.h. 2001-06-14 16:36:46 +00:00
fredette 7ab5601058 Since physical memory below 0x2000 isn't mapped anywhere
for now, return EFAULT when /dev/mem tries to read it.
Other physical memory not managed by the pmap system is
mapped at the same virtual addresses.  Now that we
understand how VME PTEs are constructed, give mmapping
a VME bus a better chance of working..
2001-06-14 16:32:45 +00:00
fredette 8f6cff260d Now uses the common sun68k bus_space/bus_dma
and autoconf code.
2001-06-14 15:54:18 +00:00
fredette 70ba9292d4 Now use the bus_space_peek_N function to probe for
the device, and common sun68k_find_prom_map function to
find a PROM mapping for a device.
2001-06-14 15:20:46 +00:00
fredette 9c1d420baf This file has been moved to sys/dev/vme. 2001-06-14 15:15:15 +00:00
fredette 15b02e5ba0 Added a function, prom_sd_target, to translate a PROM
sd unit number into a SCSI target.  Now only set up our
g0 and g4 handlers inside prom_abort(), so we're not
normally running with them.
2001-06-14 13:21:39 +00:00
fredette edad0f956c Under _LKM, now undefine KERNBASE for declaring it.
Not sure if this is correct, but the real question
is whether 68000 LKMs are even possible.
2001-06-14 13:18:54 +00:00
fredette 54f88e2668 Corrected the value of DVMA_OBIO_SLAVE_BASE; obio
devices can see the entire CPU address space.
2001-06-14 13:17:04 +00:00
fredette 01e5507e7e Now simply include the real header under arch/sun68k. 2001-06-14 13:16:03 +00:00
fredette 000fa36842 Moved the definition of romVectorPtr here from mon.h.
Prototype prom_sd_target.
2001-06-14 13:15:21 +00:00
fredette 9e52c15c31 Now simply include the real header under arch/sun68k. 2001-06-14 13:12:50 +00:00
fredette af6051568c Removed. These files can be found under arch/sun68k now. 2001-06-14 13:10:20 +00:00
fredette 8d1b187a4c Fixed pte_print to display the correct names
for VME device pages.
2001-06-11 21:35:59 +00:00
fredette 6e5f704918 Now use hand-defined macros instead of relying
on structure layout to find registers.  Added
a VME attachment.
2001-06-11 21:33:47 +00:00
wiz 40ac848024 Fix various misspellings of compatible/compatibility. 2001-06-11 01:50:48 +00:00
fredette cca6e28421 Added comments and fixed some macros now that I correctly
understand how to address the sun2 VME bus in the VM hardware.
2001-06-08 18:00:51 +00:00
chs 821ec03ed9 replace vm_map{,_entry}_t with struct vm_map{,_entry} *. 2001-06-02 18:09:08 +00:00
lukem d84d2c6c85 add missing #include "opt_kgdb.h" 2001-05-30 15:24:23 +00:00
mrg 67afbd6270 use _KERNEL_OPT 2001-05-30 11:57:16 +00:00
mrg 3783ca5d30 define _KERNEL_OPT as well as _KERNEL. we will use this in the future to
get kernel "opt_foo.h" headers, rather than _KERNEL && !_LKM.
2001-05-29 02:20:20 +00:00
chs 11a9651c8f replace vm_page_t with struct vm_page *. 2001-05-26 21:27:10 +00:00
chs 118ddca24a replace {simple_,}lock{_data,}_t with struct {simple,}lock {,*}. 2001-05-26 16:32:40 +00:00
fredette 0c48999192 Rewrote a variable constraint to make gcc 2.95 happy. 2001-05-14 20:39:52 +00:00
fredette c5feae5dbf Now always define PGSHIFT. Thanks to the ELF move, note the new
larger msgbuf size and different KERNBASE.
2001-05-14 20:35:58 +00:00
fredette 1ef476f4a4 As a side-effect of the ELF conversion, the msgbuf
can now be 8K large.  Removed more 68881 code that
is only useful if you have the real silicon, which
the 68010 never will.
2001-05-14 15:36:42 +00:00
fredette 9ec520c479 Now, instead of swapping in and out the PROM's segment zero,
swap in and out the mappings for virtual pages zero through three,
which are what the PROM really uses.  This is tied to the
move to ELF and the low memory usage changes.
2001-05-14 15:12:39 +00:00
fredette b49df54c83 One bonus of moving to ELF is that the boot loader on the sun2
now loads the kernel into physical memory at the linked address.
So we link the kernel a little lower virtually, but the bootloader
actually will load it higher in physical memory than before.
This allows us to quadruple the size of the msgbuf to 8K, and
we also shuffle around tmp_vpages and the temporary stack.
2001-05-14 15:07:23 +00:00
fredette d36a2c2284 Made changes to support ELF. Highlights include:
To find the kernel symbol table, instead of expecting
the old a.out struct exec from locore.s, use the
ELF headers found after the kernel text.
2001-05-14 15:00:28 +00:00
fredette f7c1abe426 Many changes to support ELF. Highlights include:
Added % to all register names.  The boot loader now
loads us exactly where we're linked, so no PIC or
remapping funny business.  Removed more 68881 code
that is only needed with the real silicon, which
a 68010 will never have.
2001-05-14 14:44:11 +00:00
fredette 66c27dfc2e Removed, cleaning up (no-)FPU support. 2001-05-08 21:39:24 +00:00
fredette bdf32dea4f Turned all lea/jsr combinations back into jbsrs,
as they were originally.
2001-05-07 21:48:24 +00:00
fredette a0456abb5e Added some kernel configurations. 2001-05-03 15:39:48 +00:00
fredette 11e470d830 Now define MBIO_SIZE and MBMEM_SIZE in header files,
so they can eventually be used by the bootblocks.
2001-05-03 03:13:03 +00:00
thorpej cf67ac7122 Per discussion w/ chuck and chuck, restructure the md page stuff
to use a structure called "vm_page_md", and use __HAVE_VM_PAGE_MD
and __HAVE_PMAP_PHYSSEG.
2001-05-01 02:19:13 +00:00
thorpej 2b27ac7a99 Add a VM_MDPAGE_MEMBERS macro that defines pmap-specific data for
each vm_page structure.  Add a VM_MDPAGE_INIT() macro to init this
data when pages are initialized by UVM.  These macros are mandatory,
but ports may #define them to nothing if they are not needed/used.

This deprecates struct pmap_physseg.  As a transitional measure,
allow a port to #define PMAP_PHYSSEG so that it can continue to
use it until its pmap is converted to use VM_MDPAGE_MEMBERS.

Use all this stuff to eliminate a lot of extra work in the Alpha
pmap module (it's smaller and faster now).  Changes to other pmap
modules will follow.
2001-04-29 22:44:31 +00:00
bouyer 937a7a3ed9 Pull up the thorpej_scsipi branch to main branch.
This is a completely rewritten scsipi_xfer execution engine, and the
associated changes to HBA drivers. Overview of changes & features:
- All xfers are queued in the mid-layer, rather than doing so in an
  ad-hoc fashion in individual adapter drivers.
- Adapter/channel resource management in the mid-layer, avoids even trying
  to start running an xfer if the adapter/channel doesn't have the resources.
- Better communication between the mid-layer and the adapters.
- Asynchronous event notification mechanism from adapter to mid-layer and
  peripherals.
- Better peripheral queue management: freeze/thaw, sorted requeueing during
  recovery, etc.
- Clean separation of peripherals, adapters, and adapter channels (no more
  scsipi_link).
- Kernel thread for each scsipi_channel makes error recovery much easier
  (no more dealing with interrupt context when recovering from an error).
- Mid-layer support for tagged queueing: commands can have the tag type
  set explicitly, tag IDs are allocated in the mid-layer (thus eliminating
  the need to use buggy tag ID allocation schemes in many adapter drivers).
- support for QUEUE FULL and CHECK CONDITION status in mid-layer; the command
  will be requeued, or a REQUEST SENSE will be sent as appropriate.

Just before the merge syssrc has been tagged with thorpej_scsipi_beforemerge
2001-04-25 17:53:04 +00:00
thorpej fe664428c8 Garbage-collect pmap_page_index(). 2001-04-25 17:35:00 +00:00
fredette de878b5521 Added these required headers. 2001-04-24 14:42:32 +00:00
thorpej 1c3a62e066 Sprinkle pmap_update() calls after calls to:
- pmap_enter()
- pmap_remove()
- pmap_protect()
- pmap_kenter_pa()
- pmap_kremove()
as described in pmap(9).

These calls are relatively conservative.  It may be possible to
optimize these a little more.
2001-04-24 04:30:50 +00:00
thorpej 55044638aa Remove pmap_kenter_pgs(). It was never really adopted by
anything, and the interface itself wasn't as flexible as
callers would have probably liked.
2001-04-22 23:42:11 +00:00
thorpej 69abdbf60c Undo a misguided previous change to the pmap_update() API. 2001-04-22 23:19:26 +00:00
fredette 8a5ee3ff29 Added. 2001-04-22 21:00:27 +00:00
thorpej 4738622712 Give pmap_update() an argument (a pmap_t) so that it knows which
pmap it should be updating.
2001-04-22 00:33:59 +00:00
thorpej 7f10ba88b1 #define away pmap_update() in <machine/pmap.h> so that no function
call overhead is incurred as we start sprinkling pmap_update() calls
throughout the source tree (no pmaps currently defer operations, but
we are adding the infrastructure to allow them to do so).
2001-04-21 23:51:14 +00:00
fredette c1d17391f5 Added support for the sc SCSI controller on mbmem. 2001-04-18 15:09:47 +00:00
fredette 02db82623f Trimmed off some options that are unnecessary for now,
and some that don't work.  Added some more comments,
commented out some 2/50 device entries.
2001-04-18 15:08:59 +00:00
fredette db8595f14f Much bus_dma work. When destroying a map, unload it if it's
loaded.  Added more comments.  Fixed the perspective of a 24-bit
device from the original sun4 code to match the sun2.  For now,
we don't double-map pages into DVMA space by hand, we're back
to using pmap_enter.  Be more paranoid about saving and
restoring the MMU user context.
2001-04-18 03:45:10 +00:00
fredette 026720119b Added support for the Sun SC scsi controller. 2001-04-18 03:38:38 +00:00
fredette 451d8d47e1 Added support for creating a bus_dma tag for the mbmem bus. 2001-04-18 03:34:54 +00:00
fredette 5f19315baa Now define IPL_BIO. 2001-04-18 03:30:14 +00:00
fredette 68230340aa Fixed a bug in db_write_text where on exit we would bash
a PTE in whatever user context happened to be set on
entry.
2001-04-18 03:19:21 +00:00
kleink f06533a1ee Add definitions of C99 integer format conversion macros.
XXX Fastest minimum-width integer types haven't been decided upon yet.
2001-04-15 17:13:04 +00:00
kleink 739cb75837 Add definitions of C99 specified-width integer type limits.
XXX Fastest minimum-width integer types haven't been decided upon yet.
2001-04-15 15:29:02 +00:00
kleink a7c20e5788 Add definitions of C99 integer constant macros. 2001-04-14 22:38:33 +00:00
kleink 7affdab52e Add definitions of C99 minimum-width and greatest-width integer types.
XXX Fastest minimum-width integer types haven't been decided upon yet.
2001-04-14 12:19:49 +00:00
thorpej bf2dcec4f5 Remove the use of splimp() from the NetBSD kernel. splnet()
and only splnet() is allowed for the protection of data structures
used by network devices.
2001-04-13 23:29:55 +00:00
fredette b27eda4ead Added. 2001-04-10 12:46:26 +00:00
fredette 1dfde059ab Use fb_setsize_eeprom to do some intialization of the
fb structure.
2001-04-10 12:44:12 +00:00
fredette bb09d2bc78 Fixed a bug where we were trying to map the board RAM
using the physical address of the board registers.
2001-04-10 12:42:51 +00:00
fredette ca414a50ad In prom_init, when making our local copy of the bootparams,
be sure to calculate the shift in terms of chars, not struct
bootparams, and don't shift undefined arguments.
2001-04-10 12:40:53 +00:00
fredette 8efc1dcff9 Fixed has_context to return true on the kernel pmap,
which always has context zero.  This was causing panics
under DIAGNOSTIC.
2001-04-10 12:39:56 +00:00
fredette 857e8fbc6b The mainbus doesn't define a device name in the attach args
after attaching the special busses, so just match when it
isn't, instead of calling strcmp with it.
2001-04-10 12:37:49 +00:00
fredette c6871b7720 Make softintr_handler return one, not zero, to properly
claim the interrupt.  Added special bus_space_probe
handling to sun2_bus_map.
2001-04-10 12:33:09 +00:00
fredette af0a9202ce Under DIAGNOSTIC, disabled a test that was using an
instruction not available on the 68010.  Also removed
more old sun3 cache-related code.
2001-04-10 12:29:10 +00:00
fredette c4973c2333 In fpu_probe, now be sure to return FPU_NONE. Returning
FPU_UNKNOWN was causing confusion in cpu_switch.
2001-04-10 12:27:40 +00:00
fredette 0cb40c9174 Define a very small UBC_NWINS to keep UBC from eating all kernel VM. 2001-04-10 12:24:05 +00:00
fredette 0050ddd2b2 Be paranoid, #undef PAGER_MAP_SIZE before defining it. 2001-04-10 12:23:14 +00:00
fredette 666b4cf417 A successful compile is near. 2001-04-06 17:17:58 +00:00
fredette ec984a04ad Added. 2001-04-06 15:05:55 +00:00
fredette 3ff14b7ac5 vm/vm.h -> uvm/uvm_extern.h
Cleaned up definitions of cputype and mmutype.
mon.h -> promlib.h, and use all of the new prom_
functions instead of the old mon_ functions.
Removed all of the old mon_ capturing code to
promlib.c.
2001-04-06 14:59:09 +00:00
fredette e3edb8d20c Gratuitous comment changes. 2001-04-06 14:52:56 +00:00
fredette 6529ec2635 Now include machine/promlib.h instead of machine/mon.h, and
use the new prom_ functions instead of the old mon_ functions.
Added the internal _pmap_extract_pmeg function, and removed
some old Sun3 cache-related code.
2001-04-06 14:52:19 +00:00
fredette 353ad332f0 Added some support for the old-school 'g0' and 'g4' monitor
hooks, and removed some old Sun3 cache and interrupt-register
related code.
2001-04-06 14:36:08 +00:00
fredette 20293ce870 Added. 2001-04-06 13:13:01 +00:00
fredette d8d78f2801 Added a prototype for the internal function _pmap_extract_pmeg,
used by the bus_dma implementation when double-mapping pages
by hand.
Now define PMAP_OBMEM for completeness.
2001-04-06 13:12:06 +00:00
fredette 874e89c74d Added an internal bus_space flag to find and use PROM mappings.
Added an internal bus_dma flag to mark when a map has been
loaded by double-mapping pages by hand, outside of the pmap.
Added more prototypes for our bus_dma implementation.
2001-04-06 13:09:10 +00:00
fredette 85c6ec3b50 Now use the proper DVMA map size depending on what
machine type we're on.
Removed all prototypes, since we're going bus_dma.
2001-04-06 13:03:14 +00:00
fredette cce60f68dc Added. 2001-03-29 21:07:56 +00:00
fredette fb96b4d88c Added. 2001-03-29 04:58:52 +00:00
fredette 22a64b5a3e Added. 2001-03-29 04:35:09 +00:00
fredette fbd8636feb Added. 2001-03-29 04:16:21 +00:00
fredette da500dc6be Removed some sun3 references. 2001-03-29 04:07:54 +00:00
fredette 6095b6e2ff Added. 2001-03-29 03:24:19 +00:00
fredette 2deceb396c Brought up-to-date with revision 1.124 of the Sun3 pmap. 2001-03-28 14:15:11 +00:00
fredette a8cd6c5401 Added. 2001-03-28 13:47:58 +00:00