summaryrefslogtreecommitdiff
path: root/sys/arch/sparc64
AgeCommit message (Collapse)Author
2012-10-29Set the type of a processed MSI data record to 0, and check that the typeMark Kettenis
is non-zero before handling them, like we do in pyro(4). Seems to fix issues with MSIs on sun4v, so enable them again.
2012-10-29On UltraSPARC T1/T2, block the current strand while spinning in the hopeMark Kettenis
other strands can do some useful work. Idea stolen from Linux. Results in a small, but measurable speedup doing a kernel build and reduces the system time by almost 10%.
2012-10-27Also attach to channels name "ldom-<guestname>" (but not "ldom-primary").Mark Kettenis
2012-10-27Make polling work.Mark Kettenis
2012-10-26Turns out that for devices that attach to cbus(4), it is better to disableMark Kettenis
interrupts up-front and explicitly enabling them later than the other way around.
2012-10-22Stop passing around PS_STRINGS in %g1. The ELF ABI reserves this registerMark Kettenis
for passing around a pointer to a cleanup function and we'd like to use it for that purpose in the near future. ok miod@
2012-10-21Fix thinko in previous.Mark Kettenis
2012-10-21Make sure that there is enough room in the transmit queue to send a VIOMark Kettenis
message. Sleep if necessary.
2012-10-21I want msdos filesystem support on the big bsd.rdTheo de Raadt
2012-10-21Clear a pending channel reset when a device is opened.Mark Kettenis
2012-10-20off-by-one in device number check; found the hard way and reported by J Sisson.Miod Vallat
2012-10-17Swap arguments to wdog_register() since it is nicer, and prepareTheo de Raadt
wdog_shutdown() for external usage.
2012-10-17Enable vldc(4) and vldcp(4).Mark Kettenis
2012-10-17Disable debug code.Mark Kettenis
2012-10-17Rename hvctl(4) into vldcp(4) since this driver now handles other servicesMark Kettenis
as well.
2012-10-16Add support for multiple channels.Mark Kettenis
2012-10-14Fix typo in debug print.Mark Kettenis
2012-10-08Revamp the sequences for suspend/hibernate -> resume so that the codeTheo de Raadt
paths are reflexive. It is now possible to fail part-way through a suspend sequence, and recover along the resume code path. Split DVACT_SUSPEND by adding a new DVACT_POWERDOWN method is used after hibernate (and suspend too) to finish the job. Some drivers must be converted at the same time to use this instead of shutdown hooks (the others will follow at a later time) ok kettenis mlarkin
2012-09-27enable smscJonathan Gray
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-09-08On SPARC64 VI/VII CPUs, use the lseep instruction in the idle loop to force aMark Kettenis
thread switch in the hope the other thread can do some useful work.
2012-08-31remove some compat junk; ok kettenisTheo de Raadt
2012-08-30On SPARC64 VI/VII CPUs, use the sleep instruction while spinning to force aMark Kettenis
thread switch in the hope the other thread can do some useful work.
2012-08-30Slightly tweak the way we set up the code patch sections such that we canMark Kettenis
use them to patch inline assembly in C code as well.
2012-08-30Kill NOPIE and NOPIE_FLAGS in sparc64/stand. Binaries are identical accordingPascal Stumpf
to deraadt@, ok kettenis@
2012-08-30no md_root_setconfTheo de Raadt
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-29Make sure the interrupt stack for the boot processor is properly aligned toMark Kettenis
a 64K boundary. This means we don't have to worry about virtual cache aliasing anymore since SPARC V9 CPUs have at most a 16K aliasing.
2012-08-29Implement pci_min_powerstate().Mark Kettenis
2012-08-28Add -nopie to LINKFLAGS on ELF architectures. Note that this needs anPascal Stumpf
updated gcc and ld to understand the new -nopie flag. ok deraadt@
2012-08-24don't read past the end of an array when dumping the stack.Jonathan Gray
same problem/fix as sparc.
2012-08-23kill nnpfs deadTheo de Raadt
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-08-22Build the kernel with -fno-pie. Just getting Ms out of my tree; this will bePascal Stumpf
cleaned up later. ok deraadt@
2012-08-22sigpid should be of type pid_t (only visable with DEBUG).Okan Demirmen
ok miod@ (who found others to fix as well)
2012-08-21Add NOPIE= bits for sys/arch/*/stand to ensure that bootblocks will always bePascal Stumpf
built with -fno-pie. This gets the hairiest part of PIE out of the way ... ok deraadt@
2012-08-20MISs work on Oberon as well.Mark Kettenis
2012-08-17Properly initialize the IOMMU control and status register for pyro(4).Mark Kettenis
Fixes DMA problems spotted on the v445.
2012-08-17Turns out interrupts for Ebus devices are wired to the *other* PCI Expres leafMark Kettenis
on the v445 (compared to the v215/v245). Generalize the code to allow for arbitrary wirings. Makes the serial console on the v445 work.
2012-08-07Move the common bits of syscall invocation and return handling intoPhilip Guenthe
an MI file, <sys/syscall_mi.h>, correcting inconsistencies and the handling when copyin() of arguments fails. Tested on i386, amd64, sparc64, and alpha (thanks naddy@) Any issues with other platforms will be fixed in tree. header name from millert@; ok miod@
2012-07-08Don't need to worry about the ATI driver here anymore.Mark Kettenis
2012-06-30Further research shows that fp@x,y device path components with x > 0 areMark Kettenis
used by Solaris for virtual ports (NPIV), and booting from thos is not supported by OBP. Simplify the code accordingly.
2012-06-27Change sparc64 to match the "fp" boot device path's parameter based onMatthew Dempsky
the prototype-scsi_link's SDEV_2NDBUS flag rather than against its scsibus field. First, the scsibus field hasn't even been initialized when device_register() is called so it's always 0 anyway; second, the path number is supposed to be locally scoped to a single device whereas the scsibus field is a global scsibus(4) device number. The existing code only happened to work because all of the dual-port fibre-channel adapters we currently support attach as two devices with one scsibus each rather than a single device with two scsibuses, so we would never see anything but "fp@0". Initial investigation and diff by jmatthew after my SCSI cleanups at c2k11 broke sparc64's ability to boot from isp(4); newer version from me based on discussion with krw and kettenis. tested and ok kettenis
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-06-21__tfork() needs to set the stack address of the new thread in the kernel,Philip Guenthe
so that it can't get a signal while still running on the parent thread's stack. Also, pass in sizeof(struct __tfork) to provide forward compat when more members are added. This is an ABI change, so switch syscall numbers and bump lib majors this time. ok deraadt@ matthew@
2012-05-09merge sigdebug.h into machdep.c, to where all other architectures haveOkan Demirmen
these (DEBUG) defines. ok miod@
2012-04-26va is of type vaddr_t; allow sparc64 to build with DEBUGOkan Demirmen
ok miod@
2012-04-11The first ktrace record for a newly spawned thread is a returnMike Belopuhov
from a fork syscall done by the parent. Use __tfork, not rfork here to match the ktrace records for the parent (CALL __tfork, RET __tfork). ok guenther
2012-04-06tedu the raidframe.Joel Sing
ok deraadt@
2012-03-26Make writes block if the message queues are full.Mark Kettenis