summaryrefslogtreecommitdiff
path: root/sys/arch/sparc64/include
AgeCommit message (Collapse)Author
2009-05-10Rename mdesc_get_prop_string into mdesc_get_prop_str.Mark Kettenis
2009-05-10Add vcctty(4).Mark Kettenis
2009-05-10Add defines for magic character constants used by hypervisor consoleMark Kettenis
interfaces.
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-04-12Implement /dev/mdesc, a device to read the machine description on sun4vMark Kettenis
(virtual) machines.
2009-04-12Move code handling Machine Descriptions out of the cbus(4) driver.Mark 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-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-02-26Add a two new ioctls to the apm(4) interface.Owain Ainsworth
APM_IOC_{SUSPEND,STANDBY}_REQ: This is to fix an issue with apm suspend where a call to zzz suspended the machine immediately, not giving anyone listening for apm events (other than apmd) a chance to deal with the upcoming change. This hit X hard since the introduction of drm, since it needs to have time to idle the 3d engine and otherwise get the device into a recoverable state. Such things are needed until we support modesetting in the kernel. Now, instead of forcing a suspend, using ioctl sends out an event similar to if you had put the lid down, giving all userland applications a chance to reply. tested by sthen@ and beck@, especial thanks to sthen for sitting there while I tried to debug this remotely, I owe him beer. Prompted by and ok deraadt@
2009-02-12Add a pm_statistics struct to all pmap, and keep track of residentMiod Vallat
pages. Use this to provide a real pmap_resident_count() function. ok kettenis@
2009-01-23Make write_user_windows() do what the name suggests: flush user windows insteadMark Kettenis
of all windows.
2009-01-20Add a few more inline functions to read priviliged registers.Mark Kettenis
2009-01-02Add LDC shared memory hypervisor interfaces.Mark Kettenis
2008-12-31Add new device interrupt hypervisor calls.Mark Kettenis
2008-12-31Add missing LDC_CHANNEL_RESET.Mark Kettenis
2008-12-31Fix typo.Mark Kettenis
2008-12-31Add some Logical Domain Channel hypervisor calls.Mark Kettenis
2008-12-30Implement the mach_desc hypervisor call.Mark Kettenis
2008-12-30Add domain state related PROM calls.Mark Kettenis
2008-12-30Add domain state services hypervisor calls.Mark Kettenis
2008-12-29Move ifb identification to its own routine. We can not simply have the ifbMiod Vallat
probe win over vgafb, since one may configure a kernel with vgafb but without ifb (especially slackers who forget to rerun config).
2008-12-27Sync the sparc64 fb* api with the recent changes done on sparc.Miod Vallat
2008-12-22We never actually rely on storing %fp in tf_global[0] for clockframes. SoMark Kettenis
save ourselves an instruction and remove the pretty misleading comments.
2008-12-14Implement a "machine xir" ddb command, making it possible to send anMark Kettenis
External Initiated Reset (XIR) to processors. A XIR is non-maskable and will drop us at the PROM ok prompt. This makes it possible to diagnose problems where a CPU is spinning with interrupts disabled. For now, this is only supported on machines with bbc(4).
2008-12-06revert all changes related to the mpsafe intr handler. i screwed up the commitTed Unangst
and even then it didn't work. we have higher standards than this.
2008-12-06mpsafe intr_establish that doesn't get biglock, so that we may dream of the ↵Ted Unangst
day when this is useful. mostly macro magic that does nothing. only actually useful on amd64 for now, compliments of art.
2008-11-29Iain Hibbert (plunky@netbsd) removed clauses 3 and 4 from hisRay Lai
licenses as well. Thanks! "Groovy" deraadt
2008-11-26Sparc64 still only has 64 virtual address bits and not 65.Claudio Jeker
OK kettenis@
2008-11-22The last parts of cpu_unidle. i386, amd64 and sparc64Artur Grabowski
In short, make cpu_unidle do what signotify used to do and make signotify use cpu_unidle. Also, include a cpu_unidle in need_resched, it won't change much right now but will be needed in the future.
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-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-11Minimal apmvar.h such that we can enable apm(8) and apmd(8) on sparc64.Mark Kettenis
ok deraadt@
2008-08-10Use the STICK logic on UltraSPARC-IIe to generate clock interrupts.Mark Kettenis
2008-08-10Add hypervisor calls for the sun4v random number generator interface.Mark Kettenis
2008-08-09Add prom_set_sun4v_api_version().Mark Kettenis
2008-08-07Use %sys_tick to generate clock interrupts on systems that have it.Mark Kettenis
2008-08-07Give each CPU its own `struct intrhand' for %tick interrupts. Fixes aMark Kettenis
problem where the clock would stop ticking on some CPUs because of lost ticks.
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-21Implement the cpu_yield hypervisor call. Use it in the idle loop forArtur Grabowski
SUN4V to let it suspend strands (why does everyone invent own words for hyperthreads?). This gives a huge performance boost when most of the cpus are idle. kettenis@ ok
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-18Add new uvm function called uvm_map_pie() which takes align as aKurt Miller
parameter and returns an aligned random load address for position independent executables to use. This also adds three new vmparam.h defines to specify the maximum address, minimum address and minimum allowed alignment for uvm_map_pie() to use. The PIE address range for i386 was carefully selected to work well within the i386 W^X framework. With much help and feedback from weingart@. okay weingart@, miod@, kettenis@, drahn@
2008-07-12Adjust SUN4U_TLB_RESERVED_MASK for updated SUN4U_TLB_PA_MASK.Mark Kettenis
2008-07-12Add macros to get the appropriate interrupt target ID for non-UPA CPUs andMark Kettenis
use them in cpu_myid().
2008-07-10Add support for Fujitsu SPARC64-VI CPUs.Mark Kettenis
UltraSPARC I/II has a 41-bit physical address space, UltraSPARC III/IV has a 43-bit physical address space. The Fujitsu SPARC64-VI extends this to 46 bits. Adjust the TTE masks to take this into account and adjust some locore code that truncated physical addresses to 41 bits (fixing a potential bug for UltraSPARC III/IV too). While there, fix the locore code for UltraSPARC Architecture 2007 CPUs, which may support up to 56 bits of physical address space.
2008-07-10Add a function to get the time of day from the prom on the m4k.Mark Kettenis
2008-07-07Extend sbbc(4) to provide a console driver for the v1280.Mark Kettenis
2008-07-05Add function to read %tba.Mark Kettenis