Home | History | Annotate | Download | only in oea
History log of /src/sys/arch/powerpc/oea/oea_machdep.c
RevisionDateAuthorComments
 1.85  20-Jan-2024  jmcneill powerpc: oea: Fix prefetchable mappings

Prefetchable mappings need PMAP_NOCACHE to get write-combine semantics.
 1.84  07-Aug-2022  andvar branches: 1.84.4;
fix typos in comments.
 1.83  05-Dec-2021  msaitoh s/specificed/specified/ in comment.
 1.82  27-Feb-2021  thorpej Rather than putting it on the caller, just let oea_iobat_add() decide
whether to call mpc601_ioseg_add().
 1.81  06-Jul-2020  rin branches: 1.81.2;
Drop unused opt_compat_netbsd.h include.
 1.80  06-Jul-2020  rin Style and cosmetic changes. No binary changes intended.
 1.79  11-Jun-2020  ad uvm_availmem(): give it a boolean argument to specify whether a recent
cached value will do, or if the very latest total must be fetched. It can
be called thousands of times a second and fetching the totals impacts not
only the calling LWP but other CPUs doing unrelated activity in the VM
system.
 1.78  31-Dec-2019  ad Rename uvm_free() -> uvm_availmem().
 1.77  21-Dec-2019  ad uvmexp.free -> uvm_free()
 1.76  06-Feb-2019  mrg - add or adjust fallthru comments
 1.75  15-Jul-2018  maxv Retire ipkdb entirely. The option was removed from the config files
yesterday.

ok kamil christos
 1.74  11-Feb-2018  mrg branches: 1.74.2; 1.74.4;
introduce a inline function to set a value to zero while
hiding this fact from GCC. this allows the PPC code that
writes to address zero to actually work rather than cause
GCC to emit an explicit "trap" instruction, which in early
boot means hang on my pegasosII. use this in oae_init()
for both rfid->rfi and also setting the jump-to-zero trap.

found with a lot of debugging, but GCC 6's new warning
-Wnull-dereference found it when i was informed of its
existence. unfortunately, there are dozens of other
violations in our kernel today so simply enabling that
option for everything is not a good idea, but is a goal.
 1.73  30-May-2016  chs allocate cpuset structures needed by MP DDB.
 1.72  06-Jul-2015  matt Don't preserve PSL_FP/PSL_VEC in cpu_setmcontext.
 1.71  24-Mar-2014  christos branches: 1.71.4; 1.71.6;
use cpu_{g,s}etmodel
 1.70  03-Mar-2014  macallan support ppc601
from scole_mail, ok matt@
 1.69  28-Feb-2014  matt Use more appropriate type.
 1.68  03-Nov-2013  mrg - remove set but unused variables
- move some variables inside their relevant use #ifdef
 1.67  31-Aug-2013  matt convert rfid to rfi in exception handlers.
 1.66  31-Aug-2013  matt Move the pmap_setup to the start oea_init (no non-OFW ports can use it).
If PPC_OEA64_BRIDGE is defined, add code so that when OEACPU_64_BRIDGE is not
present, it replaces the rfid with rfi and mfmsr/rldicl/mtmsrd sequence
with NOPs. This allows plain OEA kernels to work. (tested on PMPPC with
PPC_OEA64_BRIDGE option added).
 1.65  04-Jul-2013  joerg When trying to write into page 0, use volatile to force the compiler to
actually create this access.
 1.64  16-Feb-2012  matt branches: 1.64.2; 1.64.4;
Allow use of large (>256MB) bats for iobats. If XBSEN isn't present, they
will be "downsized" into multiple 256MB bats. Tested by riz.
 1.63  15-Feb-2012  macallan branches: 1.63.2;
fix crash during early startup - we can't call OpenFirmware between zapping
the BATs and complete setting them up again
ok releng
 1.62  01-Feb-2012  matt Use kmem instead of malloc. Remove unneeded <sys/malloc.h> includes.
 1.61  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.60  17-Jul-2011  joerg branches: 1.60.2; 1.60.6;
Retire varargs.h support. Move machine/stdarg.h logic into MI
sys/stdarg.h and expect compiler to provide proper builtins, defaulting
to the GCC interface. lint still has a special fallback.
Reduce abuse of _BSD_VA_LIST_ by defining __va_list by default and
derive va_list as required by standards.
 1.59  30-Jun-2011  matt Modify mapiodev to take a third argument indicating whether the space
