Commit Graph

366 Commits

Author SHA1 Message Date
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
pk 5703b83d00 Move autoconf subroutine prototypes to autoconf.h
Deal with sun4m `software interrupts'.
1996-03-31 22:17:14 +00:00
pk 8d9fbd0949 Add some v3 PROM glue.
Move autoconf subroutine prototypes here (from cpu.h).
1996-03-31 22:12:34 +00:00
pk 0ab4a52862 Add SRMMU/sun4m support. Size and layout of `struct pmap' has changed. 1996-03-31 22:09:13 +00:00
pk 922201e06a Add SRMMU/sun4m definitions.
Cleanup (i.e. mostly delete) `#if defined (SUN4*)' in here.
1996-03-31 22:06:55 +00:00
christos b646bc023a New md conf.h per Jason's plan. 1996-03-30 21:17:55 +00:00
christos 70e15a2ba9 Make fpu_regs a union of doubles and ints to get the alignment of the
machine dependent portion of the context correct. Thanks pk [1 of 2]!
1996-03-26 19:04:48 +00:00
christos 5b2bf5a548 add rom routines declarations 1996-03-16 23:51:44 +00:00
jtc 2ce5f1478b Add _BSD_WINT_T_ definition so we can handle wint_t type added in NA1. 1996-03-16 01:31:45 +00:00
christos 9af46afa21 Fix prototypes for the latest kpc changes. 1996-03-15 00:01:21 +00:00
christos 9a07d9dec9 Add missing prototypes and fix the fp struct for svr4. 1996-03-14 19:49:04 +00:00
pk 808df5543f Remove cpu_set_init_frame(). 1996-03-14 00:49:20 +00:00
pk 894fde6bdd Remove __FORK_BRAINDAMAGE. 1996-03-14 00:48:30 +00:00
cgd 18ec26aa21 add _MACHINE and _MACHINE_ARCH, which are like MACHINE and MACHINE_ARCH,
execpt without quotes.  meant to be __CONCAT()ted for easy #includes
of machine-dependent headers for MI code (e.g. for the MI ISA/EISA/PCI/TC
bus code).
1996-03-04 05:04:10 +00:00
gwr 2de7b2e5cb update PMAP_PREFER 1996-02-28 22:44:33 +00:00
thorpej edf9d66f32 First-cut support for P4 framebuffers. Currently supports P4 variants
of bwtwo, cgfour, cgsix, and cgeight.  Includes support for attaching
the overlay plane of the cgfour and cgeight as a bwtwo instance (a'la
SunOS).

P4 register descriptions, cgfour driver, and cgeight driver partially
derived from OpenBSD.

This code may still need polishing.
1996-02-27 22:09:14 +00:00
pk 2f3ad94f8d An #ifndef _LOCORE to make this file safe to include in locore.s.
Introduce a couple of `CPU-type' helper macros to reduce the preprocessor
tangos in many a source file.
1996-02-22 21:59:08 +00:00
pk e259a02425 Correct some prototypes. 1996-02-22 15:04:07 +00:00
pk f1518de67c delay() prototype. 1996-02-16 22:13:34 +00:00
pk 773f74b60d Change some caddr_t's to void *'s. 1996-02-13 22:43:33 +00:00
christos 8a8e1a4d94 caddt_t -> caddr_t 1996-02-13 17:13:22 +00:00
christos cbb1d18e70 - Fix setcxsegmap prototype.
- Cast ?TO? macros to NULL to avoid compiler warnings
1996-02-13 17:04:58 +00:00
christos c6edd77b23 A few prototype fixes 1996-02-09 23:14:14 +00:00
pk 5fd7df3063 Move splbio to level 5. 1996-02-03 16:10:58 +00:00
mycroft 88e512b693 LOCORE -> _LOCORE 1996-02-01 22:28:24 +00:00
thorpej 3f8e0d27a6 Add a "mountroot hook" mechanism so that devices can take care of
special needs before being used in (*mountroot)().
1996-01-15 00:06:49 +00:00
pk f278cec042 Move bus_map() prototype here. 1996-01-11 21:55:57 +00:00
thorpej 5b39541e48 New generic disk framework. Highlights:
- New metrics handling.  Metrics are now kept in the new
	  `struct disk'.  Busy time is now stored as a timeval, and
	  transfer count in bytes.

	- Storage for disklabels is now dynamically allocated, so that
	  the size of the disk structure is not machine-dependent.

	- Several new functions for attaching and detaching disks, and
	  handling metrics calculation.

Old-style instrumentation is still supported in drivers that did it before.
However, old-style instrumentation is being deprecated, and will go away
once the userland utilities are updated for the new framework.

For usage and architectural details, see the forthcoming disk(9) manual
page.
1996-01-07 22:01:38 +00:00
pk dd9e5c93c7 Use {U,L} suffices per Charles' recommendation. 1996-01-05 18:10:57 +00:00
mycroft 3a89082ff4 Make this work for GCC < 2.6. 1995-12-29 18:53:01 +00:00
mycroft cd8fe86bcb Make the type of __builtin_va_list a long. 1995-12-26 01:16:24 +00:00
mycroft 0c00214737 Use __builtin_va_alist. 1995-12-26 00:19:09 +00:00
mycroft fa887628d8 Stylistic changes. 1995-12-25 23:15:31 +00:00
mycroft 72e24c3168 Update for GCC 2.7, and fix bugs. 1995-12-25 22:24:54 +00:00
pk 528ea56588 Change mapdev() and mapiodev() to take a `struct rom_reg', enabling the use
of IO spaces to construct device mappings.
1995-12-11 12:31:02 +00:00
pk 51c8280df1 Prototype dvma helper functions `dvma_malloc()/dvma_free()' 1995-12-11 12:25:17 +00:00
mycroft 46366f34e7 Include vm.h, rather than guessing which files we need. 1995-12-10 06:50:58 +00:00
mycroft 292120bf63 Define __FORK_BRAINDAMAGE. 1995-12-09 04:41:41 +00:00
pk f6a3272e25 DVMA space is described by the variables `dvma_start' and `dvma_end'.
Prototype dvma_map*() routines.
1995-12-06 22:35:54 +00:00
pk e9a919b88f Code from Jason to better configure /dev/fb. 1995-11-29 01:45:36 +00:00
pk dc3c0d7db7 Define VIDEO enable bit (per Jason Thorpe; PR#1672). 1995-10-23 23:36:28 +00:00
pk 87a0c55d23 Patch from Jason to factor out a common framebuffer size determination
routine from the individual drivers.
1995-10-08 01:39:13 +00:00
pk de0c6a97bd RCONSOLE => RASTERCONSOLE. 1995-10-05 00:26:07 +00:00
pk dad96c6619 Add a few constants used for mapping bit and pieces in the kernel driver. 1995-10-04 00:21:27 +00:00
pk b89096d14f Remove all rcons related stuff from `fbdevice'; this is now defined in
dev/rcons/rcons.h.
1995-09-17 20:41:30 +00:00
pk b04e172458 Rename a `xxx' function. 1995-09-04 09:53:53 +00:00
pk af6e3d03cf Add data structures used to interface to the monitor-resident drivers. 1995-09-03 21:36:06 +00:00
pk 9b3308eeec Enable writing of disklabels (Many thanks to Jason Thorpe, Gordon Ross
and Matthew Green).
1995-09-01 17:19:50 +00:00
pk 6f1f25d6ed Export `eeprom_va' so drivers can peek at the configuration (from Jason Thorpe). 1995-08-29 22:11:58 +00:00
pk 8427fe6126 declarations 1995-08-18 10:47:46 +00:00