summaryrefslogtreecommitdiffstats
path: root/sys/sun4v
Commit message (Collapse)AuthorAgeFilesLines
* Add support for specifying a minimal size for vm.kmem_size in the loader viasepotvin2007-04-211-1/+2
| | | | | | | | vm.kmem_size_min. Useful when using ZFS to make sure that vm.kmem size will be at least 256mb (for example) without forcing a particular value via vm.kmem_size. Approved by: njl (mentor) Reviewed by: alc
* Remove trailing '.' for consistency!pjd2007-04-101-1/+1
|
* Add UFS_GJOURNAL options to the GENERIC kernel.pjd2007-04-101-0/+1
| | | | Approved by: re (kensmith)
* Remove extern struct pcb stoppcbs[] declaration from this file.kan2007-04-051-2/+0
| | | | It breaks GCC 4.1 compiles and does not appear to be required.
* Push down the implementation of PCPU_LAZY_INC() into the machine-dependentalc2007-03-111-0/+6
| | | | | | | header file. Reimplement PCPU_LAZY_INC() on amd64 and i386 making it atomic with respect to interrupts. Reviewed by: bde, jhb
* o break newbus api: add a new argument of type driver_filter_t topiso2007-02-235-21/+23
| | | | | | | | | | | | | bus_setup_intr() o add an int return code to all fast handlers o retire INTR_FAST/IH_FAST For more info: http://docs.freebsd.org/cgi/getmsg.cgi?fetch=465712+0+current/freebsd-current Reviewed by: many Approved by: re@
* Include GEOM_LABEL in GENERIC. It's very useful and not well publicizedbrooks2007-02-091-0/+1
| | | | | | enough. Approved by: pjd
* Evolve the ctlreq interface added to geom_gpt into a genericmarcel2007-02-071-1/+1
| | | | | | | | | | | partitioning class that supports multiple schemes. Current schemes supported are APM (Apple Partition Map) and GPT. Change all GEOM_APPLE anf GEOM_GPT options into GEOM_PART_APM and GEOM_PART_GPT (resp). The ctlreq interface supports verbs to create and destroy partitioning schemes on a disk; to add, delete and modify partitions; and to commit or undo changes made.
* Add support for IPI_PREEMPT in order to enable use of the ULE schedulerkmacy2007-02-024-1/+21
|
* match against both dirty and writeable for marking page dirtykmacy2007-02-021-1/+1
|
* MFsparc64: Add .cvsignore file here too.ru2007-01-301-0/+1
|
* Convert the remainder of the low hanging fruits regarding includingmarius2007-01-1911-30/+57
| | | | | | | | headers in .S directly rather than getting to their macros through genassym.c/assym.s so there are less headers genassym.c has to be kept in sync with. While at it fix some stytle(9) bugs (indentation, prototype format, sort headers, etc) and remove trailing whitespace.
* - Rename UPA_BUS_SPACE to NEXUS_BUS_SPACE; besides an UPA bus, nexus(4)marius2007-01-182-20/+20
| | | | | | | | | | may also reflect a Fireplane/Safari or JBus bus (or a virtual bus which in turn reflects a JBus bus or something like that...). - In the both the sparc64 and sun4v bus_machdep.c use __FBSDID. - Spell SBus the official way in comments. - Replace hardcoded function names (all of which were actually outdated) in panic and status strings with __func__. - Fix whitespace nits.
* Remove the compat shims for the ISA old-stlye in{b,w,l}()/out{b,w,l}()marius2007-01-182-81/+0
| | | | | | | | | | | | | | | | and friends along with all hacks required to implement them. None of the drivers currently built (as part of GENERIC, LINT or modules) on sparc64 or sun4v and none of those we might want to use there in future uses them, AFAICT there actually never was a driver hooked up to the sparc64 or sun4v build that correctly used these functions (and it looks like that due to a bug read{b,w,l}()/write{b,w,l}() and the other functions working on a memory handle never actually worked on sun4v). All they ever were good for on sparc64 and sun4v was erroneously dragging in dependencies on isa(4) in drivers like f.e. dpt(4), si(4) and syscons(4) in source files that supposedly were bus-neutral and hiding issues with drivers like f.e. ng_bt3c(4) that used these functions with busses other than isa(4) and therefore couldn't work on these platforms.
* Remove 3rd clause, renumber, ok per emailimp2007-01-122-8/+2
|
* Invert the logic inside of two KASSERTS which resulted in two kernel panicscsjp2006-12-311-3/+2
| | | | | | for circumstances which are quite normal. Discussed with: kmacy
* Fix builddelphij2006-12-251-1/+1
|
* - add ranged shootdowns when fewer than 64 mappings are being invalidatedkmacy2006-12-253-20/+47
|
* - remove all calls to sched_pin and sched_unpin as they are only useful tokmacy2006-12-242-133/+78
| | | | | | | | | | | | | | | | | | | | | | | | | pmap on i386 - check for change in executable status in pmap_enter - pmap_qenter and pmap_qremove only need to invalidate the range if one of the pages has been referenced - remove pmap_kenter/pmap_kremove as they were only used by pmap_qenter and pmap_qremove - in pmap_copy don't copy wired bit to destination pmap - mpte was unused in pmap_enter_object - remove - pmap_enter_quick_locked is not called on the kernel_pmap, remove check - move pmap_remove_write specific logic out of tte_clear_phys_bit - in pmap_protect check for removal of execute bit - panic in the presence of a wired page in pmap_remove_all - pmap_zero_range can call hwblkclr if offset is zero and size is PAGE_SIZE - tte_clear_virt_bit is only used by pmap_change_wiring - thus it can be greatly simplified - pmap_invalidate_page need only be called in tte_clear_phys_bit if there is a match with flags - lock the pmap in tte_clear_phys_bit so that clearing the page bits is atomic with invalidating the page - these changes result in 100s reduction in buildworld from a malloc backed disk to a malloc backed disk - ~2.5%
* Don't count on the first phys_avail range being greater than zerokmacy2006-12-241-2/+1
|
* - resizing the tte_hash in pmap_copy is not likely to occurkmacy2006-12-241-5/+10
| | | | | - the implementation also made the mistake of assuming the dst_pmap is the current pmap
* reduce padding to compensate for recent change to sys/pcpu.h (tinderbox fix)kmacy2006-12-201-1/+1
|
* remove unneeded operations in tsb_set_tte_real - the function iskmacy2006-12-181-7/+3
| | | | | only used early in initialization so SMP safeness isn't really an issue
* add declaration for new helper functionkmacy2006-12-181-0/+2
|
* add helper function for finding a virtual device node in a machinekmacy2006-12-181-0/+101
| | | | description
* push trap conversion up into tl1_trap to further simplify spill / fill faultkmacy2006-12-182-14/+10
| | | | handling
* Simplify spill/fill fault handling by updating tl1_trap registerkmacy2006-12-182-28/+18
| | | | | | usage to conform to that of tl0_trap - the separate code path for unaligned faults was never getting used (and evidently doesn't work), so ifdef out for now
* remove TRAP_TRACING code that wasn't getting usedkmacy2006-12-171-10/+0
| | | | pc_caller is no longer part of pcpu
* GC unused fields in pcpukmacy2006-12-171-4/+1
|
* replace PCPU_GET(cpuid) with curcpu and PCPU_GET(curthread) with curthreadkmacy2006-12-173-11/+11
|
* eliminate use of curpmap except where protected by critical_{enter, exit}kmacy2006-12-171-3/+6
|
* make unmap_perm_addr conform to declarationkmacy2006-12-171-0/+2
|
* eliminate extra branches by making better use of branch delaykmacy2006-12-171-33/+21
| | | | slots and annulling
* - Remove PCPU references by passing field as a reference to _tte_hash_lookup.kmacy2006-12-171-35/+24
| | | | | | | - The PCPU usage was to ensure that there were no faults on the stack while the tte_hash_bucket lock was held - but this can be avoided by making sure the address on the stack is already referenced. - PCPU removal obviates the need for critical_{enter, exit}
* Protect consistency of all internal functions in tte_hash.c using PCPU_{GET,SET}kmacy2006-12-162-7/+13
| | | | | with critical_enter, critical_exit revert previous change to pmap.c now that tte_hash_resize is protected internally
* tte_hash_resize implicitly expects to be protected from preemption -kmacy2006-12-161-1/+1
| | | | put under spinlock_enter
* change PTL trap type name to assist in tracking down prablems in tl1_trapkmacy2006-12-161-0/+4
|
* - KASSERT takes two argumentskmacy2006-12-161-1/+1
| | | | - a cast is needed to quiet warnings
* - make better use of branch delay slots in exception.Skmacy2006-12-163-34/+85
| | | | | | | | - rename skip_utrap to tl0_skip_utrap to indicate its use by the fill trap fault handler - handle a null kstack by switching to the idle threads stack and then going to trap - correctly handle a unaligned or unmapped stack during a fill trap - save off some extra data in the pcpu pad in ptl1_panic - add an assert that PCB is valid in vm_machdep.c
* - make intent behind skip check clearerkmacy2006-12-161-3/+5
| | | | - protect pmap_ipi with spinlock_enter when resizing tte_hash
* don't return directly to copyin and friends when we hit certain types of faultskmacy2006-12-161-3/+17
| | | | this fixes the unkillable syscall in stress2
* workaround kernel malloc's brittlenesskmacy2006-12-121-1/+8
| | | | | - don't shuffle phys_avail following kernel to the beginning if the range is less than what would remain in a 256MB page (248MB)
* - provide a more informative panic if mdesc_update() failskmacy2006-12-121-7/+10
| | | | | - handle some cases where the return value of mdesc_update() is not zero when it should be
* - remove vestigial reference to mra[i]kmacy2006-12-121-17/+33
| | | | | - partition phys_avail along 4GB boundaries as possible workaround for hardware problems causing watchdog panics
* make size of pad non-zero so that trap-tracing code doesn't overwrite thekmacy2006-12-111-1/+1
| | | | base of our stack
* KTR entry contained invalid context reference - ifdef outkmacy2006-12-101-1/+2
|
* remove more uses of trap_conversion to get more meaningful trap messageskmacy2006-12-101-11/+14
| | | | add a printf for when we fault on the direct area (should never happen)
* better handle the case of hw.physmemstart being hw.physmem not being set,kmacy2006-12-101-1/+2
| | | | previously we were acting as if physmem was being set when it was not
* Add hw.physmemstart loader variable to enable the user to specify the addresskmacy2006-12-101-11/+20
| | | | | | | at which the kernel should start allocating physical memory. The primary purpose of this is to test 64-bit cleanness of the data path by setting hw.physmemstart=4G so that all physical allocations are above 4GB. AMD64 and i386/PAE could also benefit from having this option.
* Fix handling of the hw.physmem loader variable use real_phys_avail[] whichkmacy2006-12-091-34/+29
| | | | | | is already bounded by hw.physmem to calculate phys_avail[] - previously only real_phys_avail[] was being bound by hw.physmem so we were allocating memory that wasn't mapped in the direct map
OpenPOWER on IntegriCloud