summaryrefslogtreecommitdiff
path: root/sys/arch/hppa/include
AgeCommit message (Collapse)Author
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-09-06Fix comment to catch up with HPPA_PGALIAS change.Mark Kettenis
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-23So it turns outthe HP engineers changed the PA-RISC 2.0 architectureMark Kettenis
after it was published. In particular, they changed the maximum cache aliasing boundary from 1MB to 16MB. It turns that on the PA-8700 the aliasing boundary is actually 4MB (reported as such by the firmware at least). There are some comments in the Linux code that suggest that HP never actually built PA-RISC CPUs with an 8MB or 16MB aliasing boundary. So raise the aliasing boundary to 4MB. This fixes the weird ps(1) problem where it didn't print its own arguments correctly.
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-07-14Be sure to propagate PSL_O in psw on PCXU* processors to userland processesMiod Vallat
and signal handlers. ok kettenis@
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-14defininig NATIVE_EXEC_ELF is mandatory on ELF platforms.Miod Vallat
2008-04-27Move hppa to __HAVE_GENERIC_SOFT_INTERRUPTSMark Kettenis
2007-12-26Teach the hppa bootloader how to boot 64-bit kernels.Mark Kettenis
ok miod@, deraadt@
2007-12-16Add an empty pccbb_attach_hook.Mark Kettenis
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-10-20enuf -> enoughMiod Vallat
2007-10-10Make context switching much more MI:Artur Grabowski
- Move the functionality of choosing a process from cpu_switch into a much simpler function: cpu_switchto. Instead of having the locore code walk the run queues, let the MI code choose the process we want to run and only implement the context switching itself in MD code. - Let MD context switching run without worrying about spls or locks. - Instead of having the idle loop implemented with special contexts in MD code, implement one idle proc for each cpu. make the idle loop MI with MD hooks. - Change the proc lists from the old style vax queues to TAILQs. - Change the sleep queue from vax queues to TAILQs. This makes wakeup() go from O(n^2) to O(n) there will be some MD fallout, but it will be fixed shortly. There's also a few cleanups to be done after this. deraadt@, kettenis@ ok
2007-09-22replace even more ctob and btoc with ptoa and atop respectively plusMartin Reindl
uvm_extern.h where needed
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-29Seperate members of "struct pcb" that are accessed using physical addressesMark Kettenis
from thos that are exclusively accessed using virtual addresses and add padding between them to make sure they don't share a cache line. Fixes random crashes on at least PA-8700 and PA-7200 based machines. Without this, the PA-7200 based C110 wouldn't stay up long enough to do an install. ok miod@
2007-07-22Move hppa to __HAVE_TIMECOUNTERS.Mark Kettenis
2007-07-20Give hppa the blink_led API from sparc64, and the associated machdep.led_blinkMark Kettenis
sysctl.
2007-07-16sizeof long double == sizeof double, deal with it; ok kettenisJason Wright
2007-07-15Add PDC_CHASSIS_INFO and associated structures.Mark Kettenis
2007-07-15Delay switching to the real serial console until we attach the serial device.Mark Kettenis
The variety of different serial devices is just too big to make a decision up front. This should make the second serial port on four-digit B/C/J-class workstation work as a serial console too. ok miod@
2007-07-01Oops! Revert previous commit.Mark Kettenis
2007-07-01Add PDC_IO.Mark Kettenis
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-18Don't use cpu_disklabel as local storage. Use local variables and discardKenneth R Westerback
the unneeded info when done with it. Another empty struct cpu_disklabel. ok deraadt@
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-27Dynamically allocate irq's for pci devices on elroy(4).Mark Kettenis
ok martin@
2007-05-23Add proper bus_space_vaddr() implementation.Mark Kettenis
ok miod@
2007-05-21Ask firmware for reset before trying ourselves; needed for four-digit b/c/jMark Kettenis
workstations. tested by otto@, krw@; ok deraadt@
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-15Userland has the right to compile, too; not sure this will be enough yetMiod Vallat
but deraadt@ insists this goes in now.
2007-05-15Remove the MI implementation of mutexes and remove the __HAVE_MUTEXArtur Grabowski
option. Every architecture implements mutexes now.
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-14move hppa to __HAVE_CPUINFOMartin Reindl
input from miod@, ok kettenis@
2007-05-05Define MUTEX_OLDIPL where they were missing, will be used (reasonably) shortly.Miod Vallat
2007-05-05Simple single-processor only mutex implementation.Miod Vallat
2007-05-01Provide <machine/lock.h> on all platforms, so that MI code may #include itMiod Vallat
unconditionnaly.
2007-04-26Proper atomic_{set,clear}bits_{int,long} implementation, and use it forMiod Vallat
softintr(); ok mickey@
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
2007-02-19only make this interface available to the kernel for now, discussed withaTheo de Raadt
rt and such; tested and ok miod drahn