summaryrefslogtreecommitdiff
path: root/sys/arch/mips64/include
AgeCommit message (Collapse)Author
2009-06-02Add an r10k-specific cop0 control register.Miod Vallat
2009-05-22Drop almost unused <machine/psl.h> on sgi; move USERMODE() definition fromMiod Vallat
there to trap.c which is its only user. This also cleans up multiple inclusion of <machine/cpu.h> (because <machine/psl.h> includes it) in many places.
2009-05-09Promote types in ARCBios function prototypes from int to long wheneverMiod Vallat
necessary, to allow the same C code to be used against 32 bit ARCBios, when compiled in 32 bit mode, or against 64 bit ARCBios, when compiled in native mode. Soon to be used by the boot blocks; this commit doesn't introduce any functional change yet.
2009-05-06Fix signedness of comparison used to know whether we have already reachedMiod Vallat
the next scheduled clock interrupt; the comparison would before always be true, causing the clock to really run at hz/2. While there, remove unused nanodelay() and attempt to clean clock initialization a bit.
2009-04-19Add heuristics to tell IP27 and IP35 apart, as they will need to be handledMiod Vallat
differently at times.
2009-04-12Better constraints on the temporary register in atomic_{set,clear}bits_int.Miod Vallat
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-20Switch sgi to __HAVE_GENERIC_SOFT_INTERRUPTS.Miod Vallat
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-09Implement CPU_INFO_UNIT for everyone, not just MP kernels.Artur Grabowski
ok miod@
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-08-22Set PIE address range to avoid or minimize mmap pressure due to limitedKurt Miller
address space. The space between PAGE_SIZE and the non-pie fixed link address creates no mmap pressure so use that space for PIE. However on hppa the non-pie fixed link address is PAGE_SIZE so just use a small range for PIE to minimize mmap pressure. okay miod@
2008-07-25phyio -> physioMiod Vallat
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-05-04convert arm and mips64 platforms to ptoa/atopMartin Reindl
tested by maja@
2008-04-07Add a freelist member to the ARCBios memory information. For now, all ARCBiosMiod Vallat
available memory regions will be reported to be in VM_FREELIST_DEFAULT. Add a few quirks to cope with (some) IP27 and IP30 weirdness.
2008-04-07Add ``guarded'' word read and write routines, to be used by machine-dependentMiod Vallat
code soon. Similar to what ddb does, but does not need ddb to be compiled in.
2008-04-07Define the pte cacheability bits from the cpu.h cache coherency constants.Miod Vallat
2008-04-07Define more cache coherency attributes, as well as R10k space identifiers.Miod Vallat
Define a symbolic ``cached'' attribute, to be used for cached mappings regardless of the system's cache coherency.
2008-03-30Allow the machine-specific headers to overwrite the number of memoryMiod Vallat
segments and the number of freelists.
2008-02-20More dead includes and functions noone will mourn.Miod Vallat
2008-02-18Get correct memory information from 64 bit ARCBios, tested on Octane.Miod Vallat
2008-02-18More 64-bit ARCBios friendliness, correctly identify a 64 bit system, suchMiod Vallat
as the Octane; joint work with jsing@
2007-12-18add power(4), a driver for the power button found on SGI O2's.Jasper Lievisse Adriaanse
when machdep.kbdreset is set, and the correct interrupt is fired, the machine gets shut down. with help from and ok jsing@, ok miod@
2007-12-14Store the ARCBIOS ConsoleOut environment variable so that we can refer toJoel Sing
it later on. ok miod@
2007-11-25spelling fixes, from Martynas Venckus;Jason McIntyre
2007-10-18Get rid of the silly union for mips pte. No functional change exceptMiod Vallat
pmap.h now includes pte.h.
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-07-18bus_dmamem_map() maps with a single segment in directly-translated XKPHYSMiod Vallat
space, either cache coherent for regular mappings and uncached for BUS_DMA_COHERENT mappings, as done on all other platforms with direct mappings.
2007-06-18this is the sgi disklabel, mips64 is not the sameTheo de Raadt
2007-06-18Use a shorter form to load XKPHYS constants in .S code, shaves a few textMiod Vallat
bytes, no functional change.
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-07Eliminate unnecessary duplicate defines *_LABELSECTOR andKenneth R Westerback
*_LABELOFFSET. Don't use osdep->labelsector since it will always be LABELSECTOR, since we don't support extended DOS partitions holding the OpenBSD disk label. No functional change. Now only Alpha and Vax bounds_check_with_label differ by more than comments.
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-20Remove unused badaddr().Miod Vallat
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-07Remove symbols already defined in <sys/limits.h>; unbreaks build on sgi.Mark Kettenis
ok miod
2007-05-07Move sgo to __HAVE_CPUINFO.Mark Kettenis
ok miod@
2007-05-03Enable support for > 512MB of physical memory on mips64 systems, by usingMiod Vallat
XKPHYS instead of KSEG[01] for direct mappings. Then, detect memory above 256MB on O2 by poking at the CRIME registers (ARCbios will not report memory above 256MB, which is mapped above 1GB physical, to the system), and add it to the UVM managed memory. Tested on r5k, rm5200 and r10k with and without more than 256MB, matching hinv reports in all cases. CRIME memory decoding based on a diff from kettenis@ in december 2005.
2007-05-01Provide <machine/lock.h> on all platforms, so that MI code may #include itMiod Vallat
unconditionnaly.
2007-04-27Remove unused macros, and make sure the remaining one do not truncate theMiod Vallat
high 32 bits of addresses.
2007-04-27More pmap changes from the potpourri pool:Miod Vallat
- use wm_page pg_flags pmap-reserved flags to store attributes, instead of defining a vm_page_md field. - use atomic operations to touch the above mentioned flags. - never create ptes with PG_RO and PG_M set (this was harmless anyway). - in pmap_clear_modify(), do not flush cache if the page was mapped uncached. Tested on r5k, rm5200, r10k and r12k.
2007-04-26Do not invoke arcbios routines from the moment our page tables are set up,Miod Vallat
to the moment we reboot, for we do not know what it can do behind our back; this means the built-in ethernet address has to be read from the arcbios environment earlier.
2007-04-24exeption -> exceptionMiod Vallat
2007-04-16Crank MAXPHYS to the regular 64KB.Miod Vallat