Commit Graph

2086 Commits

Author SHA1 Message Date
augustss cd09067eb4 * Redo the way the way the MIDI driver attaches to audio devices.
* Improve the midisyn layer a little.
* Add a driver for the Yamaha OPL[23] FM synths.
  The opl driver is not finished yet; it sounds pretty awful.

For some strange reason I cannot get any FM sound from my SB64 cards,
but a regular SB16 works fine.
1998-08-17 21:16:09 +00:00
mycroft 62b1bf3e2e Assign my copyrights to TNF. 1998-08-15 10:51:16 +00:00
mycroft 129cbf95ee Minor edit. 1998-08-15 05:16:41 +00:00
mycroft b2827b9d36 Assign copyright to TNF. 1998-08-15 04:16:55 +00:00
mycroft 6d3d8a1350 Make copyright notices with my name consistent. 1998-08-15 03:02:31 +00:00
eeh a2dd74ed79 Merge paddr_t changes into the main branch. 1998-08-13 02:10:37 +00:00
mjacob 5ad5bb35af minor change to make the message less linux like 1998-08-12 00:03:23 +00:00
mrg ca7ad3aff1 make this compile in a not SUN4M world. 1998-08-09 23:37:12 +00:00
kleink 546365a27e _POSIX_SOURCE -> _POSIX_C_SOURCE 1998-08-06 11:25:04 +00:00
pk 6c727e1651 dvma_malloc(), dvma_mapin() and dvma_mapout() are gone; all drivers
the use bus_dma(9) interface now.
1998-07-31 22:35:07 +00:00
pk 359cf8c23d Move `dvma_cachealign' here from vm_machdep.c 1998-07-31 22:23:30 +00:00
pk a0818b4b8b Use bus_dmamem_alloc/bus_dmamem_map. 1998-07-31 22:21:35 +00:00
pk 519f1f7f0e Convert to bus dma. 1998-07-31 15:53:11 +00:00
mycroft a24dbc8065 (Always) (practice) (safe) (macro expansion). 1998-07-31 15:07:41 +00:00
pk c206cad36e Convert to bus_dma. 1998-07-31 12:45:48 +00:00
thorpej ecf815f930 Back out previous; it is perfectly reasonable, and desirable, to print out
debugging info ifdef DEBUG.
1998-07-31 02:10:12 +00:00
mjacob 36f9ab27ce >We're not Linux. If we still want driver version strings to be displayed
>at boot, then I suppose DEBUG is a reasonable compromise.
Makes the whole concept useless. This is for default printouts. If you
can build a debug kernel, you know what version you have. This was under
the concept of 'RAS' so that hapless users could tell you microversion
things. But I guess this isn't the right way according to our local
Jesuits. Oh, well. I'll think up something different and hopefully
less objectionable. And yes, NetBSD isn't linux. The developers seem
to be equally bad tempered, but linux is more successful.
1998-07-31 01:56:49 +00:00
pk af89712b25 Use bus_dma_*() instead of dvma_mapin/dvma_mapout. 1998-07-30 22:42:04 +00:00
pk 32a5557426 Adapt to changes in the base bus_dma* functions. 1998-07-30 22:29:34 +00:00
pk 8a39d7a7fb The IOMMU now has its own dma bus tag and associated functions.
machdep.c retains the `mainbus' (i.e. sun4/sun4c) bus_dma* versions for now.
Create a DVMA map specifically for 24-bit devices (le,ie), which has a
more room than previous DVMA map which should be reserved for sun4 VME.
1998-07-30 22:28:44 +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 741c837f77 Get to DMA map functions through parent tag, instead of calling some base
functions directly.
1998-07-30 18:54:06 +00:00
pk ab0e92568b <sparc/dev/sbusvar.h> => <dev/sbus/sbusvar.h> 1998-07-29 18:48:54 +00:00
pk 9104b183fa Lots of things have moved to <dev/sbus/sbusvar.h> 1998-07-29 18:45:57 +00:00
pk 402a052405 Deal with sbus attach args changes. 1998-07-29 18:44:22 +00:00
pk 9e4d2f9b53 Switch to new sbus attach arguments layout. 1998-07-29 18:42:32 +00:00
pk 58d952ce7d Deal with sbus attch args changes.
Use sbus_destroy_attach_args().
1998-07-29 18:37:23 +00:00
pk 426330f642 We no longer need to get the register sets by ourselves. 1998-07-29 18:36:08 +00:00
pk 718ff722b7 In the reset() function, preserve the current cable selection bit.
If in auto media select mode, this avoids losing carrier every time
the lance code decides to re-initialize.
1998-07-29 16:10:57 +00:00
pk 9111209fdf In _bus_dmamem_map(), use uvm_km_valloc() to get kernel addresses.
uvm_map() -- which used to be here (why was that?) -- was called with
an uninitialized value in its `start' argument.
1998-07-28 20:46:28 +00:00
thorpej 3ff8e6493a Don't cast the null residual pointer passed to vn_rdwr(). 1998-07-28 18:34:52 +00:00
pk cc0d537633 GC. 1998-07-28 14:04:08 +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
pk 14f4493376 Magma driver has been moved to <dev/sbus>. 1998-07-28 00:19:22 +00:00
pk fd9017990f Magma driver has been moved to <dev/sbus> 1998-07-28 00:17:47 +00:00
pk b0f82d5c73 `le' and `en' now attach to sbus (and lebuffer) in <dev/sbus>
Other `le' front-ends split into separate files.
1998-07-28 00:10:23 +00:00
pk 4ca3b5c079 We no longer use these. 1998-07-28 00:06:23 +00:00
pk 3d9b1710a7 This file is now in dev/sbus. 1998-07-28 00:05:41 +00:00
pk c7a2e942b0 Split the `le' driver front-ends into separate files.
The sbus and lebuffer front-end have moved to dev/sbus.
1998-07-27 23:59:11 +00:00
pk eec66e52bd Get headers from <dev/sbus> 1998-07-27 22:34:48 +00:00
pk d1f03e068a <sparc/dev/sbusvar.h> => <dev/sbus/sbusvar.h> 1998-07-27 19:32:42 +00:00
pk 6cd4c4ea99 Use <dev/sbus/files.sbus>. 1998-07-27 19:20:03 +00:00
pk db822a6c0a These files are now in <dev/sbus>. 1998-07-27 19:17:50 +00:00
pk e92f09b2b7 SBU_BURST_* are now in <dev/sbus/sbusvar.h> 1998-07-27 19:16:49 +00:00
mycroft da2e61d160 Delint. 1998-07-27 13:55:32 +00:00
mrg 36ee8a045b use lebuffer.c from dev/sbus. 1998-07-27 05:49:02 +00:00
mrg c5e180526b these have moved to sys/dev/sbus. 1998-07-27 05:48:42 +00:00
mrg 06d5ffd2a8 enable kernfs and mfs. 1998-07-27 05:45:17 +00:00
pk 9e8d90ed5c Add a cpu-specific function to flush a pure virtually-indexed/virtually-tagged
cache, which needs to be flushed at context switch.
1998-07-26 23:35:32 +00:00
pk 4998ae50c0 Define hypersparc instruction-cache flush ASI. 1998-07-26 23:29:58 +00:00
pk c6124a986a This file is no longer used. 1998-07-25 22:19:25 +00:00
pk 6ad50a6691 Allocate physical memory for the pv_table array in bootstrap(), so we
don't have to call VM functions from pmap_init().

