summaryrefslogtreecommitdiffstats
path: root/sys/ia64
Commit message (Collapse)AuthorAgeFilesLines
* Get the guarding right. The IA-64 has a different organization for thisobrien2002-03-261-5/+4
| | | | than our other platforms.
* Guard against redefining __gnuc_va_list.obrien2002-03-241-1/+5
|
* Undefine __FBSDID before defining it as it's already defined atmarcel2002-03-241-0/+1
| | | | that point.
* ASM versions of __FBSDID.obrien2002-03-231-0/+6
|
* Change critical_t to register_t for intr_disable/restore.dfr2002-03-215-7/+7
|
* Change cpu_critical_enter/exit to intr_disable/restore.dfr2002-03-211-2/+2
|
* In UP mode, the primary cpu's per-cpu current_pmap was not initialized -peter2002-03-211-0/+1
| | | | | this was only done as a side effect of calling cpu_mp_start(). I haven't actually tested that this fixes UP kernels, but it feels about right.
* Remove references to vm_zone.h and switch over to the new uma API.jeff2002-03-212-30/+11
| | | | Approved by: peter
* Remove __P.alfred2002-03-2012-76/+76
| | | | Reviewd by: peter
* Change the way we ensure td_ucred is NULL if DIAGNOSTIC is defined.jhb2002-03-201-25/+6
| | | | | | | | | | | | Instead of caching the ucred reference, just go ahead and eat the decerement and increment of the refcount. Now that Giant is pushed down into crfree(), we no longer have to get Giant in the common case. In the case when we are actually free'ing the ucred, we would normally free it on the next kernel entry, so the cost there is not new, just in a different place. This also removse td_cache_ucred from struct thread. This is still only done #ifdef DIAGNOSTIC. Tested on: i386, alpha
* Change intr_enable to intr_restore for consistency with sparc64.dfr2002-03-204-6/+6
|
* Replace calls to cpu_critical_enter/exit with appropriate calls todfr2002-03-203-13/+14
| | | | | either explicitly disable interrupts or use a real critical section, as appropriate.
* Recreate intr_disable/intr_enable and implement cpu_critical_enter/exitdfr2002-03-201-2/+14
| | | | in terms of that (for now).
* #if 0 some unused variables (only in #if 0 code)peter2002-03-191-0/+4
|
* Enabling the SKI option is a guaranteed breakage for me. Interrupts nopeter2002-03-191-1/+4
| | | | | longer work. I can only get a box to boot with 'options SMP'.
* My ia64 box for some reason likes to fragment the beginning/end of memorypeter2002-03-191-1/+1
| | | | | | | a bit before handing it over to the OS. I occasionally have 11 segments with several 8K or so fragments depending on nvram settings and what I have done under loader(8) before booting. This needs to be revisited.
* Fix some unused variables.peter2002-03-193-1/+5
|
* Move a couple of prototypes together instead of being incompletelypeter2002-03-194-7/+4
| | | | scattered around.
* __func__ is a const char *, not a "string" that can be concatenated.peter2002-03-191-3/+3
|
* Fix a pointer/int warningpeter2002-03-191-1/+1
|
* #ifdef SMP some variables that are only used elsewhere under #ifdef SMPpeter2002-03-191-0/+2
| | | | also.
* Work around an apparent compiler bug with gcc-3.1, although it might bepeter2002-03-191-2/+5
| | | | | | a language feature that I do not know about. gcc is complaining about a left shift >= sizeof type, even when shifting a (cast) 64 bit type left by 43 bits.
* Believe it or not, I ran into the 32MB stack size limit using a nativelypeter2002-03-191-1/+1
| | | | hosted gcc.
* #if 0 out some unused code.peter2002-03-192-0/+5
|
* Add some #includes after things got broken with the last round ofpeter2002-03-192-0/+3
| | | | MI include file (<sys/smp.h> I think) tweaks.
* Turn off the ia64 ITC timecounter when SMP is present since it has thepeter2002-03-191-0/+10
| | | | | same problem as the TSC on the x86 - ie: it is not synchronized. #if 0 out some unused functions, ia64 doesn't calibrate clocks yet.
* This is the first part of the new kernel memory allocator. This replacesjeff2002-03-191-2/+21
| | | | | | malloc(9) and vm_zone with a slab like allocator. Reviewed by: arch@
* Fix spelling.dfr2002-03-181-1/+1
|
* Move the definition of PT_[GS]ET{,DB,FP}REGS from the MD ptrace.h to thedes2002-03-161-8/+0
| | | | | MI ptrace.h, since all platforms define them. Keep the MD ptrace.h around for FIX_SSTEP (which is currently only needed on Alpha).
* * Stop other cpus when one cpu enters DDB and restart them after itdfr2002-03-151-11/+47
| | | | | | leaves. * Add a sync.i instruction to the code which writes out breakpoints to ensure that the breakpoint is seem by all cpus in the coherence domain.
* * Remove a breakpoint() I accidentally left in for debugging :-(.dfr2002-03-152-14/+49
| | | | | * Make cpu_mp_probe() work before the VM system is available and initialise mp_maxid accordingly.
* Tweak the AP startup code somewhat. With all the other recent changes,dfr2002-03-141-8/+41
| | | | | | this now works pretty well for two processors at least. Submitted by: marcel, mostly.
* * Initialise pcb_pmap for new threads.dfr2002-03-141-21/+40
| | | | * Add support for forking new threads from &thread0 as well as curthread.
* * Save and restore PCPU_GET(current_pmap) in pcb_pmap so that we don'tdfr2002-03-141-11/+23
| | | | | | | | lose if a process is preempted while pmap is temporarily switched to another pmap. * For SMP, drop the high-fp state when a thread is switched away from so that if another cpu resumes that thread, it doesn't have to play games with IPI to get ahold of the correct register values.
* Add pcpu.pc_current_pmap and pcb.pcb_pmap.dfr2002-03-141-0/+2
|
* Add a field to hold the current pmap of a thread.dfr2002-03-141-0/+1
|
* Add ia64_sync_i(), ia64_get_tpr() and ia64_set_tpr().dfr2002-03-141-0/+29
|
* * Add some KTR messages for IPIs.dfr2002-03-141-3/+35
| | | | | | | | * Don't call ast() from interrupt() - if we switch, then we will miss writing cr.eoi which will prevent the current cpu from receiving interrupts until the current thread is resumed. The call to ast() happens magically in exception_restore where it is safe. * Add DDB 'show irq' command to examine interrupt hardware state.
* Add debug code to print SAPIC registers.dfr2002-03-142-1/+33
|
* * Use a mutex to protect the RID allocator.dfr2002-03-141-16/+40
| | | | | | | | | * Use ptc.g instead of ptc.l so that TLB shootdowns are broadcast to the coherence domain. * Use smp_rendezvous for pmap_invalidate_all to ensure it happens on all cpus. * Dike out a DIAGNOSTIC printf which didn't compile. * Protect the internals of pmap_install with cpu_critical_enter/exit.
* Move the call to pmap_bootstrap to after the initialisation of thread0.dfr2002-03-141-6/+9
| | | | | This allows us to use mutexes in pmap safely. Also initialise fpcurthread for cpu0 so that ia64_fpstate_check doesn't barf during boot.
* Don't restore r13 when returning to kernel mode. We may have migrated todfr2002-03-142-2/+8
| | | | | a different cpu since the exception_save and r13 needs to point at the current cpu's pcpu structure.
* Fix some -Wunused warnings by "using" a macro argumentpeter2002-03-121-7/+7
|
* Fix a warning (make ucontext_t *ucp a const)peter2002-03-121-1/+2
|
* Stop concatenating __func__ with stringspeter2002-03-121-2/+2
|
* Deal with a structure member rename in a recent acpica importpeter2002-03-121-1/+1
|
* Fix a misspelling of mine: s/optomization/optimization/.jhb2002-03-111-1/+1
| | | | Noticed by: bmilekic
* Add an implementation of cpu_throw() and make restorectx() simply branchdfr2002-03-102-77/+23
| | | | to the tail of cpu_switch.
* Don't try to print the arguments if the value of bsp is outside thedfr2002-03-101-7/+9
| | | | kernel - its asking for trouble.
* Use the right value for the region length in parse_spill_mask.dfr2002-03-101-4/+4
|
OpenPOWER on IntegriCloud