#
cc0d48ff |
| 11-Nov-2006 |
Alan Cox <alc@FreeBSD.org> |
Eliminate unused global variables.
|
#
676b1fbd |
| 07-Nov-2006 |
Olivier Houchard <cognet@FreeBSD.org> |
Identify the xscale 81342.
|
#
49953e11 |
| 08-Aug-2006 |
Olivier Houchard <cognet@FreeBSD.org> |
Rewrite ARM_USE_SMALL_ALLOC so that instead of the current behavior, it maps whole the physical memory, cached, using 1MB section mappings. This reduces the address space available for user processes
Rewrite ARM_USE_SMALL_ALLOC so that instead of the current behavior, it maps whole the physical memory, cached, using 1MB section mappings. This reduces the address space available for user processes a bit, but given the amount of memory a typical arm machine has, it is not (yet) a big issue. It then provides a uma_small_alloc() that works as it does for architectures which have a direct mapping.
show more ...
|
#
ed48a217 |
| 06-Jun-2006 |
Alan Cox <alc@FreeBSD.org> |
Add partial pmap locking.
Eliminate the unused allpmaps list.
Tested by: cognet@
|
#
87adbb81 |
| 31-May-2006 |
Olivier Houchard <cognet@FreeBSD.org> |
Include machine/cpuconf.h in pmap.h in order to get ARM_NMMUS defined, to appease -Wundef.
|
Revision tags: release/5.5.0_cvs, release/5.5.0 |
|
#
d5d776c1 |
| 14-May-2006 |
Olivier Houchard <cognet@FreeBSD.org> |
Resurrect Skyeye support : Add a new option, SKYEYE_WORKAROUNDS, which as the name suggests adds workarounds for things skyeye doesn't simulate. Specifically : - Use USART0 instead of DBGU as the con
Resurrect Skyeye support : Add a new option, SKYEYE_WORKAROUNDS, which as the name suggests adds workarounds for things skyeye doesn't simulate. Specifically : - Use USART0 instead of DBGU as the console, make it not use DMA, and manually provoke an interrupt when we're done in the transmit function. - Skyeye maintains an internal counter for clock, but apparently there's no way to access it, so hack the timecounter code to return a value which is increased at every clock interrupts. This is gross, but I didn't find a better way to implement timecounters without hacking Skyeye to get the counter value. - Force the write-back of PTEs once we're done writing them, even if they are supposed to be write-through. I don't know why I have to do that.
show more ...
|
Revision tags: release/6.1.0_cvs, release/6.1.0 |
|
#
174329af |
| 09-Apr-2006 |
Olivier Houchard <cognet@FreeBSD.org> |
MFp4: Don't write-back the PTEs if they are mapped write-through, this was apparently only needed because skyeye has bugs in its cache emulation.
|
#
2456c0ea |
| 02-Mar-2006 |
Olivier Houchard <cognet@FreeBSD.org> |
Try to honor BUS_DMA_COHERENT : if the flag is set, normally allocate memory with malloc() or contigmalloc() as usual, but try to re-map the allocated memory into a VA outside the KVA, non-cached, th
Try to honor BUS_DMA_COHERENT : if the flag is set, normally allocate memory with malloc() or contigmalloc() as usual, but try to re-map the allocated memory into a VA outside the KVA, non-cached, thus making the calls to bus_dmamap_sync() for these buffers useless.
show more ...
|
#
94d8cf99 |
| 21-Nov-2005 |
Olivier Houchard <cognet@FreeBSD.org> |
Force pmap to write-back the pte cacheline after each pte modification, even if the pte is supposed to be cached in write through mode (might be a skyeye bug, I'll have to check).
|
#
81277989 |
| 06-Nov-2005 |
Olivier Houchard <cognet@FreeBSD.org> |
MFi386 rev 1.536 (sort of) Move what can be moved (UMA zones creation, pv_entry_* initialization) from pmap_init2() to pmap_init(). Create a new function, pmap_postinit(), called from cpu_startup(),
MFi386 rev 1.536 (sort of) Move what can be moved (UMA zones creation, pv_entry_* initialization) from pmap_init2() to pmap_init(). Create a new function, pmap_postinit(), called from cpu_startup(), to do the L1 tables allocation. pmap_init2() is now empty for arm as well.
show more ...
|
Revision tags: release/6.0.0_cvs, release/6.0.0 |
|
#
db7db23d |
| 04-Oct-2005 |
Olivier Houchard <cognet@FreeBSD.org> |
dump_avail has nothing to do with ARM_USE_SMALL_ALLOC, so move its declaration out of the #ifdef.
|
#
b834efd5 |
| 03-Oct-2005 |
Olivier Houchard <cognet@FreeBSD.org> |
Provide a dump_avail[] variable, which contains the page ranges to be dumped.
For iq31244_machdep.c, attempt to recognize hints provided by the elf trampoline.
|
#
56e472e2 |
| 08-Jun-2005 |
Olivier Houchard <cognet@FreeBSD.org> |
Add a new arm-specific option, ARM_USE_SMALL_ALLOC. If defined, it provides an implementation of uma_small_alloc() which tries to preallocate memory 1MB per 1MB, and maps it into a section mapping.
|
Revision tags: release/5.4.0_cvs, release/5.4.0 |
|
#
139e3f7c |
| 08-Apr-2005 |
Olivier Houchard <cognet@FreeBSD.org> |
- Try harder to report dirty page. - Garbage-collect pmap_update(), it became quite useless.
|
#
f4c01f15 |
| 26-Feb-2005 |
Olivier Houchard <cognet@FreeBSD.org> |
Instead of using sysarch() to store-retrieve the tp, add a magic address, ARM_TP_ADDRESS, where the tp will be stored. On CPUs that support it, a cache line will be allocated and locked for this addr
Instead of using sysarch() to store-retrieve the tp, add a magic address, ARM_TP_ADDRESS, where the tp will be stored. On CPUs that support it, a cache line will be allocated and locked for this address, so that it will never go to RAM. On CPUs that does not, a page is allocated for it (it will be a bit slower, and is wrong for SMP, but should be fine for UP). The tp is still stored in the mdthread struct, and at each context switch, ARM_TP_ADDRESS gets updated.
Suggested by: davidxu
show more ...
|
Revision tags: release/4.11.0_cvs, release/4.11.0 |
|
#
d8315c79 |
| 05-Jan-2005 |
Warner Losh <imp@FreeBSD.org> |
Start all license statements with /*-
|
#
b62e66eb |
| 05-Dec-2004 |
Olivier Houchard <cognet@FreeBSD.org> |
Remove an unused field from the struct pv_entry. While I'm there, fix style.
|
#
e099742e |
| 08-Nov-2004 |
Olivier Houchard <cognet@FreeBSD.org> |
Import md bits for mem(4) on arm. While I'm there, cleanup a bit pmap.h.
|
Revision tags: release/5.3.0_cvs, release/5.3.0 |
|
#
8e90166a |
| 23-Sep-2004 |
Olivier Houchard <cognet@FreeBSD.org> |
Implement pmap_growkernel() and pmap_extract_and_hold(). Remove the cache state logic : right now, it provides more problems than it helps. Add helper functions for mapping devices while bootstrappin
Implement pmap_growkernel() and pmap_extract_and_hold(). Remove the cache state logic : right now, it provides more problems than it helps. Add helper functions for mapping devices while bootstrapping. Reorganize the code a bit, and remove dead code.
Obtained from: NetBSD (partially)
show more ...
|
#
6933f3a5 |
| 22-Jul-2004 |
Olivier Houchard <cognet@FreeBSD.org> |
Define pmap_page_is_mapped().
|
#
dd7c1e99 |
| 12-Jul-2004 |
Olivier Houchard <cognet@FreeBSD.org> |
Forward declare "struct pcb", so that one does not need to include <machine/pcb.h> before including <machine/pmap.h>.
|
Revision tags: release/4.10.0_cvs, release/4.10.0 |
|
#
6fc729af |
| 14-May-2004 |
Olivier Houchard <cognet@FreeBSD.org> |
Import FreeBSD/arm kernel bits. It only supports sa1110 (on simics) right now, but xscale support should come soon. Some of the initial work has been provided by : Stephane Potvin <sepotvin at videot
Import FreeBSD/arm kernel bits. It only supports sa1110 (on simics) right now, but xscale support should come soon. Some of the initial work has been provided by : Stephane Potvin <sepotvin at videotron.ca> Most of this comes from NetBSD.
show more ...
|
#
11e9b8ba |
| 04-Aug-2009 |
Oleksandr Tymoshenko <gonzo@FreeBSD.org> |
- MFC @196061
|
#
3153e878 |
| 13-Jul-2009 |
Alan Cox <alc@FreeBSD.org> |
Add support to the virtual memory system for configuring machine- dependent memory attributes:
Rename vm_cache_mode_t to vm_memattr_t. The new name reflects the fact that there are machine-dependen
Add support to the virtual memory system for configuring machine- dependent memory attributes:
Rename vm_cache_mode_t to vm_memattr_t. The new name reflects the fact that there are machine-dependent memory attributes that have nothing to do with controlling the cache's behavior.
Introduce vm_object_set_memattr() for setting the default memory attributes that will be given to an object's pages.
Introduce and use pmap_page_{get,set}_memattr() for getting and setting a page's machine-dependent memory attributes. Add full support for these functions on amd64 and i386 and stubs for them on the other architectures. The function pmap_page_set_memattr() is also responsible for any other machine-dependent aspects of changing a page's memory attributes, such as flushing the cache or updating the direct map. The uses include kmem_alloc_contig(), vm_page_alloc(), and the device pager:
kmem_alloc_contig() can now be used to allocate kernel memory with non-default memory attributes on amd64 and i386.
vm_page_alloc() and the device pager will set the memory attributes for the real or fictitious page according to the object's default memory attributes.
Update the various pmap functions on amd64 and i386 that map pages to incorporate each page's memory attributes in the mapping.
Notes: (1) Inherent to this design are safety features that prevent the specification of inconsistent memory attributes by different mappings on amd64 and i386. In addition, the device pager provides a warning when a device driver creates a fictitious page with memory attributes that are inconsistent with the real page that the fictitious page is an alias for. (2) Storing the machine-dependent memory attributes for amd64 and i386 as a dedicated "int" in "struct md_page" represents a compromise between space efficiency and the ease of MFCing these changes to RELENG_7.
In collaboration with: jhb
Approved by: re (kib)
show more ...
|
#
09c817ba |
| 03-Jul-2009 |
Oleksandr Tymoshenko <gonzo@FreeBSD.org> |
- MFC
|