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
scw
81be7c00b7
Compute PAGER_MAP_SIZE at runtime to avoid needlessly crippling large-
...
memory models for the benefit of small-memory models.
Uses a heuristic of min(onboard_ram_size/2, 16MB).
2001-04-29 07:53:56 +00:00
thorpej
69abdbf60c
Undo a misguided previous change to the pmap_update() API.
2001-04-22 23:19:26 +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
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
cdcf9f46c5
Add definitions of C99 integer constant macros.
...
Tidy Makefiles up a little.
2001-04-14 22:46:19 +00:00
kleink
a7c20e5788
Add definitions of C99 integer constant macros.
2001-04-14 22:38:33 +00:00
scw
9beeeabe1b
Define a PAGER_MAP_SIZE of 4MB for the benefit of low-memory models.
...
XXX: This may still not be low enough for models with less than 8MB RAM...
2001-04-14 16:02:24 +00:00
scw
c605c91bdf
Fix bootline argument passing from the Bug PROM.
2001-04-14 13:43:07 +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
thorpej
2c4c690f14
Add the BUS_DMA_STREAMING flag.
2001-03-07 22:42:16 +00:00
thorpej
d74e432ed3
Make softclock a generic soft interrupt of the API is available,
...
adding the requisite void * argument to softclock().
2001-01-15 20:19:50 +00:00
thorpej
45de366b2e
Rename __GENERIC_SOFT_INTERRUPTS to __HAVE_GENERIC_SOFT_INTERRUPTS,
...
and place the definition in <machine/types.h>. This can now be used
as a flag to indicate whether or not <machine/intr.h> can be included
to get the generic soft interrupt API.
2001-01-14 23:50:28 +00:00
thorpej
d85a75f583
Make sure everybody has an splvm() and equate it with splimp() (splimp()
...
is the historical name for this interrupt level, and the historical name
is going to go away in the near future).
2001-01-14 02:00:37 +00:00
scw
00627955a1
Some minor optimisations to avoid checking {cpu,mmu}type when
...
the kernel was built for only one type of CPU.
2000-12-20 16:53:50 +00:00
scw
8ace7abc75
A small splx()/spl0()/soft interrupt related optimisation. If we're
...
dropping to spl0, use inline code to check if a soft interrupt is
pending instead of taking the hit of a function call to do the check.
2000-12-10 18:43:02 +00:00
scw
c5b6f43634
Define `splzs()' to be `splserial()' instead of `spl4()', which was
...
wrong anyway since it blindly set SPL to 4 regardless of the prevailing
level.
2000-12-10 18:00:24 +00:00
scw
ac80517816
Add some #defines for offsets into the bugargs structure, and make the
...
register names usable within assembly code.
2000-12-05 21:57:13 +00:00
scw
634dc65636
Backout the last change; I'll deal with it another way.
2000-12-05 19:54:09 +00:00
scw
1f9f7cbe53
UPAGES -> 2 as recommended by Chuck Silvers.
2000-12-05 18:46:10 +00:00
scw
2ec144518f
Add loadfile_machdep.h to list of installed machine headers.
2000-12-05 18:42:18 +00:00
scw
269a30a733
s/a6/fp/ again...
2000-12-04 18:48:18 +00:00
scw
b29bcb645b
The LOAD_TEXTA flag is required when loading a.out kernels.
...
Also add some non-standalone versions for the benefit of installboot(8).
2000-12-04 18:41:51 +00:00
scw
c28723715c
Prefix the register names with `%'.
2000-12-04 18:40:05 +00:00
scw
e4326b372a
Set things up so that DDB can get to the symbol table in ELF kernels.
2000-12-02 13:57:05 +00:00
tsutsui
a8fdbdec1c
Remove unused pcbb() macro.
2000-12-01 17:57:43 +00:00
scw
97490c9997
Add __attribute__((__packed__)) to cpu_disklabel to get around
...
the ELF padding/alignment constraints.
2000-12-01 00:02:22 +00:00
scw
d3251e5074
Prepare to switch mvme68k bootloader over to the MI loadfile().
2000-11-30 21:20:43 +00:00
scw
7248616dee
Ditch an extra % in a register prefix, and s/a6/fp/
2000-11-30 21:18:07 +00:00
scw
614e494d9e
Add register prefixes.
2000-11-29 09:18:32 +00:00
scw
fecb49d172
Add register prefixes.
2000-11-29 09:09:39 +00:00
scw
7d191ffe77
Revamp the bus_space(9) implementation:
...
. use a structure for the tag instead of an integer constant,
. add bus_space_{peek,poke}_N() (and G/C `badaddr()'),
. fix a few drivers which have dependencies on the implementation.
2000-11-24 09:36:40 +00:00
scw
06e91c089b
Replace the inline C versions of bus_space_{read,write}_N() with
...
inline assembler. This generates significantly more efficient code,
and trims ~1KB off the size of an mvme68k GENERIC kernel...
2000-11-24 09:05:55 +00:00
scw
b6f0a678dd
Add support for the m68060-based machines: MVME-172 and MVME-177.
...
CPU support taken from a combination of NetBSD/amiga and NetBSD/x68k.
At this time, MVME-172 works but MVME-177 is untested. Since the '177
is otherwise identical to the MVME-167, this should *just work*.
2000-11-20 19:35:28 +00:00
thorpej
ecf0470012
We use 4K pages on the mvme68k. Override PAGE_SIZE and friends to
...
be compile-time constants.
2000-11-14 19:12:58 +00:00
scw
5f6802db57
Add pmap_zero_page_uncached(), and the PMAP_PAGEIDLEZERO macro.
2000-09-22 08:27:00 +00:00
scw
18deccffca
Add IPL_SERIAL.
2000-09-19 19:31:34 +00:00
scw
53d57897d0
Use the complete ethernet address stored in nvram on mvme162/mvme167
...
instead of faking the first 5 nibbles a'la mvme147.
Apparently recent mvme16x boards have a new 5 nibble prefix...
2000-09-15 08:50:24 +00:00
thorpej
4db6fc7542
Make need_resched() take a "struct cpu_info *" argument. This
...
causes gives a primitive form of processor affinity. Its use in
roundrobin() still needs some work.
2000-08-25 01:04:06 +00:00
thorpej
58e7a6954b
Add spllock(). See spl(9) for details.
2000-08-22 19:46:26 +00:00
scw
3f2adcb2b0
Checkpoint of code to add VMEbus slave support using vme_dmamap* and
...
vme_dmamem*.
This is still a work in progress, but seems to DTRT on mvme167 so far.
TODO:
. Get VMEbus slave mode going on mvme147. This should be easy.
. Fix up the A16 slave mappings.
. Bounce buffer support. (Messy, but pretty much a `must have'.)
. Figure out how to deal with `location monitor' interrupts
within the framework. (Useful for Busnet, among other things.)
. It would be nice to make use of the VMEchip2's DMA facilities...
2000-08-20 17:07:41 +00:00
scw
b77bc217e1
Pull a bunch of common code from vme_pcc.c and vme_two.c into
...
the new mvmebus.[ch] files, and put down some initial code to
deal with VMEbus slave mode.
2000-08-13 17:00:51 +00:00
scw
0d5db1f645
Bump DFLDSIZ to 32MB since 16MB is no longer enough for some
...
parts of `make build'.
2000-07-27 14:48:58 +00:00
scw
8f4e16a29e
G/C some obsolete HP-UX related flags, and prevent multiple
...
inclusion while I'm here.
2000-07-27 14:26:15 +00:00
scw
2f335ce72b
Nuke __BROKEN_DK_ESTABLISH, and add __HAVE_DEVICE_REGISTER.
2000-07-25 20:52:27 +00:00
scw
78abb015f5
G/C the IIO* #defines. They're no longer needed.
2000-07-24 11:20:47 +00:00