Commit Graph

534 Commits

Author SHA1 Message Date
minoura bb1f24c221 Could not be compiled without PMAP_NEW. 1999-06-03 14:43:33 +00:00
minoura db782f7c11 First attempt to implement PMAP_NEW interface.
The code was mostly written before the pmap_k* inconsistency fixes.
Work around might still remain.  Should be removed.
1999-05-31 14:39:13 +00:00
thorpej beb8d06638 Generally update the comment above vunmapbuf(). 1999-05-26 22:19:33 +00:00
thorpej a2d06a4721 Generally update the comment above the vmapbuf() implementations. 1999-05-26 22:07:36 +00:00
thorpej 2580d306ab Change the vm_map's "entries_pageable" member to a r/o flags member, which
has PAGEABLE and INTRSAFE flags.  PAGEABLE now really means "pageable",
not "allocate vm_map_entry's from non-static pool", so update all map
creations to reflect that.  INTRSAFE maps are maps that are used in
interrupt context (e.g. kmem_map, mb_map), and thus use the static
map entry pool (XXX as does kernel_map, for now).  This will eventually
change now these maps are locked, as well.
1999-05-26 19:16:28 +00:00
thorpej 5832084eaf bus_dmamem_map() maps DMA safe memory, which is usually one or more
managed pages, into KVA space.  Since the pages are managed, we should
use pmap_enter(), not pmap_kenter_pa().

Also, when entering the mappings, enter with an access_type of
VM_PROT_READ | VM_PROT_WRITE.  We do this for a couple of reasons:

	(1) On systems that have H/W mod/ref attributes, the hardware
	    may not be able to track mod/ref done by a bus master.

	(2) On systems that have to do mod/ref emulation, this prevents
	    a mod/ref page fault from potentially happening while in an
	    interrupt context, which can be problematic.

This latter change is fairly important if we ever want to be able to
transfer DMA-safe memory pages to anonymous memory objects; we will need
to know that the pages are modified, or else data could be lost!

Note that while the pages are unowned (i.e. "just DMA-safe memory pages"),
they won't consume any swap resources, as the mappings are wired, and
the pages aren't on the active or inactive queues.
1999-05-25 23:14:03 +00:00
minoura f4316c1145 Tribial optimizations. 1999-05-21 15:32:38 +00:00
minoura 1567b0074d Sync GENERIC. 1999-05-21 15:15:33 +00:00
minoura fcb74cccfa Remove experimental/buggy options. 1999-05-21 15:08:27 +00:00
lukem e4a87aa1a9 * convert to using MI allocsys(). most ports were using an MD allocsys(),
although a couple still used the old pre-4.4-lite (?) mechanism.
* use format_bytes() to format the various printf()s that print out memory sizes
1999-05-20 08:21:42 +00:00
minoura 6e67e063ff Disable on-chip cache for PT and ST pages for '060 stability. 1999-05-19 14:06:59 +00:00
thorpej f98d358a1f Rework layer 2 protocol input routines. Instead of calling e.g. ether_input()
directly, call the function pointer (*if_input)(ifp, m).  The input routine
expects the packet header to be at the head of the packet, and will adjust
as necessary.  Privatize the layer 2 input and output routines, allowing
*_ifattach() to set them up as appropriate.
1999-05-18 23:52:51 +00:00
nisimura 7a50b38cbd - Adjust descriptive comment of cpu_fork() which returns nothing and
returns once.
- Minor fixes in mips/vm_machdep.c.
1999-05-14 02:11:59 +00:00
thorpej c10a926030 Allow the caller to specify a stack for the child process. If NULL,
the child inherits the stack pointer from the parent (traditional
behavior).  Like the signal stack, the stack area is secified as
a low address and a size; machine-dependent code accounts for stack
direction.

