Commit Graph

86 Commits

Author SHA1 Message Date
kmacy
0c7f6dfbd9 - separate out rounding memory ranges to 4M boundaries from OFW memory allocation bug workaround
- create real_phys_avail which includes all memory ranges to be added to the direct map
- merge in nucleus memory to real_phys_avail
- distinguish between tag VA and index VA in tsb_set_tte_real for cases where page_size != index_page_size
- clean up direct map loop
2006-12-04 19:35:40 +00:00
kmacy
03282658c5 recent changes have caused TRAP_TRACING to induce corruption
disable until the issue has been tracked down
2006-12-04 05:06:47 +00:00
jb
da35e3e55f Turn console printf buffering into a kernel option and only on
by default for sun4v where it is absolutely required.

This change moves the buffer from struct pcpu to the stack to avoid
using the critical section which created a LOR in a couple of cases
due to interaction with the tty code and kqueue. The LOR can't be
fixed with the critical section and the pcpu buffer can't be used
without the critical section.

Putting the buffer on the stack was my initial solution, but it was
pointed out that the stress on the stack might cause problems
depending on the call path. We don't have a way of creating tests
for those possible cases, so it's best to leave this as an option
for the time being. In time we may get enough data to enable this
option more generally.
2006-11-30 04:17:05 +00:00
kmacy
46355dc4e0 - add separate variable for enabling printing of ranges
- simplify handling of rounding phys_avail ranges to 4M boundaries (needed for all
  memory to be in the direct mapped area)
2006-11-29 19:31:23 +00:00
kmacy
1eddb5f0f6 - Explicitly name the fields in pcb that we use to store trap state for later
retrieval, rather than using pad
- save the fault address in sfar for use by the alignment fixup handler
- mask off the trap number, so the context id doesn't confuse the UT_MAX
  comparison

This change fixes alignment fixup handling which is needed for traceroute
to work in spite of its copious unaligned accesses
2006-11-29 05:18:19 +00:00
kmacy
4e25808d33 We no longer need to remap hardware trap numbers to sparc64 trap numbers
as this happens much earlier in trap handling.

The fact that we continued to do this when it was no longer necessary caused
breapoint to map to SIGILL as opposed to SIGTRAP :-(.
2006-11-29 04:52:51 +00:00
kmacy
4251f122f6 re-enable tte hash resize, corruption was caused by a missing htole32 in mpt_cam.c 2006-11-27 06:51:51 +00:00
kmacy
13ee52ce1e tte hash resizing may be causing errors when building - disable for now 2006-11-27 02:17:33 +00:00
kmacy
72cdc58ff4 Declare hypervisor system initiated reset function
as needed by the previous commit :-/
2006-11-26 22:47:52 +00:00
kmacy
9f7a442659 Fix "shutdown -r" and "shutdown -h"
- "shutdown -r" will reset the system
- "shutdown -h" will power off the system
We don't drop into OFW as newer versions of solaris don't do this either
2006-11-26 22:31:23 +00:00
kmacy
ad579686c6 - remove dead code
- revert a previous change to pmap_enter where we
  could skip invalidates on unmanaged pages
2006-11-26 07:54:44 +00:00
kmacy
d388f0af90 add interrupt cookie hypervisor functions 2006-11-26 04:37:49 +00:00
kmacy
224cafa6b0 The mountroot prompt will drop into ddb if we don't recognize error codes from
getchar correctly - we also need to check for HUP and BREAK
2006-11-25 06:29:46 +00:00
csjp
f3bb6f6787 Make sure we do not sleep while locks are held. Change the malloc(9)
flags from M_WAITOK to M_NOWAIT. This should not cause any problems
since the calling code appears to properly handle failed allocations.

Discussed with:	kmacy
2006-11-24 22:14:37 +00:00
kmacy
8a9570c484 kernel will not compile without genclock, thus move to DEFAULTS 2006-11-24 20:56:43 +00:00
kmacy
7101f38d9f - implement remaining pci functions
- fix build errors
2006-11-24 20:47:29 +00:00
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