should be prefetchable (true) or not (false).
 1.58  20-Jun-2011  matt Cleanup includes. (<net/netisr.h> is handled by softints, not MD anymore,
so this can be nuked).
 1.57  18-Jun-2011  matt Call cpu_fixup_stubs at the end of oea_machdep
 1.56  18-Jan-2011  matt branches: 1.56.4;
Fix some fallout from building the macppc GENERIC.MP.
 1.55  18-Jan-2011  matt 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.54  14-Jan-2011  rmind branches: 1.54.2;
Retire struct user, remove sys/user.h inclusions. Note sys/user.h header
as obsolete. Remove USER_TO_UAREA/UAREA_TO_USER macros.

Various #include fixes and review by matt@.
 1.53  25-Feb-2010  matt branches: 1.53.2;
Adapt to spr.h breakup.
 1.52  08-Feb-2010  joerg Remove separate mb_map. The nmbclusters is computed at boot time based
on the amount of physical memory and limited by NMBCLUSTERS if present.
Architectures without direct mapping also limit it based on the kmem_map
size, which is used as backing store. On i386 and ARM, the maximum KVA
used for mbuf clusters is limited to 64MB by default.

The old default limits and limits based on GATEWAY have been removed.
key_registered_sb_max is hard-wired to a value derived from 2048
clusters.
 1.51  27-Nov-2009  rmind branches: 1.51.2;
- Use uvm_lwp_setuarea() instead of directly setting address to lwp_t::l_addr.
- Replace most remaining uses of l_addr with uvm_lwp_getuarea() or lwp_getpcb().
- Amend assembly in ports where it accesses PCB via struct user.
- Rename L_ADDR to L_PCB in few places. Reduce sys/user.h inclusions.
 1.50  26-Nov-2009  matt Kill proc0paddr. Use lwp0.l_addr instead.
 1.49  21-Nov-2009  rmind Use lwp_getpcb() on mips, powerpc and sh3, clean from struct user usage.
 1.48  07-Nov-2009  cegger Add a flags argument to pmap_kenter_pa(9).
Patch showed on tech-kern@ http://mail-index.netbsd.org/tech-kern/2009/11/04/msg006434.html
No objections.
 1.47  07-Jun-2009  phx MSGBUFADDR creates a msgbuf at a fixed address, usually defined by the port's
config file.
The use of MSGBUGADDR was already prepared in powerpc/oea/pmap.c years ago,
but was never used and missing powerpc/oea/oea_machdep.c. The option will
be used by port amigappc.
 1.46  02-Jul-2008  ad branches: 1.46.18;
Replce exec_map with a pool. Proposed on tech-kern@, reviewed by chs@.
 1.45  24-May-2008  phx branches: 1.45.2;
Make oea_init() support systems with high-vector configurations (i.e exception
vectors at 0xfff00000), and trap_subr.S allows the kernel to be in a memory
region which is not reachable by absolute branch instructions (ba and bla).

High-vector support can be enabled by option PPC_HIGH_VEC, and long-branches
to the kernel are enabled by the option DISTANT_KERNEL.
 1.44  14-Feb-2008  garbled branches: 1.44.6; 1.44.8; 1.44.10; 1.44.12;
Some powerpc cleanup. Remove unneeded/bad usage of extern oeacpufeat.
Convert asm code to use %r register format. Done by comparison to
disassembled output, double checked with diff of dissasembled output
before and after, and test booted on my 7044.
 1.43  07-Feb-2008  garbled 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.42  07-Feb-2008  matt Cleanup a few 601 ifdefs.
 1.41  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.40  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.39  28-Jan-2008  garbled Apparently BRIDGE mode allows BAT registers, so re-enable that code.
Change the pegasos PCI_NETBSD_CONFIGURE arguments around to wire up mem
space into the correct area, and move the io regs a little to make it
work properly. Just avoid the secondary PCI entirely.
Change the list of things that we fiddle with in pci_conf_hook. Map mem
on the fwohci, avoid display cards, avoid IO on the auvia.
Change some printf's to aprint_*
Yank a call to genppc_pci_indirect_make_tag and change it to the
bus-independant pci call instead. (in pci_conf_hook)
 1.38  09-Jan-2008  garbled Make this compile when compiling in bridge mode w/o ALTIVEC
 1.37  03-Dec-2007  ad branches: 1.37.6;
