Commit Graph

3435 Commits

Author SHA1 Message Date
hannken f2746edc5b Explicit cast for netif.
Approved by: Matthias Drochner <drochner@netbsd.org>
2003-03-13 12:02:54 +00:00
jdc cc782e8a7e Make this compile with only SUN4 defined. 2003-03-12 07:51:00 +00:00
lukem 6107a9b605 crank memory disk from 1360 blocks to 1376 blocks 2003-03-08 00:04:36 +00:00
pk f26c7b7e7f Note a kernel pmap locking problem in pmap_kenter_pa4m(). 2003-03-03 22:43:58 +00:00
tshiozak 31e2cbf0b5 add some ISO C 1995 I18N functions and types:
btowc, wctrans, towctrans, wcscoll, wcsxfrm, wctype_t and wctrans_t.
2003-03-02 22:18:11 +00:00
pk 77accc351e Use the new pmap_kprotect() function instead of pmap_changeprot().
The latter is now a pmap internal function; and it wasn't used correctly
in mkclock.c anyway.
2003-03-02 21:42:48 +00:00
pk 22cf03a09f pmap_changeprot() is not a UVM <-> PMAP interface function; make it internal.
Provide pmap_kprotect() for MD code to change protection on a range of
kernel addresses (cuurent users: intr.c and mkclock.c).
2003-03-02 21:37:20 +00:00
pk 1b5340d327 Add support for large kernels by searching for a physical memory segment
to fit it in. As a bonus, the kernel is now also mapped to the virtual
address (i.e. KERNBASE) it is linked at.
2003-03-01 13:01:55 +00:00
perseant eab869e1c0 Make BRIDGE_IPF an option, and document it. Add it (commented) to GENERIC.
Let brconfig tell whether the bridge is using the ipfilter hook, or not.
2003-02-27 19:22:36 +00:00
pk 33bdc2efe0 Free page table pages to the same VM map they were allocated from. 2003-02-27 14:19:41 +00:00
pk 4eb3db09d9 Move all `ID prom' stuff into the prom library. 2003-02-26 17:39:05 +00:00
pk fb425a12ca Re-define `struct memarr' to have the same layout as the V2 ROM memory
property to avoid gratuitous copying in prom_makememarr().

Have prom_makememarr() accept a NULL pointer, in which case it will return
the size of the array needed to store the memory descriptors.
2003-02-26 14:25:20 +00:00
pk f5831d3d87 Store the physical memory descriptors on top of the kernel instead of
allocating a fixed sized array.
2003-02-26 14:18:24 +00:00
thorpej 3ea6b8be93 Add missing splbio() protecting of bufpool access. Add a clarifying
comment to <sys/buf.h> reminding everyone of the need for splbio().
2003-02-25 21:25:40 +00:00
thorpej eb14e86676 Add a new BUF_INIT() macro which initializes b_dep and b_interlock, and
use it.  This fixes a few places where either b_dep or b_interlock were
not properly initialized.
2003-02-25 20:35:31 +00:00
pk b69aef5f3e * Use fdloadfile() to avoid opening the the underlying device twice.
* Cleanup old stuff.
2003-02-25 08:09:30 +00:00
pk dd87308a05 Note which network boot protocol we're trying. 2003-02-25 08:06:29 +00:00
pk a8bd073e6f pv_unlink4m(): don't forget to link in a new PV entry after alias checking. 2003-02-24 15:14:51 +00:00
pk 007c1ca9cf Remove the assumption in the sun4/sun4c bootstrap code that the kernel
is always mapped using PMEGs and SMEGs starting at #0.
2003-02-21 19:07:36 +00:00
pk b7f550c62d Allow the kernel to be loaded at its link address (aka KERNBASE) by the
boot program.
2003-02-21 19:04:07 +00:00
pk b8081a591a Change locking prerequisites for the pv_changepte4m() helper function
to avoid locking recursion.
2003-02-20 16:22:49 +00:00
martin c3ed92df3e Add a few new devices. 2003-02-20 12:02:31 +00:00
pk b66bce23df Finish PV table locking. Terminology and locking strategy stolen from
the alpha port.
2003-02-19 22:27:08 +00:00
pk d286e74769 pgt_page_alloc: use uvm_km_kmemalloc() so we can honor the PR_NOWAIT flag
pmap_kenter_pa4m: lock the pmap we're working on.
2003-02-18 22:05:08 +00:00
pk 2b390d41d0 Move makememarr() into promlib.c. 2003-02-18 13:36:51 +00:00
pk c502753d44 Fix pasto in previous. 2003-02-15 13:30:11 +00:00
pk 84e3fcabb3 Redo part of rev. 1.237; the pages at KERNBASE might not be mapped when the
kernel has just been loaded.
2003-02-15 13:17:41 +00:00
pk baa98646a0 It's not necessary to complicate the computation of `va2pa_offset': we already
assume that the few leading pages in front of the kernel image are
always present.

