History log of /src/sys/arch/powerpc/powerpc/bus_space.c |
Revision | | Date | Author | Comments |
1.39 |
| 10-Mar-2022 |
riastradh | powerpc: Implement bus_space_barrier as eieio.
|
1.38 |
| 06-Jul-2020 |
rin | Include missing opt_ppcarch.h.
|
1.37 |
| 06-Jul-2020 |
rin | Style and cosmetic changes. No binary changes intended.
|
1.36 |
| 09-Jul-2013 |
matt | Fix typo (pa instead of va).
|
1.35 |
| 11-Apr-2013 |
macallan | branches: 1.35.4; in memio_map() don't fail without trying to mapiodev() if we don't find a BAT mapping or don't have BATs now this works on G5
|
1.34 |
| 18-Jul-2012 |
matt | branches: 1.34.2; Fix some boundary conditions (fence post errors).
|
1.33 |
| 05-Jul-2012 |
kiyohara | Don't call extent_free() in memio_unmap(), if not call extent_alloc() with defined PPC_IBM4XX and extent_flags.
|
1.32 |
| 01-Feb-2012 |
matt | Use kmem instead of malloc. Remove unneeded <sys/malloc.h> includes.
|
1.31 |
| 01-Feb-2012 |
matt | Enable XBSEN and HIGHBAT for OEA 7455 and related CPUs. The BAT entries now have a resolution of 8MB. (Adjacent entries are merged up to a total of 2GB per entry).
|
1.30 |
| 27-Jan-2012 |
para | converting extent(9) from malloc(9) to kmem(9) preceding kmem-vmem-pool-uvm patch
releng@ acknowledged
|
1.29 |
| 17-Dec-2011 |
phx | Allow defining a bus space with pbs_limit=0, which will have the effect to create a space which ends with 0xffffffff. This is needed, because pbs_limit=0xffffffff ends the space with 0xfffffffe.
|
1.28 |
| 30-Jun-2011 |
matt | branches: 1.28.2; 1.28.6; Modify mapiodev to take a third argument indicating whether the space should be prefetchable (true) or not (false).
|
1.27 |
| 20-Jun-2011 |
matt | Tidy up includes.
|
1.26 |
| 05-Mar-2011 |
matt | branches: 1.26.2; Only call unmapiodev if va is non-zero.
|
1.25 |
| 15-Feb-2011 |
macallan | implement pmap_mmap_flags() and teach PowerPC's bus_space_mmap() to actually use BUS_SPACE_MAP_PREFETCHABLE which, now that /dev/pci* knows how to use it, helps improve X performance
|
1.24 |
| 18-Jan-2011 |
matt | branches: 1.24.2; Add support for BookE Freescale MPC85xx (e500 core) processors. Add fast softint support for PowerPC (though only booke uses it). Redo FPU/VEC support and add e500 SPE support. Rework trap/intrs to use a common trapframe format. Support SOFTFLOAT (no hardfloat or fpu emulation) for BookE.
|
1.23 |
| 06-Nov-2010 |
uebayasi | branches: 1.23.2; Machine dependent code is considered as part of UVM. Include internal API header.
|
1.22 |
| 18-Mar-2010 |
kiyohara | Support PowerPC 405EX/EXr. 1. Add some new source and header files. (MAL(split) and RGMII(new) relations for EMAC) 2. Create dcr4xx.h. Its moved from dcr405gp.h. Also remove dcr405xx.h. 3. intr.c supports MULTIUIC with virtual-irq. likes to oea. support 32-virq/128-hwirq. 4. multiple emac support. 5. WALNUT and VIRTEX_* includes arch/powerpc/conf/files.ibm4xx. 6. WALNUT pci uses arch/powerpc/ibm4xx/pci/.
|
1.21 |
| 25-Feb-2010 |
matt | branches: 1.21.2; Adapt to spr.h breakup.
|
1.20 |
| 28-Apr-2008 |
martin | branches: 1.20.20; 1.20.24; Remove clause 3 and 4 from TNF licenses
|
1.19 |
| 04-Mar-2008 |
mrg | branches: 1.19.2; 1.19.4; insert a .WAIT between include and include/foo subdirs, so that include/ is created before include/foo.
fixes -j builds on ofppc for me.
|
1.18 |
| 23-Feb-2008 |
matt | Use BAT_VA2IDX()
|
1.17 |
| 07-Feb-2008 |
garbled | branches: 1.17.2; 1.17.6; Code to disable BAT use on cpu's that either don't have BAT's, or don't gain any benefit from them. This nets a small speedup on the POWER3, and is probably needed for POWER5, which might not emulate BATs like the 3 does. Also, thanks to Matt Thomas, who suggested re-using alitrap rather than writing a new dsinobattrap that would have looked remarkably identical when finished.
|
1.16 |
| 06-Feb-2008 |
garbled | Some minor cleanup in the PPC_OEA601 code, and a fix for bridge-mode cpus, which apparently still need the non-601 code to zap various instructions into nops.
|
1.15 |
| 05-Feb-2008 |
garbled | Ifdef out all the MPC601 code with PPC_OEA601. Now only arches that have the possibility of running on an MPC601, are infected with all the extra code and nops that it added.
Also, fix compilation that I broke with the pmap code, by adding oeacpufeat to the locores of various ppc arches. Noted by mlelstv.
|
1.14 |
| 05-Feb-2008 |
garbled | Rewrite a big chunk of the pmap and locore code for powerpc to better deal with the 64bit bridge mode. pmap changes by Matt Thomas, rest by myself.
Change pmap.c to work similar to exec_elf.c to allow us to compile in multiple pmaps to a single kernel. This allows the pmap for bridge64 to co-exist with the 32bit pmap.
Yank __HAVE_PMAP_PHYSSEG from all the oea code.
Add a new global, "oeacpufeat", which is used early in locore to determine certain cpu features. This allows us to conditionalize code early in the boot for certain CPUs that have special needs.
Yank most of the ifdef PPC_OEA_BRIDGE64 code from almost every file it was found in. Some of it seemed incorrect, and my 7044 booted just fine without it. It would appear that the bridge cpus treat BAT instructions as nops, so they seem to be safe.
In ofppc, check the oeacpufeat, and if we are on a 64bit proc, clear MSR[SF], and ASR[V].
With all of these changes, a kernel with both PPC_OEA and PPC_OEA_BRIDGE64 will boot on the POWERIII-2 cpu. However, it will not yet boot on a 32bit cpu, because of CACHELINESIZE. Work remains to be done there to fix that.
|
1.13 |
| 17-Oct-2007 |
garbled | branches: 1.13.2; Merge the ppcoea-renovation branch to HEAD.
This branch was a major cleanup and rototill of many of the various OEA cpu based PPC ports that focused on sharing as much code as possible between the various ports to eliminate near-identical copies of files in every tree. Additionally there is a new PIC system that unifies the interface to interrupt code for all different OEA ppc arches. The work for this branch was done by a variety of people, too long to list here.
TODO: bebox still needs work to complete the transition to -renovation. ofppc still needs a bunch of work, which I will be looking at. ev64260 still needs to be renovated amigappc was not attempted.
NOTES: pmppc was removed as an arch, and moved to a evbppc target.
|
1.12 |
| 09-Apr-2007 |
garbled | branches: 1.12.4; 1.12.12; 1.12.14; 1.12.16; 1.12.18; Fix the other instance of SR601_PA_MATCH_P in this file (the unmap case) too.
|
1.11 |
| 09-Apr-2007 |
garbled | When testing if something from the iosrtable is valid, don't call SR601_PA_MATCH_P(), because that macro assumes the io region you are mapping lies within the 32-bit address space addressable by the CPU, which might not allways be the case.
|
1.10 |
| 04-Mar-2007 |
christos | branches: 1.10.2; 1.10.4; Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
1.9 |
| 31-Aug-2006 |
freza | branches: 1.9.8; * move the "cheating" conditional into unmapiodev() implementation itself (instead of memio_unmap()), as it differs between OEA and ibm4xx.
OK by matt@
|
1.8 |
| 31-Aug-2006 |
matt | Call unmapiodev when unmapping bus_space to possibly reclaim the VA.
|
1.7 |
| 05-Aug-2006 |
sanjayl | 1st cut of Powermac G5 support (uses bridge mode).
|
1.6 |
| 11-Dec-2005 |
christos | branches: 1.6.4; 1.6.8; merge ktrace-lwp.
|
1.5 |
| 08-Jun-2004 |
kleink | branches: 1.5.12; Add MPC601 support.
|
1.4 |
| 25-Jul-2003 |
scw | Switch ibm4xx over to using the more flexible powerpc bus_space/bus_dma code.
|
1.3 |
| 15-Jul-2003 |
lukem | __KERNEL_RCSID()
|
1.2 |
| 09-Apr-2003 |
matt | branches: 1.2.2; Add some debug printf's.
|
1.1 |
| 15-Mar-2003 |
matt | New generic powerpc bus_space framework.
|
1.2.2.3 |
| 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.2.2.2 |
| 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.2.2.1 |
| 03-Aug-2004 |
skrll | Sync with HEAD
|
1.5.12.6 |
| 17-Mar-2008 |
yamt | sync with head.
|
1.5.12.5 |
| 27-Feb-2008 |
yamt | sync with head.
|
1.5.12.4 |
| 11-Feb-2008 |
yamt | sync with head.
|
1.5.12.3 |
| 27-Oct-2007 |
yamt | sync with head.
|
1.5.12.2 |
| 03-Sep-2007 |
yamt | sync with head.
|
1.5.12.1 |
| 30-Dec-2006 |
yamt | sync with head.
|
1.6.8.2 |
| 03-Sep-2006 |
yamt | sync with head.
|
1.6.8.1 |
| 11-Aug-2006 |
yamt | sync with head
|
1.6.4.1 |
| 09-Sep-2006 |
rpaulo | sync with head
|
1.9.8.2 |
| 15-Apr-2007 |
yamt | sync with head.
|
1.9.8.1 |
| 12-Mar-2007 |
rmind | Sync with HEAD.
|
1.10.4.1 |
| 11-Jul-2007 |
mjf | Sync with head.
|
1.10.2.2 |
| 23-Oct-2007 |
ad | Sync with head.
|
1.10.2.1 |
| 10-Apr-2007 |
ad | Sync with head.
|
1.12.18.1 |
| 25-Oct-2007 |
bouyer | Sync with HEAD.
|
1.12.16.1 |
| 18-Oct-2007 |
yamt | sync with head.
|
1.12.14.2 |
| 23-Mar-2008 |
matt | sync with HEAD
|
1.12.14.1 |
| 06-Nov-2007 |
matt | sync with HEAD
|
1.12.12.1 |
| 26-Oct-2007 |
joerg | Sync with HEAD.
Follow the merge of pmap.c on i386 and amd64 and move pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup code to restore CR4 before jumping back into kernel space as the large page option might cover that.
|
1.12.4.3 |
| 16-Oct-2007 |
garbled | remove a #define DEBUG that got left in this file somehow
|
1.12.4.2 |
| 02-Aug-2007 |
macallan | bus_space_mmap() should honour pbs_offset
|
1.12.4.1 |
| 02-Aug-2007 |
macallan | bus addresses need to get the dtride treatment as well, not only sizes
|
1.13.2.1 |
| 18-Feb-2008 |
mjf | Sync with HEAD.
|
1.17.6.2 |
| 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.17.6.1 |
| 03-Apr-2008 |
mjf | Sync with HEAD.
|
1.17.2.1 |
| 24-Mar-2008 |
keiichi | sync with head.
|
1.19.4.3 |
| 11-Aug-2010 |
yamt | sync with head.
|
1.19.4.2 |
| 11-Mar-2010 |
yamt | sync with head
|
1.19.4.1 |
| 16-May-2008 |
yamt | sync with head.
|
1.19.2.1 |
| 18-May-2008 |
yamt | sync with head.
|
1.20.24.1 |
| 07-Jan-2011 |
matt | Add booke support.
|
1.20.20.5 |
| 09-Nov-2010 |
uebayasi | Sync with HEAD.
|
1.20.20.4 |
| 09-Nov-2010 |
uebayasi | Sync with HEAD.
|
1.20.20.3 |
| 02-Nov-2010 |
uebayasi | Drop the 'paddr_t avail_start' and 'paddr_t avail_end' arguments from uvm_page_physload_device(9).
Those two arguments are used by uvm_page_physload(9) to specify a range of physical memory available for general purpose pages (pages which are linked to freelists). Totally irrelevant to device segments.
|
1.20.20.2 |
| 11-Aug-2010 |
uebayasi | Support bus_space_physload(9) and friends.
|
1.20.20.1 |
| 30-Apr-2010 |
uebayasi | Sync with HEAD.
|
1.21.2.3 |
| 06-Mar-2011 |
rmind | sync with head (and fix few botches with this)
|
1.21.2.2 |
| 05-Mar-2011 |
rmind | sync with head
|
1.21.2.1 |
| 30-May-2010 |
rmind | sync with head
|
1.23.2.1 |
| 06-Jun-2011 |
jruoho | Sync with HEAD.
|
1.24.2.1 |
| 17-Feb-2011 |
bouyer | Sync with HEAD
|
1.26.2.1 |
| 23-Jun-2011 |
cherry | Catchup with rmind-uvmplock merge.
|
1.28.6.1 |
| 18-Feb-2012 |
mrg | merge to -current.
|
1.28.2.3 |
| 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.28.2.2 |
| 30-Oct-2012 |
yamt | sync with head
|
1.28.2.1 |
| 17-Apr-2012 |
yamt | sync with head
|
1.34.2.2 |
| 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.34.2.1 |
| 23-Jun-2013 |
tls | resync from head
|
1.35.4.1 |
| 28-Aug-2013 |
rmind | sync with head
|