Use a memory pool for additional pvlist entries (used for double mappings).

Take care of the cacheable bit on pagetables while we're initializing them,
instead of calling kvm_uncache() afterwards.
1998-07-25 22:01:19 +00:00
pk 91f18e727f Remove conditionals on SUN4C+SUN4M.
A few cosmetic changes.
1998-07-24 21:08:16 +00:00
pk f836b9e8d3 Drop private page table list maintenance; use memory pools instead. 1998-07-23 21:42:40 +00:00
pk 217addc8de Option DDB_ONPANIC needs a value. 1998-07-23 13:03:23 +00:00
drochner 49bb9d8214 adapt to LANCE driver split 1998-07-21 17:36:01 +00:00
thorpej 9df67db949 We're not Linux. If we still want driver version strings to be displayed
at boot, then I suppose DEBUG is a reasonable compromise.
1998-07-20 21:18:38 +00:00
mjacob 99ff11f6b7 locking now out of main framework for isp_reset/isp_init 1998-07-18 21:02:06 +00:00
pk 116c3be1e5 In dvma_mapout(), make sure to not overrun the buffer when flushing the cache. 1998-07-17 23:05:35 +00:00
mjacob bc355c6b3f new framework 1998-07-15 19:59:45 +00:00
thorpej d681d158c7 Remove the raw HYPERchannel kludge. 1998-07-15 17:45:52 +00:00
thorpej d47ea67c1f Define one page free list, and put all pages on it. 1998-07-08 04:43:18 +00:00
jonathan b37021c1a1 defopt NATM. 1998-07-05 22:48:05 +00:00
jonathan 011f2bda08 defopt NS, NSIP. 1998-07-05 06:49:00 +00:00
jonathan 5c0c5dd0b4 defopt ISO TPIP. 1998-07-05 04:37:35 +00:00
jonathan 3751946b97 defopt INET, NETATALK. 1998-07-05 00:51:04 +00:00
jonathan 466e784ee1 defopt DDB. 1998-07-04 22:18:13 +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
lukem bd8d501f7e remove options FIFO; it's now the default 1998-06-26 01:53:43 +00:00
thorpej 816e12eac2 defopt COMPAT_SVR4 1998-06-26 00:07:06 +00:00
thorpej 8aee7782f5 defopt COMPAT_SUNOS 1998-06-25 23:40:33 +00:00
thorpej 971b8956ef defopt KTRACE 1998-06-25 21:18:11 +00:00
jonathan dbe5213b11 Split arch/sparc/dev/amd7930.c into:
* MI sys/dev/ic/{am7930.c,am7930var.h} chipset driver
  * sparc frontend.