Adjust `va2pa_offset' on sun4 and sun4c as well, so that some day we can
have the bootstrap program load the kernel some place else.
2003-02-14 22:24:58 +00:00
pk d6b6eb78e4 Move the PV list header into the VM page vm_page_md structure.
Also, start using a spin lock to protect PV list operations.
2003-02-13 09:53:20 +00:00
pk 338f31f581 Make the buffer cache code MP-safe. 2003-02-05 21:38:38 +00:00
mrg 2a81b2dfea clean up a couple of SMP comments. 2003-01-31 01:26:39 +00:00
hannken eea2fc320e Fix printf() problem caused by "daddr_t" change. 2003-01-30 16:33:50 +00:00
pk be1188e00d Provide locking required by the interrupt handlers running at IPL_SERIAL. 2003-01-28 12:35:31 +00:00
kent cd7d9faeaf Introduce BUS_DMA_NOCACHE, and bus_dmamem_map() of i386 supports it. 2003-01-28 01:07:51 +00:00
pk bfb9cac2fc Release the kernel lock in upcallret() and startlwp(). 2003-01-26 13:20:12 +00:00
fvdl a3ff3a3038 Bump daddr_t to 64 bits. Replace it with int32_t in all places where
it was used on-disk, so that on-disk formats remain the same.
Remove ufs_daddr_t and ufs_lbn_t for the time being.
2003-01-24 21:55:02 +00:00
pk f65446d08d When stopping a CPU, clear its bit from cpu_ready_mask. 2003-01-23 22:33:41 +00:00
pk a6a16741fe Optimize xcall() et.al. further by maintaining a cpuset mask of all CPUs
marked ready. This saves repeated testing for NULL pointers and the
CPUFLG_READY flag.
Also use a separate flag variable to signal xcall completion. This saves a
load and a pipeline stall.
2003-01-23 19:54:35 +00:00
pk a799bdd88d GC the per-CPU message lock.
Move the level 15 msg area further down the cpuinfo structure, as it's
used infrequently.
2003-01-23 18:49:08 +00:00
pk 39ce68a44b bogusintr: print cpu number. 2003-01-23 14:56:06 +00:00
pk 22acc2a827 Shave some code off xcall(). 2003-01-23 14:54:33 +00:00
pk 40a1653fc2 pmap_kenter_pa4m: like pmap_enk4m(), we can use setpte4m().
ctx_free: fix cache flush context for sun4/sun4c.
2003-01-23 12:48:53 +00:00
pk 698ca6fb6f LWPify cpu_debug_dump(). 2003-01-23 11:50:50 +00:00
pk 9d33cc7115 Set the interrupt target to the current CPU when directly accessing
the chip for console I/O.
2003-01-22 22:00:39 +00:00
pk 53c776f062 Add functions to set & get the interrupt target CPU. 2003-01-22 21:58:28 +00:00
sjg b3d7df8002 Don't hide bootmid behind MULTIPROCESSOR. 2003-01-21 06:18:41 +00:00
pk 26eedde15b srmmu_cache_flush: when flushing per-page and doing more than one page,
we might be crossing a segment boundary.
2003-01-20 22:15:54 +00:00
pk d823499ff4 pmap_enter4m: when installing a new PTE we don't need to invoke the elaborate
TLB de-map protocol.  In the relatively infrequent case where this function
must update an existing mapping, do the de-map explicitly before installing
the new PTE value.
2003-01-20 22:03:54 +00:00
pk ab9a8ae184 Set the system-wide cache aliasing distance according to the largest cache
found on the CPU modules (hypersparc & cypress).

Vikings have a physically indexed cache, so don't bother with computing an
aliasing distance (leaving cache_alias_dist zero disables the BAD_ALIAS macro).
2003-01-20 21:56:34 +00:00
pk b4a0aebea2 Add SUN4D case for cache alias macros. 2003-01-20 21:43:38 +00:00