summaryrefslogtreecommitdiffstats
path: root/sys/arch/sparc64 (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Properly initialize the IOMMU control and status register for pyro(4).kettenis2012-08-172-3/+14
| | | | Fixes DMA problems spotted on the v445.
* Turns out interrupts for Ebus devices are wired to the *other* PCI Expres leafkettenis2012-08-172-35/+34
| | | | | on the v445 (compared to the v215/v245). Generalize the code to allow for arbitrary wirings. Makes the serial console on the v445 work.
* Move the common bits of syscall invocation and return handling intoguenther2012-08-071-67/+16
| | | | | | | | | | 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@
* Don't need to worry about the ATI driver here anymore.kettenis2012-07-081-9/+1
|
* Further research shows that fp@x,y device path components with x > 0 arekettenis2012-06-301-6/+6
| | | | | used by Solaris for virtual ports (NPIV), and booting from thos is not supported by OBP. Simplify the code accordingly.
* Change sparc64 to match the "fp" boot device path's parameter based onmatthew2012-06-271-2/+2
| | | | | | | | | | | | | | | | | | | 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
* create new machine/_float.h which is namespace clean. create a newderaadt2012-06-262-54/+35
| | | | | | | | | 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.
* __tfork() needs to set the stack address of the new thread in the kernel,guenther2012-06-211-4/+8
| | | | | | | | | 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@
* merge sigdebug.h into machdep.c, to where all other architectures haveokan2012-05-092-50/+6
| | | | | | these (DEBUG) defines. ok miod@
* va is of type vaddr_t; allow sparc64 to build with DEBUGokan2012-04-261-3/+3
| | | | ok miod@
* The first ktrace record for a newly spawned thread is a returnmikeb2012-04-111-2/+2
| | | | | | 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
* tedu the raidframe.jsing2012-04-061-4/+3
| | | | ok deraadt@
* Make writes block if the message queues are full.kettenis2012-03-261-10/+14
|
* Increase the size of the message queues such that we can handle the defaultkettenis2012-03-261-3/+3
| | | | "MTU" of 4096 bytes.
* Add APM_IOC_HIBERNATEderaadt2012-03-261-1/+2
|
* Make rusage totals, itimers, and profile settings per-process insteadguenther2012-03-232-5/+5
| | | | | | | of per-rthread. Handling of per-thread tick and runtime counters inspired by how FreeBSD does it. ok kettenis@
* Add ioctl to write to hypervisor memory.kettenis2012-03-201-20/+51
|
* Add hvctl(4).kettenis2012-03-172-2/+6
|
* Add vldc(4) and hvctl(4).kettenis2012-03-171-1/+10
|
* hvctl(4) is a driver for the "hvctl" Logical Domain Channel that allows thekettenis2012-03-171-0/+484
| | | | control domain to talk to the sun4v hypervisor.
* vldc(4) is a "bus" driver for Logical Domain Channels.kettenis2012-03-171-0/+141
|
* this breaks ramdisk builds. misses releasederaadt2012-02-121-7/+1
|
* Don't compare command line input to softraid device names. Parsekrw2012-02-111-1/+7
| | | | | | | | out the intended device name from the realdev constructed by opendev(). Should fix the issue found by stsp@ in trying to install a boot-from-softraid sparc64. ok deraadt@
* Teach OpenBSD/sparc64 installboot(8) about softraid volumes. This makesjsing2012-01-111-10/+162
| | | | | root on softraid possible, although the kernel still needs to be loaded from a non-softraid partition.
* Improve/clean up sparc64 installboot:jsing2012-01-013-55/+52
| | | | | | | | | | | | | | | - Use opendev() like we do for installboot on many other archs. - Use the term bootblock rather than prototype for the first-stage, since we install it verbatim. - Read the bootblock into a zeroed buffer rather than messing around with mmap() and zeroing the end of the space. - Make man page consistent with respect to the first-stage bootblock and second-stage boot program. ok kettenis@ jmc@ (for the man part)
* The sparc64 installboot is for sparc64 only - remove all of the non-sparc64jsing2011-12-281-354/+29
| | | | | | related code. ok kettenis@
* Make userret() MI. On architectures which jammed stuff into it in thederaadt2011-11-161-18/+1
| | | | | past, pull that code out seperately. ok guenther miod
* Simplify various parts of the puc(4) attachment code. Tested lightlyderaadt2011-11-151-3/+1
| | | | by krw and myself.
* Make the userland bits actually compile.kettenis2011-11-081-4/+4
| | | | ok guenther@
* Garbage collect now unused MKDEP definitions. ok deraadt@matthieu2011-11-081-2/+1
|
* Oh yeah, a cvs id is goodguenther2011-10-191-0/+2
|
* "TLS-lite": add kernel support for a per-thread userspace pointer,guenther2011-10-152-0/+77
| | | | | | | | | | | 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
* Remove all MD diagnostics in cpu_switchto(), and move them to MI code ifmiod2011-10-121-23/+1
| | | | | | they apply. ok oga@ deraadt@
* Introduce pci_probe_device_hook(pci_chipset_tag_t, struct pci_attach_args *).miod2011-10-101-1/+3
| | | | | | | | | | | | | | | | | | 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.
* ccd goes to the atticderaadt2011-10-061-4/+3
| | | | discussed with jsing and millert
* disable the fifo on m series systems by telling the driver its a 16550dlg2011-09-281-2/+2
| | | | | | | | | which stops the MI com code from probing it as a 16550a. hopefully this will prevent the awesome faults on the mainboard from locking the system up. ok kettenis@
* Make bus_addr_t and bus_size_t u_long types, instead of either uint32_t ormiod2011-09-271-3/+3
| | | | | | | 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
* Make struct label_t large enough for the kernel setjmp() purposes. Found aftermiod2011-09-271-2/+2
| | | | | deraadt@ and jsing@ noticed hppa64 label_t was too short; amazing this did not get noticed earlier.
* nowadays uvm_init() calls pmap_init(), not vm_init(); so update the comments.jasper2011-09-221-2/+2
| | | | ok ariane@
* arithemtic -> arithmeticmiod2011-09-172-4/+4
|
* Provide namespace-safe alignment macros in <machine/_types.h>, withguenther2011-09-082-16/+19
| | | | | | | | 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@
* Make the INT_FAST*_{MIN,MAX} macros match the types they're defined to.guenther2011-09-081-1/+13
| | | | | | | | 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@
* Only provide FLT_EVAL_METHOD for C99. Add missing DECIMAL_DIG for C99.kettenis2011-08-291-1/+7
| | | | ok guenther@
* Disable MSI for now; something is still not quite right on UltrSPARC T2kettenis2011-07-251-1/+3
| | | | systems.
* Backout a bunch of my SCSI commits from c2k11. At least one of thesematthew2011-07-172-5/+8
| | | | | | is causing problems when trying to boot sparc64 from an isp(4). Verified to fix the sparc64/isp(4) regression by krw@; ok deraadt@
* device_register() is called on the scsibus(4) devices beforematthew2011-07-161-5/+2
| | | | | | | | | scsibusattach() is called, so saa_sc_link->bus hasn't been initialized to a valid pointer yet. Easy fix: Use dev->dv_unit instead of poking into the attach args. ok krw@, jsing@
* Revert art@'s moving around of the KERNEL_LOCK()/KERNEL_UNLOCK() calls,guenther2011-07-113-3/+65
| | | | | | as it causes hangs in some ports, including libsigsegv's configure script confirmed by krw@, landry@
* First batch of converting SCSI HBAs from setting saa_targets andmatthew2011-07-081-3/+3
| | | | | | saa_luns instead of adapter_buswidth and luns in the prototype link. ok dlg@, miod@
* deraadt says disable bluetooth everywhere else tootedu2011-07-071-11/+10
|
* The drahn memorial bad kernel build fix: prevent blood pressureguenther2011-07-071-4/+6
| | | | | | | | spikes in other developers by making it so that removal of a .d file without removing the corresponding object will result in the latter being treated as out of date. ok beck@ art@ drahn@