Commit Graph

323 Commits

Author SHA1 Message Date
eeh
47ef6a5146 Overhaul bus space.
bus_space_handle_t now holds an address and two ASIs, one for normal accesses
and one for streaming accesses.  This allows to map individual handles
different ways, so some can use MMU bypass accesses and others use virtual
addresses.  bus_space_map() will now create handles that use bypass accesses
unles BUS_SPACE_MAP_LINEAR is passed in.  So only pass in BUS_SPACE_MAP_LINEAR
if you absolutely *need* to use bus_space_vaddr().  This removes at least one
extra level of indirection and should reduce TLB misses.

32-bit kernels have problems accessing 64-bit addresses, so they always use
virtual addresses.
2002-03-20 18:54:46 +00:00
eeh
bd22d9d0f1 Add PTE_WIRED bit to keep track of wired pages. 2002-03-20 18:41:53 +00:00
eeh
2db5a5e82f Get PCI working with the new bus_space*. 2002-03-15 07:06:23 +00:00
eeh
77de9a3aca Get rid of bus_space_map2(). 2002-03-14 20:46:11 +00:00
chs
b0263218b6 override cn_trap() with zs_abort() so we can drop to the monitor
if there's no DDB.  fixes PR 12547.
2002-03-11 07:11:26 +00:00
martin
7d9d648a64 For aesthetical reasons use bus_addr_t instead of paddr_t in the BUS_ADDR
makro. Requested by uwe.
2002-03-01 11:34:36 +00:00
martin
feaf0ddd87 Cast the "io" parameter of BUS_ADDR to paddr_t before it gets shifted.
This makes this makro work with smaller values passed for io. No functional
change.
2002-03-01 07:19:29 +00:00
simonb
4324f37586 Use "#define<tab>". 2002-02-28 03:17:23 +00:00
christos
6b030ee036 - define other DEV_ constants that the local port uses.
- delete cdev_decl(mm) since <sys/conf.h> does it.
2002-02-27 01:19:03 +00:00
eeh
1eb3484425 Fix PR# port-sparc64/13811: PCITAG_SETNODE() is defined using x' insted of t'.
from URA Hiroshi
2002-02-26 22:39:14 +00:00
simonb
d9ab16ba2f Purge CLSIZE, CLSIZELOG2 and MCLOFSET.
Be consistant in the way that MSIZE, MCLSHIFT, MCLBYTES and NMBCLUSTERS
  are defined.
