thorpej
cc668e410f
Define apporpriate an value for SIMPLELOCK_LOCKED, based on the
...
semantics of ldstub.
1999-07-27 22:22:33 +00:00
thorpej
c1ee8f0a8c
Prepend `cpu_' to the machine-dependent atomic locking primitivies.
1999-07-27 21:45:39 +00:00
thorpej
3ebbe095e0
Change the pmap_extract() interface to:
...
boolean_t pmap_extract(pmap_t, vaddr_t, paddr_t *);
This makes it possible for the pmap to map physical address 0.
1999-07-08 18:05:21 +00:00
pk
7c5f595062
mmu_pagein() prototype: change address argument to `vaddr_t'.
1999-06-28 14:44:57 +00:00
thorpej
0288ffb53a
pmap_change_wiring() -> pmap_unwire().
1999-06-17 19:23:20 +00:00
thorpej
f5a527bb4e
Remove pmap_pageable(); no pmap implements it, and it is not really useful,
...
because pmap_enter()/pmap_change_wiring() (soon to be pmap_unwire())
communicate the information in greater detail.
1999-06-17 18:21:21 +00:00
pk
bea0725979
64-bit safety to help sharing compilation tools with sparc64.
1999-06-05 12:54:23 +00:00
eeh
ea28d54c9e
Let NetBSD/sparc know about 64-bit formats even if it can't execute them.
1999-05-14 00:18:51 +00:00
christos
7d5c65239e
clean up old GCC.1 stuff.
1999-05-04 13:36:10 +00:00
christos
f890155a87
Define __extension__ if __GNUC__ < 2
...
Define __builtin_* for lint.
1999-05-03 16:20:28 +00:00
christos
b0c181d290
move PROM_LOADADDR from promlib.h to param.h and remove its cast.
1999-05-03 16:14:02 +00:00
christos
797c581bbc
Add bootinfo.h
1999-05-02 13:50:17 +00:00
christos
35e47f06fa
Load the header too.
1999-04-30 13:28:58 +00:00
christos
4bf3b7a9c1
Compile in support for ELF symbols.
1999-04-30 13:28:36 +00:00
christos
b40179bdca
MD version of loadfile.h
1999-04-28 15:26:21 +00:00
christos
017ae4d0c4
Support for installboot
1999-04-28 15:25:43 +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
mrg
a3b0c3845d
fix some comments.
1999-04-18 10:54:23 +00:00
ad
5140c302ce
Bring sparc/sparc64 fb code and kernel configuration into line with
...
rcons changes.
1999-04-13 18:45:40 +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
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
thorpej
a77ccfe460
Garbage-collect.
1999-03-20 01:40:25 +00:00
jonathan
69d2d27c1b
Use bus_space tags and handles, embedded in MD hooks AM7930_{READ_WRITE}_REG
...
to handle MD delay and bus padding. Tested on sparc2 by David Brownlee.
Should use regmaps, but that breaks sparc pDMA assembly code.
1999-03-14 22:29:00 +00:00
chs
31ef6fbb8d
add RODATA(), which is like ENTRY() but without the _PROF_PROLOGUE.
1999-02-24 16:02:19 +00:00
kristerw
871ac39c21
The recent simplification of the lint version of the va_arg macro broke
...
linting of vfprintf.c, where va_arg is used as
*va_arg(ap, quad_t *) = ret;
Make the macro slightly more complicated...
1999-02-20 00:33:55 +00:00
pk
1e5bf77774
Adjust to functionality and changes introduced with <machine/promlib.h>
1999-02-14 12:26:16 +00:00
pk
a99ba2939c
Provide a uniform interface to most of the PROM functions.
...
Include an Openfirmware back-end (mostly copied from sparc64).
1999-02-14 12:23:03 +00:00
christos
6e13c7d4b5
Avoid defining __extension__ if we don't need to. Breaks lint.
1999-02-13 20:35:02 +00:00
christos
d30ef27fb0
s/ELF/__ELF__/
1999-02-07 20:21:09 +00:00
mrg
1ccaf05ff1
add CPU_SUN4U, to make libkvm compile.
1999-02-01 22:20:02 +00:00
drochner
cc66380116
fix address incrementing in the read_region_N, write_region_N,
...
set_region_N and copy_region_N methods
1999-01-29 16:30:51 +00:00
mycroft
897a8a7f29
Mark [hn]to[nh][ls]() with __const__, so they are subject to CSE.
1999-01-24 12:55:01 +00:00
christos
64df2f4fd8
Remove old prototypes (move to mi code), and add the xrs gunk!
1999-01-21 23:05:14 +00:00
pk
565d3768e5
Catch `Unimplemented Flush' traps.
1999-01-20 00:15:07 +00:00
pk
66cd211961
Define Hypersparc ICCR bits.
1999-01-19 23:04:02 +00:00
pk
dd91d8a2b4
Add SIR_SERIAL soft interrupt source.
1999-01-19 10:02:40 +00:00
chuck
90ddaed9b5
MNN is no longer optional, remove dead code
1999-01-16 20:43:21 +00:00
bouyer
dc306354b0
Move the bswap functions from libutil to libc (this bups the
...
minor of libc and the major of libutil). For little-endian architectures
merge the bnswap() assembly versions with nto* and hton* using symbols
aliasing. Use symbol renaming for the bswap function in this case to avoid
namespace pollution.
Declare bswap* in machine/bswap.h, not machine/endian.h. For little-endian
machines, common code for inline macros go in machine/byte_swap.h
Sync libkern with libc.
Adjust #include in kernel sources for machine/bswap.h.
1999-01-15 13:31:15 +00:00
thorpej
da572a137f
Argh, fix the ANSI CPP version of the a.out WARN_REFERENCES().
1998-12-02 21:16:46 +00:00
thorpej
a6f7e0c05a
Implement WARN_REFERENCES().
1998-12-02 00:58:42 +00:00
pk
2e89e9144b
Turn a bunch of bus_space_*() macros into in-line functions mostly to avoid
...
variable aliasing.
1998-11-26 23:50:52 +00:00
pk
c918193752
Add splserial().
1998-11-26 22:53:13 +00:00
pk
b34cd5fdf0
Add IPL_SERIAL
1998-11-25 19:33:02 +00:00
pk
701d8366f0
Define `interrupt priority levels'.
...
XXX - for now, these arbitrary identifiers; NO INTERPRETATION IS DEFINED YET
1998-11-22 23:53:24 +00:00
pk
bc98f448b8
Turn the passed tag into "used" arguments.
1998-11-22 21:52:24 +00:00
oster
c74d32c5fc
Updating of bdev's and cdev's to support RAIDframe.
1998-11-13 04:47:03 +00:00
thorpej
cabecee13c
Changes to support fork_kthread():
...
- cpu_set_kpc() now takes void *arg third argument, passed to the
entry point.
- cpu_fork() allows parent to be non-curproc iff parent is proc0.
When forking non-curproc, assume its state has already been saved.
- Adjust various pieces of machine-dependent code to account of all of this.
1998-11-11 06:43:49 +00:00
chs
61458d7dfa
LOCKDEBUG enhancements for non-MP:
...
keep a list of locked locks.
use this to print where the lock was locked
when we either go to sleep with a lock held
or try to free a locked lock.
1998-11-04 06:19:55 +00:00
pk
9eb94a0c03
Must protect user-land from cpuvar.h; noticed by Juergen Hannken-Illjes.
1998-10-26 08:16:08 +00:00
pk
890e54bee0
Pull in cpuvar.h to get definition of `curproc'.
1998-10-21 07:11:47 +00:00
pk
bf7ace9074
CLKF_INTR() needs to have a MULTIPROCESSOR version.
1998-10-13 20:53:02 +00:00
thorpej
908cdfe4e3
Add scsibus entry points to the cdevsw[].
1998-10-10 02:00:49 +00:00
pk
e6bbfcc58a
Move [gs]etcontext() and [gs]etpte() to pte.h
1998-10-08 21:47:34 +00:00
thorpej
d681cf055a
configure() prototype is in <sys/device.h>
1998-10-06 20:50:15 +00:00
thorpej
5006dbf868
cpu_set_kpc() prototype is already in <sys/systm.h>.
1998-10-05 22:11:15 +00:00
pk
40beab6ad6
If a lock is held do not spin in a read/write loop but just read the lock
...
until it is released. This is easier on the bus cache coherency logic.
1998-10-05 19:58:19 +00:00
thorpej
c5b8d42e66
Need 14 longs for jmp_buf now (sigcontext has 128-bit signal mask at the
...
end).
1998-10-01 03:28:11 +00:00
pk
f382e91b5e
Add a field to identify the processor that has a process' FPU context.
1998-09-30 18:40:58 +00:00
pk
e6ce8bcfc7
sparc spin lock functions.
1998-09-27 14:31:18 +00:00
pk
6ad3a051e8
mp_{pause,resume,halt}_cpu() prototypes.
1998-09-26 20:12:06 +00:00
pk
fe1cf94b9f
Add wrappers for PROM's CPU start/stop functions.
1998-09-26 19:08:09 +00:00
pk
43c1cb852c
Move PROM interface prototypes into openprom.h
...
Use the `openprom_addr' structure for passing around physical addresses.
1998-09-26 18:20:19 +00:00
pk
709360e3ce
Fill the `bpp' slot.
1998-09-21 21:13:51 +00:00
pk
b6da06d637
Name fault registers more like they're referred to in various docs.
1998-09-20 19:29:10 +00:00
thorpej
dcb541531a
Minor cosmetic change.
1998-09-17 02:33:06 +00:00
mycroft
4e4f120db9
Update these for signal handling changes.
...
XXX Not tested yet.
1998-09-13 12:13:49 +00:00
pk
90054fd502
New sigcontext.
1998-09-13 11:41:02 +00:00
pk
ba67f63901
Sync function prototypes; remove unsed variables.
1998-09-13 11:34:04 +00:00
pk
cd0a5fe245
Define some bit-format strings.
1998-09-12 13:59:19 +00:00
pk
18fbdfc2f8
Expose `v3' routines to everyone.
1998-09-12 13:34:38 +00:00
thorpej
8abe0d6b1c
Adjust for the new "reaper" kernel thread: do not free the vmspace and
...
u-area in machine-dependent code. Instead, call exit2() to schedule
the reaper to free them for us, once it is safe to do so (i.e. we are
no longer running on the dead proc's vmspace and stack).
1998-09-09 00:07:48 +00:00
pk
457395fe53
Use the new "%b" format.
1998-09-06 21:38:36 +00:00
christos
50909bd6d9
Assign copyright to TNF.
1998-09-05 15:28:08 +00:00
pk
fc313d9031
Nuke old getprop() function and put its successor in place.
1998-08-30 21:30:41 +00:00
pk
4539119e83
Nuke phys_map & old dvmamap.
1998-08-23 10:08:25 +00:00
pk
4fe6cdf6ca
Nuke obsolete prototype.
1998-08-23 10:07:09 +00:00
mrg
c54c62ad31
bsd_audioio.h is not used.
1998-08-22 15:56:46 +00:00
pk
b8a1caac4a
Convert to [pv]addr_t & [pv]size_t.
1998-08-21 14:12:18 +00:00
pk
24255abca0
iommu_{enter,remove} moved to iommuvar.h
1998-08-21 14:10:42 +00:00
pk
ca5b5652b4
Remove vm_offset_t & vm_size_t.
1998-08-21 14:09:59 +00:00
eeh
a2dd74ed79
Merge paddr_t changes into the main branch.
1998-08-13 02:10:37 +00:00
kleink
546365a27e
_POSIX_SOURCE -> _POSIX_C_SOURCE
1998-08-06 11:25:04 +00:00
mycroft
a24dbc8065
(Always) (practice) (safe) (macro expansion).
1998-07-31 15:07:41 +00:00
pk
862c0bafcc
Define a BUS_DMA flag for devices that have a 24-bit address space.
...
Update _bus_dma* prototypes.
1998-07-30 22:20:31 +00:00
pk
ab0e92568b
<sparc/dev/sbusvar.h> => <dev/sbus/sbusvar.h>
1998-07-29 18:48:54 +00:00
pk
fb7bb1a359
Remove mbppio.h from the list.
...
Also stop installing db_machdep.h, fbvar.h, z8530.h.
1998-07-28 00:34:56 +00:00
pk
aaadc9459d
This file is now in <dev/sbus>
1998-07-28 00:33:35 +00:00
mycroft
da2e61d160
Delint.
1998-07-27 13:55:32 +00:00
pk
4998ae50c0
Define hypersparc instruction-cache flush ASI.
1998-07-26 23:29:58 +00:00
thorpej
d47ea67c1f
Define one page free list, and put all pages on it.
1998-07-08 04:43:18 +00:00
tv
e89e603343
_GLOBAL_OFFSET_TABLE_ needs a _C_LABEL() wrapper, too.
1998-07-01 21:42:51 +00:00
tv
725b3015b6
Strip extra underscore on _mcount on ELF.
1998-07-01 20:55:45 +00:00
tv
28260456a9
Add relocation definitions used by ld.elf_so.
1998-07-01 20:43:56 +00:00
tv
fb267f06f0
On ELF, make __indr_reference undefined and __warn_references do nothing,
...
as on Alpha. This should be fixed to do something in both cases.
1998-07-01 17:14:51 +00:00
tv
da26383918
Change _C_LABEL() to use proper underscoring depending on __ELF__ or not.
1998-07-01 02:35:24 +00:00
mrg
1caf02a0cf
moved <machine/sun_disklabel.h> to <dev/sun/disklabel.h>
1998-06-20 03:50:51 +00:00
mrg
096ec47ff9
moved to <dev/sun/disklabel.h>
1998-06-20 03:46:24 +00:00
kleink
1fbd0b3749
GC the unused `physadr' type, which was not able to hold a complete physical
...
address on 2 architectures anyhow. Also, move the definition of the `label_t'
type inside _KERNEL protection, since it is specific to the in-kernel
setjmp()/longjmp() implementations.
1998-06-14 20:09:22 +00:00
cgd
651b44e211
Rework the way kernel include files are installed. In the new method,
...
as with user-land programs, include files are installed by each directory
in the tree that has includes to install. (This allows more flexibility
as to what gets installed, makes 'partial installs' easier, and gives us
more options as to which machines' includes get installed at any given
time.) The old SYS_INCLUDES={symlinks,copies} behaviours are _both_
still supported, though at least one bug in the 'symlinks' case is
fixed by this change. Include files can't be build before installation,
so directories that have includes as targets (e.g. dev/pci) have to move
those targets into a different Makefile.
1998-06-12 23:22:30 +00:00
pk
062294cc8c
Magma parallel port ioctls per Iain Hibbert.
1998-06-03 22:40:00 +00:00