summaryrefslogtreecommitdiff
path: root/sys/arch/sparc64/include
AgeCommit message (Collapse)Author
2013-11-05Add a stub for the new MD hook needed to handle ACPI Power Resources.Martin Pieuchot
ok kettenis@
2013-10-17Remove a.out leftovers now that libsa loadfile() will only boot ELF binaries.Miod Vallat
2013-08-08Add PMAP_NOCACHE as an alias for PMAP_NC for use in semi-MI code.Mark Kettenis
2013-07-14To prevent lock ordering problems with the kernel lock, we need to make sureMark Kettenis
we block all interrupts that can grab the kernel lock. The simplest way to achieve this is to make sure mutexes always raise the ipl to the highest level that has interrupts that grab the kernel lock. This will allow us to have "mpsafe" interrupt handlers at lower priority levels. No change for non-MULTIPROCESSOR kernels.
2013-07-13unify register_t to long on all platformsTheo de Raadt
ok miod kettenis
2013-07-05Take II, this time without flubbing off_t: : move several internalPhilip Guenther
type definitions that are the same across all archs from <machine/_types.h> to <sys/_types.h> ok deraadt@ kettenis@ otto@
2013-07-04backout previous; off_t must be signed and there might be other C++ APIOtto Moerbeek
breakage lurking; ok kettenis@
2013-07-04To ease future changes, move several internal type definitions that arePhilip Guenther
the same across all archs from <machine/_types.h> to <sys/_types.h> ok deraadt@
2013-06-11final removal of daddr64_t. daddr_t has been 64 bit for a long enoughTheo de Raadt
test period; i think 3 years ago the last bugs fell out. ok otto beck others
2013-06-02Add the TLS relocationsPhilip Guenther
2013-06-01cleanup and consolidate the spinlock_lock (what a name!) code.Ted Unangst
it's now atomic_lock to better reflect its usage, and librthread now features a new spinlock that's really a ticket lock. thrlseep can handle both types of lock via a flag in the clock arg. (temp back compat hack) remove some old stuff that's accumulated along the way and no longer used. some feedback from dlg, who is concerned with all things ticket lock. (you need to boot a new kernel before installing librthread)
2013-05-31remove counters for simplelocksTed Unangst
2013-05-21remove unused cpu_lock code (where it is truly unused). it is notTed Unangst
part of the future we have planned. middling ok from a few
2013-05-17Implement IPL_MPSAFE for pci bus interrupt handlers.Mark Kettenis
2013-05-13Implement support for running interrupt handlers without taking the kernelMark Kettenis
lock, by adding a new BUS_INTR_ESTABLISH_MPSAFE flag for use with the (sparc64-specific) bus_intr_establish(9) interface. Add support for this flag to schizo(4); other bus drivers will ignore it for now. While there, remove the BUS_INTR_ESTABLISH_FASTTRAP flag which serves no purpose.
2013-04-21Unify the zs tty driver.Sebastian Reitenbach
Most of the hard work by mpi@, who provided the initial diff. Fixes for sparc from myself. Tested on sgi and sparc myself. Compiles and detects zstty on my powerbook, compile tested on sparc64 by me. Real testing with zs device on sparc64 by miod@ who also gave a lot of help and feedback. ok miod@, mpi@
2013-04-02Get rid of SYSCALL_G7RFLAG. iIt's been deprecated for a long time already,Mark Kettenis
and we've started using %g7 as a per-thread register now. If you have any binaries left that use this flag they'll probably crash and burn!
2013-04-01Do not expose the trap T_* values to userland, since they invade theTheo de Raadt
namespace a bit much. These are the names for the value encoded in core.c_ucode or siginfo.si_trapno, but userland never looks directly and only cares about the abstract signal code. ok guenther
2013-03-31try to avoid pulling in pte.h and other more crazy things. Checked againstTheo de Raadt
the things that libkvm needs.
2013-03-28Add STRONG_ALIAS macros to be used from assembly code in libc andMartynas Venckus
libm. While at it, remove now unused workarounds for lint. Agreed by kettenis@, guenther@, matthew@.
2013-03-28Add __strong_alias macros for all architectures to be able to aliasMartynas Venckus
another symbol without weak attribute. To be used in libc and libm soon. Agreed by kettenis@, guenther@, matthew@.
2013-03-26PGSHIFT and PGOFSET are now contained inside the kernel namespace.Theo de Raadt
2013-03-25ALIGNBYTES/ALIGN/ALIGNED_POINTER can move to the MI file.Theo de Raadt
2013-03-23refactor sys/param.h and machine/param.h. A lot of #ifdef _KERNEL is addedTheo de Raadt
to keep definitions our of user space. The MD files now follow a consistant order -- all namespace intrusion is at the tail can be cleaned up independently. locore, bootblocks, and libkvm still see enough visibility to build. Checked on 90% of platforms...
2013-03-12Fix kernel profiling on MP systems by using per-CPU buffers and teachMartin Pieuchot
kgmon(8) to deal with them, this time without public header changes. Previously various CPUs were iterating over the same global buffer at the same time to modify it and never ended. This diff includes some ideas submited by Thor Simon to NetBSD via miod@. ok deraadt@, mikeb@, haesbaert@
2013-02-12Back out per-CPU kernel profiling, it shouldn't modify a public headerMartin Pieuchot
at this moment.
2013-02-11Fix kernel profiling on MP systems by using per-CPU buffer. PreviouslyMartin Pieuchot
various CPUs were iterating over the same global buffer at the same time to modify it and never ended. This diff includes some ideas submited by Thor Simon to NetBSD via miod@. ok mikeb@, haesbaert@
2013-02-05Do not profile the various ipi functions. This is a requirement for theMartin Pieuchot
upcoming per-CPU profiling modifications and it does not make much sense to profile such low-level functions anyway. ok kettenis@, miod@
2013-01-22pull the guts of bus_space_barrier into the inline function in the header.David Gwynne
there's only one implementation of it on sparc64, so we shouldnt need to iterate up a chain of bus_space_tags to get to it. because the only argument that is used inside the function is the flags, this can generally be inlined to a single membar opcode. this leaves that op as membar(Sync) for now while kettenis@ thinks about what changing it might mean. ok miod@
2012-12-08Make ldomd(8) to control the availability of virtual disks to guest domains.Mark Kettenis
This is done by opening the corresponding /dev/vdspN device file. The virtual disk will remain available until that device is closed, which happens automatically when ldomd(8) exits.
2012-12-02Determine whether we're currently on the alternative signal stackPhilip Guenthe
dynamically, by comparing the stack pointer against the altstack base and size, so that you get the correct answer if you longjmp out of the signal handler, as tested by regress/sys/kern/stackjmp/. Also, fix alt stack handling on vax, where it was completely broken. Testing and corrections by miod@, krw@, tobiasu@, pirofti@
2012-11-07Enable %tick access for userland on sun4u systems (sun4v systems already haveMark Kettenis
this enabled). ok pirofti@, mikeb@
2012-11-05unifdef -D __HAVE_TIMECOUNTERMiod Vallat
2012-10-17Rename hvctl(4) into vldcp(4) since this driver now handles other servicesMark Kettenis
as well.
2012-09-11Remove the 'OLF method' used for the transition from a.out to ELF andTheo de Raadt
for all the compat layers which are now gone. Linux compat still works because it always used another method in any case, and nothing looks at p_os anymore. ok jsing
2012-08-29The low-level guts to support MTP (Multi-Threaded Processing) on theMark Kettenis
Fujitsu SPARC64-VI and SPARC64-VII CPUs. Since the two threads on each core share the TLBs of the core we cannot enter different mappings for the same virtual address. Instead we use a scratch register to store the per-cpu pointer. This is very similar to what we do on sun4v. For now we still only attach the first thread of each SPARC64-VI/VII core since we currently don't handle the VMT (Vertical Multi-Threading) of the SPARC64-VI very well.
2012-08-29Implement pci_min_powerstate().Mark Kettenis
2012-08-22Convert cpp | as rules in bsd.lib.mk and lib/libc/sys/Makefile.inc to pure ccPascal Stumpf
invocations. This allows us to use the compiler builtin define __PIC__ to check for PIC/PIEness rather than passing -DPIC. Simplifies PIE work a lot. ok matthew@, conceptually ok kurt@
2012-06-26create new machine/_float.h which is namespace clean. create a newTheo de Raadt
MI float.h which pulls in and defines the values that are needed from there, and repair sys/limits.h so that it defines the values it needs as well (depending on POSIX version, XPG version, etc). guenther has a more exact selection of that coming for limits.h. this also fixes a few mistakes for the vax. reviewed by kettenis and guenther.
2012-03-26Add APM_IOC_HIBERNATETheo de Raadt
2012-03-17Add hvctl(4).Mark Kettenis
2011-11-08Make the userland bits actually compile.Mark Kettenis
ok guenther@
2011-10-19Oh yeah, a cvs id is goodPhilip Guenthe
2011-10-15"TLS-lite": add kernel support for a per-thread userspace pointer,Philip Guenthe
for pointing to the thread-control-block. Support for mapping this to the correct hardware register can be added as it's finished; start with support for amd64, sparc, and sparc64. Includes syscalls for getting and setting it (for a portable __errno implementation) as well as creating a new thread with an initial value for it. discussed with miod@, kettenis@, deraadt@; committing to get the syscalls in with the impending libc bump and do further refinements in tree
2011-10-10Introduce pci_probe_device_hook(pci_chipset_tag_t, struct pci_attach_args *).Miod Vallat
This mandatory function will get invoked in pci_probe_device(), and allows a pci host driver to alter the pci_attach_args passed to a device when attaching. This function will also, if returning non-zero, cause the device to be skipped completely during all the phases of the PCI device discovery (i.e. ressource enumeration, ressource assignment, and actual attachment). This particular feature is experimental and might be reverted in the future (or the scope narrowed to device attachment only). A dummy #define pci_probe_device_hook() 0 is added to all platforms except sgi, where real functions (currently only returning 0) are added; real meat will be added shortly. Discussed at s2k11, no objection from the usual suspects.
2011-09-27Make bus_addr_t and bus_size_t u_long types, instead of either uint32_t orMiod Vallat
uint64_t, depending upon the platform; this makes the declaration of these types consistent accross all our supported platform, and we do not intend to support a platform where bus_addr_t could be larger than the size of the cpu register. Requested by deraadt@ during s2k11
2011-09-27Make struct label_t large enough for the kernel setjmp() purposes. Found afterMiod Vallat
deraadt@ and jsing@ noticed hppa64 label_t was too short; amazing this did not get noticed earlier.
2011-09-08Provide namespace-safe alignment macros in <machine/_types.h>, withPhilip Guenthe
compat names kept in <machine/param.h>. In <sys/socket.h>, pull in <sys/_types.h> instead of the namespace polluting <machine/param.h> and completely eliminate __CMSG_ALIGN, replaced by _ALIGN ok deraadt@
2011-09-08Make the INT_FAST*_{MIN,MAX} macros match the types they're defined to.Philip Guenthe
Since the underlying types of the int_fast types are set by machine/_types.h, put internal macros in that same file and define the exposed INT_FAST*_{MIN,MAX} macros from those. ok millert@, kettenis@
2011-08-29Only provide FLT_EVAL_METHOD for C99. Add missing DECIMAL_DIG for C99.Mark Kettenis
ok guenther@