This is required for clone(2).
1999-05-13 21:58:32 +00:00
minoura d1954679df Missing #if for 060. 1999-05-13 14:24:27 +00:00
minoura 40594d5dfa 060 is much faster than Chuck thought according to Ken Midorikawa
<k-mid@msg.biglobe.ne.jp>
Print both the core clock and the bus clock on 040/060 machines.
1999-05-13 14:23:42 +00:00
kleink 6290fed1b6 SVR4-related typo in previous. 1999-05-06 14:16:07 +00:00
minoura db3bdbe86c Shut up gcc -Wall. 1999-05-05 14:31:16 +00:00
minoura ad762a0b97 Use mvme68k-derived delay routine.
Now that we support various models, the old constant-loop delay routine
may cause problems.
1999-05-05 13:46:20 +00:00
minoura 3fe3e5261b Add missing ia_size argument. 1999-05-05 13:41:44 +00:00
minoura 7cebd447fb Move config_console to ensure that it is always called. 1999-05-05 13:41:19 +00:00
minoura 63a9944d93 mem_exists was called with wrong 2nd argument.
Because of this, >12MB high memory was not detected.
1999-05-05 13:38:51 +00:00
christos ef6e15ad0e Include opt_compat_sunos.h 1999-04-30 16:50:44 +00:00
minoura ed3c676245 Branch address was wrong. 1999-04-30 15:31:18 +00:00
kleink e1529b8f93 Pull in the right generic m68k header. (Where was my mind?) 1999-04-29 14:38:39 +00:00
minoura ab5806d4b8 Message cosmetics. 1999-04-28 16:17:42 +00:00
minoura ea485e0d51 Handle fpunimp properly for fpu_emulate. 1999-04-28 16:16:58 +00:00
thorpej b8073b401b Garbage-collect the VM_MBUF_SIZE constant. Instead, use the size
(nmbclusters * mclbytes), so that the right amount of KVA space is
allocated if those variables are patched.
1999-04-26 22:46:44 +00:00
simonb 5d8b1ef3e4 g/c REAL_CLISTS. 1999-04-25 02:56:26 +00:00
minoura 43d6c498cc I deleted a necessary line by mistake. 1999-04-22 16:22:49 +00:00
minoura f9afee1b29 Bus error occurred on such machines without the SCSI ROM.
Insert badaddr() check before read the ROM.
1999-04-22 12:55:53 +00:00
chs 05b971dd5f in pmap_pageable(), rather than marking a PT page as not modified
to trick the pagedaemon into freeing it later, just unmap the page
and free it immediately.  fixes PR 7337.
1999-04-22 04:24:52 +00:00
kleink ed74932033 Add COMPAT_SVR4 for m68k. 1999-04-19 21:22:56 +00:00
minoura 35d1114201 Add missing par0. 1999-04-18 15:43:21 +00:00
minoura 26b74e1082 Handle T_ILLINST in kernel mode.
This occurs in fpu_probe() when the FPU is not installed on the system.
Because of this, FPU_EMULATE wouldn't work at all.
1999-04-18 14:39:10 +00:00
minoura 4fcf23e9b0 Handle F line emulation correctly when FPU_EMULATE is enabled. 1999-04-18 14:37:09 +00:00
minoura 8eb1fd77e9 Do not memcpy to the bouncebuffer in datain. 1999-04-18 00:38:58 +00:00
minoura bb2c24d761 More size hacks. We can now run the installer on 4MB machines. 1999-04-14 14:13:11 +00:00
minoura c12f6d6d4b Reduce the kernel size.
- Disable many options and devices which is not required to install.
 - Decrease the MINIROOTSIZE to fit with the actual embedded image.
