summaryrefslogtreecommitdiff
path: root/sys/arch/powerpc
AgeCommit message (Collapse)Author
2010-04-26next step towards unification: make all the genassym chunks handle bothTheo de Raadt
arch and machine dependent files (and add the missing files) ok miod drahn
2010-04-24There is no reason to protect the pmap_vp_pool with splvm(). The only pmapMark Kettenis
that gets manipulated in interrupt context is the kernel pmap, and we fully populate its VP mappings during pmap_bootstrap(). Gets rid of the excessive spl's at pmap_destroy() time noticed by deraadt@ ok deraadt@, drahn@
2010-04-23Make sure IPL_SCHED is always defined by MD headers, instead of having a MIMiod Vallat
fallback definition in <sys/sched.h>, so that there is no hidden include ordering requirement between <machine/intr.h> and <sys/sched.h>. ok deraadt@ tedu@
2010-04-15two missing splx in error path; ok drahnTheo de Raadt
2010-04-09Prevent an interrupt from causing recursion while holding the pmap hash lock,Dale Rahn
Otherwise a pmap_remove from a completed I/O may deadlock.
2010-04-02fix an ugly constructTheo de Raadt
2010-04-02Clear the PG_PMAP_EXE flags whenever writable mappings are created.Dale Rahn
ok deraadt@ kettenis@
2010-03-31More carefully manage PG_PMAP_EXE bit and cache flushing on pmap_protectDale Rahn
operations, where X or W is taken away. ok deraadt@ kettenis@
2009-12-10ansiTheo de Raadt
2009-11-27Move MB_LEN_MAX into the machine-independent sys/limits.h header,Philip Guenthe
rather than defining it separately for each architecture. Also set it to 4, to accommodate for future UTF-8 support (rfc3629). Diff by stsp, committing to catch the libc major bump ok kettenis@, guenther@
2009-11-08Move KERNEL_LOCK/UNLOCK dance into softintr_dispatch().Mark Kettenis
ok miod@, dms@
2009-11-04Get rid of __HAVE_GENERIC_SOFT_INTERRUPTS now that all our platforms support it.Mark Kettenis
ok jsing@, miod@
2009-10-01Generic soft interrupts for macppc. Tested by mk@, deraadt@Mark Kettenis
ok miod@
2009-08-24Add definitions for 4 additionl BAT registers, found on some newer PowerPCDariusz Swiderski
chips, like MPC8xxx family. ok kettenis@
2009-08-22Constify the what/name parameter of pci_intr_establish().Michael Knudsen
Tested by myself, sthen, oga, kettenis, and jasper. Input from sthen and jasper. ok kettenis (Manpage follows shortly.)
2009-08-13A new(er) mtx_enter_try().Tobias Weingartner
Ok oga@, "the time is now" deraadt@.
2009-07-21Make pmap_enter respect the PMAP_CANFAIL flag. With and essentialMark Kettenis
memory leak plug from drahn@
2009-07-20Pass a pci_chipset_tag_t to pci_intr_line(), to eventually allow theMiod Vallat
logic to be chipset dependent; no functional change yet. ok kettenis@
2009-06-09backout interrupt diff until it the next round of fixesTheo de Raadt
2009-06-02Reintroduce the macppc interrupt subsystem rewrite. Several bugs haveDale Rahn
been found and corrected.
2009-04-27Revert mtx_enter_try. It didn't compile on hppa, it doesn't compile onMark Kettenis
landisk, and the sparc implementation is obviously wrong. That's where I stopped looking, so who knows what else was broken. A simple comparison of the existing mtx_enter with the new mtx_enter_try would have told anybody.
2009-04-25Enter mtx_enter_try. In part for completeness, things may startTobias Weingartner
using this soon(ish). Ok oga@, sorta yes kettenis@.
2009-03-26Remove cpu_wait(). It's original use was to be called from the reaper soOwain Ainsworth
MD code would free resources that couldn't be freed until we were no longer running in that processor. However, it's is unused on all architectures since mikeb@'s tss changes on x86 earlier in the year. ok miod@
2009-03-15Let CPU_INFO_UNIT() be used before cpu0 attaches, and make sureMiod Vallat
CPU_INFO_FOREACH() only covers attached cpus. With drahn@, ok kettenis@
2009-03-15Introduce splsoftassert(), similar to splassert() but for soft interruptMiod Vallat
levels. This will allow for platforms where soft interrupt levels do not map to real hardware interrupt levels to have soft ipl values overlapping hard ipl values without breaking spl asserts.
2008-11-22cpu_unidle for macppcArtur Grabowski
ok drahn@
2008-11-21back out the new interrupt subsystem because some little bug still lurks in ↵Theo de Raadt
there
2008-11-08Get rid of va-ppc.h.Mark Kettenis
ok miod@
2008-10-23Move the va_copy define to <sys/stdrag.h> making sure it is uniformalyMark Kettenis
protected by __ISO_C_VISIBLE > 1999. With a little help from miod@. ok miod@
2008-10-17Handle pool allocation failures slightly better. ok kettenis@Dale Rahn
2008-10-15make random(9) return per-cpu values (by saving the seed in the cpuinfo),Theo de Raadt
which are uniform for the profclock on each cpu in a SMP system (but using a different seed for each cpu). on all cpus, avoid seeding with a value out of the [0, 2^31-1] range (since that is not stable) ok kettenis drahn
2008-10-10Define MAXCPUS on all architectures.Artur Grabowski
For now, sparc64 is arbitrarily set to 256 (only architecture that didn't have a practical limit in the code on the number of cpus).
2008-09-19miod pointed out that some items were multiply defined (patched intoDale Rahn
existance too many times).
2008-09-18Redesign of the powerpc interrupt architecture, use true levels intead ofDale Rahn
blocking specific interrupts. Needs signficant testing to prove that one remaining elusive bug has been squashed.
2008-09-16SMP ddb support, with some feedback from kettenis.Dale Rahn
2008-09-13Kernel map is supposed to only allocate from the limited kernel addresses,Dale Rahn
panic if the kernel attempts to map an improper address.
2008-09-07- replace dtoa w/ David's gdtoa, version 2008-03-15Martynas Venckus
- provide proper dtoa locks - use the real strtof implementation - add strtold, __hdtoa, __hldtoa - add %a/%A support - don't lose precision in printf, don't round to double anymore - implement extended-precision versions of libc functions: fpclassify, isnan, isinf, signbit, isnormal, isfinite, now that the ieee.h is fixed - separate vax versions of strtof, and __hdtoa - add complex math support. added functions: cacos, casin, catan, ccos, csin, ctan, cacosh, casinh, catanh, ccosh, csinh, ctanh, cexp, clog, cabs, cpow, csqrt, carg, cimag, conj, cproj, creal, cacosf, casinf, catanf, ccosf, csinf, ctanf, cacoshf, casinhf, catanhf, ccoshf, csinhf, ctanhf, cexpf, clogf, cabsf, cpowf, csqrtf, cargf, cimagf, conjf, cprojf, crealf - add fdim, fmax, fmin - add log2. (adapted implementation e_log.c. could be more acruate & faster, but it's good enough for now) - remove wrappers & cruft in libm, supposed to work-around mistakes in SVID, etc.; use ieee versions. fixes issues in python 2.6 for djm@ - make _digittoint static - proper definitions for i386, and amd64 in ieee.h - sh, powerpc don't really have extended-precision - add missing definitions for mips64 (quad), m{6,8}k (96-bit) float.h for LDBL_* - merge lead to frac for m{6,8}k, for gdtoa to work properly - add FRAC*BITS & EXT_TO_ARRAY32 definitions in ieee.h, for hdtoa&ldtoa to use - add EXT_IMPLICIT_NBIT definition, which indicates implicit normalization bit - add regression tests for libc: fpclassify and printf - arith.h & gd_qnan.h definitions - update ieee.h: hppa doesn't have quad-precision, hppa64 does - add missing prototypes to gdtoaimp - on 64-bit platforms make sure gdtoa doesn't use a long when it really wants an int - etc., what i may have forgotten... - bump libm major, due to removed&changed symbols - no libc bump, since this is riding on djm's libc major crank from a day ago discussed with / requested by / testing theo, sthen@, djm@, jsg@, merdely@, jsing@, tedu@, brad@, jakemsr@, and others. looks good to millert@ parts of the diff ok kettenis@ this commit does not include: - man page changes
2008-07-21- add proper double_t and float_t definitions for each archMartynas Venckus
- math.h shouldn't define FLT_EVAL_METHOD, but float.h should (per C99). remove from math.h, and add proper definitions in float.h ok millert@
2008-07-18Add a macro that clears the want_resched flag that need_resched sets.Artur Grabowski
Right now when mi_switch picks up the same proc, we didn't clear the flag which would mean that every time we service an AST we would attempt a context switch. For some architectures, amd64 being probably the most extreme, that meant attempting to context switch for every trap and interrupt. Now we clear_resched explicitly after every context switch, even if it didn't do anything. Which also allows us to remove some more code in cpu_switchto (not done yet). miod@ ok
2008-06-26First pass at removing clauses 3 and 4 from NetBSD licenses.Ray Lai
Not sure what's more surprising: how long it took for NetBSD to catch up to the rest of the BSDs (including UCB), or the amount of code that NetBSD has claimed for itself without attributing to the actual authors. OK deraadt@
2008-06-14A bunch of pool_get() + bzero() -> pool_get(..., .. | PR_ZERO)Michael Knudsen
conversions that should shave a few bytes off the kernel. ok henning, krw, jsing, oga, miod, and thib (``even though i usually prefer FOO|BAR''; thanks for looking.
2008-06-06Remove long dead meat.Miod Vallat
2008-05-21Remove <machine/elf_abi.h> on platforms which have it. Nothing in the treeMiod Vallat
needs the few MD definitions they (sometimes) provide; only binutils is interested in them, but binutils provide their own include files for that purpose anyway. ok deraadt@ kettenis@
2008-05-21ddb expects the kernel longjmp() to only take a single parameter and alwaysMiod Vallat
return 1 since 12+ years, it's about time to fix the offending ports. Reported by Pierre Riteau (firstname.lastname at gmail)
2008-05-15Remove commented out NetBSD __KERNEL_RCSID macro usage.Brad Smith
ok dlg@ miod@
2008-05-04Manage interrupts based on priority better, still working on this...Dale Rahn
2008-05-03Do not acquire the kernel lock for SY_NOLOCK system calls; ok drahn@ kettenis@Miod Vallat
2008-05-02implement rw_cas, "go for it" miod@Dale Rahn
2008-05-01Implement a nop IPI to signal other CPUs.Mark Kettenis
ok drahn@
2008-04-29PIR is not defined to be a writable register, do not use it.Dale Rahn