Commit Graph

1773 Commits

Author SHA1 Message Date
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