Presere revision history (this time).

TODO: bus.h'ify,  and padded register mappings.
1998-06-24 11:09:23 +00:00
jonathan b40ead2c73 Split sparc am7930 driver into sparc attach and "MI" sys/dev/ic/am7930
chipset driver.  Needs bus'ifying and  register-access.
1998-06-24 10:52:53 +00:00
mrg 077ba12357 rename FLOPPY INSTALL, as it is used for cdroms also 1998-06-20 13:02:28 +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
mrg abeeaf00ec do what the comment says: move this [sun_dkioctl] to compat/sunos. use <dev/sun/disklabel.h> 1998-06-20 03:45:27 +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
fair a23c899718 apply patch from PR#4626 to allow DDB to deal with kernel traps. 1998-06-12 10:02:44 +00:00
tv 00ede2160e Change ddb_init() for a.out to provision for kernels which are not booted by
the current 'bootblock' method, like the Shark, which preloads and preformats
the symbol table right in the boot code.
1998-06-09 01:57:41 +00:00
pk 3f6155e843 Update from Iain for the parallel port stuff. 1998-06-07 21:14:17 +00:00
thorpej 30f9be231f Restructure cpu_reboot() a bit, and add support for powering down
on the Sun4m if RB_POWERDOWN is specified.
1998-06-06 21:46:51 +00:00
thorpej 1c6a275e9c Only attempt the powerdown if the power register was mapped. 1998-06-06 21:40:20 +00:00
thorpej 402c48737f needs-flag'ize the power device. 1998-06-06 21:30:34 +00:00
mrg e666cd4b3b install floppy kernel 1998-06-06 05:36:53 +00:00
mrg ff6c535817 sync with other md_root.c files. 1998-06-06 05:12:54 +00:00
mrg 4bc09321a9 add md to the "sparc_nam2nlk" and "chr2blk" arrays. the former fixes
panics seen on a floppy boot in setroot() as it could not properly
determine the root device.
1998-06-06 05:03:23 +00:00
mrg 428a0d387a remove old (now broken) memory disks hooks code. 1998-06-05 15:00:10 +00:00
mrg 135e6dc7e0 make this work with new md root stuff. 1998-06-05 14:57:55 +00:00
pk 062294cc8c Magma parallel port ioctls per Iain Hibbert. 1998-06-03 22:40:00 +00:00
pk 87fe4d9ea1 Update from Iain on the parallel port stuff. 1998-06-03 22:38:31 +00:00
thorpej 8ed096c794 Panic if we can't fulfill a bus_dmamap_load() with a boundary constraint. 1998-06-03 04:35:42 +00:00
thorpej a7f360c6c9 Specify a non-profiling C rule. 1998-05-31 23:25:41 +00:00
pk 70262fb287 Properly split boot spec into file name and arguments. 1998-05-27 10:29:10 +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 229ff62ff7 Do not assume that a parallel component is always configured.
Squash compiler warnings if MAGMA_DEBUG is on.
1998-05-20 22:08:10 +00:00
pk 53ce970e7f Enable NTP. 1998-05-20 11:50:54 +00:00
pk 0f93e72a5d Add `mtty' and `mbpp' entries for the magma driver by Iain Hibbert. 1998-05-20 00:04:33 +00:00
pk 5fd81fa9ec Add entries for the magma SBus serial/parallel port driver. 1998-05-20 00:00:12 +00:00
pk 4e62cce89a Magma SBus serial & parallel port driver from Iain Hibbert. 1998-05-19 23:58:54 +00:00
thorpej 6626878e7b It is no longer necessary for pmap_pinit() and pmap_release() to be
pmap interface functions, as NetBSD no longer uses statically allocated
pmaps (except for the kernel pmap, which is special-cased anyhow).
1998-05-19 19:00:11 +00:00
pk 564ca8fafd Don't bzero() the IO page table; it is fully initialized in iommu_attach(). 1998-05-19 09:17:32 +00:00
pk 9dae8945ef In kvm_uncache(), turn off the PTE cache bit even after calling
pv_changepte(). Reason: the managed() macro does not take into
account the gap in the managed pages range that may have been introduced
by the page table allocation in bootstrap().
1998-05-19 09:14:34 +00:00
kleink d2db996158 Fix some arithmetics lossage on typeless pointers. 1998-05-07 21:13:23 +00:00
pk 263413efd9 Do not request more privileges from vm_fault() than required, i.e. don't
request read access in addition to write access on a write fault.
1998-05-06 14:28:29 +00:00
pk e615541de9 Maintain far more complete state in the PV lists on the cacheability of pages,
using separate flag bits for mappings that were requested to be not
cacheable and uncacheable pages due to incongruent aliases.

