170 Commits

Author SHA1 Message Date
kmacy
491108697b Implement mmu functions and cpu_mondo_send
fix some more kernel compile fallout
2006-11-24 18:50:56 +00:00
kmacy
f366379566 comment all remaining documented hypervisor functions except for msi
implement performance counter functions
2006-11-24 07:49:15 +00:00
kmacy
b7e47d0e9d document and comment all functions outside of MMU and MSI services
from those, implement all those whose arguments don't require save/restore
2006-11-24 07:11:24 +00:00
kmacy
2dc265a00d - Comment most of the remaining hypercalls in hcall.S
- implement hypercalls returning a single value
- start fixing the fallout of the recent changes needed to get
  the kernel compiling again
2006-11-24 05:27:49 +00:00
kmacy
807d0a4e41 add comments for cpu configuration hypervisor calls 2006-11-24 02:37:51 +00:00
kmacy
cceb584eb3 move CDDL licensed machine description support routine files to cddl directory
update files.sun4v accordingly
2006-11-24 01:56:46 +00:00
kmacy
9b41c97e91 Add in initial clean room implementation of hypervisor interfaces 2006-11-23 23:47:53 +00:00
kmacy
abe656e669 Remove system critical files with CDDL origin
with the plan being to create clean room versions
2006-11-23 21:22:06 +00:00
kmacy
c784eb28fd separate out legitimately CDDL code - optimized routines taken from
opensolaries
2006-11-23 19:58:06 +00:00
kmacy
c7bcd7c518 Add watchdog support 2006-11-23 04:59:29 +00:00
kmacy
e0820ca720 Add in missing hypercall numbers 2006-11-23 04:38:14 +00:00
kmacy
2f4f3d1714 re-name misnamed single character console interfaces
add in multi character console interfaces
2006-11-23 04:18:21 +00:00
kmacy
339d8fb4ec Add hypervisor interfaces for logical domain channels from the hypervisor API docs
remove bogus CDDL
2006-11-23 03:52:39 +00:00
kmacy
86dd766979 In contrast to the non-obvious and flexible nature of the optimized bcopy in t1_copy.S (which
shall retain its CDDL copyright, and thus likely be removed from GENERIC) I have removed the CDDL
from hcall.S because there is zero flexibility in the implementation of hypercalls as they derive
directly from the hypervisor interface which is not copyrighted (ironically the source for the
hypervisor itself is BSD licensed).

It is best to start any bikeshed about this as soon as possible.

Discussed with: bsdimp
2006-11-23 02:25:16 +00:00
kmacy
44a6c9cd90 Integrate, but do not enable support for dynamically resizing TSBs 2006-11-22 05:54:24 +00:00
kmacy
8ba312cbd0 pmap_track_modified has been removed from other architectures -
likewise remove from sun4v
2006-11-22 04:50:55 +00:00
kmacy
4fb247b873 reduce whining from LINT by removing another GPL sound driver 2006-11-22 04:35:58 +00:00
kmacy
145fcb3eff add support for resizing the the tte_hash of multi-threaded processes 2006-11-22 04:33:34 +00:00
kmacy
d014240b86 remove unused field from pcpu structure 2006-11-22 04:27:24 +00:00
kmacy
5dcf866a6d remove dead code from tsb.c
switch tsbscratch over to using order of number of pages as opposed to actual number of pages
switch tsb.c over to using wrappers for contig page allocation
2006-11-22 04:13:30 +00:00
kmacy
f90ba049fb move contiguous allocation and free routines from tte_hash.c into pmap.c 2006-11-22 03:35:37 +00:00
kmacy
e45c2b9efd Add tte_hash and tsb update handlers for handling tte_hash and tsb
resizing across cpus
2006-11-22 01:47:58 +00:00
kmacy
5ce0966852 Add mechanism to track TSB misses in tsb miss handler
Remove unused debug code
2006-11-22 00:18:22 +00:00
kmacy
c90204ebd7 remove unused fields
Approved by: scottl (standing in for mentor rwatson)
2006-11-18 19:23:37 +00:00
kmacy
8d093613dd eeprom has been removed from sun4v - remove from NOTES 2006-11-18 17:16:02 +00:00
kmacy
bb3d0a231a Remove two completely unused files
Reviewed by: jb (mentor rwatson)
2006-11-18 07:28:47 +00:00
kmacy
fcb26a8fe4 Remove two more duplicated files
Reviewed by: jb (mentor is rwatson)
2006-11-18 07:24:56 +00:00
kmacy
7a3167fc07 remove 13 (largely) redundant files and switch to the sparc64/sparc64 version
Reviewed by: jb (mentor rwatson)
2006-11-18 07:10:52 +00:00
kmacy
09e19ef30c Resize the hash table upwards if the number of collision entries is greater than 1/4 of the
total
it is possible that the resize threshold should be revised upwards

Approved by: scottl (standing in for mentor rwatson)
2006-11-16 07:50:33 +00:00
kmacy
6f35e53e01 Heavily re-factor tte_hash to remove redundant code
Add hash resizing support - doesn't quite work yet
2006-11-15 06:29:52 +00:00
kmacy
0cea6ebe6f add trap trace to tl1 trap 2006-11-15 03:53:27 +00:00
kmacy
5a8d897a3d add trap tracing to dev_mondo 2006-11-15 03:20:12 +00:00
kmacy
b5d64aeac0 add trap tracing to cpu mondo handler and tsb miss handler 2006-11-15 03:16:30 +00:00
ru
8beeb4382c Fix a comment. 2006-11-13 06:26:57 +00:00
csjp
3434de5c13 Enable syscall auditing for sun4v the arch by implementing the
AUDIT_SYSCALL_ENTER/EXIT macros.