Interrupt handling changes, in discussion since February:

- Reduce available SPL levels for hardware devices to none, vm, sched, high.
- Acquire kernel_lock only for interrupts at IPL_VM.
- Implement threaded soft interrupts.
 1.36  17-Oct-2007  garbled branches: 1.36.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.35  14-Jul-2007  ad branches: 1.35.8; 1.35.10; 1.35.12; 1.35.14;
Generic soft interrupts are mandatory.
 1.34  17-May-2007  yamt merge yamt-idlelwp branch. asked by core@. some ports still needs work.

from doc/BRANCHES:

idle lwp, and some changes depending on it.

1. separate context switching and thread scheduling.
(cf. gmcgarry_ctxsw)
2. implement idle lwp.
3. clean up related MD/MI interfaces.
4. make scheduler(s) modular.
 1.33  04-Mar-2007  macallan branches: 1.33.2; 1.33.4; 1.33.10;
make this compile again
 1.32  04-Mar-2007  christos Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.31  22-Feb-2007  thorpej TRUE -> true, FALSE -> false
 1.30  09-Feb-2007  ad branches: 1.30.2;
Merge newlock2 to head.
 1.29  18-Sep-2006  sanjayl Remove debug printf
 1.28  31-Aug-2006  freza branches: 1.28.2; 1.28.4;
* move the "cheating" conditional into unmapiodev() implementation
itself (instead of memio_unmap()), as it differs between OEA and
ibm4xx.

OK by matt@
 1.27  31-Aug-2006  matt Add unmapiodev(vaddr_t, vsize_t) (to be used by bus_space_unmap)
 1.26  05-Aug-2006  sanjayl 1st cut of Powermac G5 support (uses bridge mode).
 1.25  04-Jun-2006  mrg undef memset before calling it with a destination address of 0.
GCC4.1 complains about this when using the builtin, so force
this to call the real function normally.
 1.24  24-Dec-2005  perry branches: 1.24.4; 1.24.6; 1.24.8; 1.24.14;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.23  11-Dec-2005  christos merge ktrace-lwp.
 1.22  02-Jun-2005  he branches: 1.22.2;