This avoids inadvertently turning on the cache-enable bits when removing
one of multiple virtual address mappings to the same page. Reading
from /dev/mem could do this to arbitrary pages.
1998-05-06 14:17:53 +00:00
mrg 445283dc37 make UVM the default on the sparc 1998-05-05 01:15:05 +00:00
pk b6933ca39d Reading back the IOMMU registers apparently has the ability to wedge
microSPARC I cpus. Instead insert a couple of no-ops that seems to
avoid the microSPARC II lossage just as well.
1998-05-04 23:16:59 +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
chs 8cacea4ea0 fix a timing problem with polled output on sun4c's. 1998-04-23 04:06:17 +00:00
pk c1a4f8c8ed Define `xbox'. 1998-04-18 19:03:00 +00:00
pk 90b5c246c6 Skeleton code for the SBus expander box. 1998-04-18 19:00:17 +00:00
tv b21bfbde11 Add -Wno-main conditional on compiler being gcc 2.8 or egcs. (This adds
a HAVE_GCC28 check-variable that can now be used to add other gcc-2.8
flags in cases where they may be useful, or to remove gcc 2.7.2 "bug
workaround" flags.)
1998-04-12 23:47:41 +00:00
pk 98e9f557c2 No need to export bus_intr_establish(). 1998-04-07 20:43:58 +00:00
pk beb02e6b82 Use bus space methods to implement the vme bus space functions. 1998-04-07 20:21:55 +00:00
pk b333d0bb62 The bus space functions now take care of "pass-through" methods. 1998-04-07 20:20:03 +00:00
pk fbc1fe8213 bus_space_mmap() has changed to take a `bus_space_handle_t *' argument,
like other bus space methods.
1998-04-07 20:18:17 +00:00
pk 3f455e21d9 The bus space functions now take care of "pass-through" methods. 1998-04-07 20:11:54 +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 dd3352e3e3 bus_space_*() functions now have the bus tag as first argument.
Remove old mapdev() function that is no longer used.
1998-04-07 19:57:37 +00:00
pk 676939e234 Make the single-step support routines available to KGDB-only kernels as well. 1998-04-03 19:53:36 +00:00
pk 437796f42a Move initialization of `proc0.p_addr' from cpu_startup() to bootstrap(). 1998-04-01 14:03:26 +00:00
pk 763a681898 Accommodate cgsix bus-attach split. 1998-03-31 21:12:15 +00:00
pk e3e74bd0d5 Factor out bus code into separate files. 1998-03-31 21:05:04 +00:00
pk be4108fec1 Replace direct `sparc_bus_map()' calls with bus space map method. 1998-03-30 14:21:38 +00:00
pk c2d9565240 mainbus `pa_addr' is now a `bus_addr_t'. 1998-03-30 14:15:57 +00:00
pk fed9d8e6d6 Make mainbus attach phys addr field a bus_addr_t. 1998-03-30 14:15:12 +00:00
mycroft d4da63c6c3 Eliminate cs_heldchar. It is not necessary in my version of the driver. 1998-03-30 02:41:21 +00:00
pk a55cefe6b4 Initialize `par_err_reg' in the mainbus attach function. 1998-03-29 22:13:30 +00:00
pk b782c3448c obio_bus_probe() => bus_space_probe() 1998-03-29 22:10:32 +00:00
pk 2ad26b801c Fill in the bus tag's `bus_space_unmap' method. 1998-03-29 22:06:58 +00:00
pk 82663a0330 Implement `_obio_bus_map()' and insert it into the obio bus' bus tag.
Remove obio_bus_probe().
1998-03-29 22:05:05 +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 759c8965a3 Use `obio_find_rom_map()' explicitly instead of using `obio_bus_map()'
without a proper bus tag.
1998-03-29 21:59:44 +00:00
pk 2f1dd95a2d Declare `sparc_bus_unmap()' static. 1998-03-29 21:56:32 +00:00
mrg 47a62a0eed use bitmask_snprintf. 1998-03-29 05:10:45 +00:00
mrg b61e2629f2 remove register from decl. 1998-03-29 05:08:46 +00:00
pk 2a65520c69 bus_space_probe() prototype. 1998-03-28 19:45:29 +00:00
pk 89444e9309 Implement generic bus probe function. 1998-03-28 19:44:08 +00:00
pk f3d6050987 Typo in initial interrupt register mapping code. 1998-03-26 16:11:40 +00:00
pk f658122053 Check for a valid PROM virtual address. 1998-03-25 23:15:07 +00:00
pk ce14ebd2b7 Include not-cacheable bit in base bus space mmap function. 1998-03-24 10:00:14 +00:00
pk 23521d1c5f Fix yank-and-put error in sbus attach code.
Misc. cleanup.
1998-03-23 17:37:04 +00:00
pk 4730d097ad Only print interesting interrupt levels. 1998-03-23 17:21:52 +00:00
pk 3702424d0f Restore initialization of `par_err_reg' (sun4). 1998-03-23 17:16:03 +00:00
pk 279df61dbe Fill in the pointers the MI back-end expects correctly.
Add comment and diagram explaining the memory layout (to be revisited..).
1998-03-22 22:12:52 +00:00
pk 405ec57e9f Lift the tilde a bit. 1998-03-22 20:24:05 +00:00
pk e6a2630760 Direct the Sbus bus map function through the bus tag. 1998-03-21 22:03:33 +00:00
pk f4410cf7a3 Account for changed bus attachment scheme. 1998-03-21 20:34:58 +00:00
pk 090d9364af Implement bus mapping and interrupt-establish functions. 1998-03-21 20:33:31 +00:00
pk 681b358c19 Account for bus_space(9)-style bus attachment scheme. 1998-03-21 20:30:49 +00:00
pk 232fa45996 Add bus tags to softc. 1998-03-21 20:29:57 +00:00
pk a21d934940 Add bus tags.
Add interrupt chaining facility (currently used for `le'; the `esp'
device should follow).
1998-03-21 20:28:44 +00:00
pk 087da728f2 Add bus tags to softc. 1998-03-21 20:25:12 +00:00
pk c99d62cc8a Account for changed bus attachment scheme. 1998-03-21 20:23:38 +00:00
pk be7f5a7031 Switch to a bus_space(9)-based device attachment scheme.
The dma & lebuffer devices behave like busses to accommodate the
OBP layout. For practical purposes, they are implemented as
Sbus "extensions".
1998-03-21 20:23:09 +00:00
pk 69fe6f242f Account for changed bus attachment scheme. 1998-03-21 20:11:30 +00:00
pk 165120cfaf Sbus attach arguments and map function prototypes go here. 1998-03-21 20:10:07 +00:00
pk 77f499595c Switch to a bus_space(9)-based device attachment scheme.
- device attachment arguments contain bus-specific
	  address and interrupt levels.

	- devices must call back on bus map functions to get their
	  addresses and interrupt levels translated properly.

	- sun4m's obio bus is treated like an Sbus slot.

	- the sun4-style obio bus has its own attach arguments
	  and map functions.
