summaryrefslogtreecommitdiffstats
path: root/sys/arch/sparc/dev (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Celebrate OpenBSD 6.0 release by retiring the sparc port.tedu2016-09-01114-47387/+0
| | | | | You've served us well, good friend, but now it's time to rest. ok deraadt
* G/C IFQ_SET_READY().mpi2016-04-133-6/+3
|
* make the ie(4)s bpf_mtap_ether outgoing packets like all the other driversdlg2016-03-291-14/+6
| | | | ok mpi@ claudio@
* More "(<blah> *)0" -> NULL, avoiding any stdarg functions.krw2016-03-161-3/+3
| | | | Feedback millert@ kettenis@
* 'accomodate' -> 'accommodate' in comments.krw2016-03-151-2/+2
| | | | Started by diff from Mical Mazurek.
* Convert sparc drivers bpp and magma to uiomovestefan2016-03-142-9/+9
| | | | Compile test and ok tobiasu@
* remove needless malloc castmmcc2016-03-071-3/+2
|
* Remove remaining Solbourne code.mmcc2015-12-103-92/+3
| | | | ok deraadt@
* No trailers has been the default and only option for 20 years, yet sometedu2015-12-084-8/+8
| | | | | | | drivers still set IFF_NOTRAILERS while others do not. Remove all usage of the flag from the drivers which in ancient times used it (and the modern drivers which blindly copied it from those drivers of yore). suggested by guenther. ok mpi
* Network drivers should not include <net/route.h> or <net/netisr.h>mpi2015-11-255-11/+5
|
* replace IFF_OACTIVE manipulation with mpsafe operations.dlg2015-11-254-21/+23
| | | | | | | | | | | | | | | | | | | | | | | | there are two things shared between the network stack and drivers in the send path: the send queue and the IFF_OACTIVE flag. the send queue is now protected by a mutex. this diff makes the oactive functionality mpsafe too. IFF_OACTIVE is part of if_flags. there are two problems with that. firstly, if_flags is a short and we dont have any MI atomic operations to manipulate a short. secondly, while we could make the IFF_OACTIVE operates mpsafe, all changes to other flags would have to be made safe at the same time, otherwise a read-modify-write cycle on their updates could clobber the oactive change. instead, this moves the oactive mark into struct ifqueue and provides an API for changing it. there's ifq_set_oactive, ifq_clr_oactive, and ifq_is_oactive. these are modelled on ifsq_set_oactive, ifsq_clr_oactive, and ifsq_is_oactive in dragonflybsd. this diff includes changes to all the drivers manipulating IFF_OACTIVE to now use the ifsq_{set,clr_is}_oactive API too. ok kettenis@ mpi@ jmatthew@ deraadt@
* You only need <net/if_dl.h> if you're using LLADDR() or a sockaddr_dl.mpi2015-11-247-14/+7
|
* The only network driver needing <net/if_types.h> is upl(4) for IFT_OTHER.mpi2015-11-245-10/+5
|
* No need to include <net/bpfdesc.h>mpi2015-11-144-8/+4
| | | | | Now that "struct bpf_d" depends on <sys/srp.h> this is one of the offender for removing the header from <sys/param.h>
* can just IFQ_DEQUEUE instead of POLL followed immediately by DEQUEUEdlg2015-11-122-8/+4
| | | | ok mpi@
* make hfsc work on ie(4/sparc) by using IFQ_DEQUEUE instead of IF_DEQUEUE.dlg2015-11-061-2/+2
|
* arp_ifinit() is no longer needed.mpi2015-10-254-38/+7
|
* Fix more ifmedia64 fallout in the kernel. It's hiding everywhere...stsp2015-09-142-4/+4
|
* Rework fb_setsize() logic to get rid of gotos.miod2015-09-121-20/+18
|
* Make room for media types of the future. Extend the ifmedia word to 64 bits.stsp2015-09-111-4/+4
| | | | | | | | | | | | | | | | This changes numbers of the SIOCSIFMEDIA and SIOCGIFMEDIA ioctls and grows struct ifmediareq. Old ifconfig and dhclient binaries can still assign addresses, however the 'media' subcommand stops working. Recompiling ifconfig and dhclient with new headers before a reboot should not be necessary unless in very special circumstances where non-default media settings must be used to get link and console access is not available. There may be some MD fallout but that will be cleared up later. ok deraadt miod with help and suggestions from several sharks attending l2k15
* Fix a zx_putchar() stupid bug I introduced nine years ago by actuallymiod2015-09-101-5/+5
| | | | initializing variables before they get used.
* sizes for free(); ok semariederaadt2015-09-082-6/+6
|
* missing splxjsg2015-09-011-2/+4
| | | | ok miod@
* MFREE(9) is dead, long live m_freem(9)!mpi2015-07-081-3/+3
| | | | ok bluhm@, claudio@, dlg@
* Increment if_ipackets in if_input().mpi2015-06-244-10/+4
| | | | | | | Note that pseudo-drivers not using if_input() are not affected by this conversion. ok mikeb@, kettenis@, claudio@, dlg@
* remove isp(4) now that the ql* family have replaced itjmatthew2015-06-191-622/+0
|
* Convert from ether_input() with separate mbuf data and Ethernet header, tomiod2015-05-251-148/+54
| | | | | | if_input(). Based upon an initial diff from mpi@, and then painfully made STRICT_ALIGNMENT-compliant. Tested on 4/260. ok mpi@
* Remove support for ADPCM encoding which isn't used nowadays andratchov2015-05-111-12/+1
| | | | not available to programs anyway.
* Remove all audio format conversion code from the kernel (btw holdingratchov2015-05-112-63/+10
| | | | | | | | | the kernel_lock), as we already do better conversions in user-mode. Yet, no need for every single driver to fiddle with the conversion code as they are done transparently by common MI code. With help from armani and miod, support from mpi ok armani@
* Now that if_input() set the receiving interface pointer on mbufs for usmpi2015-04-131-2/+2
| | | | | | | | | | | | there's no need to do it in m_devget(9). Stop passing an ``ifp'' will help for upcoming interface pointer -> index conversion. While here remove unused ``ifp'' argument from m_clget(9) and kill two birds^W layer violations in one commit. ok henning@
* Convert to if_input().mpi2015-04-081-11/+4
| | | | ok dlg@
* Do not pass an `ifp' argument to interface input handlers since itmpi2015-04-071-2/+2
| | | | | | might be overwritten by pseudo-drivers. ok dlg@, henning@
* Add a bus_dma_tag_t for DVMA usage, suitable for use for devices not sittingmiod2015-03-308-107/+107
| | | | | | | | | | | | | | | | | behind a sun4m iommu. Move the existing dvma routines from vm_machdep.c to this new dvma.c; this allows for a few declarations to be removed from public headers. Extend the device attachment arguments (struct confargs) to pass a bus_dma_tag_t. mainbus receives the dvma bus_dma_tag_t, and devices pass the tag unchanged to their children, except for iommu(4) which replaces it with its own. Change the few sun4m-only drivers to pick the bus_dma_tag_t from confargs rather than assume iommu; this allows qlw(4) to attach and work on sun4c. ok kettenis@
* Correctly match SUNW,fas in the boot path.miod2015-03-291-12/+14
|
* Convert qe(4) et be(4) to if_input().mpi2015-03-294-31/+14
| | | | Tested by miod@, thanks!
* Correctly advance the bootpath when attaching children.miod2015-03-281-24/+18
|
* When attaching an sbus esp(4), do the sbus_testdma() check regardless of themiod2015-03-281-9/+10
| | | | actual card name we're attaching.
* Don't include sbusvar.h if you need neither sbus_translate() nor sbus_testdma().miod2015-03-2818-44/+18
|
* de-staticmiod2015-03-261-15/+15
|
* Do the right thing in qec_fix_range() when connected to an sbus(4) withoutmiod2015-03-221-15/+40
| | | | | `ranges' property, i.e. sun4c, so that child devices can attach correctly. This makes be(4) work on sun4c.
* When an IOMMU is not available, and an sbus board has register ranges notmiod2015-03-212-20/+40
| | | | | | | | | | | reachable with the default slot aperture (such as hme(4) devices, which have their registers at offset 0x08c00000 from the slot base), force the attachment of the device to fail. While hme would fail early due to being unable to talk on the mdio bus, hme+esp boards would have the esp part of the board get nuts and would spin during autoconf. Of course, you are not supposed to use such boards on sun4c, because (as mentioned above) they can't run without an iommu.
* Revert 1.52, per the comment above the incorrectly changed line. Reduces themiod2015-03-181-2/+2
| | | | number of spurious zs interrupts I am seeing on sun4c, albeit not completely.
* Move consinit() out of the bowels of the zs driver to its own file, inmiod2015-02-282-350/+8
| | | | | preparation for systems which do not have console on a zs(4) device. No functional change yet.
* Convert to uiomove()miod2015-02-101-5/+5
|
* First step towards making uiomove() take a size_t size argument:miod2015-02-103-7/+7
| | | | | | | - rename uiomove() to uiomovei() and update all its users. - introduce uiomove(), which is similar to uiomovei() but with a size_t. - rewrite uiomovei() as an uiomove() wrapper. ok kettenis@
* replace hand rolled code to maintain a list of bufs with a fifodlg2015-02-082-65/+22
| | | | | | | | | bufq. guenther pointed out this is one of the last things using the compat in struct buf that we still have from the disksort days. not anymore. ok miod@ guenther@
* Misplaced #endifmiod2015-02-071-4/+3
|
* Do what the comments suggest and check for port-[ab]-ignore-cd properties,miod2015-02-051-4/+12
| | | | and if so, force soft carrier mode.
* Revert forcing a rachitic `c' slice size when the drive geometry is not known,miod2015-01-162-6/+2
| | | | | now that the disklabel code will reduce MAXDISKSIZE to the real size if a Sun label is found.
* Rework the disk label handling once again. Disk label is read at attach timemiod2015-01-152-100/+141
| | | | | | | | | | | because it teaches us the drive geometry, but from then on there is no reason not to implement disklabel spoof support and a proper DIOCGPDINFO ioctl. As a result, this makes disklabel -A now work on SMD disks. The drawback of this, is that, since native labels do not have a pcylinders value, the code will now always assume pcylinders == ncylinders + acylinders. (this ought to be the case by default for labels produced by SunOS format(8).)