Fix variable shadowing warnings by renaming the innermost variables.
 1.21  25-Apr-2005  lukem Move the MI printing of `copyright' to the MD cpu_startup() code
where the printing of `version' is already performed.
This has the benefit of allowing the copyright to be available
via dmesg(8) on platforms which need the `msgbuf' to be setup
in cpu_startup() before printed output is remembered.
 1.20  01-Apr-2005  yamt merge yamt-km branch.
- don't use managed mappings/backing objects for wired memory allocations.
save some resources like pv_entry. also fix (most of) PR/27030.
- simplify kernel memory management API.
- simplify pmap bootstrap of some ports.
- some related cleanups.
 1.19  26-Jun-2004  kleink branches: 1.19.4; 1.19.6;
On OEA, turn PSL_USER* into runtime values appropriate for the CPU model
we're executing on; besides dealing with the bits not implemented in the
601's MSR it also removes the silent failure behaviour when passing
PSL_VEC set on a CPU not implementing it.

Also, fix those masks for the 4xx again.
 1.18  23-Jun-2004  kleink On MPC601s, rewrite any (unimplemented) tlbsync instruction as a sync.
 1.17  09-Jun-2004  kleink Get rid of the silly CPU601 hooks and move BAT register restoration and
obliteration to RESTORE_{KERN,USER}_SRS, respectively; have oea_init()
patch these sequences to be skipped on non-MPC601s. The code sequence
matching heuristic isn't as pretty as the one for VRSAVE and MQ but works
well enough with the current structure of the trap code, and can be easily
updated when necessary.
 1.16  01-Apr-2004  matt Remove softintr__init call.
 1.15  24-Mar-2004  matt branches: 1.15.2;
Add latent generic soft interrupt initialization.
 1.14  31-Jan-2004  uebayasi Typo typo.
 1.13  30-Dec-2003  pk Replace the traditional buffer memory management -- based on fixed per buffer
virtual memory reservation and a private pool of memory pages -- by a scheme
based on memory pools.

This allows better utilization of memory because buffers can now be allocated
with a granularity finer than the system's native page size (useful for
filesystems with e.g. 1k or 2k fragment sizes). It also avoids fragmentation
of virtual to physical memory mappings (due to the former fixed virtual
address reservation) resulting in better utilization of MMU resources on some
platforms. Finally, the scheme is more flexible by allowing run-time decisions
on the amount of memory to be used for buffers.

On the other hand, the effectiveness of the LRU queue for buffer recycling
may be somewhat reduced compared to the traditional method since, due to the
nature of the pool based memory allocation, the actual least recently used
buffer may release its memory to a pool different from the one needed by a
newly allocated buffer. However, this effect will kick in only if the
system is under memory pressure.
 1.12  21-Nov-2003  matt Restore ci_curpm since it re-enables 603 to working state.
 1.11  12-Aug-2003  matt Nuke ci_curpm and curpm. Nuke pcb_pmreal. Those were use for spill stacks
and those no longer exist. for few uses that need CURPM, use CURPCB/PCB_PM
 1.10  08-Aug-2003  matt Nuke ci_spillstk/CI_SPILLSTK. No longer needed.
 1.9  15-Jul-2003  lukem __KERNEL_RCSID()
 1.8  02-Apr-2003  thorpej branches: 1.8.2;
Use PAGE_SIZE rather than NBPG.
 1.7  29-Mar-2003  matt Allow oea_batinit to be called with either the MMU on or off.
(don't reset the BATs if the MMU is off).
 1.6  15-Mar-2003  matt Add LINTSTUBs and make oea_init() agree with them.
 1.5  05-Mar-2003  matt Make AltiVec registers available via ptrace/procfs. Simplify AltiVec
processing. Add a "common" procfs_machdep.c for PowerPC platforms.
Even though it is supposed to be port specific, most (if not all)
PowerPC ports can just use the common one.
 1.4  08-Feb-2003  matt Don't try to reserve DEAD zone unless the kernel address space encompasses it.
 1.3  06-Feb-2003  matt Add oea_iobat_remove(paddr_t).
 1.2  05-Feb-2003  matt Make things a bit more LP64 friendly.
 1.1  03-Feb-2003  matt Rename PPC_MPC6XX to PPC_OEA (and any mpc6xx reference to oea).
 1.8.2.5  10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.8.2.4  01-Apr-2005  skrll Sync with HEAD.
 1.8.2.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.8.2.2  18-Sep-2004  skrll Sync with HEAD.
 1.8.2.1  03-Aug-2004  skrll Sync with HEAD
 1.15.2.1  01-Apr-2004  jmc Pullup rev 1.16 (requested by matt in ticket #44)

Move to softintr__init to cpu_startup and remove softintr__init call for oea.
 1.19.6.1  28-Jan-2005  yamt convert arch/powerpc to new apis.
 1.19.4.1  29-Apr-2005  kent sync with -current
 1.22.2.10  27-Feb-2008  yamt sync with head.
 1.22.2.9  11-Feb-2008  yamt sync with head.
 1.22.2.8  04-Feb-2008  yamt sync with head.
 1.22.2.7  21-Jan-2008  yamt sync with head
 1.22.2.6  07-Dec-2007  yamt sync with head
 1.22.2.5  27-Oct-2007  yamt sync with head.
 1.22.2.4  03-Sep-2007  yamt sync with head.
 1.22.2.3  26-Feb-2007  yamt sync with head.
 1.22.2.2  30-Dec-2006  yamt sync with head.
 1.22.2.1  21-Jun-2006  yamt sync with head.
 1.24.14.1  19-Jun-2006  chap Sync with head.
 1.24.8.3  03-Sep-2006  yamt sync with head.
 1.24.8.2  11-Aug-2006  yamt sync with head
 1.24.8.1  26-Jun-2006  yamt sync with head.
 1.24.6.1  07-Jun-2006  kardel Sync with head.
 1.24.4.1  09-Sep-2006  rpaulo sync with head
 1.28.4.1  22-Oct-2006  yamt sync with head
 1.28.2.2  30-Jan-2007  ad Remove support for SA. Ok core@.
 1.28.2.1  18-Nov-2006  ad Sync with head.
 1.30.2.3  03-Apr-2007  matt Install a "call to 0" panic routine rather than falling through to trap.
 1.30.2.2  12-Mar-2007  rmind Sync with HEAD.
 1.30.2.1  27-Feb-2007  yamt - sync with head.
- move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
 1.33.10.5  17-Oct-2007  garbled Back out most of the PIC rennovation on ev64260, it was not completed,
and can be completed post-merge. With these changes, ev64260 compiles
again on the branch. Untested.
 1.33.10.4  03-Oct-2007  garbled Sync with HEAD
 1.33.10.3  02-Aug-2007  macallan sync with HEAD
 1.33.10.2  22-May-2007  matt Update to HEAD.
 1.33.10.1  10-May-2007  garbled HAVE_GENERIC_SOFTINTRS is no longer optional. Delete ifndef'd code from
oea_machdep.c, and move softintr__init() to oea_startup(). Remove
softintr__init from every port's cpu_startup().
 1.33.4.1  11-Jul-2007  mjf Sync with head.
 1.33.2.4  03-Dec-2007  ad Sync with HEAD.
 1.33.2.3  23-Oct-2007  ad Sync with head.
 1.33.2.2  15-Jul-2007  ad Sync with head.
 1.33.2.1  27-May-2007  ad Sync with head.
 1.35.14.1  25-Oct-2007  bouyer Sync with HEAD.
 1.35.12.1  18-Oct-2007  yamt sync with head.
 1.35.10.3  23-Mar-2008  matt sync with HEAD
 1.35.10.2  09-Jan-2008  matt sync with HEAD
 1.35.10.1  06-Nov-2007  matt sync with HEAD
 1.35.8.2  09-Dec-2007  jmcneill Sync with HEAD.
 1.35.8.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.36.2.2  18-Feb-2008  mjf Sync with HEAD.
 1.36.2.1  08-Dec-2007  mjf Sync with HEAD.
 1.37.6.1  10-Jan-2008  bouyer Sync with HEAD
 1.44.12.4  18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.44.12.3  23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.44.12.2  14-May-2008  wrstuden Per discussion with ad, remove most of the #include <sys/sa.h> lines
as they were including sa.h just for the type(s) needed for syscallargs.h.

Instead, create a new file, sys/satypes.h, which contains just the
types needed for syscallargs.h. Yes, there's only one now, but that
may change and it's probably more likely to change if it'd be difficult
to handle. :-)

Per discussion with matt at n dot o, add an include of satypes.h to
sigtypes.h. Upcall handlers are kinda signal handlers, and signalling
is the header file that's already included for syscallargs.h that
closest matches SA.

This shaves about 3000 lines off of the diff of the branch relative
to the base. That also represents about 18% of the total before this
checkin.

I think this reduction is very good thing.
 1.44.12.1  10-May-2008  wrstuden Initial checkin of re-adding SA. Everything except kern_sa.c
compiles in GENERIC for i386. This is still a work-in-progress, but
this checkin covers most of the mechanical work (changing signalling
to be able to accomidate SA's process-wide signalling and re-adding
includes of sys/sa.h and savar.h). Subsequent changes will be much
more interesting.

Also, kern_sa.c has received partial cleanup. There's still more
to do, though.
 1.44.10.3  11-Mar-2010  yamt sync with head
 1.44.10.2  20-Jun-2009  yamt sync with head
 1.44.10.1  04-May-2009  yamt sync with head.
 1.44.8.1  04-Jun-2008  yamt sync with head
 1.44.6.2  02-Jul-2008  mjf Sync with HEAD.
 1.44.6.1  02-Jun-2008  mjf Sync with HEAD.
 1.45.2.1  03-Jul-2008  simonb Sync with head.
 1.46.18.4  28-Jan-2011  matt If a CPU has HIGHBAT, then use them. We dynamically change dsitrap to
select between bats 4-7 when HIGHBAT is detected.
 1.46.18.3  26-Jan-2011  matt Change battable to have a granularity of 8MB.
 1.46.18.2  17-Jan-2011  matt Add SPE (signal processing engine) support for mpc85xx/booke. Think of it
as AltiVec-lite (really lite). Genercize AltiVec support so that it could
the same interface could support SPE as well. Rework the FPU support along
the same lines. Move the __asm() to their own XXX_subr.S (altivec, fpu, spe).
 1.46.18.1  07-Jan-2011  matt Deal with new powerpc world.
 1.51.2.1  30-Apr-2010  uebayasi Sync with HEAD.
 1.53.2.1  05-Mar-2011  rmind sync with head
 1.54.2.1  06-Jun-2011  jruoho Sync with HEAD.
 1.56.4.1  23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.60.6.1  18-Feb-2012  mrg merge to -current.
 1.60.2.2  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.60.2.1  17-Apr-2012  yamt sync with head
 1.63.2.4  18-May-2016  martin Pull up following revision(s) (requested by matt in ticket #1310):
sys/arch/powerpc/include/userret.h: revision 1.29-1.30
sys/arch/powerpc/include/psl.h: revision 1.20
sys/arch/powerpc/oea/oea_machdep.c: revision 1.72
(via patch)

Add a check to make sure that if PSL_FP is set, we own the FPU.
Don't clear PSL_FP/PSL_VEC
Remove PSL_SPV from BOOKE PSL_USERMOD
Don't preserve PSL_FP/PSL_VEC in cpu_setmcontext.
 1.63.2.3  19-Nov-2015  bouyer Revert ticket 1310 (second try):
> sys/arch/powerpc/include/psl.h 1.20
> sys/arch/powerpc/include/userret.h 1.29, 1.30
> sys/arch/powerpc/oea/altivec.c 1.30
> sys/arch/powerpc/oea/oea_machdep.c 1.72
> sys/arch/powerpc/powerpc/fpu.c 1.36
>
> powerpc PCU fixes

because it breaks the build:
http://releng.netbsd.org/builds/netbsd-6/201511152000Z/
 1.63.2.2  16-Nov-2015  bouyer Revert ticket 1310:
> sys/arch/powerpc/include/psl.h 1.20
> sys/arch/powerpc/include/userret.h 1.29, 1.30
> sys/arch/powerpc/oea/altivec.c 1.30
> sys/arch/powerpc/oea/oea_machdep.c 1.72
> sys/arch/powerpc/powerpc/fpu.c 1.36
>
> powerpc PCU fixes

because it breaks the build:
http://releng.netbsd.org/builds/netbsd-6/201511152000Z/
 1.63.2.1  15-Nov-2015  bouyer Pull up following revision(s) (requested by matt in ticket #1310):
sys/arch/powerpc/include/userret.h: revision 1.30
sys/arch/powerpc/powerpc/fpu.c: revision 1.36
sys/arch/powerpc/include/psl.h: revision 1.20
sys/arch/powerpc/include/userret.h: revision 1.29
sys/arch/powerpc/oea/oea_machdep.c: revision 1.72
sys/arch/powerpc/oea/altivec.c: revision 1.30
Add a check to make sure that if PSL_FP is set, we own the FPU.
Don't clear PSL_FP/PSL_VEC
Don't reload if just re-enabling
Don't reload the FPU register if this is just a re-enable.
Remove PSL_SPV from BOOKE PSL_USERMOD
Don't preserve PSL_FP/PSL_VEC in cpu_setmcontext.
 1.64.4.2  18-May-2014  rmind sync with head
 1.64.4.1  28-Aug-2013  rmind sync with head
 1.64.2.2  03-Dec-2017  jdolecek update from HEAD
 1.64.2.1  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.71.6.2  09-Jul-2016  skrll Sync with HEAD
 1.71.6.1  22-Sep-2015  skrll Sync with HEAD
 1.71.4.1  17-Jul-2015  snj Pull up following revision(s) (requested by matt in ticket #868):
sys/arch/powerpc/include/psl.h: revision 1.20
sys/arch/powerpc/include/userret.h: revisions 1.29, 1.30
sys/arch/powerpc/oea/altivec.c: revision 1.30
sys/arch/powerpc/oea/oea_machdep.c: revision 1.72
sys/arch/powerpc/powerpc/fpu.c: revision 1.36
Add a check to make sure that if PSL_FP is set, we own the FPU.
--
Don't clear PSL_FP/PSL_VEC
--
Don't reload if just re-enabling
--
Don't reload the FPU register if this is just a re-enable.
--
Remove PSL_SPV from BOOKE PSL_USERMOD
--
Don't preserve PSL_FP/PSL_VEC in cpu_setmcontext.
 1.74.4.2  08-Apr-2020  martin Merge changes from current as of 20200406
 1.74.4.1  10-Jun-2019  christos Sync with HEAD
 1.74.2.1  28-Jul-2018  pgoyette Sync with HEAD
 1.81.2.1  03-Apr-2021  thorpej Sync with HEAD.
 1.84.4.1  03-Feb-2024  martin Pull up following revision(s) (requested by jmcneill in ticket #561):

etc/etc.evbppc/Makefile.inc: revision 1.15
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.2
sys/arch/evbppc/wii/dev/bwdsp.c: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.3
sys/arch/evbppc/wii/dev/bwdsp.c: revision 1.2
distrib/utils/embedded/files/evbppc_wii_icon.png: revision 1.1
usr.sbin/sysinst/arch/evbppc/md.h: revision 1.4
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.4
sys/arch/evbppc/wii/dev/viio.h: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.5
sys/arch/evbppc/wii/dev/mainbus.h: revision 1.1
distrib/utils/embedded/conf/wii.conf: revision 1.1
distrib/utils/embedded/conf/wii.conf: revision 1.2
distrib/utils/embedded/conf/wii.conf: revision 1.3
sys/dev/sdmmc/sdhcvar.h: revision 1.34
sys/dev/sdmmc/sdhc.c: revision 1.118
sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.1
distrib/utils/embedded/conf/evbppc.conf: revision 1.1
sys/dev/wsfb/genfb.c: revision 1.91
sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.2
sys/dev/wscons/wsconsio.h: revision 1.127
sys/arch/powerpc/oea/oea_machdep.c: revision 1.85
sys/arch/evbppc/wii/dev/hollywood.h: revision 1.1
sys/arch/evbppc/conf/std.wii: revision 1.1
sys/arch/evbppc/wii/dev/hollywood.h: revision 1.2
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.1
sys/arch/evbppc/conf/std.wii: revision 1.2
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.2
sys/arch/evbppc/conf/std.wii: revision 1.3
sys/arch/powerpc/oea/cpu_subr.c: revision 1.109
sys/arch/evbppc/wii/wii_mmuinit.S: revision 1.1
sys/dev/usb/usb.h: revision 1.124
sys/arch/evbppc/wii/machdep.c: revision 1.1
sys/arch/evbppc/wii/dev/rtcsram.c: revision 1.1
sys/arch/powerpc/include/oea/hid.h: revision 1.14
sys/arch/evbppc/wii/mainbus.c: revision 1.1
sys/arch/evbppc/wii/machdep.c: revision 1.2
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.1
sys/arch/evbppc/wii/mainbus.c: revision 1.2
sys/arch/evbppc/wii/machdep.c: revision 1.3
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.2
sys/arch/evbppc/wii/mainbus.c: revision 1.3
sys/arch/evbppc/wii/machdep.c: revision 1.4
sys/arch/evbppc/wii/dev/hwgpio.c: revision 1.1
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.1
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.2
sys/arch/evbppc/wii/wii_locore.S: revision 1.1
sys/arch/evbppc/conf/files.wii: revision 1.1
sys/arch/evbppc/wii/wii_locore.S: revision 1.2
sys/arch/evbppc/include/wii.h: revision 1.1
sys/arch/evbppc/conf/files.wii: revision 1.2
sys/arch/evbppc/wii/dev/exi.c: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.2
sys/arch/evbppc/conf/files.wii: revision 1.3
sys/arch/powerpc/powerpc/clock.c: revision 1.18
sys/arch/evbppc/include/wii.h: revision 1.3
sys/arch/evbppc/conf/files.wii: revision 1.4
sys/arch/evbppc/include/wii.h: revision 1.4
sys/arch/evbppc/wii/dev/exi.h: revision 1.1
sys/arch/evbppc/wii/dev/avenc.c: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.5
sys/arch/evbppc/include/wii.h: revision 1.6
sys/arch/evbppc/include/wii.h: revision 1.7
sys/arch/evbppc/wii/dev/avenc.h: revision 1.1
distrib/utils/embedded/mkimage: revision 1.79
sys/arch/evbppc/conf/WII: revision 1.1
sys/arch/evbppc/conf/INSTALL_WII: revision 1.1
distrib/utils/embedded/files/evbppc_wii_meta.xml: revision 1.1
sys/arch/evbppc/wii/dev/vireg.h: revision 1.1
sys/arch/evbppc/conf/WII: revision 1.2
distrib/utils/embedded/files/evbppc_wii_meta.xml: revision 1.2
sys/arch/evbppc/wii/dev/vireg.h: revision 1.2
sys/arch/evbppc/conf/WII: revision 1.3
sys/arch/evbppc/conf/WII: revision 1.4
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.11
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.1
sys/dev/usb/ehcivar.h: revision 1.52
sys/arch/evbppc/wii/pic_pi.c: revision 1.1
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.2
etc/etc.evbppc/ttys: revision 1.8
sys/arch/evbppc/wii/dev/bwai.c: revision 1.1
sys/arch/evbppc/wii/dev/bwai.c: revision 1.2
sys/arch/evbppc/wii/dev/bwai.c: revision 1.3
sys/arch/evbppc/wii/autoconf.c: revision 1.1
sys/arch/evbppc/conf/Makefile.wii.inc: revision 1.1
sys/arch/evbppc/wii/dev/bwai.h: revision 1.1
sys/arch/evbppc/wii/autoconf.c: revision 1.2
sys/arch/evbppc/conf/Makefile.wii.inc: revision 1.2

powerpc: oea: Fix prefetchable mappings
Prefetchable mappings need PMAP_NOCACHE to get write-combine semantics.
powerpc: oea: Decode IBM750CL L2 cache information.
sdmmc: add support for optional delay after register write
wscons: Add HOLLYWOOD display and YUY2 pixel format types
wsfb: add support for optional "devcmap" property
A hardware driver can supply a pointer to a 16x 32-bit array to override
the default rasops device colour map in the "devcmap" property.
ehci: add EHCIF_32BIT_ACCESS flag to force 32-bit MMIO
fix comments: HID0 ICFI/DCFI are "flash invalidate", not "flush invalidate"
powerpc: fix delay for large (> ~5sec) values
When calculating the target timebase, promote '1000' on the RHS to ULL
to force 64-bit calculation, otherwise 'n * 1000' will overflow.
usb: increase USB_PORT_RESET_RECOVERY from 10ms to 20ms
I changed this from 250ms to 10ms back in 2021 based on a similar FreeBSD
change, but it seems to be a bit too aggressive for some platforms.
evbppc: Add initial support for the Nintendo Wii
wii: support RB_POWERDOWN
build fix: use dd with count=1 for compat with NetBSD dd(1)
wii: Add NTSC 480p support.
In addition to this, add VIIO_{GET,SET}REGS ioctl support to allow for
poking at video interface registers from userland. This is helpful for
debugging display issues.
wii: Add 128x48 icon to SD card image
wii: Fix a comment
wii: Add drivers for Broadway DSP and Audio interface.
0: [*] audio0 @ bwdsp0: Broadway DSP
playback: 16, 2ch, 48000Hz
record: unavailable
(P-) slinear_be 16/16, 2ch, { 48000 }
wii: Add screenblank support.
wii: Use screen dimming register for screen blanking.
wii: Add GPIO, I2C, and basic A/V encoder driver.
wii: Use A/V encoder volume controls instead of using a software filter.
wii: Simply DSP driver - no interrupt handler required.
wii: provide device names to intr_establish
wii$ intrctl list
interrupt id CPU0 device name(s)
pi irq 14 64769* hollywood0
hollywood irq 36 5872* ehci0
hollywood irq 39 58907* sdhc0
hollywood irq 40 4* sdhc1
hollywood irq 49 0* resetbtn0
pi irq 5 0* bwai0
wii: Add support for passing boot options to the kernel.
wii: Add External interface bus and RTC support
wii: Remove objcopy after kernel build.
HBC will do the right thing.
Add wsvt25 entries (off by default) for ttyE0-ttyE3.
Add support for "PAL" (576i) mode on Wii.

RSS XML Feed