summaryrefslogtreecommitdiff
path: root/sys/arch/alpha/include
AgeCommit message (Collapse)Author
2009-04-25Strengthen the constraints of the atomic operations assembly statementsMiod Vallat
to make sure the register holding the ld_l and st_c addresses doesn't get reused when gcc's register allocator is too aggressive.
2009-04-20Add a BUS_DMA_ZERO flag for bus_dmamem_alloc() to return zeroed memory.Owain Ainsworth
Saves every damned driver calling bzero(), and continues the M_ZERO, PR_ZERO symmetry.
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-25Deinline softintr_schedule(). Also fix softintr priorities I got inverted afterMiod Vallat
adding splsoftassert().
2009-03-15Now that we have splsoftassert(), make the soft ipl levels positive andMiod Vallat
remove the special casing in splassert().
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.
2009-03-15Allow CPU_INFO_UNIT() to be used before cpu0 attaches.Miod Vallat
2009-03-07No need to register a soft interrupt for softclock, it's done in MI code.Miod Vallat
2009-02-01Remove unused _pfthresh member from struct alpha_bus_dma_tag.Miod Vallat
2009-01-17Recognize environmental change machine checks on ES40, and report whatMiod Vallat
happens instead of panicing; while there, start providing more details for ev6 processor machine checks as well. This allows power supplies to be unplugged and exchanged while the system is running, without causing the kernel to crash.
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-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-10Add empty cpu_unidle() macros for architectures that currently don't doArtur Grabowski
anything special to prod a cpu to leave the idle loop in signotify. powerpc, i386, amd64 and sparc64 will follow soon so that everyone has the same interface to wake an idling cpu.
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-10-06more readable virtual memory size values.Brad Smith
ok deraadt@
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-25phyio -> physioMiod Vallat
2008-07-25The PIE address range defaults are too big for alpha and can land on orKurt Miller
above the stack. Fix by mapping PIE into the first quarter of the address space before stack. "will do for now" miod@
2008-07-24Add code to decode machine checks on Avanti, providing a description of theMiod Vallat
problem and lots of register dumps to help the skilled user to fix the hardware. Not compiled if option SMALL_KERNEL. From NetBSD.
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-24On user/kernel shared page table machines, do not let processes map theirTheo de Raadt
own page 0, as discussed with miod (and many others previously, including art and toby). On sparc, make this __LDPGSZ because PAGE_SIZE is non-constant ok miod tedu
2007-12-29Do not define _FP_DYNAMIC; no other platform defines this and nothing (eitherMiod Vallat
in kernel or in userland) uses it. ok deraadt@
2007-12-14Remove a lot of symbols from the namespace, otherwise sys/sysctl.h andTheo de Raadt
rpc/pmap_prot.h collide.. "struct pmap" from the kernel should not make it out to userland.
2007-11-15``stastic'' is a fantastic typo.Miod Vallat
2007-10-16unsigned int is nicer than just unsignedTheo de Raadt
2007-09-15replace ctob and btoc with ptoa and atop respectivelyMartin Reindl
help and ok miod@ thib@
2007-09-10Introduce a md pmap hook, pmap_remove_holes(), which is supposed to markMiod Vallat
the holes a MMU may have from a given vm_map. This will be automagically invoked for newly created vmspaces. On platforms with MMU holes (e.g. sun4, sun4c and vax), this prevents mmap(2) hints which would end up being in the hole to be accepted as valid, causing unexpected signals when the process tries to access the hole (since pmap can not fill the hole anyway). Unfortunately, the logic mmap() uses to pick a valid address for anonymous mappings needs work, as it will only try to find an address higher than the hint, which causes all mmap() with a hint in the hole to fail on vax. This will be improved later.
2007-06-20b_cylinder does not need to be set on the callpath down into drivers.Theo de Raadt
cpu_disklabel can go away, since nothing anymore needs to use it; ok miod
2007-06-17Eliminate a few straggling 'labelsector' field declarations fromKenneth R Westerback
cpu_disklabel's. 'labelsector' is not used anywhere according to grep. 'go for it' deraadt@
2007-06-17significantly simplified disklabel infrastructure. MBR handling becomes MITheo de Raadt
to support hotplug media on most architectures. disklabel setup and verification done using new helper functions. Disklabels must *always* have a correct checksum now. Same code paths are used to learn on-disk location disklabels, to avoid new errors sneaking in. Tested on almost all cases, testing help from todd, kettenis, krw, otto, dlg, robert, gwk, drahn
2007-06-10No need for two *LABELSECTOR and *LABELOFFSET defines that mean theKenneth R Westerback
same thing. Keep LABELSECTOR and LABELOFFSET and nuke ALPHA_LABELSECTOR and ALPHA_LABELOFFSET. Kernel still compiles and boots. Superfluidity pointed out by deraadt@.
2007-05-28Maintaining a broken compatibility layer for a broken OS is not a productiveBob Beck
activity for anyone. Bye bye COMPAT_NETBSD. ok tedu@, deraadt@, and many others in the hackathon room.
2007-05-28Move the MSIZE, MCLSHIFT, MCLBYTES and the MCLOFSETThordur I. Bjornsson
mbuf constants from MD param.h to MI param.h. Besides being the same on every arch, things will most probly break if any arch has different values then the others. The NMBCLUSTERS constants needs to be MD though; ok miod@,krw@,claudio@
2007-05-16splassert_ctl defaults to 1 now, so dont wrap the checks forThordur I. Bjornsson
splassert_ctl > 0 in __predict_false(). ok deraadt@
2007-05-16The world of __HAVEs and __HAVE_NOTs is reducing. All architecturesArtur Grabowski
have cpu_info now, so kill the option. eyeballed by jsg@ and grange@
2007-05-15Remove the MI implementation of mutexes and remove the __HAVE_MUTEXArtur Grabowski
option. Every architecture implements mutexes now.
2007-05-15oops; martin go see what you did here..Theo de Raadt
2007-05-15kill __HAVE_DEVICE_REGISTER by requiring all architectures to have aTheo de Raadt
device_register() function -- even if it does nothing. reduces the cpp-based blather different between architectures idea ok'd by miod; tested on all architectures (except a few miod will need to cleanup because he has them)
2007-05-10Alpha needs (will need) MUTEX_OLDIPL as well.Artur Grabowski
2007-05-06garbage collect release_fpu() and synchronize_fpstate()Martin Reindl
2007-05-05simple single-processor only mutex implementationMartin Reindl
ok miod@
2007-05-05Directly map IPL_xxx in terms of ALPHA_PSL_IPL_xxx values, and implementMiod Vallat
splassert. ok art@ martin@
2007-04-23Switch alpha to timecounters.Artur Grabowski
We use rpcc for the clock. We don't try to get the frequency from the hwrpb, since from experience we know that it's very unreliable and can be several % off from the real frequency. Instead we calibrate the timecounter frequency by using the clock device and count the number of cycles between two second ticks of the clocks. This is not perfect, but still much better than what we had before. We'll have to add an i8254 clock for MP though. miod@ ok
2007-04-21fix generic soft interrupts; improve establishing and disestablishing ofMartin Reindl
soft interrupts from NetBSD, 'reads good art@', also tested by robert@
2007-04-13get alpha SMP into a state where it at least compiles:Martin Reindl
- add machine-dependent spinlock operations - add basic interprocessor interrupt sending and receiving code from NetBSD; ok miod@
2007-04-12__HAVE_CPUINFO for alpha, with bits from netbsdMartin Reindl
ok miod@
2007-03-17add proper atomic_{set,clear}bits_int implementationMartin Reindl
prodded by art@ ok art@
2007-03-15Since p_flag is often manipulated in interrupts and without biglockArtur Grabowski
it's a good idea to use atomic.h operations on it. This mechanic change updates all bit operations on p_flag to atomic_{set,clear}bits_int. Only exception is that P_OWEUPC is set by MI code before calling need_proftick and it's automatically cleared by ADDUPC. There's no reason for MD handling of that flag since everyone handles it the same way. kettenis@ ok