1999-04-12 16:11:53 +00:00
chs f455dd6596 add a `flags' argument to uvm_pagealloc_strat().
define a flag UVM_PGA_USERESERVE to allow non-kernel object
allocations to use pages from the reserve.
use the new flag for allocations in pmap modules.
1999-04-11 04:04:04 +00:00
minoura 6733198ebd Fix the startup message.
attach_hook is now called without "mdX: " prefix.
1999-04-09 15:41:15 +00:00
minoura eb2c78dd2d Typo. 1999-04-01 14:11:21 +00:00
thorpej 967b8c433c Don't call configure() from cpu_startup(). 1999-04-01 00:17:45 +00:00
minoura 35b6e71f52 Enable rnd. 1999-03-31 15:38:32 +00:00
minoura 004b01c5ba Some trivial size reductions. 1999-03-31 15:38:06 +00:00
minoura d264521334 Mapped copy was always disabled. 1999-03-31 14:22:21 +00:00
minoura 2c62712a32 Remove unused files. 1999-03-30 04:29:09 +00:00
minoura d39738d85b Remove options (SWDEV|SWAP|VNODE)PAGE 1999-03-30 04:27:08 +00:00
minoura eabdc25095 Update dependency. 1999-03-30 04:26:01 +00:00
minoura 929875f387 G/c obsoleted devices. 1999-03-30 04:25:36 +00:00
minoura d808d6f5ff defopt EXTENDED_MEMORY and ITE_KERNEL_ATTR. 1999-03-30 04:25:07 +00:00
minoura 67ce202cb5 Fixed the bug described in the previous commit log.
Re-enabled the title image.
1999-03-28 14:03:36 +00:00
minoura 1dab9bf74a Work around for broken unzip routine.
Transition to egcs seems to have broken the trickily hacked inflate routine.
Disable the hack and size-consuming title image for a while.
1999-03-27 15:01:34 +00:00
mycroft 93768384ee Fix a bug in pmap_collect_pv(), even though nobody currently uses it:
When we put a page on the collection list, we must subtract NPVPPG from the
total free count: one for each pv_entry that's free in that page, and one for
each free pv_entry in other pages that we're going to eat by moving the ones
in the page being collected.
1999-03-27 05:57:02 +00:00
mycroft 9affa543a5 Oops; forgot to change some pmap_enter() calls. 1999-03-27 03:34:08 +00:00
wrstuden 2adccc50fa Add pps support. Only enable pps if CLOCAL & !MDMBUF. 1999-03-27 01:21:36 +00:00
mycroft 12d512bbb7 Oops; vm_offset_t -> vaddr_t. 1999-03-27 00:30:06 +00:00
mycroft 9c6b797796 Changes for modified pmap_enter() API:
* Map the message buffer with access_type = VM_PROT_READ|VM_PROT_WRITE `just
  because'.
* Map the file system buffers with access_type = VM_PROT_READ|VM_PROT_WRITE to
  avoid possible problems with pagemove().
* Do not use VM_PROT_EXEC with either of the above.
* Map pages for /dev/mem with access_type = prot.  Also, DO NOT use
  pmap_kenter() for this, as we DO NOT want to lose modification information.
* Map pages in dumpsys() with VM_PROT_READ.
* Map pages in m68k mappedcopyin()/mappedcopyout() and writeback() with
  access_type = prot.
* For now, bus_dma*(), pmap_map(), vmapbuf(), and similar functions still use
  access_type = 0.  This should probably be revisited.