Remove old VM constants from cesfic port.
Bump MSIZE to 256 on mipsco (the only one that wasn't already 256).
2002-02-26 15:13:19 +00:00
simonb
2d8577fb83 Clean up some rampant code duplication wrt ieee number handling:
- Add alignment-safe double and float unions.
 - Use the above for the __infinity and __nan constants on all
   architectures that use the standard ieee754 representation of
   those constants.
 - Add a single copy of various ieee754 math functions (frexp, isinf,
   isnan, ldexp and modf) that had numerous duplicates among the
   arch-specific directories.
 - Use the above functions on all architectures where the generic C
   versions where used.  Architectures that had local assembly
   routines are untouched (for those functions only).
2002-02-19 13:08:12 +00:00
eeh
c068b28bac Increase NMBCLUSTERS. 2002-02-09 04:58:53 +00:00
eeh
c42bdc6b14 Correctly take into account the satck bias in CLKF_INTR(). 2002-02-09 04:50:13 +00:00
eeh
6390142ec0 Make bus_space_barrier() an inline instead of a function vector. 2002-02-07 21:36:54 +00:00
eeh
59339eac04 Make PHYS_ASI() also recognize little-endian ASIs. 2002-01-14 20:44:30 +00:00
eeh
cc61f43486 Use a more efficient PIC_PROLOG(). 2002-01-14 16:37:36 +00:00
briggs
e44b2beeac Add OPIOCFINDDEVICE to match dev/ofw/openfirmio.[ch]. 2002-01-10 20:38:11 +00:00
mrg
3f49c27162 clean up 2002-01-03 06:43:23 +00:00
mrg
5d06ed3c94 move sparc specific ioctl handling (fb & openprom) into arch/sparc64. 2002-01-03 02:29:39 +00:00
thorpej
51535d4bf5 Add support for dumping ELF-cormat core files. 2001-12-09 23:05:56 +00:00
darrenr
8f8a0fb2c2 defopt "options SUN4*", put #define for each of SUN4, SUN4C, SUN4M and SUN4U
into opt_arch_sparc.h and include this wherever they are used.
2001-12-04 00:53:18 +00:00
soren
662f877587 MAXSLP is defined to be a machine-independent scheduling parameter,
so move it into sys/param.h.
2001-11-15 18:06:11 +00:00
thorpej
47514a31be Remove unneeded declarations of the db_machine_init() function. The
ARM ports are the only ones that actually have one, and it is about
to change.
2001-11-09 06:52:23 +00:00
thorpej
88ff68974a Changes from Martin Husemann and myself:
- Make the 32-bit SPARC profile support work with the GCC 2.95.3
  SPARC ELF compiler, which uses a different name for mcount.
- Make the 64-bit SPARC profile support header look more like the 32-bit
  SPARC header (no functional change -- 64-bit SPARC already used the
  correct mcount name).
2001-11-03 20:24:42 +00:00
eeh
3def251af0 Disable __PCI_DEV_FUNCORDER since it's now badly borken. 2001-10-18 23:47:16 +00:00
kleink
a84ae73f33 Unify sparc{,64} headers once again; restore 32-bit sparc64 ABI. 2001-10-15 19:49:16 +00:00
kleink
7dcab228e8 Fix a pasto in the __COMPILER_INT64__-based definition of {u,}intmax_t. 2001-10-14 20:11:11 +00:00
thorpej
e797da0ffb Make this match int_mwgwtypes.h (not that that header is really
correct, but they should at least be in-sync -- a PR has been
filed against int_mwgwtypes.h).
2001-10-06 01:21:40 +00:00
eeh
2375794907 Make OF_interpret() handle input and output arguments. 2001-10-05 21:52:43 +00:00
pooka
40ca91c19c prototype rominterpret() 2001-10-05 15:27:56 +00:00
eeh
98ecb5b215 getprop* -> PROM_getprop* 2001-09-26 20:53:05 +00:00
eeh
766a9b8c9c Change bus_space_mmap() signature to the official one. 2001-09-24 23:49:31 +00:00
chs
59c12af6f5 implement pmap_wired_count(). 2001-09-23 09:01:13 +00:00
eeh
53ebc1b431 Correct the `fast' int types. 2001-09-22 19:51:48 +00:00
eeh
ec10c45552 Define proper constants for 128-bit floating point. 2001-09-21 20:48:02 +00:00
eeh
f8e6b3bc07 Correct values for different rounding modes. 2001-09-21 20:32:32 +00:00
wiz
d5e1bab856 Update copyright, fix typo and remove too many '/'.
Ok'd by eeh.
2001-09-21 15:30:41 +00:00
eeh
6138deb0d4 Handle DMA boundaries a bit better. 2001-09-21 03:04:09 +00:00
thorpej
92df2aecae Use <dev/sun/fbio.h>, not our own copy. 2001-09-19 16:46:49 +00:00
chris
0e7661f023 Update pmap_update to now take the updated pmap as an argument.
This will allow improvements to the pmaps so that they can more easily defer expensive operations, eg tlb/cache flush, til the last possible moment.

Currently this is a no-op on most platforms, so they should see no difference.

Reviewed by Jason.
2001-09-10 21:19:08 +00:00
eeh
e29b0dab62 Change some debug printfs to make gcc happy. 2001-09-10 14:56:33 +00:00
mrg
be4df68bb5 don't explicitly size the intrhand[] array; fixes PR#13859 from <martti.kuparinen@iki.fi> 2001-09-03 13:07:21 +00:00
martin
c51e03edde Move struct segmap declaration inside #ifndef _LOCORE to make locore.s
compilable again.
2001-08-31 18:06:13 +00:00
mrg
10516949e9 add some sun4/sun4c/sun4m compat code so we can build 32 bit kvm. (these files are not even vaguely syncable.) 2001-08-30 09:32:23 +00:00
mrg
48fcc1a2c3 update a comment about R_UA_32 relocs. 2001-08-25 15:03:19 +00:00
eeh
20df032dec Make lint happier. 2001-08-18 03:47:18 +00:00
eeh
c633b30dd4 Add some alternate spellings for ASIs.
Make sure ASI_PRIMARY_NOFAULT is always restored.
Garbage collect some old code.
2001-08-06 23:55:34 +00:00
eeh
830be13fa2 Dump some enums that make lint unhappy and we never really use anyway. 2001-07-31 06:55:46 +00:00
eeh
57b56da169 Garbage collect. 2001-07-24 19:32:11 +00:00