Commit Graph

22 Commits

Author SHA1 Message Date
simonb
63096043b3 Use "#define\t" instead of "#define ". 2002-09-22 08:30:56 +00:00
chs
c081614ea2 it really helps to get the stub right before cutting + pasting it 27 times.
alas, I did not.  doh.
2002-09-22 07:53:39 +00:00
chs
55e1f79335 add pmap_remove_all() hook (empty on most platforms so far). 2002-09-22 07:17:08 +00:00
gmcgarry
dca80f08fd Add __HAVE_MD_RUNQUEUE flag for MD code to override MI run queue primitives. 2002-09-22 04:11:32 +00:00
fredette
94791afd65 No longer use BTLB entries to map the entire address spaces of I/O subsystems,
since BTLB entries can be scarce and very little of an I/O subsystem normally
needs to be mapped.

Instead, the pmap now allows mappings of I/O space to be entered with
pmap_kenter_pa.  bus_space mappings for small amounts of I/O space (as for
virtually all devices) are made this way, with BTLB entries still used for
large mappings for things like framebuffers.

This has led to more and cleaned-up uses of bus_space(9) and has caused
some autoconf cleanup.  Also, kgdb is now attached and connected before
autoconfiguration, which is much earlier than before.
2002-08-25 20:19:59 +00:00
fredette
fa8a85a54d Cleaned up BTLB support. There are no longer BTLB function pointers
in struct hppa_cpu_info or anywhere else, now there are just hppa_btlb_*
functions.  Added support for machines with split I/D and variable-range
BTLBs.  Added support for purging BTLB entries.
2002-08-19 18:58:26 +00:00
fredette
0ebb2cb8a8 Since trap_kdebug() may be a macro, be sure to cast to void when not
using its result.
2002-08-19 15:07:33 +00:00
fredette
0e92be5ea7 Converted the fault handlers for the PA7100LC and up to handle
mappings not marked TLB_NO_RW_ALIAS.
2002-08-13 20:29:52 +00:00
fredette
02f0a2cf44 Significant pmap changes to no longer rely on the "U-bit" (TLB_UNCACHEABLE)
to deal with aliasing of regular memory pages, because many processors don't
support it.

Now, the pmap marks all mappings of a page that has any non-equivalent
aliasing and any writable mapping, and the fault handlers watch for this
and flush other mappings out of the TLB and cache before (re)entering a
conflicting mapping.

When a page has non-equivalent aliasing, only one writable mapping at
a time may be in the TLB and cache.  If no writable mapping is in the
TLB and cache, any number of read-only mappings may be.

The PA7100LC/PA7300LC fault handlers have not been converted yet.
2002-08-11 22:29:07 +00:00
briggs
0b956d0b8b Implement pmc(9) -- An interface to hardware performance monitoring
counters.  These counters do not exist on all CPUs, but where they
do exist, can be used for counting events such as dcache misses that
would otherwise be difficult or impossible to instrument by code
inspection or hardware simulation.

pmc(9) is meant to be a general interface.  Initially, the Intel XScale
counters are the only ones supported.
2002-08-07 05:14:47 +00:00
fredette
16cf89e5a5 Made changes in where/how the kernel is linked, and how the pmap
maps it with BTLB entries, to minimize the number of BTLB entries
needed.

Because the CPU type was often guessed incorrectly, the mapping of
HP board number to system name now includes information about the
expected CPU type.
2002-08-05 20:58:35 +00:00
fredette
6e248e0a29 Define __HAVE_FUNCTION_DESCRIPTORS, which is used by ld.elf_so. 2002-07-10 15:18:06 +00:00
fredette
f79af764d7 Now include the HPPA trap number in a user backtrace, and display
backtraces for more traps.
2002-07-07 22:52:54 +00:00
thorpej
011d4d5f44 Add kernel support for having userland provide the signal trampoline:
* struct sigacts gets a new sigact_sigdesc structure, which has the
  sigaction and the trampoline/version.  Version 0 means "legacy kernel
  provided trampoline".  Other versions are coordinated with machine-
  dependent code in libc.
* sigaction1() grows two more arguments -- the trampoline pointer and
  the trampoline version.
* A new __sigaction_sigtramp() system call is provided to register a
  trampoline along with a signal handler.
* The handler is no longer passed to sensig() functions.  Instead,
  sendsig() looks up the handler by peeking in the sigacts for the
  process getting the signal (since it has to look in there for the
  trampoline anyway).
* Native sendsig() functions now select the appropriate trampoline and
  its arguments based on the trampoline version in the sigacts.

Changes to libc to use the new facility will be checked in later.  Kernel
version not bumped; we will ride the 1.6C bump made recently.
2002-07-04 23:32:02 +00:00
thorpej
fe53f433d8 The signal trampoline runs in userspace; do not profile it. 2002-07-04 16:44:10 +00:00
thorpej
9759b269b6 Add ENTRY_NOPROFILE(). 2002-07-04 16:43:21 +00:00
fredette
cfd4248d21 Made the signal trampoline PLABEL-aware.
Added a missing comma to the pmap_redzone() call.
2002-07-01 16:10:02 +00:00
perry
90062e3f5d Remove (completely unused) definition of CLK_TCK. Nothing in the
kernel uses it, it is protected by _KERNEL, and it conflicts with the
definition in userland.
2002-06-23 17:07:58 +00:00
christos
3b50728cf4 MD systrace gluons. 2002-06-17 16:32:57 +00:00
fredette
49b0456a72 Added some missing files. 2002-06-06 19:50:20 +00:00
fredette
b57559001e Fixed some mixup between processor number and type name,
i.e., PCXT is PA7100, not PA7200.
2002-06-06 19:49:58 +00:00
fredette
f4f0d8a310 Added files to support generic HP PA-RISC based machines. hp700-specific
files to follow.
2002-06-05 01:04:18 +00:00