summaryrefslogtreecommitdiff
path: root/sys/arch/sparc64/include
AgeCommit message (Collapse)Author
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
2008-07-05The firmware on the v1280 changes %wstate behind our back. Work around thisMark Kettenis
problem by adopting the same encoding used by Solaris for the kernel windows. Note that this involves rearranging the trap vector tables, both fur sun4u and for sun4v.
2008-07-04Add T_MON_BREAKPOINT, the trap vector used by OBP for breakpoints.Mark Kettenis
2008-07-04Change trapbase from a pointer to a variable-length array such that it canMark Kettenis
actually be used to access trap vectors.
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-09Sparc64 MMUs have an address hole, too, and the pmap implementation weMiod Vallat
are using has an even larger one, so implement pmap_remove_hole() to prevent mmap() from ever reaching the hole. feedback and ok kettenis@
2008-06-04adderss -> addressMiod Vallat
2008-05-24Add VER.impl values for Fujitsu CPUs.Mark Kettenis
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-21First step towards supporting sun4us machines with Fujitsu's SPARC64-V CPU.Mark Kettenis
2008-05-02Implement rw_cas correctly, unlike previous revision where I was obviouslyMiod Vallat
on drugs; ok kettenis@
2008-04-28Rename IPL_SOFTSERIAL to IPL_SOFTTTY. Sprinkle some KNF while I'm there.Mark Kettenis
2008-04-20Implement locking of sun4u TSB entries for MULTIPROCESSOR kernels.Mark Kettenis
Make sun4v code use the new TSB_TAG_LOCKED define.
2008-04-17Really try to schedule clock ticks at fixed intervals. Make sure hardclock()Mark Kettenis
gets called for every clock tick, even if we miss one.
2008-04-15Add workaround for UltraSPARC-II errata, where writes to %tick_cmpr wouldMark Kettenis
sometimes fail, which would result in the periodic clock interrupts on a CPU stop. Spotted in a NetBSD commit message, loosely based on code in OpenSolaris.
2008-04-13Use %g7 to store a pointer `struct cpu_info', and use it whereever possible.Mark Kettenis
2008-03-31Make MULTIPROCESSOR kernels work on sun4v. Won't gracefully halt, powerdownMark Kettenis
or reboot yet, but that will (hopefully) be fixed in the near future.
2008-03-30More sun4v support. GENERIC and RAMDISK kernels will now boot on bothMark Kettenis
sun4u and sun4v. GENERIC.MP won't work yet though.
2008-03-23Add code to initialize CPUs on sun4v.Mark Kettenis
2008-03-23Sigh! The sun4v TTEs have a different layout than sun4u TTEs. Rename theMark Kettenis
existing sun4u defines and add sun4v. For now, decide which set to use at compile time. Change the sun4u-specific code in locore.s to use the sun4u defines.
2008-03-22Reintroduce the cputyp variable, and use it to distinguish between sun4u andMark Kettenis
sun4v.
2008-03-19Add prom_itlb_load() and prom_dtlb_load().Mark Kettenis
2008-03-17Remove KGDB code. It was never converted to 64-bit, and just makes locore.sMark Kettenis
even more unreadable.
2008-03-15Make GENERIC.MP work on the e10k. The e10k is a bit funky since UPA onlyMark Kettenis
supports 32 ports, and a machine with up to 64 CPUs obviously needs more. So the machine has a special ASIC that does port translation, and because of that we need to distinguish between port ID's and interrupt target ID's.
2008-03-12Introduce a per-handler interrupt acknowledgement function.Mark Kettenis
2008-03-09Add vcons(4).Mark Kettenis
2008-03-08Add som sun4v-specific ASIs.Mark Kettenis
2008-03-08UltraSPARC Hypervisor interfaces for sun4v.Mark Kettenis
2008-03-08Introduce a function to check the "status" property of an OFW node, and use itMark Kettenis
to avoid attaching disabled or failed devices. This should make it possible to manually deconfigure devices on mid-range and high-end servers like the V880 using the "asr-disable" PROM command, and make OpenBSD avoid using hardware that has been detected as faulty by the POST or OpenBoot Diagnostics.
2008-03-08SUNW,set-trap-table takes an extra argument on sun4v; sun4u doesn't seem toMark Kettenis
mind. tested by miod@
2008-03-01Add getpropspeed(); a function which decodes a property describing a serialMark Kettenis
port configuration and returns the configured speed.
2008-02-20make tda(4) run the fans at maximum speed when we are about to dropRobert Nagy
drop to ddb(4) in order to avoid overheating in case of a system crash. ok kettenis@
2008-02-18remove the definition of amd7930_trap(), it is not used anywhere.Robert Nagy
ok kettenis@
2008-02-14Make sure an interrupt handler does not get on the per-cpu list of pendingMark Kettenis
interrupts twice, with one exception: interrupt handlers are allowed to be on the tail of said lists (needed for clock interrupts on MP kernels). Prevents losing interrupts. Makes usb keyboard as console work on Sun Blade 1000/2000 with MP kernels.