Commit Graph

615 Commits

Author SHA1 Message Date
pk 6b2ebb44a7 Move several PIL_* definitions into the scope of LOCORE stuff. 2000-01-21 13:22:55 +00:00
pk c6b6f3883a Remove old-style boot device recognition. 2000-01-11 12:59:43 +00:00
pk a744e28304 Cleanup the list of exported headers a bit. 2000-01-10 22:09:34 +00:00
kleink 693059feda const -> __const and include <sys/cdefs.h> earlier; fixes PR lib/9052
by Takahiro Kambe.
2000-01-04 14:20:05 +00:00
pk 4681e48204 Remove private kernel members from `struct fpreg'; update accompanying comment. 1999-12-30 23:59:29 +00:00
kleink 11e6c54cfc C99: Define a NAN macro in <math.h> which evaulates to a constant expression of
a single-precision quiet NaN; only to be defined on platforms that do support
this value.
1999-12-23 10:15:05 +00:00
jdc 016b030623 Added tctrl.h 1999-12-20 09:49:20 +00:00
thorpej 18ab712015 Provide cpu_boot_secondary_cpus(). 1999-12-16 20:24:58 +00:00
garbled 5e200de9b7 Add new spl level for tadpole devices splts102.
Device entrypoints for tctrl device (tadpole micro controller)
add header for direct-access ioctl to the tadpole microcontroller.
1999-12-15 08:01:00 +00:00
ragge 0513268399 CL* discarding. 1999-12-04 21:13:19 +00:00
mrg b27ecf75a9 oops; remove part of the previous that was not intended (yet). 1999-11-30 07:56:28 +00:00
mrg 9a6c8313f7 minor cosmetic merges; long way to go here. 1999-11-27 12:14:26 +00:00
mrg 264af07cff merge sparc64 types.h; these files are now identical. 1999-11-27 11:33:39 +00:00
mrg d7e14b468a more sparc64 merging; these files are (basically) identical. 1999-11-27 11:20:41 +00:00
mrg faa527dcc9 merge sparc64 limits.h; these files are now identical. this includes
a `fix' for when s?size_t was changed from int to long but the
definitions of S?SIZE_MAX were left as U?INT_MAX.  these are now
U?LONG_MAX.
1999-11-27 11:14:40 +00:00
mrg 492e85822e MNN has been standard for a Long Time. 1999-11-27 10:22:19 +00:00
mrg 484cb25f55 s/long/int/ to make this identical the sparc64 version. 1999-11-27 10:10:02 +00:00
thorpej 2cfc62b5ae Update for pmap API change. 1999-11-14 02:39:09 +00:00
kleink 522cbf0248 Update to match new SVR4-style definition names in <sys/exec_elf.h>. 1999-10-25 13:55:06 +00:00
pk b19b1fc269 Each process (i.e. each `pmap') needs a region table for each CPU.
Implement this by making the fields `pm_reg_ptp' and `pm_reg_ptp_pa'
pointers to an array of `ncpu' region table pointers and corresponding
physical addresses.

This is a somewhat unfortunate side effect of having the per-CPU data
addressable by the same virtual address on each CPU.
1999-10-04 19:18:33 +00:00
pk fa65ea182c Implement sysctl `machdep.booted_kernel'. 1999-10-04 19:11:42 +00:00
chs f3a668ed84 eliminate the PMAP_NEW option by making it required for all ports.
ports which previously had no support for PMAP_NEW now implement
the pmap_k* interfaces as wrappers around the non-k versions.
1999-09-12 01:16:55 +00:00
simonb 3c185af5fd Include <sys/endian.h> after defining whether where are little- or
big-endian.  i386, pc532 and vax still include <machine/byte_swap.h>
and define macros for the {n,h}to{h,n}*() functions.  mips also
defines some endian-independent assembly-code aliases for unaligned
memory accesses.
1999-08-21 05:53:50 +00:00
simonb 06a92524c2 Include <sys/bswap.h> for function prototypes. i386, pc532 and vax
still include <machine/byte_swap.h> and define macros for some of
the bswap*() functions.
1999-08-21 05:39:51 +00:00
matt 74ed5b7f0f Add <machine/apmvar.h> for sparc so that apmd can be built. Eventually
this allow it work on Tadpole SPARCbook 3 laptops (and/or other sparc
with power management).
1999-08-11 02:00:09 +00:00
thorpej 28fb7c1eb8 Define cpu_number() as discussed on tech-smp. 1999-08-10 21:08:05 +00:00
thorpej 1c0e017cff Change spl calls to always raise priority, except for the ones which are
specifically supposed to lower it.
1999-08-05 21:16:55 +00:00
thorpej eb20bbc780 Change the semantics of splsoftclock() to be like other spl*() functions,
that is priority is rasied.  Add a new spllowersoftclock() to provide the
atomic drop-to-softclock semantics that the old splsoftclock() provided,
and update calls accordingly.

This fixes a problem with using the "rnd" pseudo-device from within
interrupt context to extract random data (e.g. from within the softnet
interrupt) where doing so would incorrectly unblock interrupts (causing
all sorts of lossage).

XXX 4 platforms do not have priority-raising capability: newsmips, sparc,
XXX sparc64, and VAX.  This platforms still have this bug until their
XXX spl*() functions are fixed.
1999-08-05 18:08:08 +00:00
matt 4b814be9cf Initial stab at a P9100 console FB driver for the Tadpole 3GX.
It supports RASTERCONSOLE only and the colormap support is
broken (the hardware doesn't seem to be doing what the tech.
docs. say it should be doing).  But it is usable as a console
(but with blue on white as the only color choice).  I figured
I'd check it in since it is somewhat usable and someone else
might figure what I screwed up in the color map support.
1999-08-01 00:23:48 +00:00
matt d4b9056054 Add preliminary support for the built-in modem on Tadpole 3GX/S
laptops.  There is currently something wrong with the interrupt
code but it does attach and sense a 16550a.  (anyways the built
in modem is only a 14.4Kb and you'd really want to use a PCMCIA
modem to get faster dialup rates).
1999-07-30 23:58:25 +00:00
thorpej 6ec1ededf1 Make a slight rearrangement in how <machine/lock.h> is included. 1999-07-27 23:45:13 +00:00
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
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
pk cc87278540 Remove trailing comma in enum definition. 1997-03-15 20:54:10 +00:00
christos d9d8878ed1 Asi instruction struct was missing the immediate bit! 1997-03-14 23:54:07 +00:00
pk e5f0b8a132 Remove `cpumod' and `mmumod' and several related constants.
This functionality is now taken over by cpuvar.h
1997-03-10 22:50:37 +00:00
pk 95d5138e93 Move some constants from param.h in here 1997-03-10 22:47:52 +00:00
pk 137dda4ac6 Add getmid 1997-03-10 21:49:11 +00:00
fvdl 115b6d92fa Define ALIGNED_POINTER 1997-02-24 23:16:53 +00:00
pk 095b310e77 db_expr_t is now a long. 1997-02-05 00:01:50 +00:00
mrg 96c21c1fcf no need to delcare mcount here; fixes warnings(errors) when compiling a kernel with profiling. 1997-02-01 20:56:40 +00:00
mrg 718a70d239 oops; rd -> md paul left behind... 1996-12-31 07:12:43 +00:00
pk 31045b4490 Annul `__builtin_classify_type' and `__extension__' if __lint__. 1996-12-27 20:55:28 +00:00
pk be41891152 For now, define `__indr_reference' and `__warn_references' as empty
macros if __GNUC__ not defined.
1996-12-27 20:51:31 +00:00
pk 269e64e16b asm => __asm__ 1996-12-27 20:48:56 +00:00
pk e0df2a7e78 Kill __BROKEN_INDIRECT_CONF. 1996-12-10 23:19:38 +00:00
pk 3f316d7783 Comply with recent autoconfiguration changes. Diffs graciously supplied
by Chris Demetriou.
1996-12-10 23:19:13 +00:00
cgd 96acdadef7 First step inn removing config_scan() and the hacks that gave devices
on indirect-config busses a (permanent) softc that they could share
between 'match' and 'attach' routines:

Define __BROKEN_INDIRECT_CONFIG so that old autoconfiguration
interfaces are used, until drivers are converted to use the new
interfaces (actually, converted back to use the _older_ interfaces)
which prohibit indirect configuration devices from receiving a softc
in their match routine that they can share with their attach routine.
1996-12-05 00:13:47 +00:00
pk 08b929f619 trap 0x2a: divide by zero for hardware [su]div instruction. 1996-12-01 23:19:00 +00:00
jtc 9da5f60715 PROF -> GPROF 1996-11-30 02:48:57 +00:00
jtc 16b48272c4 Define _BSD_CLOCKID_T_ and _BSD_TIMER_T_ 1996-11-15 22:38:45 +00:00
pk 037130a502 Allow larger text (64MB) and data (256MB) segments.
On sun4/sun4c with a virtual address hole (starting at 512MB), this seems
like a reasonable compromise: about 196MB left for shared libs and sysv-style
shared memory segments.
On the sun4m the limits can easily be made larger: consider turning
MAXTSIZ and MAXDSIZ into tunable variables..
1996-11-12 21:08:51 +00:00
pk 8896ec778e Declare `cgtwo' and `rd' character devices. 1996-11-11 23:57:12 +00:00
pk 0217df3897 Define new-style kernel crash dump format. 1996-11-09 22:52:22 +00:00
cgd 8a3333b2a9 Fix an inconsistency that came in with Lite: setrq() was renamed to
setrunqueue(), but remrq() was never renamed.  Rename remrq() to
remrunqueue().
1996-11-06 20:19:19 +00:00
pk fd8ac8b221 If no specific kernel architecture is requested, define the CPU_* and
NBPG et.al. as in the generic case. This would be the expected thing to do
when compiling LKMs and such.
1996-10-22 19:11:19 +00:00
pk 52acac0518 Regroup the definitions of NBPG, PGOFSET and PGSHIFT into the section that
enumerates the possible SUN? combinations.
1996-10-20 20:26:52 +00:00
christos de08983084 add in_addr_t and in_port_t 1996-10-11 00:43:00 +00:00
cgd 472889f8e4 moved to aout_machdep.h (via repository copy) 1996-10-08 12:57:37 +00:00
thorpej 3db7555465 Returning ENODEV is not correct in a poll entry point. Instead, since
read/write returns an error, use seltrue().
1996-10-04 20:34:33 +00:00
abrown c04e2bf00c Add cgfourteen to conf.h.
Add new framebuffer types for recent-model graphics devices to fbio.h.
1996-09-30 23:45:10 +00:00
cgd 0e097578a2 add and use a machine-dependent header, which currently defines some
macros to use to remove #ifdefs from the machine ID case check.
Eventually, these headers will contain other information, e.g.
machine-dependent relocation information, etc.
1996-09-26 21:50:55 +00:00
christos 9db40d9ba8 Add md_flags so that we can have a fix-misalign-accesses flag. 1996-09-26 18:51:17 +00:00
mycroft 2bc736661a Implement poll(2). 1996-09-07 12:40:22 +00:00
thorpej fa0e4a3082 Make the SPARC kernel compile again after recent tty cdevsw changes. 1996-09-05 09:32:47 +00:00
mrg 358f853f46 re-order to allow NBPG/PGSHIFT/PGOFSET to work always. 1996-08-28 03:01:27 +00:00
thorpej f124a6aaa9 Back out previous; this is a bigger problem than I expected. 1996-08-14 00:32:53 +00:00
thorpej a05a1045f7 The htonl(), htons(), etc. functions return u_long and u_short. Add
casts to the big-endian versions of these calls so that the compiler
won't complain when they're passed as arguments to printf().
1996-08-14 00:07:35 +00:00
pk 80c64cc71d Put native NetBSD disk label in a piece of wasteland within a SunOS label. 1996-06-29 22:33:16 +00:00
pk 417fc9581d ramdisk stuff 1996-06-20 20:06:16 +00:00
pk dba83379bd Remove a "notyet" in last commit. 1996-06-19 13:30:49 +00:00
pk 3da87417d2 tcx declaration 1996-06-19 13:25:01 +00:00
pk d94f5b92f9 prototype mmu_pagein4m() #if DEBUG is on. 1996-05-27 20:29:03 +00:00
pk 75eb006fa2 No longer need to call mmu_pagein() through a pointer. 1996-05-27 01:13:02 +00:00
thorpej 722d0da592 RCS Id police. 1996-05-20 00:56:39 +00:00
mrg b6988904e0 put promdev definition into <machine/bsd_openprom.h>. 1996-05-18 12:27:40 +00:00
abrown 4bbf23d04c Copyright police (s/Harvard University/Harvard College/). 1996-05-16 15:56:54 +00:00
mrg 9ad87ec76e remove some RCS id's we don't need. 1996-05-15 02:13:39 +00:00
pk 5f2d466997 Make room for another `value' in struct bootpath. Drop the global `bootdv'
in favour of storing the device pointer in the bootpath[] element corresponding
to the boot device. This also allows the opportunity to get to "intermediate"
devices (e.g. busses) should the need for this ever arise.
1996-04-10 20:33:38 +00:00
pk 1a1a8ba8c9 Undo unintended change in previous commit: _mcount is static. 1996-04-08 20:55:36 +00:00
pk bb0897eec6 Various cleanup; mostly trailing spaces/tabs. 1996-03-31 22:21:21 +00:00
pk 1c8b452515 Add a non-interrupt-priority-lowering version of SPL(). Used by splpmap()
at the moment.
1996-03-31 22:20:14 +00:00
pk 76404b0bbe Add sun4m CPU/MMU identifications. 1996-03-31 22:18:16 +00:00