#
b17f9ad2 |
| 16-Aug-2010 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Merge svn+ssh://svn.freebsd.org/base/head@211344
|
Revision tags: release/8.1.0_cvs, release/8.1.0 |
|
#
c3e289e1 |
| 13-Jul-2010 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
MFppc64:
Kernel sources for 64-bit PowerPC, along with build-system changes to keep 32-bit kernels compiling (build system changes for 64-bit kernels are coming later). Existing 32-bit PowerPC kerne
MFppc64:
Kernel sources for 64-bit PowerPC, along with build-system changes to keep 32-bit kernels compiling (build system changes for 64-bit kernels are coming later). Existing 32-bit PowerPC kernel configurations must be updated after this change to specify their architecture.
show more ...
|
Revision tags: release/7.3.0_cvs, release/7.3.0 |
|
#
aba7e013 |
| 20-Mar-2010 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
MFC r204268:
Close a race involving the OEA64 scratchpage. When the scratch page's physical address is changed, there is a brief window during which its PTE is invalid. Since moea64_set_scratchpage_
MFC r204268:
Close a race involving the OEA64 scratchpage. When the scratch page's physical address is changed, there is a brief window during which its PTE is invalid. Since moea64_set_scratchpage_pa() does not and cannot hold the page table lock, it was possible for another CPU to insert a new PTE into the scratch page's PTEG slot during this interval, corrupting both mappings.
Solve this by creating a new flag, LPTE_LOCKED, such that moea64_pte_insert will avoid claiming locked PTEG slots even if they are invalid. This change also incorporates some additional paranoia added to solve things I thought might be this bug.
Reported by: linimon
show more ...
|
#
1a0fda2b |
| 04-Mar-2010 |
Dag-Erling Smørgrav <des@FreeBSD.org> |
IFH@204581
|
#
83c01b8c |
| 24-Feb-2010 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Close a race involving the OEA64 scratchpage. When the scratch page's physical address is changed, there is a brief window during which its PTE is invalid. Since moea64_set_scratchpage_pa() does not
Close a race involving the OEA64 scratchpage. When the scratch page's physical address is changed, there is a brief window during which its PTE is invalid. Since moea64_set_scratchpage_pa() does not and cannot hold the page table lock, it was possible for another CPU to insert a new PTE into the scratch page's PTEG slot during this interval, corrupting both mappings.
Solve this by creating a new flag, LPTE_LOCKED, such that moea64_pte_insert will avoid claiming locked PTEG slots even if they are invalid. This change also incorporates some additional paranoia added to solve things I thought might be this bug.
Reported by: linimon
show more ...
|
Revision tags: release/8.0.0_cvs, release/8.0.0 |
|
#
10b3b545 |
| 17-Sep-2009 |
Dag-Erling Smørgrav <des@FreeBSD.org> |
Merge from head
|
#
7d4b968b |
| 17-Sep-2009 |
Dag-Erling Smørgrav <des@FreeBSD.org> |
Merge from head up to r188941 (last revision before the USB stack switch)
|
#
e7153b25 |
| 07-May-2009 |
Oleksandr Tymoshenko <gonzo@FreeBSD.org> |
Merge from HEAD
|
Revision tags: release/7.2.0_cvs, release/7.2.0 |
|
#
c2085d04 |
| 24-Apr-2009 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Remove PTE_FAKE and PTE_ISFAKE().
|
#
bad3b688 |
| 18-Jan-2009 |
Oleksandr Tymoshenko <gonzo@FreeBSD.org> |
Sync with head
|
#
b2b734e7 |
| 13-Jan-2009 |
Rafal Jaworowski <raj@FreeBSD.org> |
Rework BookE pmap towards multi-core support.
o Eliminate tlb0[] (a s/w copy of TLB0) - The table contents cannot be maintained reliably in multiple MMU environments, where asynchronous events
Rework BookE pmap towards multi-core support.
o Eliminate tlb0[] (a s/w copy of TLB0) - The table contents cannot be maintained reliably in multiple MMU environments, where asynchronous events (invalidations from other cores) can change our local TLB0 contents underneath. - Simplify and optimize TLB flushing: system wide invalidations are performed using tlbivax instruction (propagates to other cores), for local MMU invalidations a new optimized routine (assembly) is introduced.
o Improve and simplify TID allocation and management. - Let each core keep track of its TID allocations. - Simplify TID recycling, eliminate dead code. - Drop the now unused powerpc/booke/support.S file.
o Improve page tables management logic.
o Simplify TLB1 manipulation routines.
o Other improvements and polishing.
Obtained from: Freescale, Semihalf
show more ...
|
Revision tags: release/7.1.0_cvs, release/7.1.0, release/6.4.0_cvs, release/6.4.0 |
|
#
52a7870d |
| 23-Sep-2008 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
In preparation for PowerPC G5 support, allow PVO objects to contain page table entries for both the 32-bit and 64-bit AIM MMUs.
|
#
ffb56695 |
| 03-Mar-2008 |
Rafal Jaworowski <raj@FreeBSD.org> |
Rework and extend PowerPC headers definitons towards Book-E/e500 CPUs support.
Approved by: cognet (mentor) Obtained from: Juniper, Semihalf MFp4: e500
|
Revision tags: release/7.0.0_cvs, release/7.0.0, release/6.3.0_cvs, release/6.3.0, release/6.2.0_cvs, release/6.2.0, release/5.5.0_cvs, release/5.5.0, release/6.1.0_cvs, release/6.1.0 |
|
#
58d7d1a8 |
| 11-Nov-2005 |
Peter Grehan <grehan@FreeBSD.org> |
Add definitions for 64-bit PTEs
|
Revision tags: release/6.0.0_cvs, release/6.0.0, release/5.4.0_cvs, release/5.4.0, release/4.11.0_cvs, release/4.11.0, release/5.3.0_cvs, release/5.3.0, release/4.10.0_cvs, release/4.10.0, release/5.2.1_cvs, release/5.2.1, release/5.2.0_cvs, release/5.2.0, release/4.9.0_cvs, release/4.9.0, release/5.1.0_cvs, release/5.1.0, release/4.8.0_cvs, release/4.8.0, release/5.0.0_cvs, release/5.0.0, release/4.7.0_cvs, release/4.6.2_cvs, release/4.6.2, release/4.6.1, release/4.6.0_cvs |
|
#
8207b362 |
| 09-May-2002 |
Benno Rice <benno@FreeBSD.org> |
1. Better track the executable status of mappings. 2. Set a pcpu variable to the real address of the active pmap (used when exiting from traps.
Obtained from: NetBSD (1)
|
#
812344bc |
| 21-Mar-2002 |
Alfred Perlstein <alfred@FreeBSD.org> |
Remove __P.
Reveiwed by: benno
|
#
5244eac9 |
| 14-Feb-2002 |
Benno Rice <benno@FreeBSD.org> |
Complete rework of the PowerPC pmap and a number of other bits in the early boot sequence.
The new pmap.c is based on NetBSD's newer pmap.c (for the mpc6xx processors) which is 70% faster than the o
Complete rework of the PowerPC pmap and a number of other bits in the early boot sequence.
The new pmap.c is based on NetBSD's newer pmap.c (for the mpc6xx processors) which is 70% faster than the older code that the original pmap.c was based on. It has also been based on the framework established by jake's initial sparc64 pmap.c.
There is no change to how far the kernel gets (it makes it to the mountroot prompt in psim) but the new pmap code is a lot cleaner.
Obtained from: NetBSD (pmap code)
show more ...
|
Revision tags: release/4.5.0_cvs, release/4.4.0_cvs |
|
#
f9bac91b |
| 10-Jun-2001 |
Benno Rice <benno@FreeBSD.org> |
Bring in NetBSD code used in the PowerPC port.
Reviewed by: obrien, dfr Obtained from: NetBSD
|
#
83c01b8c |
| 24-Feb-2010 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Close a race involving the OEA64 scratchpage. When the scratch page's physical address is changed, there is a brief window during which its PTE is invalid. Since moea64_set_scratchpage_pa() does not
Close a race involving the OEA64 scratchpage. When the scratch page's physical address is changed, there is a brief window during which its PTE is invalid. Since moea64_set_scratchpage_pa() does not and cannot hold the page table lock, it was possible for another CPU to insert a new PTE into the scratch page's PTEG slot during this interval, corrupting both mappings.
Solve this by creating a new flag, LPTE_LOCKED, such that moea64_pte_insert will avoid claiming locked PTEG slots even if they are invalid. This change also incorporates some additional paranoia added to solve things I thought might be this bug.
Reported by: linimon
show more ...
|
#
e7153b25 |
| 07-May-2009 |
Oleksandr Tymoshenko <gonzo@FreeBSD.org> |
Merge from HEAD
|
Revision tags: release/7.2.0_cvs, release/7.2.0 |
|
#
c2085d04 |
| 24-Apr-2009 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Remove PTE_FAKE and PTE_ISFAKE().
|
#
bad3b688 |
| 18-Jan-2009 |
Oleksandr Tymoshenko <gonzo@FreeBSD.org> |
Sync with head
|
#
b2b734e7 |
| 13-Jan-2009 |
Rafal Jaworowski <raj@FreeBSD.org> |
Rework BookE pmap towards multi-core support.
o Eliminate tlb0[] (a s/w copy of TLB0) - The table contents cannot be maintained reliably in multiple MMU environments, where asynchronous events
Rework BookE pmap towards multi-core support.
o Eliminate tlb0[] (a s/w copy of TLB0) - The table contents cannot be maintained reliably in multiple MMU environments, where asynchronous events (invalidations from other cores) can change our local TLB0 contents underneath. - Simplify and optimize TLB flushing: system wide invalidations are performed using tlbivax instruction (propagates to other cores), for local MMU invalidations a new optimized routine (assembly) is introduced.
o Improve and simplify TID allocation and management. - Let each core keep track of its TID allocations. - Simplify TID recycling, eliminate dead code. - Drop the now unused powerpc/booke/support.S file.
o Improve page tables management logic.
o Simplify TLB1 manipulation routines.
o Other improvements and polishing.
Obtained from: Freescale, Semihalf
show more ...
|
Revision tags: release/7.1.0_cvs, release/7.1.0, release/6.4.0_cvs, release/6.4.0 |
|
#
52a7870d |
| 23-Sep-2008 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
In preparation for PowerPC G5 support, allow PVO objects to contain page table entries for both the 32-bit and 64-bit AIM MMUs.
|
#
ffb56695 |
| 03-Mar-2008 |
Rafal Jaworowski <raj@FreeBSD.org> |
Rework and extend PowerPC headers definitons towards Book-E/e500 CPUs support.
Approved by: cognet (mentor) Obtained from: Juniper, Semihalf MFp4: e500
|