1999-03-26 23:41:25 +00:00
thorpej ad22c1dd58 Use ETHER_*_LEN constants from <net/if_ether.h> instead of defining them
ourselves.
1999-03-25 23:16:37 +00:00
minoura fdd6c4d819 Add function keys mapping. 1999-03-24 14:12:52 +00:00
minoura b28f2306c9 G/c amiga's key repeat handler. 1999-03-24 14:11:47 +00:00
minoura a76b0b1bf5 Shut up gcc -Wall. 1999-03-24 14:07:38 +00:00
minoura ff8cf815a8 Mach VM removal. 1999-03-24 14:01:50 +00:00
mrg ca5f9685bb clean up kernel/config files files for machVM lossage. 1999-03-24 06:06:09 +00:00
mrg d2397ac5f7 completely remove Mach VM support. all that is left is the all the
header files as UVM still uses (most of) these.
1999-03-24 05:50:49 +00:00
drochner 76fa1751fe Add a macro to check for sufficient pointer alignment in bus.h context,
"BUS_SPACE_ALIGNED_POINTER()".
Equal to the param.h "ALIGNED_POINTER()" normally, but obeys additional
requirements of the bus_space_xxx_n() macros. (BUS_SPACE_DEBUG)
1999-03-23 21:29:03 +00:00
minoura 87c8a7e347 u?vm_page_physload args are in page. 1999-03-23 15:55:43 +00:00
minoura 86ecebe5e8 Move high-memory detect routine.
This seems to fix the problem that it hangs up on 040turbo without
high-memory.
1999-03-23 04:18:50 +00:00
minoura c36508e32b Use bus_dma(9) for DMA bouncing.
The code is dirty.  It should be rewritten in the future.
1999-03-22 08:54:14 +00:00
minoura 4da31bd7f1 Use intio_debug flag variable. 1999-03-22 03:21:35 +00:00
minoura c9e79552c8 Check unit.
This bug seems to be introduced on merging the bus.h patches.
1999-03-22 03:20:51 +00:00
minoura 7cc089a5dd Correct rnd_attach_source args. 1999-03-18 16:15:53 +00:00
minoura 815f84a789 Shut up gcc -Wall 1999-03-18 12:31:58 +00:00
minoura 701942e794 G/C. 1999-03-18 12:27:59 +00:00
minoura f0dda99d19 Remove extra ;. Extended memory could not be added correctly. 1999-03-18 12:27:07 +00:00
chs ab7269f62a if uvm_fault() fails with KERN_RESOURCE_SHORTAGE, send a SIGKILL
and print a message about it.  this will be used to recover from
out-of-swap conditions.
1999-03-18 04:56:01 +00:00
sommerfe bc533621ed defopt MINIROOTSIZE 1999-03-17 18:59:21 +00:00
minoura 5410a9b53b Crash dump support.
It was broken for long time because of somewhat unknown reasons.
1999-03-17 16:19:46 +00:00
minoura d2721426bb Move aout2hux manpage to share/man/man1/man1.x68k/. 1999-03-17 14:52:39 +00:00
minoura 64d2bc59bc MACHINE_NONCONTIG -> EXTENDED_MEMORY.
G/c and comment changes.
1999-03-17 12:31:25 +00:00
minoura 6de1aeaee6 MACHINE_NONCONTIG -> EXTENDED_MEMORY. 1999-03-17 12:29:56 +00:00
minoura a6cf3ee3f8 Sync hp300's.
- Remove pmapvacflush debugging code (1.63)
- pmap_collect (1.60)
- Use pool allocator (1.59)
- pmap_zero_page, pmap_copy_page improvements (1.58)
- Use PMAP_DPRINTF (1.56)
- pmap_changebit() changes (1.54)
- Remove deprecated PMAPSTATS (1.53)
- Other cosmetic changes
1999-03-17 12:28:58 +00:00
minoura b34682dcab Typo. 1999-03-16 17:04:35 +00:00
minoura ba80d2c6d7 Merged minoura_x68k_bus_h branch. 1999-03-16 16:30:16 +00:00
minoura e518820ca8 Pullin m68k/ieee.h. 1999-03-15 11:55:53 +00:00
itohy a2bbc02716 Fix parameter type mismatch. 1999-03-02 18:18:38 +00:00
explorer 3ebb419571 Update to slightly altered rnd_attach_source() api 1999-02-28 17:08:05 +00:00
scottr d32ed292af defopt BUFCACHE and BUFPAGES. 1999-02-27 06:39:34 +00:00
is f71d843a65 synchronize types, and s/curproc/p/ in one forgotten place 1999-02-26 22:37:57 +00:00
is bce0bda05c x68k specific part of fix for PR 6152 1999-02-26 16:07:07 +00:00
lukem dcab0210a0 convert from NOxxx= to MKxxx=no.
include <bsd.own.mk> if testing a MKxxx variable.
1999-02-13 02:54:17 +00:00
mycroft 2a304686e6 Minor cleanup.
Make the initializer for BAUDLO depend on PCLK directly; it was incorrect on
some ports where PCLK is not 4.9152MHz.
XXX Is the default value actually used?
1999-02-11 15:28:03 +00:00
bouyer f6f9f8a965 Change DIOCEJECT to do what's needed to eject a device before the eject
command (unlock for sd and cd) if no other partitions are open, return
EBUSY otherwise. DIOCEJECT will have the old semantic if its argument is not
0. The old ioctl has been renamed to ODIOCEJECT for binary compatibility.
1999-02-08 16:33:16 +00:00
minoura cc5f9932f8 Issue SCSI reset on initialize.
Clean unused mha_reset.
1999-02-07 15:18:58 +00:00
mycroft be1af660c0 Don't set DCD_IE in the frontends. KGDB doesn't even use DCD, and the tty
frontends get it from zsparam() anyway.
1999-02-03 20:25:05 +00:00
mycroft b3a56d0097 Catch up with a change to the stint interface. 1999-02-03 20:22:28 +00:00
itohy 2667a4b26f Fix typo. 1999-02-02 10:00:18 +00:00
itohy fbfe12046d Trivial asm-level optimizations. 1999-02-02 09:16:52 +00:00
mycroft 3e6e3322d8 Format consistency. 1999-01-24 12:56:51 +00:00
mycroft 082204fa3d Standardize format. 1999-01-22 14:12:07 +00:00