summaryrefslogtreecommitdiffstats
path: root/sys/ia64
Commit message (Collapse)AuthorAgeFilesLines
* 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)
* Catch up with ACPI-CA 20070320 import.jkim2007-03-223-99/+106
|
* Change the amd64, i386, and ia64 nexus drivers to setup bus space tags andjhb2007-03-211-13/+13
| | | | | | | | | | | handles when activating a resource via bus_activate_resource() rather than doing some of the work in bus_alloc_resource() and some of it in bus_activate_resource(). One note is that when using isa_alloc_resourcev() on PC-98, drivers now need to just use bus_release_resource() without explicitly calling bus_deactivate_resource() first. nyan@ has already fixed all of the PC-98 drivers.
* 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
* Over NFS, an open() call could result in multiple over-the-wiremohans2007-03-091-0/+2
| | | | | | | | | | | | GETATTRs being generated - one from lookup()/namei() and the other from nfs_open() (for cto consistency). This change eliminates the GETATTR in nfs_open() if an otw GETATTR was done from the namei() path. Instead of extending the vop interface, we timestamp each attr load, and use this to detect whether a GETATTR was done from namei() for this syscall. Introduces a thread-local variable that counts the syscalls made by the thread and uses <pid, tid, thread syscalls> as the attrload timestamp. Thanks to jhb@ and peter@ for a discussion on thread state that could be used as the timestamp with minimal overhead.
* Don't increment total_bounced when doing no-op dmamap_sync ops.scottl2007-03-061-1/+2
|
* Updated ia64 isa support with the new bus_setup_intr() syntax.piso2007-02-241-2/+3
| | | | Approved by: re (implicit?)
* o break newbus api: add a new argument of type driver_filter_t topiso2007-02-233-12/+15
| | | | | | | | | | | | | 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@
* Change pmap_protect() so that execute access can be removed withoutalc2007-02-211-1/+2
| | | | simultaneously removing write access.
* Eliminate some acquisitions and releases of the page queues lock that arealc2007-02-181-2/+0
| | | | no longer necessary.
* Now that the free page queue mutex is a sleep mutex, we cannot callmarcel2007-02-111-7/+0
| | | | | | | | vm_page_alloc() from within a critical section in pmap_growkernel(). Since the need for a critical section may never have existed in the first place, simply get rid of it. Discussed with: alc@
* 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.
* Remove 3rd clause, renumber, ok per emailimp2007-01-123-12/+3
|
* Add a lwpid field into per-cpu structure, the lwpid represents currentdavidxu2006-12-201-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | running thread's id on each cpu. This allow us to add in-kernel adaptive spin for user level mutex. While spinning in user space is possible, without correct thread running state exported from kernel, it hardly can be implemented efficiently without wasting cpu cycles, however exporting thread running state unlikely will be implemented soon as it has to design and stablize interfaces. This implementation is transparent to user space, it can be disabled dynamically. With this change, mutex ping-pong program's performance is improved massively on SMP machine. performance of mysql super-smack select benchmark is increased about 7% on Intel dual dual-core2 Xeon machine, it indicates on systems which have bunch of cpus and system-call overhead is low (athlon64, opteron, and core-2 are known to be fast), the adaptive spin does help performance. Added sysctls: kern.threads.umtx_dflt_spins if the sysctl value is non-zero, a zero umutex.m_spincount will cause the sysctl value to be used a spin cycle count. kern.threads.umtx_max_spins the sysctl sets upper limit of spin cycle count. Tested on: Athlon64 X2 3800+, Dual Xeon 5130
* Threading cleanup.. part 2 of several.julian2006-12-061-5/+3
| | | | | | | | | | | | | | | | | | | | | | Make part of John Birrell's KSE patch permanent.. Specifically, remove: Any reference of the ksegrp structure. This feature was never fully utilised and made things overly complicated. All code in the scheduler that tried to make threaded programs fair to unthreaded programs. Libpthread processes will already do this to some extent and libthr processes already disable it. Also: Since this makes such a big change to the scheduler(s), take the opportunity to rename some structures and elements that had to be moved anyhow. This makes the code a lot more readable. The ULE scheduler compiles again but I have no idea if it works. The 4bsd scheduler still reqires a little cleaning and some functions that now do ALMOST nothing will go away, but I thought I'd do that as a separate commit. Tested by David Xu, and Dan Eischen using libthr and libpthread.
* Since printf also has at least one critical section, we need tomarcel2006-11-181-5/+7
| | | | | initialize pc_curthread. While here, rename early_pcpu to pcpu0 to be conistent (compare thread0 and proc0).
* Now that printf() needs the PCPU, set it up before we call printf().marcel2006-11-185-26/+16
| | | | | | | | Change the pc_pcb field from a pointer to struct pcb to struct pcb so that sizeof(struct pcb) includes the PCB we use for IPI_STOP. Statically declare early_pcb so that we don't have to allocate the PCB for thread0. This way we can setup the PCPU before cninit() and thus before we use printf().
* Revert previous commit. PC_CONS_BUFR is not used nor needed bymarcel2006-11-181-1/+0
| | | | assembly.
* Fix a comment.ru2006-11-131-1/+1
|
* Make pmap_enter() responsible for setting PG_WRITEABLE insteadalc2006-11-121-0/+2
| | | | | of its caller. (As a beneficial side-effect, a high-contention acquisition of the page queues lock in vm_fault() is eliminated.)
* Add missing includes of priv.h.rwatson2006-11-061-0/+1
|
* Sweep kernel replacing suser(9) calls with priv(9) calls, assigningrwatson2006-11-061-1/+2
| | | | | | | | | | | | | 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>
* Remove the KDTRACE option again because of the complaints about havingjb2006-11-041-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Build in kernel support for loading DTrace modules by default. Thisjb2006-11-041-0/+3
| | | | | | | | | | | | | | 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.
* Make sure kern_envp is never NULL. If we don't get a pointer tomarcel2006-11-031-3/+4
| | | | the environment from the loader, use the static environment.
* Add a cnputs() function to write a string to the console withjb2006-11-011-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | a lock to prevent interspersed strings written from different CPUs at the same time. To avoid putting a buffer on the stack or having to malloc one, space is incorporated in the per-cpu structure. The buffer size if 128 bytes; chosen because it's the next power of 2 size up from 80 characters. String writes to the console are buffered up the end of the line or until the buffer fills. Then the buffer is flushed to all console devices. Existing low level console output via cnputc() is unaffected by this change. ithread calls to log() are also unaffected to avoid blocking those threads. A minor change to the behaviour in a panic situation is that console output will still be buffered, but won't be written to a tty as before. This should prevent interspersed panic output as a number of CPUs panic before we end up single threaded running ddb. Reviewed by: scottl, jhb MFC after: 2 weeks
* Remove the KSE option now that it's in DEFAULTS on these arches/machines.jb2006-10-261-1/+0
| | | | | | | | | The 'nooption' kernel config entry has to be used to turn KSE off now. This isn't my preferred way of dealing with this, but I'll defer to scottl's experience with the io/mem kernel option change and the grief experienced over that. Submitted by: scottl@
* Add 'options KSE' to the kernel config DEFAULTS on all arches/machinesjb2006-10-261-0/+2
| | | | | | | | | | | except sun4v. This change makes the transition from a default to an option more transparent and is an attempt to head off all the compliants that are likely from people who don't read UPDATING, based on experience with the io/mem change. Submitted by: scottl@
* Make KSE a kernel option, turned on by default in all GENERICjb2006-10-263-0/+7
| | | | | | | kernel configs except sun4v (which doesn't process signals properly with KSE). Reviewed by: davidxu@
* Move "device splash" back to MI NOTES and "files", it's MI.ru2006-10-231-2/+0
|
* o Eliminate nexus_print_resources(). Use resource_list_print_type()marcel2006-10-231-50/+5
| | | | | | instead. o Eliminate nexus_print_all_resources(). Inline the function body in nexus_print_child().
* Eliminate unnecessary PG_BUSY tests.alc2006-10-221-1/+1
|
* Move more MD devices and options out of MI NOTES.des2006-10-201-3/+57
|
* The VGA_DEBUG option only exists on {amd64,i386,ia64}.des2006-10-201-0/+3
| | | | Also remove 'device io' from amd64 NOTES; DEFAULTS takes care of it.
* Fix previous revision:marcel2006-10-191-2/+2
| | | | | | o day and mday are the same. No need to subtract 1 from mday. o Set dow to -1 as clock_ct_to_ts() checks this field and returns EINVAL on any day of the week but Sunday.
* o Add keyword volatile for user mutex owner field.davidxu2006-10-171-4/+4
| | | | | | o Fix type consistent problem by using type long for old umtx and wait channel. o Rename casuptr to casuword.
* Add a newline to the printf().hrs2006-10-151-1/+1
| | | | | Spotted by: Peter Carah <pete@altadena.net> MFC after: 3 days
* Include freebsd32_signal.h now that signal-related definitions aremarcel2006-10-061-0/+1
| | | | | | moved there. Found by: ia64 tinderbox.
* - Remove SCHED_ULE from GENERIC to better avoid foot-shooting bysimon2006-10-051-1/+0
| | | | | | | | | | | unsuspecting users. - Add a comment in NOTES about experimental status of SCHED_ULE. - Make warning about experimental status in sched_ule(4) a bit stronger. Suggested and reviewed by: dougb Discussed on: developers MFC after: 3 days
* PR:jb2006-10-041-86/+0
| | | | | | | | | | | | | | Submitted by: Reviewed by: Approved by: Obtained from: MFC after: Security: Move the relocation definitions to the common elf header so that DTrace can use them on one architecture targeted to a different one. Add the additional ELF types defines in Sun's "Linker and Libraries" manual.
* Use calendrical calculations from subr_clock.c instead of home-rolled.phk2006-10-021-68/+26
|
* Second part of a little cleanup in the calendar/timezone/RTC handling.phk2006-10-021-25/+0
| | | | | | | | | | | Split subr_clock.c in two parts (by repo-copy): subr_clock.c contains generic RTC and calendaric stuff. etc. subr_rtc.c contains the newbus'ified RTC interface. Centralize the machdep.{adjkerntz,disable_rtc_set,wall_cmos_clock} sysctls and associated variables into subr_clock.c. They are not machine dependent and we have generic code that relies on being present so they are not even optional.
* First part of a little cleanup in the calendar/timezone/RTC handling.phk2006-10-022-4/+1
| | | | | | Move relevant variables to <sys/clock.h> and fix #includes as necessary. Use libkern's much more time- & spamce-efficient BCD routines.
* Added COMPAT_FREEBSD6 option.ru2006-09-261-0/+1
|
* Use __builtin_va_start instead of __builtin_stdarg_start. GCC4 obsoleteskan2006-09-211-1/+1
| | | | | the former and __builtin_va_start was present in all GCC version 3.1 and later.
* Add audit hooks for ppc, ia64 system call paths.rwatson2006-09-162-0/+8
| | | | | | Reviewed by: marcel (ia64) Obtained from: TrustedBSD Project MFC after: 3 days
* Implement casuword32, compare and set user integer, thank Marcel Moolenarrdavidxu2006-08-281-0/+50
| | | | who wrote the IA64 version of casuword32.
* Eliminate unused definitions. (They came from NetBSD.)alc2006-08-251-8/+0
| | | | Discussed with: cognet, grehan, marcel
OpenPOWER on IntegriCloud