Discussed with:	kmacy
2006-11-13 04:38:57 +00:00
kmacy
1ad3f70985 Add time-of-day support to sun4v 2006-11-13 01:02:18 +00:00
alc
6093953d36 Make pmap_enter() responsible for setting PG_WRITEABLE instead
of its caller.  (As a beneficial side-effect, a high-contention
acquisition of the page queues lock in vm_fault() is eliminated.)
2006-11-12 21:48:34 +00:00
kmacy
edb2ddd470 Support up to 4 nucleus mappings to workaround issue hit by jb@ when booted
off of CD
2006-11-12 01:21:15 +00:00
kmacy
9eefcf3161 MUTEX_PROFILING has been generalized to LOCK_PROFILING. We now profile
wait (time waited to acquire) and hold times for *all* kernel locks. If
the architecture has a system synchronized TSC, the profiling code will
use that - thereby minimizing profiling overhead. Large chunks of profiling
code have been moved out of line, the overhead measured on the T1 for when
it is compiled in but not enabled is < 1%.

Approved by: scottl (standing in for mentor rwatson)
Reviewed by: des and jhb
2006-11-11 03:18:07 +00:00
jb
0951c3f7a8 Enable ata and atapicd now those work on sun4v. 2006-11-09 08:49:13 +00:00
kmacy
6a11c108bf move panic_bad_hcall to its use site in support.S in attempt to un-break the
tinderbox
2006-11-08 22:16:05 +00:00
kmacy
1fb9f2a34b Fix for ithread interrupt handling. Don't reset the interrupt vector until
after the interrupt has been handled. Also move panic_bad_hcall to local to
avoid complaints from the linker on the tinderbox.

Approved by: scottl (substituting for mentor rwatson)
2006-11-08 22:09:58 +00:00
rwatson
10d0d9cf47 Sweep kernel replacing suser(9) calls with priv(9) calls, assigning
specific privilege names to a broad range of privileges.  These may
require some future tweaking.

Sponsored by:           nCircle Network Security, Inc.
Obtained from:          TrustedBSD Project
Discussed on:           arch@
Reviewed (at least in part) by: mlaier, jmg, pjd, bde, ceri,
                        Alex Lyashkov <umka at sevcity dot net>,
                        Skip Ford <skip dot ford at verizon dot net>,
                        Antoine Brodin <antoine dot brodin at laposte dot net>
2006-11-06 13:42:10 +00:00
jb
0ba5da19a5 Remove the KDTRACE option again because of the complaints about having
it as a default.

For the record, the KDTRACE option caused _no_ additional source files
to be compiled in; certainly no CDDL source files. All it did was to
allow existing BSD licensed kernel files to include one or more CDDL
header files.

By removing this from DEFAULTS, the onus is on a kernel builder to add
the option to the kernel config, possibly by including GENERIC and
customising from there. It means that DTrace won't be a feature
available in FreeBSD by default, which is the way I intended it to be.

Without this option, you can't load the dtrace module (which contains
the dtrace device and the DTrace framework). This is equivalent to
requiring an option in a kernel config before you can load the linux
emulation module, for example.

I think it is a mistake to have DTrace ported to FreeBSD, but not
to have it available to everyone, all the time. The only exception
to this is the companies which distribute systems with FreeBSD embedded.
Those companies will customise their systems anyway. The KDTRACE
option was intended for them, and only them.
2006-11-04 23:50:12 +00:00
jb
f7bc0a87d6 Build in kernel support for loading DTrace modules by default. This
adds the hooks that DTrace modules register with, and adds a few functions
which have the dtrace_ prefix to allow the DTrace FBT (function boundary
trace) provider to avoid tracing because they are called from the DTtrace
probe context.

Unlike other forms of tracing and debug, DTrace support in the kernel
incurs negligible run-time cost.

I think the only reason why anyone wouldn't want to have kernel support
enabled for DTrace would be due to the license (CDDL) under which DTrace
is released.
2006-11-04 04:58:10 +00:00
kmacy
78fce1a4a6 - map hardware trap numbers to those used by by sparc64 for inter-compatibility
and to make user-level trap handlers work
- add new trap entry to trap table to enable fast fetching of floating point trap
  context
- remove unused debug code
- map unimplemented floating point trap to SIGFPE

Approved by: scottl (standing in for mentor rwatson)
2006-11-03 23:41:53 +00:00
jb
61e78b6cd4 The relocation definitions are now defined in the machine independent
elf_common.h so that one arch can identify relocations on another
arch.
2006-11-03 23:03:46 +00:00
kmacy
0f567528e7 Fix initialization sequence for console
Fix commenting convention slightly
Approved by: rwatson (mentor)
Reviewed by: jb
2006-11-03 07:29:09 +00:00
kmacy
5e83cb856a make sure physmem is initialized
add clarifying comments
Reviewed by: jb
Approved by: rwatson (mentor)
2006-11-03 07:27:55 +00:00
jb
09c57dd752 Add a low level function to write a string to the hypervisor
console directly.

Discussed with: kmacy
2006-11-03 06:31:56 +00:00