#
272461 |
|
02-Oct-2014 |
gjb |
Copy stable/10@r272459 to releng/10.1 as part of the 10.1-RELEASE process.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
#
256281 |
|
10-Oct-2013 |
gjb |
Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation
|
#
223170 |
|
17-Jun-2011 |
marcel |
Properly serialize the global shootdown with the instruction stream of the local processor. Also explicitly invalidate the ALAT. This is done on the other CPUs in the coherence domain by virtue of the ptc.ga instruction, but does not apply to the local CPU.
|
#
221889 |
|
14-May-2011 |
marcel |
Turn ia64_srlz() and ia64_srlz_i() into defines so that the code is still correct when inlining is disabled.
|
#
221271 |
|
30-Apr-2011 |
marcel |
Stop linking against a direct-mapped virtual address and instead use the PBVM. This eliminates the implied hardcoding of the physical address at which the kernel needs to be loaded. Using the PBVM makes it possible to load the kernel irrespective of the physical memory organization and allows us to replicate kernel text on NUMA machines.
While here, reduce the direct-mapped page size to the kernel's page size so that we can support memory attributes better.
|
#
208283 |
|
18-May-2010 |
marcel |
Switch to C99 exact-width types.
|
#
200051 |
|
03-Dec-2009 |
marcel |
Make sure bus space accesses use unorder memory loads and stores. Memory accesses are posted in program order by virtue of the uncacheable memory attribute. Since GCC, by default, adds acquire and release semantics to volatile memory loads and stores, we need to use inline assembly to guarantee it. With inline assembly, we don't need volatile pointers anymore.
Itanium does not support semaphore instructions to uncacheable memory.
|
#
180354 |
|
07-Jul-2008 |
marcel |
Add inline function ia64_fc_i() to abstract inline assembly. Use the new inline function in ia64_invalidate_icache(). While there, add proper synchronization so that we know the fc.i instructions have taken effect when we return.
|
#
171735 |
|
05-Aug-2007 |
marcel |
In ia64_set_rr(), don't perform data serialization. This allows us to do the data serializations once after writing multiple region registers, as is done in pmap_switch(). All existing calls to ia64_set_rr() are followed with calls to ia64_srlz_d().
Approved by: re (blanket)
|
#
171718 |
|
04-Aug-2007 |
marcel |
Add ia64_srlz_d() and ia64_srlz_i() functions to aid in serialization.
Approved by: re (blanket)
|
#
170026 |
|
27-May-2007 |
marcel |
Have the processor defer all faults and exceptions for control speculative loads. This at least makes control speculative loads work. In the future we should analyze which faults/exceptions we want to handle rather than defer to avoid having to call the recovery code when it's not strictly necessary.
|
#
148804 |
|
06-Aug-2005 |
marcel |
For ia64_ptc_{e,g,ga,l}(), use instruction serialization. We typically don't know what the TLB described and need to assume that it affects the fetching of instructions.
|
#
118934 |
|
15-Aug-2003 |
marcel |
Add an instruction group break after the move to application register and the move to control register to avoid dependency violations when these functions are used. Note that explicit data and instruction serialization also need to be in a subsequent instruction group. This too requires that we have an igrp break here.
|
#
117499 |
|
13-Jul-2003 |
marcel |
Enable the high FP registers when we call the FPSWA handler and disable them again afterwards. This fixes a disabled FP fault while in the FPSWA handler. While here, merge the FP fault and FP trap handling code to reduce code duplication. Where code was different, it was not sure it should be.
Trigger case: ports/math/atlas
|
#
96912 |
|
19-May-2002 |
marcel |
o Remove namespace pollution from param.h: - Don't include ia64_cpu.h and cpu.h - Guard definitions by _NO_NAMESPACE_POLLUTION - Move definition of KERNBASE to vmparam.h
o Move definitions of IA64_RR_{BASE|MASK} to vmparam.h o Move definitions of IA64_PHYS_TO_RR{6|7} to vmparam.h
o While here, remove some left-over Alpha references.
|
#
94373 |
|
10-Apr-2002 |
dfr |
Add definitions for IA-32 exceptions, interrupts and intercepts.
|
#
94271 |
|
09-Apr-2002 |
dfr |
Define a complete set of accessors for application and control registers.
|
#
92271 |
|
14-Mar-2002 |
dfr |
Add ia64_sync_i(), ia64_get_tpr() and ia64_set_tpr().
|
#
85356 |
|
23-Oct-2001 |
dfr |
Add data serialisations after ptc and mov to rr[] instructions.
|
#
85282 |
|
21-Oct-2001 |
dfr |
Add ia64_set_fpsr().
|
#
84534 |
|
05-Oct-2001 |
dfr |
Add ia64_get_lid().
|
#
83766 |
|
21-Sep-2001 |
dfr |
Add ia64_fc().
|
#
83622 |
|
18-Sep-2001 |
dfr |
Add ia64_get_cpuid().
|
#
83510 |
|
15-Sep-2001 |
dfr |
Add ia64_mf_a() which executes an mf.a instruction.
|
#
72895 |
|
22-Feb-2001 |
jhb |
Add a inline function to read the psr.
|
#
67522 |
|
24-Oct-2000 |
dfr |
* Various fixes to breakage introduced by the atomic and mutex reorgs. * Fixes to the signal delivery code. Not quite right yet.
I would have preferred to wait until I have signal delivery actually working but the current kernel in CVS doesn't build.
|
#
67032 |
|
12-Oct-2000 |
dfr |
Implement a rudimentary interrupt handling system which should be good enough for clock interrupts in SKI.
|
#
66937 |
|
10-Oct-2000 |
dfr |
* Add rudimentary DDB support (no kgdb, no backtrace, no single step). * Track recent changes to SWI code. * Allocate RIDs for pmaps (untested). * Implement assembler version of cpu_switch - its cleaner that way.
|
#
66633 |
|
04-Oct-2000 |
dfr |
Next round of fixes to the ia64 code. This includes simulated clock and disk drivers along with a load of fixes to context switching, fork handling and a load of other stuff I can't remember now. This takes us as far as start_init() before it dies. I guess now I will have to finish off the VM system and syscall handling :-).
|
#
66486 |
|
30-Sep-2000 |
dfr |
Next round of ia64 work, including fixes to context switching, implementing cpu_fork(), copy*str(), bcopy(), copy{in,out}(). With these changes, my test kernel reaches the mountroot prompt.
|
#
66458 |
|
29-Sep-2000 |
dfr |
This is the first snapshot of the FreeBSD/ia64 kernel. This kernel will not work on any real hardware (or fully work on any simulator). Much more needs to happen before this is actually functional but its nice to see the FreeBSD copyright message appear in the ia64 simulator.
|