1998-03-21 19:55:31 +00:00
pk 73f387899e #define several register bank offsets, so we don't need to refer to
structure fields.
1998-03-21 19:45:45 +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
pk 9c3abc26a4 Add RCS-Id & copyright. 1998-03-21 12:29:29 +00:00
pk 71fc7f093d The iommu "bus" now presents its own attach arguments to its children. 1998-03-21 12:21:18 +00:00
pk d19772ea9e Transform `mainbus' attach code to use its own attach arguments.
Add a couple rom-property helper functions; some overlapping functionality
with existing function, but hold on to the latter for just a while.
1998-03-21 12:18:25 +00:00
pk 8d63cb6db8 Remove incorrect address validity check in two `#if DEBUG' sections. 1998-03-21 11:32:43 +00:00
pk 1ccb578b36 We can't currently attach `audioamd' at `obio'. 1998-03-21 11:15:25 +00:00
pk 04730ad038 Declare separate bus attachments for devices that can occur on multiple busses. 1998-03-21 11:12:56 +00:00
bouyer 9f50fca1fd Add commented out "options FFS_EI" 1998-03-18 16:34:41 +00:00
cgd 9da165424c allow LDSTATIC definition to be overridden by bsd.own.mk/mk.conf 1998-03-02 19:57:00 +00:00
fvdl ede1a3fc5b Make this compile again. 1998-03-02 17:58:34 +00:00
pk d22f956657 Remove `_NEW_I82586'. 1998-02-28 01:15:51 +00:00
perry 1ed8ea9966 note second parm of sysarch() is now void *, + trivial KNF, etc. 1998-02-25 21:41:55 +00:00
mycroft c1444078b5 Finish making this compile after libkern changes. 1998-02-22 15:25:28 +00:00
mycroft b20ba808f2 Clean up after ffs() change.
Do *not* set runtime here; the way it was done was highly bogus, and the value
just gets blasted right away by mi_switch().
1998-02-22 15:13:36 +00:00
mycroft 1638d144ca Always go to splhigh() inside DDB. 1998-02-22 14:07:21 +00:00
mycroft bb0363853f ffs() is identical to the one from libc, so just use that.
Move random() to libkern.
1998-02-22 09:31:00 +00:00
mycroft 3b9429b248 Minor changes to make all the float.h files match. 1998-02-18 11:01:27 +00:00
thorpej 8354e68508 Remove "class" declarations, and add "devclass" declarations where
appropriate.  Fix several inconsistencies between device class and
attributes.  Mostly from Chris Demetriou.
1998-02-16 22:12:45 +00:00
pk 0fc808b760 Think-o in pmap_extract4m(), detected by UVM. 1998-02-14 09:28:52 +00:00
thorpej c26f962957 Use kernel_map in bus_dmamem_{map,free}(). 1998-02-11 03:08:31 +00:00
thorpej bdecbe552b Use M_DMAMAP where appropriate. 1998-02-11 01:50:36 +00:00
mrg d90485202c - add defopt's for UVM, UVMHIST and PMAP_NEW.
- remove unnecessary UVMHIST_DECL's.
1998-02-10 14:08:44 +00:00
thorpej da21f06eb5 Remove the pager options; they're in std.sparc, and will stay there
until UVM is no longer optional.
1998-02-08 19:24:28 +00:00
thorpej 93b0450b6a Back out previous change (again, grrrr). 1998-02-08 19:23:20 +00:00
tv 40f13df5bc the *PAGER options were moved to the generic config files, but not moved
out of here (causes duplicate opeion errors) -- fix.
1998-02-08 17:46:47 +00:00
thorpej 1305ecbe62 Allow callers of uvm_km_suballoc() to specify where the base of the
submap _must_ begin, by adding a "fixed" boolean argument.
1998-02-08 06:15:53 +00:00
pk 334b20bbd6 Define a `DMA_FLUSH' macro; dma chip revs 0 & 1 have a different bit
to reset the internal state engine.
1998-02-07 22:41:27 +00:00
chs abf50cf8c3 add UVM stuff. 1998-02-07 17:28:18 +00:00
chs 50328f94f4 fix initialized variable. 1998-02-07 17:26:34 +00:00
chs 17755a8fae fix typo in locking. 1998-02-07 02:36:58 +00:00
thorpej 840bd3d7b3 Back out previous change. Until the default VM system is UVM, these
"options" ARE required, and leaving them here doens't hurt anything in
the UVM case.
1998-02-06 08:21:55 +00:00
mrg 919667a0c7 backout previous change. 1998-02-06 01:22:54 +00:00
pk 0725302eac vme_bus_probe() takes an `offset' argument. 1998-02-06 00:22:41 +00:00
mrg 40b61fb276 put PIL_CLOCK and splclock together, like the rest.. 1998-02-06 00:02:30 +00:00
pk 86f595fb3e This file has been moved to dev/vme a while ago. 1998-02-05 22:14:35 +00:00
mrg 5e91ce6ef1 initial import of the new virtual memory system, UVM, into -current.
UVM was written by chuck cranor <chuck@maria.wustl.edu>, with some
minor portions derived from the old Mach code.  i provided some help
getting swap and paging working, and other bug fixes/ideas.  chuck
silvers <chuq@chuq.com> also provided some other fixes.

