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
kleink
a97fc2f180
If any of _ANSI_SOURCE, _POSIX_C_SOURCE or _XOPEN_SOURCE are defined, don't
...
provide any identifiers other than sig_atomic_t.
1998-05-25 20:59:01 +00:00
pk
0f93e72a5d
Add `mtty' and `mbpp' entries for the magma driver by Iain Hibbert.
1998-05-20 00:04:33 +00:00
thorpej
1686aca01d
Pull in opt_gateway.h as appropriate.
1998-04-29 23:11:00 +00:00
kleink
a53c1863fe
Provide definitions for intptr_t and uintptr_t, signed resp. unsigned integral
...
types large enough to hold any pointer.
1998-04-27 17:39:10 +00:00
pk
5ecf4dce67
Remove old mapdev() function prototype.
1998-04-07 20:08:29 +00:00
pk
286472fe4d
* Pass the bus tag instead of just the cookie to all bus space methods.
...
* In the bus tag structure, keep a reference to the parent bus.
* Express all bus space methods as inline functions in stead of macros
and use the parent bus tag reference to find the nearest "upstream"
bus that implements the method.
1998-04-07 20:07:23 +00:00
pk
fed9d8e6d6
Make mainbus attach phys addr field a bus_addr_t.
1998-03-30 14:15:12 +00:00
pk
57a8159633
Enter `obio_find_rom_map()' prototype.
...
Make `oba_paddr' field a `bus_addr_t'.
Define temporary compat `obio_bus_map()'.
1998-03-29 22:02:46 +00:00
pk
11928be0ff
`sparc_bus_mmap()' declaration moved to machdep.c
1998-03-29 22:00:33 +00:00
pk
2a65520c69
bus_space_probe() prototype.
1998-03-28 19:45:29 +00:00
pk
61365a8b8e
Add bus tags to softc.
1998-03-21 19:43:17 +00:00
pk
83cec33afc
Split the fb_setsize() utility in two separate functions: one to be
...
used by OBP machines and another one for sun4/eeprom machines.
1998-03-21 19:42:00 +00:00
pk
66190b4b99
Remove old `confargs' structure which is no longer used; extract the
...
structures representing the ROM properties.
Also, define the `mainbus' and `obio' attach arguments here.
1998-03-21 19:36:27 +00:00
pk
9e69994eaa
Add `interrupt establish' and ` device mmap' methods and macros to
...
match to the bus tag structure.
1998-03-21 19:31:27 +00:00
fvdl
ede1a3fc5b
Make this compile again.
1998-03-02 17:58:34 +00:00
mycroft
3b9429b248
Minor changes to make all the float.h files match.
1998-02-18 11:01:27 +00:00
mrg
919667a0c7
backout previous change.
1998-02-06 01:22:54 +00:00
mrg
40b61fb276
put PIL_CLOCK and splclock together, like the rest..
1998-02-06 00:02:30 +00:00
thorpej
8abe76d2f0
Add offset and length parameters to bus_dmamap_sync(), used for specifiying
...
partial syncs of a DMA mapping.
1998-02-04 05:12:46 +00:00
thorpej
99cc8482d1
Change the last argument of bus_dmamap_sync() from bus_dmasync_op_t to int,
...
and allow more than one synchronization operation to be specified in
a single call. Dissallow mixing of PRE and POST operations.
1998-02-04 01:57:27 +00:00
thorpej
a7c5c1ef3c
Add dm_mapsize to bus_dmamap_t and rename BUS_DMAMEM_NOSYNC to
...
BUS_DMA_COHERENT.
1998-02-04 00:32:55 +00:00
mycroft
b5c132e4d2
Prototype __flt_rounds() consistently.
1998-02-03 01:26:20 +00:00
pk
7a39d28b24
bus_map() & bus_untmp() are only used for sun4/obio devices.
1998-01-25 16:51:16 +00:00
pk
1842a317c3
Fix parenthesis inbalance.
1998-01-13 20:53:38 +00:00
pk
a8dda8092d
Commit to MACHINE_NEW_NONCONFIG.
1998-01-13 00:58:56 +00:00
perry
6f57e5c573
multiple include protect machine/limits.h, fixes pr 4473 (from Mika Nystrom)
1998-01-09 22:23:44 +00:00
thorpej
85d56961e5
Update a comment relative to the vm_bootstrap_steal_memory() change, and
...
don't include pmap_free_pages() or pmap_next_page() in the new non-contig
case.
1998-01-08 23:48:16 +00:00
mrg
c599e7d439
add new version of non contiguous memory code, written by chuck cranor,
...
called "MACHINE_NEW_NONCONGIG". this is required for UVM, the new VM
system (also written by chuck) that is coming soon. adds new functions:
vm_page_physload() -- tell the VM system about an area of memory.
vm_physseg_find() -- returns index in vm_physmem array that this
address is in.
and several new versions of old functions/macros defined in vm_page.h.
this is the sparc portion.
1998-01-08 11:39:30 +00:00
perry
015e898c02
RCSID Police.
1998-01-05 07:02:46 +00:00
thorpej
9ca174a51d
Implement pmap_activate().
1998-01-02 22:57:56 +00:00
pk
9e087acb89
Code for software-assisted DDB single-stepping from Chuck Silvers.
1997-12-10 23:12:13 +00:00
kleink
66c2794142
Add _BSD_SUSECONDS_T_ and _BSD_USECONDS_T_; do some space vs. tab formatting
...
cleanup
1997-11-23 20:20:53 +00:00
pk
4759b4c5ff
Re-do the `busdma' interface.
1997-11-23 16:31:28 +00:00
tv
426330f919
eliminate declarations of global data in <sparc/cpu.h> and declare in
...
source files, reducing global symblol replication in .o kernel files
1997-11-22 03:13:56 +00:00
pk
b9746b3d00
splpmap() is again equivalent to splimp().
1997-11-19 23:05:49 +00:00
thorpej
0b04d28454
Mark uses of long long with /* LONGLONG */ for lint. From
...
Chris Demetriou <cgd@pa.dec.com>.
1997-11-05 04:36:08 +00:00
thorpej
4730a8cbec
Bug fixes and cleanup from Chris Demetriou <cgd@pa.dec.com>:
...
- fix _C_LABEL so that it actually works.
- make __RENAME use _C_LABEL.
- fix __RENAME so that it expects an unquoted argument.
- fix __indr_reference and __warn_references so that they
supply their own final semicolon.
- define __warn_references to nothing if not GNU C (required
by the way it's used).
The __warn_references semicolon change has to be made
so that __warn_references can be defined into nothing.
(A ; all by itself isn't a great idea.) The __indr_reference
change was made for consistency.
1997-11-04 23:09:23 +00:00
pk
b74bcd140c
The sparc's bus.h.
1997-11-02 21:28:33 +00:00
thorpej
665f7d1a6e
Implement __RENAME() in <machine/cdefs.h>
1997-10-22 05:20:32 +00:00
gwr
0308bf1ac6
Use common zs code.
1997-10-17 23:59:44 +00:00
bouyer
6ab3092b11
Add byte-swapping functions (bswap16, bswap32, bswap64) to libkern.
...
Only assembly version for i386 bswap16 and bswap32 for now (bswap64 uses
bswap32). Contribution of assembly versions of these are welcome.
Add byte-swapping of ext2fs metadata for big-endian systems.
Tested on i386 and sparc.
1997-10-09 15:42:19 +00:00
jtc
da7890c526
Fix tipo inherited from old version of TNF copyright template.
1997-10-09 08:31:58 +00:00
pk
40c87730b3
Move KERNBASE to 0xf0000000.
1997-09-23 19:59:27 +00:00
pk
f5bb941f5b
MSGBUFSIZE needs no obscure adjustment; initmsgbuf() takes care of that.
1997-09-23 08:23:29 +00:00
pk
9b3d64edb9
Remove the `segmap' array from the header. Insert an offset and count
...
field to get to it instead.
Add field `kernbase' so libkvm can be independent of the kernel's link address.
1997-09-20 18:23:51 +00:00
leo
2b138578d7
Correct for the extra member in 'struct kern_msgbuf' when calculating
...
the number of bytes we want to allocate.
1997-09-20 12:10:09 +00:00
leo
d4713d24c2
Implement the kernel part of pr-1891. This allows for a more flexible sized
...
msgbuf. Note that old 'dmesg' and 'syslogd' binaries will continue running,
though old 'dmesg' binaries will output a few bytes of junk at the start of
the buffer, and will miss a few bytes at the end of the buffer.
1997-09-19 13:52:37 +00:00
pk
7950e785f9
Switch to MI kgdb code.
1997-08-31 21:22:44 +00:00
pk
b449c91f9b
Correct typo that has been lurking undetected for some time.
1997-08-05 11:00:10 +00:00
pk
24ad0e8316
Prototype pmap_writetext().
1997-08-04 20:00:47 +00:00
pk
a92a5224ee
Remove a couple of "ms2 only" from cache-flush ASIs.
1997-07-20 18:55:03 +00:00
thorpej
8b278df35a
Change the extern declaration of __flt_rounds() into a proper prototype.
1997-07-18 05:11:52 +00:00
christos
533bf031cd
Add RCSID() macro.
1997-07-16 15:16:43 +00:00
perry
ad1710ce1e
update comment from 1981 on memory and disk prices -- pr-2754 from Curt Sampson
1997-07-12 16:18:36 +00:00
pk
99edebd566
fbrcons_{rows,cols} helper functions.
1997-07-07 23:31:30 +00:00
pk
27434aef27
Follow lock changes (DEBUG => LOCKDEBUG).
1997-07-06 23:57:16 +00:00
pk
4846e5ba47
Adjust for generic lock changes.
1997-07-06 23:52:52 +00:00
pk
0ab67aca5d
Define the turbosparc's processor configuration register.
1997-07-06 22:21:11 +00:00
pk
a9b31740a2
Remove __VM_PMAP_HACK.
1997-06-28 19:56:12 +00:00
thorpej
0404c01c46
#define DB_AOUT_SYMBOLS
1997-06-26 01:26:56 +00:00
mrg
dc6a98e92c
bring mrg-vm-swap2 onto mainilne.
1997-06-12 15:09:23 +00:00
pk
ea0f4900ff
Always use `rr_iospace' to track the MMU page type bits.
...
This obsoletes the `bustype' argument in map[io]dev().
1997-05-24 20:03:03 +00:00
pk
957b6c1c18
Define macros for encoding I/O space bits into the physical address
...
passed to pmap_enter().
1997-05-24 19:59:25 +00:00
pk
350c3993aa
Remove bus_tmp().
1997-05-18 21:26:40 +00:00
gwr
e2a58b69f7
Add #define __VM_PMAP_HACK as a temporary measure.
1997-05-16 21:35:30 +00:00
pk
3f1da95bc5
Nuke old `mmu3l' references.
1997-05-15 22:25:45 +00:00
pk
bb1d4e0540
Move "range" property description out of generic `romaux'.
1997-04-08 20:06:26 +00:00
pk
8d0c0fd49b
For each major "module", define a separate set of MMU control register bits.
1997-03-22 19:15:53 +00:00
pk
a372844a7a
Add fix_align() and emulinstr() prototypes.
1997-03-15 22:25:15 +00:00