this is the sparc portion.

this will be KNF'd shortly.  :-)
1998-02-05 07:57:48 +00:00
pk dcf0846ffe * Correct vme addresses in `xd' and `xy' declarations.
* Renamed option: MMU_3L => SUN4_MMU3L
* Enter NFS_BOOT_PARAM option.
1998-02-04 21:49:12 +00:00
pk 90be3b559d Use vme_bus_probe() in si_attach(). 1998-02-04 20:50:47 +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
pk bee3aa34cc Account for changed vme_bus_probe() arguments. 1998-02-04 01:04:48 +00:00
pk f060ed68ba sparc_vme_probe(): handle callback argument. 1998-02-04 01:01:14 +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
thorpej 2538ed1062 Use offsetof() from libkern.h 1998-01-28 02:23:04 +00:00
pk d8dc32e559 It's no longer necessary to deal with the timers early. 1998-01-28 00:15:09 +00:00
pk 72f0ab269f These drivers are now in dev/vme.
The `ie' driver has been split in a VME and OBIO front-end. The latter
lives on in this directory as `if_ie_obio.c'
1998-01-25 20:33:54 +00:00
pk 3d46658e38 disk_establish(): add xd & xy cases (XXX - need more thought). 1998-01-25 19:59:14 +00:00
pk f937c21c08 VME device declaration changes:
- `vmes,vmel' => `vme'
	- interrupt locator is the VME interrupt priority (`pri')
1998-01-25 19:56:30 +00:00
pk 531a4b2d77 sparc/obio bus front-end to the i82586 driver. 1998-01-25 19:50:50 +00:00
pk 8bc346d14a All VME stuff is gone from here. 1998-01-25 19:44:43 +00:00
pk 7a39d28b24 bus_map() & bus_untmp() are only used for sun4/obio devices. 1998-01-25 16:51:16 +00:00
pk d44f401c95 bus_tmp() => obio_bus_tmp() 1998-01-25 16:49:33 +00:00
pk bcb062819f The VME bus is now called `vme'. 1998-01-25 16:47:21 +00:00
pk 333b6319fc Convert to new VME interface. 1998-01-25 16:38:01 +00:00
pk 4efb52487a Split si & sw attach routines, and make the si part use the new VME interface. 1998-01-25 16:37:08 +00:00
pk f8ba1e0bd9 sparc/VME bus implementation. 1998-01-25 16:06:25 +00:00
mycroft 63162f08ec Add a svr4_setregs() (that just calls setregs() right now). 1998-01-24 18:26:09 +00:00
mycroft 15ae963bea When dumping, print out the device number as major,minor. 1998-01-24 16:46:23 +00:00
pk 8a5023e38c After writing to the IOMMU flush registers, read something back from
IOMMU control space to a flush register to drain internal write buffers (?).
This avoids utter lossage on some machines (SS4s & SS5s) where our caller
would see some of its local (`%lx') registers trashed. This is probably
caused by a silicon bug allowing interference on internal data paths..
1998-01-24 16:22:47 +00:00
pk 49d2bfe020 Add a couple of options I forgot in last commit. 1998-01-23 22:47:20 +00:00
mrg c71457ab4a KNF, and use splzs over splhigh in one place. 1998-01-21 05:54:39 +00:00
pk ab37013309 Put back `le0 at lebuffer0' for backwards compatibility. 1998-01-20 22:12:51 +00:00
pk 23d53501bd A small optimization. 1998-01-17 15:02:17 +00:00
pk 866632416e Fix a border case when committing physical pages to the VM system;
rename some variables in the process for clarity.
1998-01-14 14:49:29 +00:00
pk 1842a317c3 Fix parenthesis inbalance. 1998-01-13 20:53:38 +00:00
pk 1195f3d8a9 Add fkbyte(), which is like fubyte() but for kernel addresses.
Only used at this moment to work around unexplained transient bus
errors when reading the VME interrupt vector in bus control space.
1998-01-13 20:51:01 +00:00
pk a8dda8092d Commit to MACHINE_NEW_NONCONFIG. 1998-01-13 00:58:56 +00:00
pk 418fd96bd5 Turn NEW_NONCONTIG page upload code into a routine shared by sun4/4c
and sun4m pmap_bootstrap()s, simplify it, and make it not loose the
couple of slack pages we painstakingly remembered in pmap_bootstrap.
1998-01-13 00:55:15 +00:00
thorpej 1adb4489a6 Update for changes to config. 1998-01-12 20:23:38 +00:00
pk 54719a53a3 More comments and general re-organization (group by device class) provided
by Todd Vierling.
1998-01-11 23:32:55 +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
mrg 0876a69653 some KNF. 1998-01-08 11:03:13 +00:00
mrg 7069ab9961 don't call fb_unblank if NFB < 0 1998-01-08 10:56:36 +00:00
mrg 002fbe8721 do not use fb_unblank unless NFB > 0 1998-01-08 01:13:58 +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
tv 89e7595756 Exclude /dev/fb code if no framebuffer is compiled into the system.
Adds a fb.h flag file with '#define NFB 1' if any such card is configured
in to the kernel.
1997-12-23 23:57:20 +00:00
pk bf8e38df4f Establish the interrupt handlers on sun4 `oclocks'; pointed out
by Chuck Cranor.
1997-12-19 22:53:10 +00:00
pk 964a147839 Clean vers.c & vers.o. 1997-12-18 21:03:58 +00:00
pk 9e087acb89 Code for software-assisted DDB single-stepping from Chuck Silvers. 1997-12-10 23:12:13 +00:00
chuck d76941843e fix mixer code that was clearly untested:
- allow get/set of enums SUNAUDIO_SOURCE and SUNAUDIO_OUTPUT rather
	than returning EINVAL
 - add missing SUNAUDIO_MONITOR_CLASS case in query_devinfo
 - convert SUNAUDIO_MONITOR case from a MIXER_CLASS to a MIXER_VALUE
	like it is supposed to be
 - the labels for outputs/record class were swapped: fix it

this patch allows "mixerctl" to work properly on a sparc
1997-12-06 03:20:56 +00:00
tv 0a558b3f1f Standardize COMPAT_SUNOS -- remove all references to
sunos_exec_aout_makecmds() in machdep.c for various architectures and put
it in exec_conf.c like the other emulations; rename exec.h to
sunos_exec.h.
1997-12-04 15:33:17 +00:00
mjacob 40ef7dd007 handle case of no keyboard configured 1997-12-03 22:32:05 +00:00
mjacob b52361ff54 add missing COMPAT_13 that kleink putzed 1997-11-30 23:18:59 +00:00
mjacob e908c01f7e If not defining SUN4M, you still have to do something with has_iocache. 1997-11-26 22:11:53 +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
fair 315f8de9c2 add pseudo-device rnd, commented out 1997-11-20 08:11:14 +00:00
pk cbf2f164ad The pgtalloc() stuff is still not doing the right thing on non-MXCC
vikings... i don't know why.  Install a work-around in setpgt4m(),
that is still lying about here.
1997-11-19 23:19:13 +00:00
pk b9746b3d00 splpmap() is again equivalent to splimp(). 1997-11-19 23:05:49 +00:00
pk 62f73256ff Use intr_establish() to install the timer interrupt handlers. 1997-11-19 23:03:47 +00:00
pk de106f6489 1. Implement a trick from Chris Torek: if an unhandled interrupt occurs
during auto-configuration (`cold'), raise interrupt level to splhigh
   and return, instead of reporting a stray interrupt.

2. In cpu_switch(), start running a newly selected proces at splclock()
   instead of the saved IPL, allowing high-priority interrupts in
   ctx_alloc() which can take many cycles to install a new context
   (especially on the two-level sun4c MMU).
1997-11-19 22:59:05 +00:00
lukem 6c986561ee * add commented out DDB_HISTORY_SIZE=100 if DDB exists in config file
* fix up use of 'options<SPACE><TAB>'
1997-11-17 01:57:23 +00:00
pk 639260ce32 Use DESTDIR consistently when constructing `boot.net'. 1997-11-15 14:29:36 +00:00
veego 8b485c5962 Add a missing #if NARP > 0 around arpintr(); and add a #include "arp.h"
for NARP. This is for the 'new' arp system.
1997-11-13 10:43:06 +00:00
thorpej ce4c770f88 Make sure CPP, AR, AS, and RANLIB are defined. 1997-11-12 23:11:50 +00:00
thorpej a421995756 Define LORDER, NM, and TSORT here, like we do the rest of the tools. 1997-11-12 22:25:31 +00:00
pk ff4f5f4528 If necessary, defer console output until TX interrupt handler runs. 1997-11-12 22:18:54 +00:00
pk a309481f34 Change load address to avoid cache-aliasing on machines with Harvard-style
cache implementations (notably the Hypersparcs).
1997-11-12 00:37:07 +00:00
pk 85524f37b3 Set `dvma_cachealign' on Hypersparc. 1997-11-10 21:20:07 +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 9eb2a49d4b Include copyright statement for the bus_dma implementation added in
the previous revision.
1997-11-04 10:37:37 +00:00
mycroft 9e82e84056 Handle CDTRCTS, for silly Mac-like connector on some models (e.g. IPX). 1997-11-03 11:33:17 +00:00
pk 8dbb87fe86 Add bus_dma*() functions. Some functionality implemented in terms of
existing machinery (for now).
1997-11-02 21:31:34 +00:00
pk b74bcd140c The sparc's bus.h. 1997-11-02 21:28:33 +00:00
mycroft ec5fd4954e Set rr0_dcd.
Don't set DCD_IE and CTS_IE here; let the MI code do it.
Handle MDMBUF.
1997-11-02 08:05:06 +00:00
lukem 3e8e744696 getopt returns -1 not EOF 1997-11-01 06:49:14 +00:00
pk 97128ca91e Header magic is now done in stand/boot/Makefile. 1997-10-31 22:12:21 +00:00
pk b5d7e8f444 Install a version of the secondary boot block in /usr/mdec that is
suitable for use on a server for diskless booting.  Done mostly to
simplify the installation notes and avoid questions ...
1997-10-31 22:05:17 +00:00
gwr aa67eda78f Correct zs_unit in zs_kgdb_init().
Similar problem as zs.c:consinit().
1997-10-22 17:03:35 +00:00
gwr 9053a6f401 Correct the values of zs_unit in consinit(),
so ddb will work on the keyboard/display.
1997-10-22 14:39:38 +00:00
thorpej 665f7d1a6e Implement __RENAME() in <machine/cdefs.h> 1997-10-22 05:20:32 +00:00
pk 332129fdf1 Enable `reselect' and `synch negotiation' by default. 1997-10-20 18:05:21 +00:00
pk 004f196dcf Nuke 5.25 inch formats. 1997-10-19 23:29:47 +00:00
pk a0d6bae726 Add an odd-ball japanese floppy format (PR#2903).
A good time to get rid of the hard-coded floppy sector size.
1997-10-19 22:29:21 +00:00
christos 7507e6a5e9 Make this compile again. 1997-10-19 20:34:54 +00:00
augustss e7029fc0da Make the audio API (almost) SunOS compatible.
The changes is to allow some limited mixer manipulation through
the audio device (instead of the mixer device).
This rendered 4 methods in audio_hw_if unused so garbage collect these.
1997-10-19 07:41:33 +00:00
gwr c5b23be7bf Make sure vunmapbuf will kmem_free_wakeup() the same VA range
that came from kmem_alloc_wait().  (Same problem as PR#4120).
1997-10-18 00:17:21 +00:00
gwr 0308bf1ac6 Use common zs code. 1997-10-17 23:59:44 +00:00
christos 801520ffac fix chrtoblk declaration 1997-10-16 23:43:16 +00:00
mycroft b328298e4c Fix up includes. 1997-10-16 10:49:00 +00:00
mycroft 482e74d998 Fix up includes. 1997-10-16 10:35:49 +00:00